第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オプションをつけることで、ファイルを読み続けることができます。
ログファイルにちゃんと値が書き込まれているかなどを確かめるのに便利です。


grep

ファイルの中身を検索できます。
Hoge.pm
というモジュールを使っているソースを見つけたいときは、

grep 'use Hoge' *

などで探してみるとよいでしょう。


find

ファイルを検索できるコマンドです。
Hoge.pmというファイルを探したいときなどに使えます。


cd -

おもむろに、どこかのディレクトリにcdで移動してみましょう。
その後に、

cd -

すると、ひとつ前にいたディレクトリに戻る事ができます。

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(書式)の読み方