Linuxサーバを操作する上でちょっとしたコマンドオプションを付けるだけで作業を効率化できたり、ミスを防止することができます。
そこで、システムエンジニアの仕事をしていて、よく使ったり、覚えておくべきだと思ったコマンドオプションについて紹介します。
rm/mv/cpコマンド
-iオプション
削除や上書きを本当に実施して良いのか確認してくれるオプションです。
$ cp -i testfile1 testfile2 cp: testfile2' を上書きしますか? y $ mv -i testfile1 testfile2 mv:testfile2' を上書きしますか? y $ rm -i testfile2 rm: 通常ファイル `testfile2' を削除しますか? y $
いちいち確認されるのは面倒くさいという場合もありますが、root等の管理者権限を持つユーザであれば操作ミスを防ぐために使用する癖をつけておくべきオプションです。
わざわざオプションをつけなくてもrootユーザにはエイリアス機能で有効になっている場合も多いのですが、環境によって異なるため、付与したほうが良いと思います。
cpコマンド
-pオプション
コピー元のファイル属性(パーミッション、所有者、更新時刻)を保持したままコピーするオプションです。
使い方としては管理者権限ユーザでファイル属性を変更せずにコピーしたい場合に使います。
例えば、ファイルのバックアップや実行権限を維持したままファイルをコピーしたい時などがあげられます。
管理者権限を持っていないと-pオプションを付けていても別ユーザが持っているファイルであれば所有者が変更されてしまうので注意が必要です。
lsコマンド
-l(アルファベット小文字のエル)オプション
ファイルのパーミッション、所有者、ファイルサイズや更新時刻など詳細な情報を表示するオプションです。
lsで最もよく使うオプションだと思います。
$ ls -l 合計 36 -rw-rw-r--. 1 test test 10 2月 20 13:00 testfile1 -rw-rw-r--. 1 test test 10 2月 20 13:02 testfile2 -rw-rw-r--. 1 test test 10 2月 20 13:04 testfile3 -rw-rw-r--. 1 test test 10 2月 20 13:03 testfile4 -rw-rw-r--. 1 test test 10 2月 20 13:06 testfile5
-aオプション
ファイルをすべて表示するオプションで、ファイル名の頭が「.」で始まる隠しファイルも表示します。
$ ls -a . .. .testfile6 .testfile7 .testfile8 .testfile9 testfile1 testfile2 testfile3 testfile4 testfile5
ちなみに大文字の-Aオプションは隠しファイルを表示する点は変わりませんが「カレントディレクトリ(.)」と「1つ上のディレクトリ(..)」を除いた形で表示されます。
$ ls -A .testfile6 .testfile7 .testfile8 .testfile9 testfile1 testfile2 testfile3 testfile4 testfile5
-tオプション
ファイルの更新時間順に表示するオプションです。
基本的に-lオプションと併用して使用します。
$ ls -tl 合計 20 -rw-rw-r--. 1 test test 10 2月 20 13:06 testfile5 -rw-rw-r--. 1 test test 10 2月 20 13:04 testfile3 -rw-rw-r--. 1 test test 10 2月 20 13:03 testfile4 -rw-rw-r--. 1 test test 10 2月 20 13:02 testfile2 -rw-rw-r--. 1 test test 10 2月 20 13:00 testfile1
-Sオプション
ファイルサイズ順に表示するオプションです。
どのファイルがどれだけ容量を使用しているのか確認したい場合に便利です。
基本的に-lオプションと併用して使用します。
$ ls -Sl 合計 20 -rw-rw-r--. 1 test test 34 2月 20 15:34 testfile4 -rw-rw-r--. 1 test test 26 2月 20 15:33 testfile3 -rw-rw-r--. 1 test test 20 2月 20 15:33 testfile2 -rw-rw-r--. 1 test test 12 2月 20 15:33 testfile5 -rw-rw-r--. 1 test test 6 2月 20 15:33 testfile1
-rオプション
ファイルを逆順に表示するオプションです。
$ ls -rl 合計 20 -rw-rw-r--. 1 test test 10 2月 20 13:06 testfile5 -rw-rw-r--. 1 test test 10 2月 20 13:03 testfile4 -rw-rw-r--. 1 test test 10 2月 20 13:04 testfile3 -rw-rw-r--. 1 test test 10 2月 20 13:02 testfile2 -rw-rw-r--. 1 test test 10 2月 20 13:00 testfile1
私が良く使うのは-tオプションや-Sオプションと併用して最新ファイルや一番重いファイルを一番下に表示する方法です。
$ ls -tlr 合計 20 -rw-rw-r--. 1 test test 10 2月 20 13:00 testfile1 -rw-rw-r--. 1 test test 10 2月 20 13:02 testfile2 -rw-rw-r--. 1 test test 10 2月 20 13:03 testfile4 -rw-rw-r--. 1 test test 10 2月 20 13:04 testfile3 -rw-rw-r--. 1 test test 10 2月 20 13:06 testfile5 $ ls -Slr 合計 20 -rw-rw-r--. 1 test test 6 2月 20 15:33 testfile1 -rw-rw-r--. 1 test test 12 2月 20 15:33 testfile5 -rw-rw-r--. 1 test test 20 2月 20 15:33 testfile2 -rw-rw-r--. 1 test test 26 2月 20 15:33 testfile3 -rw-rw-r--. 1 test test 34 2月 20 15:34 testfile4
ログファイル等でファイル数が多いディレクトリの中で一番新しいファイルを見つける場合や容量を圧迫しているファイルを見つける場合に重宝します。
-1(数字のいち)オプション
ファイル名を縦に1列で表示するオプションです。
ファイルの一覧をExcelで作成する場合等に便利です。
$ ls -1 testfile1 testfile2 testfile3 testfile4 testfile5
-hオプション
ファイルサイズの単位を読みやすい形式で表示するオプションです。
ファイルサイズが大きくなってくるとどれくらいなのかぱっと見でわかりづらいですがこのオプションを使用するとK(キロ)やM(メガ)を使用してわかりやすい表示にしてくれます。
-lオプションと併用して使用します。
$ ls -lh 合計 1.2G -rw-rw-r--. 1 test test 1.0M 2月 20 15:46 testfile1 -rw-rw-r--. 1 test test 100M 2月 20 15:46 testfile2 -rw-rw-r--. 1 test test 10M 2月 20 15:46 testfile3 -rw-rw-r--. 1 test test 34 2月 20 15:34 testfile4 -rw-rw-r--. 1 test test 1.0G 2月 20 15:46 testfile5
dfコマンド
-hオプション
lsコマンドの-hオプションと同様にファイルサイズの単位を読みやすい形式で表示するオプションです。
どの領域がどれくらいの容量が残っているのか確認する場合に数字だだとぱっと見でわかりづらいですがK(キロ)やM(メガ)を使用してわかりやすい表示にしてくれます。
$ df -h ファイルシス サイズ 使用 残り 使用% マウント位置 /dev/mapper/centos-root 14G 2.7G 11G 20% / devtmpfs 989M 0 989M 0% /dev tmpfs 1000M 0 1000M 0% /dev/shm tmpfs 1000M 8.9M 992M 1% /run tmpfs 1000M 0 1000M 0% /sys/fs/cgroup /dev/sda1 1014M 130M 885M 13% /boot tmpfs 200M 0 200M 0% /run/user/0
tailコマンド
-fオプション/-Fオプション
tailコマンドは指定したファイルの末尾10行(デフォルト)を表示するコマンドですが、-fオプションを付けるとその後、更新された部分がリアルタイムで表示されます。
テストの時にログファイルを開いておくとリアルタイムで表示されるため、何が起こっているか確認でき監視に役に立ちます。
-fオプションと-Fオプションの違いはファイルがリネームされた場合の挙動です。
-fオプションはリネームされた場合に元々のファイルをリネームされた後も表示し続けます。
-Fオプションはリネームされると元々開いていたファイルと同名のファイルを再度オープンしなおします。
そのため、ログの監視を行う場合はログローテートされた時のことを考え-Fオプションを使用したほうが良いように思います。
touchコマンド
-tオプション
ファイルを指定した日時に変更するオプションです
テストでファイルの日時を変更したいことが多々ありますが、このオプションにより実現可能です。
日次は以下の形式で指定します。
[[CC]YY]MMDDhhmm[.ss]
$ ls -l 合計 20 -rw-rw-r--. 1 test test 10 2月 21 09:54 testfile1 $ touch -t 201912301531 testfile1 $ ls -l 合計 20 -rw-rw-r--. 1 test test 10 12月 30 15:31 testfile1
コメント