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

コマンド練習問題の初級編です。必須で覚えましょう。
 

1. ファイルの所有者やタイムスタンプ、パーミッションを保持するようにコピーする
正解を確認
コマンド: cp -p (コピー元) (コピー先)
 
ファイルのバックアップを取る際は-pをつける。-pなしでコピーするとファイルのタイムスタンプがコピーした日時になってしまい、内容は全く同じでも同一ファイルであることが分かりにくくなってしまう。またコピーしたユーザによっては所有者やパーミッションも変わってしまう場合もある。権限やパーミッションが変われば、今まで実行していた実行ファイルが、実行できなくなったり、読み込みができなくなったりする恐れもあり問題が生じる。ファイルのバックアップを取る際は-pオプションをつけて所有者などのファイル情報を保持してコピーするようにすること。
 
2. ディレクトリを再帰的にコピーする(ディレクトリの深い階層までまるごとコピー)
正解を確認
 コマンド: cp -R (コピー元dir) (コピー先)
 
ディレクトリをまるっとコピーする。タイムスタンプなどを保持したい場合は-pRオプションで実施すればOK。
 
3. 日時をYYYYMMDDの形式で表示する
正解を確認
コマンド: date +’%Y%m%d’
 
本番作業をする際にエビデンスを残すために初めにdateコマンドを引数なしで実行することが多い。シェルでは実行日を取得して使用したい時に上記のように引数でフォーマットを指定して実行することがある。フォーマットには色々バリエーションがあるのでよく使うやつは覚えておくといい。
 
4. ホスト名を表示する
正解を確認
コマンド: uname -n
 
dateコマンドとセットで本番作業を実施する際にまず操作サーバが正しいかを確認するために自分のホスト名を表示させることがよくある。ちなみにhostnameコマンドでもホスト名を表示できるが間違ってホスト名を変更してしまう恐れがあるのであまりおススメはしない。
http://g-network.boo.jp/wiki/2018/05/post-1203/ 
 
5. ファイルの差分を表示する
正解を確認
コマンド:
diff (ファイルA) (ファイルB)
sdiff (ファイルA) (ファイルB)
 
設定ファイルを修正した後に差分が修正したかった部分のみであることを確認したりする。設定ファイルによっては間違えてスペースをひとつ入れただけで動かなくなることもある。修正したあとは差分を確認するようにする。またdiffとsdiffコマンドは目的によってうまく使い分けるとよい。
http://g-network.boo.jp/wiki/2017/02/post-99/ 
 
6. アーカイブファイルを作成して同時にgzip形式で圧縮もする
正解を確認
コマンド: tar cvzf アーカイブファイル名 アーカイブ対象
例)tar cvzf ./log.tar.gz /log/
 
アーカイブファイルは複数のファイルをひとつにまとめたもの。オプションzをつけると同時にgzip形式で圧縮もできる。gzip形式の拡張子は.gz。ディレクトリ配下をまるっと他のサーバに移動させたい時などに実施したりする。ファイルのパーミッションなどを保持して移動させることができる。
 
7. gzip形式でファイルを圧縮する
正解を確認
コマンド: gzip 対象ファイル
 
ファイルをローカルPCにダウンロードしたい時などにサイズの大きいファイルをあらかじめサーバ上で圧縮したりする。他の圧縮コマンドも存在するがgzipが1番よく使われている気がする。
 
8. gzip形式の圧縮ファイルを解凍する
正解を確認
コマンド: gunzip 圧縮ファイル
 
gzip形式の圧縮ファイルを解凍すると、ファイルの拡張子の.gzがとれる。
 
9. ファイル名がtest.logのファイルを探す
正解を確認
コマンド: find / -name test.log
 
findはけっこう使うので必ず覚える。ファイル名で探すときは-nameオプションを使用する。
 
10. ファイル名がtest.XXXX.logのファイルを探してファイル情報を表示する
正解を確認
コマンド: find / -name test.*.log -ls
 
ファイル名に正規表現を使うこともできる。-lsオプションでls -lを実行したような結果になる。findは他にも色々なオプションがあるのでどんなオプションがあるかくらいは覚えておいたほうがよい。
http://g-network.boo.jp/wiki/2017/02/post-193/ 
 
11. findコマンドの使い方を表示する
正解を確認
コマンド: man find
 
コマンドのオプションを忘れた時などに簡単に手早く確認できる。
 
12. 今ログイン中のユーザを確認する
正解を確認
コマンド:
 who
 w
 
サーバを占有して変更作業を行う時や、OSをシャットダウンする前にログインしている人がいないかを確認したりする。w もコマンドです。
 
13. 全サービスの自動起動設定を確認する
正解を確認
コマンド: chkconfig
 
初期構築でサービスの自動起動設定を確認して、不要サービスは自動起動しないように設定変更したりする。
 
14. scpコマンドで、hostAにuser1でログインして、hostA上の/log.txtを自サーバのカレントディレクトリにgetする
正解を確認
コマンド: scp user1@hostA:/log.txt ./
 
サーバ間でssh通信ができる場合は、ファイルをコピーする際にscpコマンドを使うこともある。さくっとできないとちょっと恥ずかしい。
 
15. ifconfigコマンドが存在するか確認する
正解を確認
コマンド: which ifconfig
 
whichコマンドは環境変数PATHに設定されているディレクトリにコマンドがあるか確認する
 
16. マウントされているディスクの空き容量を確認する
正解を確認
コマンド: df
 
けっこう使う。なんか不具合があった時にとりあえず打ってみる。個人的にはdf -mでMB単位で表示させることが多い。
 
17. cdドライブのメディアを/mntにマウントする
正解を確認
コマンド: mount /dev/cdrom /mnt
 
LinuxではメディアをcdドライブにセットしただけだとOS上では認識はしているもののデータを読み込むことはできない状態。mountして初めてメディアに記録されたデータを扱うことができる。本番運用開始後にはあまり出番はないが、構築作業をしているとまあまあ使うことがある。
 
18. /mntにマウントしたデータをアンマウントする
正解を確認
コマンド: umount /mnt
 
アンマウントする時の前提はその領域が使用されていないこと。コマンド自体は簡単だがよくエラーになることが多い。ミドルウェアが使用している領域ならミドルウェアを停止させなくてはいけないし、ログイン中のユーザのカレントディレクトリがアンマウントしようとしているマウントポイントになっているだけでもアンマウントできなかったりする。どのユーザ、どのプロセスがその領域を使用中かはfuserコマンドで確認できる。
http://g-network.boo.jp/wiki/2017/02/post-179/ 
 
19. インストール済みのパッケージの一覧を表示する
正解を確認
コマンド: rpm -qa
 
rpmコマンドにオプション-qaで確認できる。使うのは初期構築時かパッケージのインストール時くらい。このコマンドではインストール済みのrpmパッケージが全て表示されるためけっこうな数になる。なので必要ならば rpm -qa | grep XXXXで対象を絞るとよい。
 
20. ネットワークインターフェースの状態を表示する
正解を確認
コマンド:
ifconfig ←非推奨
ip addr
ip a
 
自サーバのIPアドレスをさくっと確認したい時などに実行することが多い。ネットワークインターフェースは、インターフェースカード、NIC、LANカードなど様々な別名があるので注意。自分も昔勘違いしていたが、IPアドレスは各ホスト毎ではなくNICごとに割り振られる。なので1ホストに対して複数のIPアドレスを割り振ることも多い。CentOS6から7になってipコマンドのほうが推奨されるようになった。これから覚える人はipコマンドで覚えたほうがよさそう。
 
21. 自サーバから192.168.56.10にネットワーク疎通が取れるか確認する
正解を確認
コマンド: ping 192.168.56.10
 
端末間の疎通を確認する代表的な方法。ネットワーク系のトラブルでまずやるのがpingによる疎通確認。ただし疎通が取れないことは確認できるが、その原因がどこにあるかまでは確認できない。ちなみにWindowsのコマンドプロンプトでもpingは使える。
 
22. ルーティングテーブルを表示する
正解を確認
コマンド:
netstat -nr ←非推奨
route ←非推奨
ip route
ip r
 
ネットワークがつながらない時などにpingに続いて確認するのがルーティングテーブル。色々なコマンドがあるが、CentOS7になってnetstatとrouteは非推奨になったので、ipコマンドを覚えたほうがよさそう。
 
23. ただちにOSをリブートする
正解を確認
コマンド:shutdown -r now
 
-rオプションでリブート、-hでシャットダウンになる。間違えると致命的な時もあるので要注意。
 
24. ディレクトリ./dirAの所有者とグループをuserA,groupAに再帰的に変更する
正解を確認
コマンド:chown -R userA:groupA ./dirA
 
「再帰的に」とあったら、配下のディレクトリやファイル全てを、という意味になる。-Rオプションで再帰的に処理できる。
 
25. ひとつ前にいたディレクトリに移動する
正解を確認
コマンド:cd –
 
覚えておくとけっこう便利。ひとつ前にいたディレクトリにさっと戻れる。
 
26. 直前のコマンドの戻り値を表示する
正解を確認
コマンド:echo $?
 
$?は直前のコマンドの戻り値が格納される特殊変数。手順書などでコマンドが正常終了したかを確認するときによくやる。
 
27. ディレクトリ./dirA を強制削除する
正解を確認
コマンド:rm -rf ./dirA
 
大量のファイルが置いてあるディレクトリを削除するのに-fで強制削除にしないと全てのファイルで「削除しますか Y/N」を聞かれたりしてめんどくさいので強制削除にする。
 
28. サーバ上の全プロセスを表示する
正解を確認
コマンド:ps -ef
 
psコマンドといえばこのオプションで実行することが多い。しょっちゅう使うので必ず覚えておきたい
 
 
次はこちらをチャレンジ!!
http://g-network.boo.jp/wiki/2018/05/post-1262/ 

スポンサーリンク
勉強wikiの下部広告
  • このエントリーをはてなブックマークに追加
スポンサーリンク
勉強wikiの下部広告

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA