便利な UNIX コマンド

便利だと思われるコマンドの説明をします。


  1. alias - 別名をつける
  2. apropos - コマンドを探す
  3. bg - ジョブをバックグラウンドへ
  4. cal - カレンダー
  5. cat - ファイルの内容を表示
  6. cd - ディレクトリの移動
  7. clear - 画面の消去
  8. date - 時刻と日付を表示
  9. diff - ファイルの差を表示
  10. du - ディスク使用量を表示
  11. fg - ジョブをフォアグラウンドへ
  12. find - ファイルを探す
  13. finger - 個人情報を表示
  14. grep - ファイルから文字を検索
  15. jobs - バックグラウンドのジョブやプロセスを表示
  16. kill - ジョブやプロセスを消す
  17. less - ファイルの内容を表示
  18. lpq - プリンタ状況を表示
  19. lpr - ファイルをプリントする
  20. lprm - プリントのキャンセル
  21. ls - ファイルを表示
  22. man - オンラインマニュアル
  23. mkdir - ディレクトリの作成
  24. more - ファイルの内容を表示
  25. mv - ファイルの移動・名前の変更
  26. ps - プロセスを表示
  27. pwd - 現在のディレクトリを表示
  28. rm - ファイルやディレクトリを削除
  29. rmdir - ディレクトリを削除
  30. rusers - ログインしている人を全表示
  31. script - 画面の出力を保存
  32. sort - ファイルの内容を整列
  33. tail - ファイルの最後を表示
  34. uniq - ファイルの重複行を表示
  35. w - 現ホストにログインしている人を表示
  36. wc - ファイルの文字数を数える

alias - 別名をつける

長いコマンドやよくタイプミスをするコマンドに別の名前をつけることができます。例えば、clear を cls にすることができます。また、ls をよく ks と打ち間違える人は ks としても ls が実行できるようにさせます。

alias clear "cls"
alias ls "ks"
という2行を .cshrc に書きます。
% cd
% emacs .cshrc
.cshrc のどこでもいいですから上の2行を書いてください。.cshrc の一番下の方にいろいろな alias が書かれています。そこにでも一緒に書いてください。alias の書き方は
alias 本来のコマンド "別名"
です。すぐに alias を有効にしたいのなら、.cshrc に alias を書いた後、
% source ~/.cshrc
としてください。source ~/.cshrc としなければ ks と打っても「そんなコマンドはないよ」と言われます。


apropos - コマンドを探す

特定のキーワードを持つマニュアルページ及びコマンドの検索ができます。

例えば editor というキーワードに関係したコマンドやマニュアルを探したい場合、

% apropos editor
とすることで検索ができます。


bg - ジョブをバックグラウンドへ

ジョブをバックグラウンドへ移行させることができます。例えば、アプリケーションをフォアグラウンドで実行した場合、それを C-z (CTRL を押しながら z)でジョブを一時停止した後、

% bg
とすることでそのアプリケーションをバックグラウンドへ移行させて実行することができます。

ジョブが複数ある場合は jobs でジョブ番号を確認します。そして

% bg %ジョブ番号
とします。


cal - カレンダー

% cal
とすると今月のカレンダーを表示します。
% cal 6 1997
とした場合は、1997年6月のカレンダーが表示されます。
% cal 1997
とした場合、1997年の1月〜12月の1年分のカレンダーが表示されます。画面がスクロールして見にくい場合は more などを使いましょう。


cat - ファイルの連結と表示

ファイルの中身を表示することができます。また、2つ以上のファイルをくっつけて1つのファイルにすることができます。

% cat ファイル名
とすると、そのファイルの中身が表示されます。

また、

% cat file1 file2 > file3
とすると、file1 と file2 が連結されて file3 に出力されます。

ちなみに、

% cat file1 file2 > file1
のように入力ファイルと出力ファイルを同じにすると、入力ファイル file1 のデータは失われます。


cd - ディレクトリの移動

% cd ディレクトリ名
で、そのディレクトリに移動することができます。

ちなみに

% cd ~******/ (****** はユーザーID )
とすると、その ****** で指定したユーザーのディレクトリに移動できます。


clear - 画面の消去

% clear
で、画面を消去します。C-l (CTRL を押しながら l)でも同じです。


date - 時刻と日付を表示

% date
で現在の日付と時刻が表示されます。


diff - ファイルの差を表示

2つのファイルの行ごとの差を表示します。似たような中身のファイル同士の小さな差異を見つけるのに便利です。なお、2つのファイルの中身が全く同等である場合は何も表示されません。

% diff file1 file2
とすると、file1 と file2 の中身を行ごとに比較して、違いがあった部分の各々のファイルの中身が表示されます。
% diff -i file1 file2
と、オプション -i をつけた場合、大文字と小文字の区別を無視して file1 と file2 の比較をします。


du - ディスク使用量を表示

% du
で、現在のディレクトリ以降の各ディレクトリのディスク使用量が表示されます。

また、

% du ファイル名
で、そのファイルのディスク使用量が表示されます。


fg - ジョブをフォアグラウンドへ

% fg
でバックグラウンドにあるジョブをフォアグラウンドに移行させます。この時、バックグラウンドに複数以上ジョブがある場合、現在のジョブ( jobs の表示結果で + がついてるジョブ)がこのコマンドに該当されます。

もちろん、

% fg %ジョブ番号
と、ジョブ番号を指定することもできます。


find - ファイルを探す

検索条件を指定してファイルの場所を探すことができます。基本的な使い方は、

% find 検索起点ディレクトリ 検索条件
です。

例えば条件にファイル名を指定するのであれば、

% find . -name ファイル名
で、現在のディレクトリ以降にあるその名前のファイルの場所を探してくれます。

時間に関する条件を指定するのであれば、オプションを -name ではなく以下のようにします。

-atime : ファイルが最後にアクセスされた時間
-mtime : ファイルが最後に修正・更新された時間

例えば、unix というディレクトリ以降で、かつ3日以内に更新したファイルを探したい場合、

% find unix -mtime -3
とすれば、この検索条件に合うファイルが表示されます。

もちろん、上のオプションは組み合わせて使うこともできます。例えば、2日前にアクセスされたhtmlファイルを検索したいのなら、

% find . -name '*.html' -atime 2
とすることで検索結果が表示されます。

なお、コマンドの文末に -ls オプションをつけることで、より詳しい情報が表示されます。


finger - 個人情報を表示

% finger ユーザーID
で、そのユーザーの個人情報が表示されます。


grep - ファイルから文字を検索

% grep キーワード ファイル名
で、ファイルからキーワードを検索してそのキーワードを含む行を抜き出します。オプションで -i をつけると、大文字と小文字の区別をしません。

例えば、unix.html というファイルから CENTER というキーワードを大文字小文字の区別無く検索したいとします。この時、

% grep -i CENTER unix.html
とすれば、CENTER と center を含む行が画面に出力されます。


jobs - バックグラウンドのジョブやプロセスを表示

% jobs
とすることでバックグラウンドにあるジョブを表示させます。[ ]で囲まれているものがジョブ番号です。+ とあるのは現在のジョブを表し、- は前のジョブを表します。
% jobs -l
と、オプションの -l をつけるとプロセス番号も一緒に表示されます。この場合、ジョブ番号の隣の数字がプロセス番号となります。


kill - ジョブやプロセスを消す

% kill %
でジョブを消すことができます。ジョブが複数あるときは、現在のジョブが消されます。

ジョブ番号を指定して消したい時は、jobs でジョブ番号を確認してから、

% kill %ジョブ番号
とします。

プロセス番号を指定して消したい時は、ps でプロセス番号を確認してから、

% kill -9 プロセス番号
とします。


less - ファイルの内容を表示

% less ファイル名
で、ファイルの中身が表示されます。リターンキーを押すと1行分下に移動、スペースキーを押すと1画面分下に移動、k を押すと1行分上に移動、b を押すと1画面分上に移動します。終了する時は q を押します。( more のようにファイルの末尾に行っても自動的に終了しません。)


lpq - プリンタ状況を表示

% lpq
とすると、現在の実行中及び待機中のプリントジョブなどが表示されます。


lpr - ファイルをプリントする

% lpr ファイル名
とすると、そのファイルが印刷されます。


lprm - プリントのキャンセル

あらかじめ lpq でジョブ番号を確認し、

% lprm ジョブ番号
とすることで、そのプリントをキャンセルできます。


ls - ファイルを表示

% ls
で現在のディレクトリにあるファイル名及びディレクトリ名が表示されます。
% ls ディレクトリ名
とした場合、そのディレクトリにあるファイル名及びディレクトリ名が表示されます。

オプションをつけることで表示情報が変わります。-l をつけるとロング形式で出力(更新日付、容量、アクセス権などを表示)されます。また、-a をつけるとドットファイル(.emacs などの頭が . で始まるファイル)を表示することができます。

例えば、

% ls -la /pub/bin
とした場合、/pub/bin のファイル名及びディレクトリ名がドットファイルを含むロング形式で表示されることになります。


man - オンラインマニュアル

% man コマンド名
で、そのコマンドのリファレンスマニュアルを見ることができます。


mkdir - ディレクトリの作成

% mkdir ディレクトリ名
で、ディレクトリを作ることができます。


more - ファイルの内容を表示

% more ファイル名
で、ファイルの中身が表示されます。リターンキーを押すと1行分下に移動、スペースキーを押すと1画面分下に移動、b を押すと1画面分上に移動します。終了する時は q を押します。

なお、less と違って more はファイルの末尾に行くと自動的に終了します。


mv - ファイルの移動・名前の変更

ファイルの名前を変更するには、

% mv 元のファイル名 新しいファイル名 
とします。これで、元のファイルは新しいファイル名に変更されています。

ファイルをディレクトリに移動するには、

% mv ファイル名 ディレクトリ名
とします。この時、指定するディレクトリがあらかじめ存在していることが必須です。存在しないディレクトリ名を指定すると単にファイル名が変更されるだけなのでご注意を。うまくいってれば、ファイルはそのディレクトリ内に移動しています。


ps - プロセスを表示

% ps
で、現在の自分のプロセスが表示されます。

オプションは以下のものがあります。

-a : 頻繁に要求されているプロセスを表示。結果として、自分以外のプロセスを含むことになります。
-u : ユーザーIDを表示。
-x : 全てのプロセスを表示。

% ps -aux
と、上の3つのオプションを全てつけた場合、他人のプロセスを含む全てのプロセスがユーザーIDと共に表示されるということになります。


pwd - 現在のディレクトリを表示

% pwd
で、現在のディレクトリのパスが表示されます。


rm - ファイルやディレクトリを削除

% rm ファイル名
で、ファイルを削除できます。

また、

% rm -r ディレクトリ名
で、ディレクトリを削除できます。この時、ここで指定したディレクトリ内の全てのファイル及びディレクトリも同時に削除されてしまう点に注意が必要です。ディレクトリの削除は rmdir を使った方が安全といえます。


rmdir - ディレクトリを削除

% rmdir ディレクトリ名
で、ディレクトリが削除できます。この時、削除するディレクトリの中は空にしておいて下さい。ディレクトリ内にファイルなどがあるとこのコマンドは実行できません。


rusers - ログインしている人を全表示

% rusers
で、現在ログインしている人を表示します。表示が完了してもなかなかコマンドが終了しない場合は、C-c (CTRL を押しながら c)を押します。


script - 画面の出力を保存

画面に表示される出力をファイルに保存できます。まず、

% script ファイル名
とすると、script が開始されたというメッセージが出てきます。これ以降に出力されるものが script の対象となります。

script を終了するには、

% exit
とします。そうすると、終了したというメッセージが出て来ます。これで script から exit とするまでの間に画面に出力されたものがファイルに記録されたことになります。

なお、ファイル名を指定しなかった場合、typescript というファイルが自動的に生成されます。


sort - ファイルの内容を整列

% sort ファイル名
で、ファイルの内容を行毎に整列します。例えば、
% sort file1 file2 file3
とすると、file1 と file2 と file3 の内容が 空白 > 数字 > 文字 の順に整列して表示されます。

オプションはファイル名の前に指定します。

-o ファイル名 : 出力を指定したファイルに記録する
-r : 逆順で出力
-f : 大文字と小文字の区別をしない
-b : 空白の無視
-u : 重複する行を削除

例えば、

% sort -o result -bf file1 file2
とした場合、大小文字の区別をしなく、かつ空白も無視して file1 と file2 の内容を整列した result というファイルができあがります。


tail - ファイルの最後を表示

% tail ファイル名
で、そのファイルの最後の部分10行を出力します。

また、オプション -f をつけるとコマンドが継続されます。ログなどの中身が生成されていくファイルの監視に便利です。例えば、他のプロセスによって unix.log というファイルが生成される時、

% tail -f unix.log 
とすると、unix.log ファイルに生成されていく内容がどんどん画面に出力されるということになります。


uniq - ファイルの重複行を表示

% uniq ファイル名
で、そのファイルの連続して重複している行を削除して表示します。

また、

% uniq -d ファイル名
で、重複している行のみを表示します。

このコマンドで注意する点は、連続して重複している行が対象であるという点です。すなわち、同内容の行が離れて存在していても重複しているとは認識されません。


w - 現ホストにログインしている人を表示

% w
で、現ホストにログインしている人のユーザーIDやログイン時刻、現在のプロセス名などの細かな情報を得ることができます。


wc - ファイルの文字数を数える

% wc ファイル名
で、そのファイルの文字数などを数えることができます。出力される数字は左から順に 行数、単語数、バイト数 となっています。


ONLINE MANUAL
webadmin@hokusei.ac.jp