サーバーのよく使うコマンドメモ| 小技編

2015年2月17日

コマンド サーバー テクノロジー

サーバーコマンドで、小技的なモノを集めておきました。

%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 使用時にパスワード入力しなくても実行できるようにする

$ sudo visudo visudo を起動して次の文字を追記する < ユーザ名> ALL=(ALL) ALL たとえば、 ユーザ名がhoge なら hoge ALL=(ALL) NOPASSWD: ALL とする。

バッチファイル等の負荷を調整する。

$ ionice %command%

Option

-c : --class <class> name or number of scheduling class, 0: none, 1: realtime, 2: best-effort, 3: idle -n : --classdata <num> priority (0..7) in the specified scheduling class, only for the realtime and best-effort classes -p : --pid <pid>... act on these already running processes -P : --pgid <pgrp>... act on already running processes in these groups -t : --ignore ignore failures -u : --uid <uid>... act on already running processes owned by these users -h : --help display this help and exit -V : --version output version information and exit

Sample

$ ionice -c3 nice -n 19 tar -zcvf log_XXXXXX.tgz log

tar.gz、tgzの中身を確認する。

$ zcat target.tar.gz | tar tv # **lessでも確認できる $ less target.tar.gz

サーバー内のファイル検索

$ locate ***

対象ファイル・フォルダの容量を表示する

$ du -hs [path]

階層構造をツリー表示する。

$ tree *** ***: 特定Directoryのみに絞り込める。

Option

-d : ディレクトリのみ表示 -f : 1行をファイル(ディレクトリ)ではなく、パスで表示する。 -F : ディレクトリの最後に「/」をつける。 -i : ツリー表示ではなく、リスト表示にできる。(-fと合わせて使うと便利)

Sample

$ tree hoge -fi ※findよりも速いんじゃない?

特定ディレクトリ内のファイル数を取得する。(拡張子判別あり)

$ find ./api -name "*.csv" | wc -l

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。