新人サーバーエンジニア向けコマンド紹介(中級)
少し発展したコマンドやテクニックについて紹介
コマンド一覧
man
オンラインマニュアルを参照する。
これを使えば、たいていのコマンド使用方法が簡単に分かる。
man ls
man mv
find
ファイルを検索する。
たくさんのオプションがあるが、詳しいことはman
を見て欲しい。
find . -name "*.log" # 末尾にlogとついたファイル名をフルパスで出力
gzip
ファイル をgzip形式で圧縮する。
フォルダは圧縮できない。
ログファイルの圧縮に使用すると、100分の1のファイルサイズになったりする。超優秀。
圧縮率にこだわりたい場合は、代わりにbzip2
を使用すると良い。
bzip2
の使い方はgzipとまったく同じなので、解説はしない。
フォルダ圧縮は後述のtar
コマンドで行うと良い。
オプションについてはman
を見て欲しい。
gzip hoge.log # hoge.logをhoge.log.gzへ圧縮して置き換える。hoge.logは消える
gunzip hoge.log.gz # hoge.logを解凍
tar
ファイルやフォルダを一つのファイルへ固める。
単体では圧縮は行わないが、オプション指定でtarで固めてgzipで圧縮できる。
オプションについては(ry
tar cfvz hoge # hogeフォルダをtar.gz形式で圧縮
tar xfvz hoge.tar.gz # hogeフォルダを解凍
tail
ファイルの末尾を表示する。
-f
オプションと組み合わせると真価を発揮する。
具体的には -f
と組み合わせた場合、ファイルの監視モードになる。
/var/log/httpd/error_log
を指定した場合、apacheのログをリアルタイムで追うことができる。
オプションについt(ry
tail hoge.txt # hoge.txtの末尾10行を表示
tail -f /var/log/httpd/error_log # apacheエラーログを監視
head
末尾があるなら頭を表示するものもある。
こちらは単体だと使用する機会はあまりない。
head hoge.txt # hoge.txtの末尾10行を表示
ps コマンド
今何のプロセスが動いているか調べるのに使う。
よくgrepと組み合わせる。
オプションn(ry
ps ax | grep mysql # mysql関係のプロセスを表示
パイプテクニック
これのためにCUIはあるといっても過言ではない。
パイプはこれ。|
JISキーボードなら、shift + ¥
キーで入力できる。
コマンドで出力した内容を別のコマンドへ引き渡せる。
よく使う組み合わせ
ps ax | less # ps axの内容を出力せず、lessで閲覧する。
ls | grep log # logという名前のつくファイルやフォルダだけ出力
xargs
パイプと言ったらxargs
コマンド。
xargs
を使用すると、後に続くコマンドへ 引数 として引き渡すことができる。
ls | xargs mv ../ # 今いるフォルダの中身を全て一つ上の階層へ移動させる
find . -name .DS_Store | xargs rm # 今いるフォルダより下にある.DS_Storeを全て削除
リダイレクト
パイプとは若干違うかも。
リダイレクトとは、>
や>>
のこと。
出力内容をファイルへ変更する。
>
は新規書き込み。指定したパスに何か書かれていた場合は、消去されて書き込まれる。
>>
は追記書き込み。末尾へ追加して書き込む。
ls > result.txt # lsした結果をresult.txtへ書き込む
cat id_rsa.pub >> ~/.ssh/authorized_keys # 公開鍵の登録
ssh系コマンド
ssh
について忘れてた!
ssh
を使うと、リモートのサーバーへ接続してshellで操作できる。
トンネリングとか便利。
ssh hoge@192.168.10.30 # hogeユーザーで192.168.10.30へ接続
ssh hoge@www.hogehogefoofoobarbar.com
scp
リモートサーバーへファイルのコピーをする。
scp hoge.txt hoge@192.168.10.30:hoge/ # hoge.txtをリモートのhoge/へコピーする。
scp -r hoge_folder hoge@192.168.10.30: # フォルダのコピー
z系コマンド
zgrep
やzcat
というコマンドがある。
内容は、.gz
なファイルに対して該当のコマンドが走る。
zless error_log.gz # error_log.gzを閲覧する。解凍した内容を閲覧できる。