第114回 知っておきたいLinuxもしくはUnixのコマンド
社会人になって、
LinuxもしくはUnixを使って開発する仕事を任されるなら、
次のコマンドは知っておきたいものです。
(なお、全OSを知り尽くしているわけではありませんので、
下で紹介している動きとは違う動きをするものがあるかもしれません)
uname -a
-aオプションをつけることで、
OSの名前、バージョンなどたくさんの情報がわかります。
家では1台のコンピュータにしか接続しない場合がおおいかもしれないですが、
会社に入ると色んなコンピュータで作業をしないといけないものです。
いま自分がはいっているコンピュータはなんなのか把握する必要があります。
su
ユーザを切り替えることができます。
rootになって作業しないといけないときなどに使います。
id
ターミナルを使用中のユーザ名やグループなどがわかる。
suを使っていて「あれ?いま俺、だれだっけ?」というときに使えます。
whoamiというコマンドもありますが、idの方が情報が多い。
sudo
suではユーザが切り替わってしまいますが、
sudo コマンド
とすることで、rootでそのコマンドを実行できることができます。
また、
sudo -u ユーザ コマンド
と -uオプションを使えば、-uオプションで指定したユーザでコマンドを実行できます。
cp -p
以下のcpコマンドが使われる場面を考えてみましょう。
cp hoge.txt foo.txt # foo.txtが存在していない場合 cp hoge.txt foo.txt # foo.txtが存在している場合
foo.txtが依存していない場合は、umaskに基づいてfoo.txtの権限が決まります。
foo.txtが存在いている場合は、もともとのfoo.txtの権限が残ります。
hoge.txtの権限も残してコピーしたいとします。
そういうときは、
cp -p hoge.txt foo.txt
と -pオプションを使います。
diff
ファイルの差分(違い)を比較するコマンドです。
ソースコードのレビュー時などに使われます。
レビューで指摘された部分がちゃんと訂正されているのかどうかといったことや、
既存のファイルを改修したときに改修漏れはないか、
もしくは余計なところまで変えてしまっていないかなどに使われます。
tail -f
tailコマンドに-fオプションをつけることで、ファイルを読み続けることができます。
ログファイルにちゃんと値が書き込まれているかなどを確かめるのに便利です。
find
ファイルを検索できるコマンドです。
Hoge.pmというファイルを探したいときなどに使えます。
env
環境変数を表示できます。
また、以下のようにすることで
env 環境変数=値 コマンド
一次的に環境変数の値を変えてコマンドを実行できます。
例:
$ date 2009年 6月 6日 土曜日 20時13分38秒 JST $ env LANG=C date Sat Jun 6 20:13:53 JST 2009
man
コマンドの説明が読める。
言わずと知れたマンコマンドです。
上記説明は、簡潔に書いていますので、
詳しい説明はmanを参照するようにしましょう。
manの読み方は、
ビンゴ中西のほげほげmanのSYNOPSIS(書式)の読み方