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

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

1. ファイルの所有者やタイムスタンプ、パーミッションを保持するようにコピーする
正解を確認
コマンド: cp -p (コピー元) (コピー先)
 
ファイルのバックアップを取る際は-pをつける。-pなしでコピーするとファイルのタイムスタンプがコピーした日時になってしまい、内容は全く同じでも同一ファイルであることが分かりにくくなってしまう。またコピーしたユーザによっては所有者やパーミッションも変わってしまう場合もある。権限やパーミッションが変われば、今まで実行していた実行ファイルが、実行できなくなったり、読み込みができなくなったりする恐れもあり問題が生じる。ファイルのバックアップを取る際は-pオプションをつけて所有者などのファイル情報を保持してコピーするようにすること。
 
2. ディレクトリを再帰的にコピーする(ディレクトリの深い階層までまるごとコピー)
正解を確認
 コマンド: cp -R (コピー元dir) (コピー先)
 
ディレクトリをまるっとコピーする。タイムスタンプなどを保持したい場合は-pRオプションで実施すればOK。
 
3. 日時をYYYYMMDDの形式で表示する
正解を確認
コマンド: date +’%Y%m%d’
 
実行日を取得して使用したい時に、上記のようにdateコマンドに引数でフォーマットを指定し実行する。フォーマットには色々バリエーションがあるが、上記のパターンが1番よく使う印象。
 
4. ホスト名を表示する
正解を確認
コマンド: uname -n
 
本番作業を実施する際にまず対象サーバが正しいかを確認するために使用することが多い。ちなみにhostnameコマンドでもホスト名を表示できるが、間違ってホスト名を変更してしまう恐れがあるのでunameのほうが安心。
ホスト名が変わってしまった
【事象】 いつのまにかサーバのホスト名が変わっていた   【原因】 hostnameコマンドを実行しようとした際に、誤ってhostname aというふうに引数にaを指定して実行していた。hostnameコマンドの機能はホスト名の表示...
 
 
5. ファイルの差分を表示する
正解を確認
コマンド:
diff (ファイルA) (ファイルB)
sdiff (ファイルA) (ファイルB)
 
設定ファイルを修正する際に、修正前のファイルをバックアップしておいて、修正前後のファイルの差分を確認する時に使用する。設定ファイルによってはスペースをひとつ入れただけで動かなくなることもあるので、忘れずに修正前にバックアップをとって差分を確認するようにするとよい。
 
6. アーカイブファイルを作成して同時にgzip形式で圧縮もする
正解を確認
コマンド: tar cvzf (アーカイブファイル名) (アーカイブ対象)
例)tar cvzf log.tar.gz /log/
 
アーカイブファイルは複数のファイルをひとつにまとめたもの。オプションzをつけると同時にgzip形式で圧縮もできる。gzip形式の拡張子は.gz。バックアップとして保存する時や、ファイルをまるっと移動させる時などに使う。
 
7. gzip形式でファイルを圧縮する
正解を確認
コマンド: gzip (対象ファイル)
 
ファイルをローカルPCにダウンロードしたい時などにサイズの大きいファイルをあらかじめサーバ上で圧縮したりする。他の圧縮コマンドも存在するがgzipが1番よく使われている気がする。
 
8. gzip形式の圧縮ファイルを解凍する
正解を確認
コマンド: gunzip (対象ファイル)
 
gzip形式の圧縮ファイルを解凍する際に使う。gzipとセットで覚えておくこと。
 
9. ファイル名がtest.logのファイルを探す
正解を確認
コマンド: find / -name test.log
 
findはけっこう使うので必ず覚える。ファイル名で探すときは-nameオプションを使用する。
 
10. ファイル名がtest.XXXX.logのファイルを探してファイル情報を表示する
正解を確認
コマンド: find / -name test.*.log -ls
 
findコマンドは正規表現を使うこともできる。-lsオプションを使うとls -lを実行したような表示になる。findは他にも色々なオプションがあるので、どんなオプションがあるか覚えておくと便利です。
findコマンドの使い方いろいろ
findコマンドは特定のファイルを探す際に使いますが、実はオプションが豊富で細かい条件でファイルを検索することができます。 ファイル名で検索 ディレクトリのみ、ファイルのみを検索 特定のパーミッション ファイルのタイム...
 
 
11. findコマンドの使い方を表示する
正解を確認
コマンド: man find
 
manでコマンドの説明を表示できます。オプションを忘れた時などに簡単に手早く確認できます。
 
12. 今ログイン中のユーザを確認する
正解を確認
コマンド:
 who
 w
 
サーバを占有して変更作業を行う時や、OSをシャットダウンする前にログインしている人がいないかを確認する時などに使います。w もコマンドです。
 
13. 全サービスの自動起動設定を確認する
正解を確認
コマンド: chkconfig
 
各サービスの自動起動設定を確認できます。不要なサービスはOS起動時に自動起動しないように設定変更するのが一般的です。
 
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コマンドで確認できる。
ファイルシステムをアンマウントできない
ファイルシステムをアンマウントしようとした時にエラーが出る時があります。   # umount /mnt umount: /mnt:device is busy   これはファイルシステムをつかんでいるプロセスがあるため...
 
 
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になって、ifconfigから変わって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
 
削除の際に「削除しますか Y/N」と1ファイルずつ確認が入ったりする。確認が不要な時は強制削除で実行する。
 
28. サーバ上の全プロセスを表示する
正解を確認
コマンド:ps -ef
 
psコマンドといえばこのオプションで実行することが多い。しょっちゅう使うので必ず覚えておきたい
 
 
次はこちらをチャレンジ!!
コマンド練習問題(その2)
初心者からさらに1歩前に進むために覚えておくべきコマンドを問題にしてみました。まずはコマンドを覚えて、そこから自分でコマンドを使いこなせるように、何回も実行して使い方を覚えてみてください。   1. /home配下の各ディレクトリ毎の使...
 

コメント

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