サーバーのよく使うコマンドメモ| 小技編
サーバーコマンドで、小技的なモノを集めておきました。
%command% > /dev/null 2>&1
cromバッチの際に付けておくおまじないオプション。(不用なログを排出しない。)
Unix ではファイル記述子というのがあって、番号、多くの場合 0, 1, 2 が使われます。
0:入力
1:普通のメッセージ出力
2:エラーメッセージの出力
というように使い分けされている。
%command% > /dev/null という部分は、command の普通のメッセージ(ファイル記述子1番)を /dev/null というファイル(このファイルは特殊で、ここに出力された内容は全て捨てられる)に出力される。
残る “2>&1″ という部分ですが、これは「2番のファイル記述子を1番というファイル記述子にする」という意味になる。
従って、“command > /dev/null 2>&1″ とすることで command からの全てのメッセージは(/dev/nullに)捨てられる、
つまり、エラーがあろうがなかろうが出力されるメッセージは何もないことになる。
sudo 使用時にパスワード入力しなくても実行できるようにする
1 |
$ sudo visudo |
visudo を起動して次の文字を追記する
< ユーザ名> ALL=(ALL) ALL
たとえば、 ユーザ名がhoge なら
hoge ALL=(ALL) NOPASSWD: ALL
とする。
バッチファイル等の負荷を調整する。
1 |
$ ionice %command% |
Option
-c : –class
0: none, 1: realtime, 2: best-effort, 3: idle
-n : –classdata
only for the realtime and best-effort classes
-p : –pid
-P : –pgid
-t : –ignore ignore failures
-u : –uid
-h : –help display this help and exit
-V : –version output version information and exit
Sample
1 |
$ ionice -c3 nice -n 19 tar -zcvf log_XXXXXX.tgz log |
tar.gz、tgzの中身を確認する。
1 2 3 4 |
$ zcat target.tar.gz | tar tv # **lessでも確認できる $ less target.tar.gz |
サーバー内のファイル検索
1 |
$ locate *** |
対象ファイル・フォルダの容量を表示する
1 |
$ du -hs [path] |
階層構造をツリー表示する。
1 |
$ tree *** |
***: 特定Directoryのみに絞り込める。
Option
-d : ディレクトリのみ表示
-f : 1行をファイル(ディレクトリ)ではなく、パスで表示する。
-F : ディレクトリの最後に「/」をつける。
-i : ツリー表示ではなく、リスト表示にできる。(-fと合わせて使うと便利)
Sample
1 |
$ tree hoge -fi |
※findよりも速いんじゃない?
特定ディレクトリ内のファイル数を取得する。(拡張子判別あり)
1 |
$ find ./api -name "*.csv" | wc -l |