Linuxコマンド10選(追記)
身近にLinuxコマンドを習得したいという入門者がいます。私もまだまだLinuxコマンド初心者ではありますが、自分がコマンドを学び始めた頃を思い出して、入門者向けにこれだけは知っておきたいコマンド10選を考えてみました。
ls -la
とりあえずこれが無いと、ディレクトリ内のファイルやサブディレクトリが確認できません。ドットで始まる不可視ファイルもこれで安心。似たようなオプションで、「ls -1」もあります。ハイフンに数字の1です。
cd
change directoryコマンド。カレントディレクトリを変更するために使います。長いパスで行ったり来たりすると鬱陶しくなりますが、「cd -」を知っていると少しだけ幸せになれます。直前のディレクトリに戻れます。cdコマンドのアンドゥみたいなものです。オプションナシで、「cd」だけの実行でホームディレクトリに切り替えるのは定番です。
cp
copyコマンドですが、このオプションはいくつか知っていないと困ることがあります。「-r」オプションでサブディレクトリもコピーしてくれます。「-p」小文字のpですが、所有権を維持してコピーできます。
mv
move移動コマンド。ディレクトリの対象時にもオプション無しで使えます。この点がcpコマンドと統一性がないのがLinuxの良さ?です。またLinuxにはリネームコマンドがないので、「mv file1 file2」とすることで、file1をfile2に名称変更できます。
rm
消去removeコマンドです。これもオプションが重要です。「-r」でディレクトリの消去ができます。「-f」でforce強制削除です。通常は「-i」がデフォルトで指定されていることになっているので、rmコマンドでは対象を消しても良いかどうか確認を促されますが、「-f」では有無を言わさずreturnキーを押した瞬間に消えてしまいます。コマンドラインでは絶対やってはいけないことの一つに「rm -rf /」があります。これはファイルシステムがごっそりと削除されます。多分大抵のシステムではrootアカウントでなければこれは実行できませんが、rmコマンド使用時には念入りに確認してから実行しましょう。
less
moreに対してlessだったという命名だったそうですが、ファイルの中を表示するときに使います。ファイルの中身の文字数が多い場合は、ページ単位で表示するのが便利なので、この点がcatコマンドに対して優れています。ときどきLinuxのディストリビューションによってはlessが入っていない場合もあるので、そのときは使い勝手が似ているmoreを使いましょう。lessで長くなった表示で1行目に移動するのが「gg」とgキーを2回連打します。これに対して最後の行に進むにはshiftキーを押しながら「g」です。
mount umount
リムーバブルメディアをマウントするときなどに使います。Macのように自動的にマウントしてくれないLinuxが多いので、USBで差し込んだだけで使えるとは限りません。しかし、このコマンドを難しくしているのはデバイス名という呪縛です。差し込んだUSBメモリがなんというデバイス名かを知るためには、他のコマンドを叩く必要があります。
私がよくやるのは、USBメモリを差し込んだ直後に、「less /proc/partitions」を実行します。その最後に出ているデバイスが目的のものになりますので、/dev/につづけてそのデバイス名を使います。マウントするときは「mount /dev/sdb1 /mnt」のようにします。「/mnt」がマウントしたいディレクトリです。マウントを解除するためにはこのディレクトリを「umount /mnt」のように指定します。
reboot
何はなくともrebootコマンドです。解説書では「shutdown -r now」なんていう長い入力が必要な方法もありますが、再起動するのなら文字通りのrebootコマンドがお手軽です。接続先のコンピュータが業務用ワークステーションの場合は、reboot後の起動に時間がかかるものもあります。Macのrebootのようにお気軽でないこともあるので注意しましょう。
ssh
セキュア・シェルで他のホストにログインできます。「yamaq@remotehost」のように、@の前にログインするユーザー名を付けて、ホスト名に続けます。または、-lオプションでログインアカウントを指定できます。「ssh -l yamaq remotehost」。以外と便利なのが、リモートホストに対するコマンド実行機能です。「yamaq@remotehost ls -la」こうすると、remotehost上で「ls -la」を実行した結果を、自分のコンピュータ上に表示できます。remotehostのCPUを使うので、自分のリソースは消費しません(笑)。
vi
定番のエディタ・コマンド・スイートです。viだけでも一冊の書籍が出ているくらいで、富士山の樹海のようなコマンドです。さらにviの中でもこれだけは知っておきたいと言う使い方があるのですが、それは別のエントリーにします。emacs 対 viのような対立軸で比較されるケースもありますが、私はなんとなくemacsは取っ付きにくかったのでviに落ち着いています。
まずはこのあたりから使い始めていけばいいと思います。そして自分で不便に感じた点をgoogle検索を使って補っていく、ということを繰り返していけば、そのうちに自分のスタイルができます。その途中でだれか練達者の方に生の声を聞く機会があると一層いいでしょう。
(2010.8.16 09:45 追記)
自分が普段どんなコマンドをよく使うかを集計する方法をgoogle経由でみつけました。こちらの技術志向さんのページに解説されています。参考にさせていただきました。感謝。
history | awk ‘{print $2}’ | sort | uniq -c | sort -rn
今回の10個だけでのコマンド、という趣旨からはズレますが、覚書として。上記のコマンドをコピー&ペーストするときは、「{」「}」の前後をシングルクォートに変更して実行してください。