コマンド練習問題(その2)

初心者からさらに1歩前に進むために覚えておくべきコマンドを問題にしてみました。まずはコマンドを覚えて、そこから自分でコマンドを使いこなせるように、何回も実行して使い方を覚えてみてください。
 

1. /home配下の各ディレクトリ毎の使用容量を確認する
正解を確認
コマンド: du -sm /home/*
 
ファイルシステムの使用率が逼迫してきた時などに、どのディレクトリがどれくらいの容量を使用しているかを確認する時などに使う。オプション-mでMB表示にすることが多い。ちなみにls -lで表示されたディレクトリのサイズの部分はディレクトリエントリのサイズ。ディレクトリの中身のデータの総量ではないので注意。
ディレクトリをlsした時のサイズってなに?
lsした時にディレクトリのサイズ?が4096になっていることが多いが、たまに大きな値になっているかと思ったら、そのディレクトリの中にはファイルが全然ないということもある。このディレクトリのサイズ的な表記はいったい何を表しているのか。  ...
 
 
2. test.listの中身の行数を確認する
正解を確認
コマンド: cat test.list | wc -l
 
作業前後で数が変わっていないかの確認などに使う。ちょっとした確認作業でたまに使います。
 
3. 物理ボリュームの情報を表示する
正解を確認
コマンド:
pvs
pvdisplay
 
物理ボリューム(PV)の情報を表示する。pvsはPVひとつを1行で表示する簡易的な情報表示。pvdisplayはPVの詳細情報を表示してくれる。
 
4. ボリュームグループの情報を表示する
正解を確認
コマンド:
vgs
vgdisplay
 
ボリュームグループ(VG)の情報を表示する。vgsはVGひとつを1行で表示する簡易的な情報表示。vgdisplayはVGの詳細情報を表示してくれる。
 
5. 論理ボリュームの情報を表示する
正解を確認
コマンド:
lvs
lvdisplay
 
論理ボリューム(LV)の情報を表示する。lvsはLVひとつを1行で表示する簡易的な情報表示。lvdisplayはLVの詳細情報を表示してくれる。PV、VG、LVとディスクを論理的に区切って管理する機能をLVMという。インフラエンジニアなら必須知識なのでしっかり理解しておいたほうがよいです。
 
6. メモリの容量や使用量を表示する
正解を確認
コマンド:
free
top
 
なんか処理が重いなあという時などにメモリの使用率を見る時に使う。メモリの使用率監視のシェルを作る際などにも利用したりする。freeコマンドではSWAPの使用量も見ることができる。topコマンドはリアルタイムで使用状況を確認するコマンド。問題が起きた時にメモリやCPUなどのリソース状況の確認がさらっとできると、脱初心者って感じがする。
 
7. ネットワーク通信のパケットキャプチャを実行する
正解を確認
コマンド: tcpdump
 
通信が届いているかを詳細確認する時に使用する。引数なしで実行するとサーバに届く全てのパケット情報が対象になり大量に出力されるので注意。実際は細かく条件を指定して必要なパケット情報のみに焦点を絞って実行することが多い。これを実行する必要に迫られているということはまあまあめんどくさい状況。
 
8. メモリやCPUの使用状況を3秒間隔で表示する
正解を確認
コマンド: vmstat 3
 
メモリやCPUのリソース負荷をリアルタイムで見たい時によく使う。上記のコマンドで3秒ごとに1行ずつ出力してくれるのでtopコマンドとくらべてエビデンスとして後でも見やすい。
 
9. 現在の作業ユーザのcron設定を確認する
正解を確認
コマンド: crontab -l
 
cron設定を表示する。/var/spool/cron配下のユーザ名のファイルをcatするのと同じ結果となる。
 
10. 現在の作業ユーザのsudo設定を確認する
正解を確認
コマンド: sudo -l
 
sudoに登録したはずのコマンドがうまくいかない時などに登録コマンドをさくっと確認できる。が使う機会は少ないかも。
 
11. while文を使って「/logディレクトリ配下の全てのファイルについてls -lを実行する」
正解を確認
コマンド: find /log -type f | while read a;do ls -l $a;done
 
findコマンドの結果を、|(パイプ)でwhile文に渡して実行する。while文はシェルスクリプトで使うことが多いが、コマンドプロンプト上で1行でさらっとできるとかっこいい。; の位置に注意すること。
 
12. gz形式で圧縮したログファイル(./test.log.gz)を解凍せずに中身を確認する
正解を確認
コマンド:
 zcat ./test.log.gz
 zless ./test.log.gz
 
catやlessの頭にzをつけた上記のコマンドで中身を確認できる。解凍しなくても確認できるのでちょっとした時に役にたつ。
 
13. userAの権限で何かコマンドを実行する
正解を確認
コマンド:
 su – userA -c (コマンド)
 sudo -u userA (コマンド)
 
ログインユーザではなく、他のユーザの権限でコマンド実行したい時に使う。コマンドが終了すれば元のユーザの状態になる。ただしsuコマンドで実行時はuserAのパスワードを求められる。またsudoコマンドで実行するためには、あらかじめ/etc/sudoersに設定をしておく必要がある。
 
14. プロセスIDが1001のプロセスを強制終了する
正解を確認
コマンド:kill 1001
 
killコマンドで動作中のプロセスを強制終了させることができる。ちなみにkillコマンドはプロセスを強制終了させるだけではなく、引数に色々なシグナルを指定することでプロセスを一時停止させたり、回復させたりできる。が基本的にはプロセスの強制終了で使うことがほとんど。
 
15. 5秒間隔でdfを打ち続ける(1行で実行すること)
正解を確認
コマンド:while true;do df; sleep 5;done
 
大量のアウトプットを吐く処理を実行する際に、ファイルシステムの使用量がパンクしないかをリアルタイムで見たい時などに使ったりする。無限ループなので終了する時はCtrl+Cで抜ける。sleepを入れるのを忘れると、超高速で無限ループしてCPU使用率が跳ね上がるので要注意。
 
16. カレントディレクトリのファイルをサイズ順に並び替えて表示する
正解を確認
コマンド:ls -l | sort -k5
 
ファイルシステムの空きを増やしたい時などに、サイズの大きいファイルの確認に使ったりする。

コメント

タイトルとURLをコピーしました