page_adsence

2010年7月10日土曜日

よく使うけどよく忘れるコマンド

僕がよく使うコマンドなんですが、よく忘れるのでメモ。


ln
リンクを貼る

オプション
-s シンボリックリンクで別名をつける
-f 同名のファイルがある場合に上書きする
-i 同名のファイルがある場合に上書きするかユーザーに確認する

書式
ln [オプション] オリジナルファイル リンクファイル名

例)/path/to/directory/vendor/pear/data/symfony/web/sfのデータを/path/to/directory/web以下にシンボリックリンクを貼りたい場合
$ ln -s /path/to/vendor/pear/data/symfony/web/sf /path/to/directory/web/



find
ファイルもしくはディレクトリを検索する
検索は再帰的に行われるため開始ディレクトリを指定すれば、
そのディレクトリ以下のファイルやディレクトリが全て検索の対象となる。

検索条件
-name name ファイル名nameで検索する
-mtime n 更新時刻n日前のものを検索する
-user user ファイルのオーナーがuserのものを検索する
-regex regexp パス名の全体が正規表現にマッチするファイルを検索します
-path ptn パス名の全体が文字列ptnにマッチするファイルを検索します

処理方法
-print 検索結果を表示する(デフォルト)
-ls 検索結果のファイル情報を表示する
-exec command [arg] \; 検索結果に対してコマンドcommandを実行する。引数argに"{}"を指定すると、検索結果に置き換えられる
-ok command [arg] \; 検索結果に対してコマンドcommandを確認つきで実行する。引数argに"{}"を指定すると、検索結果に置き換えられる

書式
find 開始ディレクトリ 検索条件 処理方法

例)現在のディレクトリ以下のindex.htmlがどこにあるかを検索し表示する
$ find ./ index.html

例)現在のディレクトリ以下の.svnのファイルを全て削除する
$ find ./ -name ".svn" -exec rm -rf {} \;



grep
ファイル内の文字列を検索する

オプション
-v 指定した文字列パターンを含まない行を表示する
-n 行番号を付加して表示する
-l 指定した文字列を含むファイル名を表示する
-i 大文字と小文字の区別をせずに検索する
-r ディレクトリ以下のファイルを再帰的に読み込んで検索する
-s エラーメッセージを表示しない
-z gzip形式などで圧縮されたファイルを解凍して検索する

書式
grep [オプション] 文字列パターン (ファイル名)

例)index.htmlの中にtestという文字が含まれているか検索
$ grep test index.html

例)psコマンドの実行結果の中からphpを含む業を検索して表示
$ ps auxw | grep php



しかし、Linuxのコマンドを全くもって使いこなせてないし、覚えられてないなー。
もっと色々なコマンドを使うようにならないと・・・。