リンク作成
リンクにはディスク内の同じ領域を指し示す「ハードリンク」と元のファイルのパスを記憶する「シンボリックリング」があります。
シンボリックリンクの作成は
ln -s hoge.txt tmp/hoge_sl.txt
のようにlnコマンドに-sオプションをつけて、リンク先、リンク元の順に記述で作成。
注意点としては、相対パスで記述する場合、リンクファイルからの相対パスでできること。
絶対パスで記述すればこういった心配はありませんが...
ハードリンクの場合はオプションをつけずに
ln hoge.txt tmp/hoge_hl.txt
のように記述。
圧縮、解凍
ファイル圧縮
$ gzip test.txt $ ls drwxr-xr-x 7 tatsuaki staff 238 11 7 14:25 . drwxr-xr-x+ 39 tatsuaki staff 1326 11 6 11:19 .. -rw-r--r--@ 1 tatsuaki staff 6148 11 1 23:36 .DS_Store -rw-r--r-- 1 tatsuaki staff 37 10 11 19:20 test.txt.gz
gzipファイル解凍
gunzip test.txt.gz
これらはファイルに対しての圧縮。
次はアーカイブに対しての圧縮。
圧縮アーカイブ作成
$ tar cvzf test.tgz test a test a test/.test.txt.swp
今度は中身を見る
tar tvzf test.tgz
そして展開
tar xvzf test.tgz
ディレクトリを指定したいなら
tar xvzf test.tgz -C tmp/
のように-Cオプション+展開先を指定できます。
ファイル検索
findコマンド
find Documents -name test -type fDocumentsフォルダ内から、名前がtestを探す。-type fでファイルだけを対象にする。
その他オプションは
- -type: d (ディレクトリ) f (ファイル) l (シンボリックリンク) 等
- -mtime N : 最終修正日 +NでN日前より前, -NでN日前より後
- -mmin N : N分
- -size : +-で以上以下
- -user : ファイルオーナー指定
- -empty : 空ファイルを探す
-execコマンド
$ find ~ -name *.txt -exec ls -lh {} \; -rw-r--r-- 1 tatsuaki staff 134B 10 22 16:19 /Users/tatsuaki/test.txt
こんな感じで、-exec コマンド {} ¥;とするとfind結果を引数にしてコマンドできる。
上記例はtxtファイルを探して、それはls -lhしたもの。
lacateコマンド
findは検索に時間がかかるので、あらかじめ全てのファイル/ディレクトリのパスを
登録したlacateコマンドデータベースがあって、そこから検索するほうが早いらしい。
まずはこれを使うためにデータベースを更新。
$ sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist com.apple.locate: Already loadedと思ったらすでに更新済み。手動でやるなら
sudo /usr/libexec/locate.updatedb結構時間かかる…
しかし検索は激速
とりあえず一回目はこんな感じで。
おさらい
- ln : リンク作成
- tar : アーカイブ圧縮(cvzf)、解凍(xvzf)コマンド。中身はtvzfで閲覧
- find : 検索。-execオプションで他のコマンドと組み合わせて便利
- locate : 専用データベースから検策
0 件のコメント:
コメントを投稿