こんにちは、つるべーです。
会社のインフラ研修も終わり、4月の2週目から正式にインフラチームにJoinしました。
今回は私が初めてインフラ業務をやっていく中で覚えたLinuxコマンドを備忘録的に書いていきます。まだまだインフラ運用に必要なコマンドはあると思うので、定期的にまとめて書いていこうと思っています。
細かいオプションの使い方等は解説しませんが、どういうときに使えるコマンドであるかと、実行例を書いていきたいと思います。
環境
- macOS High Sierra(バージョン 10.13.3)
- VirtualBox 5.2.6
- Vagrant 2.0.2
- CentOS 7.0
目次
df
ファイルシステムの使用状況を確認する
$ df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 xfs 38G 929M 37G 3% / devtmpfs devtmpfs 236M 0 236M 0% /dev tmpfs tmpfs 245M 0 245M 0% /dev/shm tmpfs tmpfs 245M 4.4M 240M 2% /run tmpfs tmpfs 245M 0 245M 0% /sys/fs/cgroup /dev/sda2 xfs 1014M 63M 952M 7% /boot tmpfs tmpfs 49M 0 49M 0% /run/user/1000
-T
:ファイルシステムの種別(Type)を表示
-h
:読みやすいように単位をつけて表示
du
ファイルのディスク使用量を確認する
$ du -hs * 0 bin 30M boot 0 dev 31M etc 19M home 0 lib (省略)
-h
:読みやすいように単位をつけて表示
-s
:引数で指定したファイル/ディレクトリの合計容量のみ表示
上の例ではカレントディレクトリの全てのファイルおよびディレクトリの合計容量を表示している。
free
メモリの使用量・空き容量を表示
$ free -h total used free shared buff/cache available Mem: 488M 82M 78M 4.4M 328M 373M Swap: 1.5G 0B 1.5G
-h
:読みやすいように単位をつけて表示
ln
ファイルへのリンクを作成
<ハードリンク>
1つのファイルに複数の名前を持たせる
rmコマンドで削除すると指定したファイル名だけが取り除かれファイルの実体は残る。リンクされた最後のファイルが削除されたタイミングでディスク上から削除される。
$ ln file1 file-hl
<シンボリックリンク>
Windowsのショートカットと同様に、あるファイルを別のファイル名で参照させる。
シンボリックリンクを削除しても元のファイルは削除されない。
$ ln -s file file-sl $ ls -la total 0 drwxr-xr-x 2 root root 33 Apr 29 13:55 . drwx------. 6 vagrant vagrant 234 Apr 29 13:31 .. -rw-r--r-- 1 root root 0 Apr 29 13:50 file lrwxrwxrwx 1 root root 4 Apr 29 13:55 file-sl -> file
-s
:シンボリックリンクを作成
lsof
プロセスが開いているファイルを表示する
<ファイル名指定>
ファイルを開いているプロセスを特定
$ lsof /usr/local/nginx/logs/access.log COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 3202 root 3w REG 253,0 416000 74101 /usr/local/nginx/logs/access.log nginx 3629 nobody 3w REG 253,0 416000 74101 /usr/local/nginx/logs/access.log
<ポート番号指定>
-i
で指定したポートを開いているプロセスを特定
$ lsof -i:80 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME nginx 3202 root 7u IPv4 24069 0t0 TCP *:http (LISTEN) nginx 3629 nobody 7u IPv4 24069 0t0 TCP *:http (LISTEN)
w
現在サーバにログインしているユーザを確認する
$ w 12:15:40 up 8:48, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT vagrant pts/0 10.0.2.2 03:37 4.00s 0.16s 0.00s sshd: vagrant [priv]
tar
アーカイブを作成/展開する
tarは複数のファイルやディレクトリをまとめるだけであり、通常gzipなどの圧縮処理と組み合わせて利用される
<作成>
$ tar czvf dir1.tar.gz dir1 dir1/ dir1/file1.txt dir1/file2.txt dir1/file3.txt dir1/file4.txt
※ オプションにハイフン「-」をつけなくてよい
c
:アーカイブを作成(Create)
z
:gzip形式を利用
v
:処理したファイル一覧を表示
f
:ファイルを指定
<展開>
$ tar xzvf dir1.tar.gz dir1 dir1/ dir1/file1.txt dir1/file2.txt dir1/file3.txt dir1/file4.txt
x
:アーカイブの展開(eXtract:抽出)
xargs
入力を引数としてコマンドを実行する
$ ls test* test_1.txt test_2.txt test_3.txt $ ls test* | xargs rm
空白もしくは改行で区切られて文字列を1つずつコマンドに引数として渡して実行する。
tee
標準入力を標準出力とファイルに書き出す
$ ls -la | tee ls.txt total 116 drwxr-xr-x. 13 root root 169 Apr 29 12:31 . dr-xr-xr-x. 18 root root 273 Apr 29 12:29 .. dr-xr-xr-x. 2 root root 20480 Mar 11 08:43 bin drwxr-xr-x. 2 root root 6 Nov 5 2016 etc drwxr-xr-x. 2 root root 6 Nov 5 2016 games drwxr-xr-x. 34 root root 8192 Mar 5 14:56 include dr-xr-xr-x. 27 root root 4096 Mar 5 14:56 lib
上の標準出力に加えてファイルにも書き出されている
# cat ls.txt total 116 drwxr-xr-x. 13 root root 169 Apr 29 12:31 . dr-xr-xr-x. 18 root root 273 Apr 29 12:29 .. dr-xr-xr-x. 2 root root 20480 Mar 11 08:43 bin drwxr-xr-x. 2 root root 6 Nov 5 2016 etc drwxr-xr-x. 2 root root 6 Nov 5 2016 games drwxr-xr-x. 34 root root 8192 Mar 5 14:56 include dr-xr-xr-x. 27 root root 4096 Mar 5 14:56 lib
find
ディレクトリツリーからファイルを検索する
$ find . -type f -name "*.txt" ./test.txt ./member.txt ./dev/dev.txt ./dev/test/file.txt
-type
:ファイルの種類を指定(f:ファイル、d:ディレクトリ、l:シンボリックリンク)
-name
:ファイル名を指定(-iname
とすると大文字小文字を区別しない)
上の例ではカレントディレクトリ配下の.txt
ファイルを検索して表示している。
参考
- 作者: 沓名亮典
- 出版社/メーカー: 技術評論社
- 発売日: 2015/06/05
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る