IT pass HikiWiki - [itbase2019]Unix の代表的なコマンド一覧 Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

{{toc}}

== Unix の代表的なコマンド一覧

Unix のコマンドも, やはり実体はファイルです. これらは /bin, /usr/bin, /sbin などにあります. 以下に使用頻度の高いコマンドの一覧と意味, 簡単な使い方をあげます. 詳細な利用方法が書かれたマニュアルを, man コマンドで参照してください. なお, man で表示されるマニュアルは一定の書式, 約束事にしたがって書かれています. マニュアルページで使われている記号の意味等を知るためにも, man コマンド自身のマニュアル (man man と打つ) に是非目を通してみてください.

# RT
コマンド名, 意味
alias, コマンドに別名 (エイリアス) をつける
cat, ファイルの中身を標準出力へ表示する
cd, 現在のディレクトリ (カレントディレクトリ) を指定されたディレクトリに変更する
chmod, 指定されたファイルもしくはディレクトリのモードを変更する
chown, 指定されたファイルもしくはディレクトリの所有者や所有グループを変更する
cp, ファイルをコピーする
echo, 文字列を表示する
less, 指定されたファイルを表示する
ls, ファイルやディレクトリの一覧を表示する
man, オンラインマニュアルを表示する  
mkdir, 指定された名前のディレクトリを作成する
more, 指定されたファイルを表示する
rm, ファイル(ディレクトリも含む)を削除する
rmdir, 指定されたディレクトリを削除する
passwd, 指定されたアカウントのパスワードを変更する
pwd, カレントディレクトリを表示する
set, 現在設定されている環境変数を一覧する
finger, ログインしているユーザの情報を表示する

=== man

* 書式:

$ man [コマンド]

* 解説:

  オンラインマニュアル表示コマンド. ほとんどのコマンドは日本語マニュアルが付属しているので, コマンドの使い方がわからない場合には引いてみると良いでしょう. 詳細は,

   $ man man

  を実行してみてください.

* 例:

  * ls コマンドのマニュアル表示:

   $ man ls

  *  host を含む man ファイルの表示:

   $ man -k host

=== ls

* 書式:

$ ls [オプション] [ディレクトリ]
$ ls [オプション] [ファイル]

* 解説:

  ファイルやディレクトリの一覧を表示します. 対象となるファイルやディレクトリを指定しない場合, 現在のディレクトリ(カレントディレクトリ)内の一覧が表示されます.

* 代表的なオプション

   # RT
   オプション, 効果
   -a, ファイル名が "." で始まるファイルも表示する
   -c, ソート (-t) やリスト表示 (-l) のとき、修正時刻ではなく状態変更時刻を使う
   -d, ディレクトリの中身を表示せず、他のファイルと同じようにディレクトリ名をリスト表示する
   -F, ディレクトリには "/" 、実行可能なファイルには "*"、シンボリックリンクには "@" を付加表示する
   -l, パーミッションや持ち主などの詳細属性 (ファイルモード) も表示する
   -r, 逆順に並べて表示する
   -R, サブディレクトリ以下の内容も再帰的に表示する
   -s, ファイルの大きさを表示する
   --color, 色つきで一覧を表示する

* 例:

  * ホームディレクトリ内の全ファイル & ディレクトリを詳細情報と共に表示:

   $ ls -la ~/

=== cat

* 書式:

$ cat [ファイル]

* 解説:

  ファイルの中身を標準出力へ表示します. ファイルの閲覧は勿論のこと, 他にも色々と利用可能なコマンドです.

* 例:

  * test.txt ファイルの内容の表示:

   $ cat test.txt

#  * au (Sun Audio format) ファイルの再生:
#
#   $ cat sound.au > /dev/audio

=== cd

* 書式:

$ cd [ディレクトリ]

* 解説:

  現在のディレクトリ (カレントディレクトリ) を, 指定されたディレクトリに変更します. 対象となるディレクトリを指定しない場合, ホームディレクトリが指定されたものと見なされます.

* 例:

  * ホームディレクトリへ移動する:

   $ cd

=== mkdir

* 書式:

$ mkdir [ディレクトリ]

* 解説:

  指定された名前のディレクトリを作成します.

* 例:

  * sample という名前のディレクトリを作成:

   $ mkdir sample

=== rm

* 書式:

$ rm [オプション] [ファイル (ディレクトリ)]

* 解説:

  ファイル (ディレクトリも含む) を削除します. このコマンドで削除されたものはほとんど元に戻せないため, 慎重に利用して下さい. (特に root)

* 代表的なオプション

   # RT
   オプション, 効果
   -i, 削除するかどうか確認する
   -f, 読み取り専用ファイルでも確認なしに強制的に削除する. -i オプションと両方が指定された場合は後ろから指定された方のオプションが有効になる
   -r, 中にあるファイルごと指定されたディレクトリを再帰的に削除する

* 例:

  * sample という名前のファイルを削除:

   $ rm sample

  * ディレクトリ sample を中にあるファイルごと強制的に消去:

   $ rm -rf sample

=== rmdir

* 書式:

$ rmdir [ディレクトリ]

* 解説:

  指定されたディレクトリを削除します. ただし, 削除しようとするディレクトリは空でなければなりません. 中身ごとディレクトリを削除するには rm コマンドを使います.

* 例:

  * 空のディレクトリ sample を削除:

   $ rmdir sample

=== more

* 書式:

$ more [ファイル]

* 解説:

  指定されたファイルを表示します. cat と違い, 閲覧する上で便利な様に作られています. more の高機能版として less があります.

=== less

* 書式

$ less [ファイル]

* 解説:

  指定されたファイルを表示します. more ではできなかったバックスクロールに対応, 他にも gzip で圧縮されたファイルをそのまま見られるなど, いろいろな機能が付け加えられています.

* キーバインド

   # RT
   キー, 説明
   数字, 指定行に移動
   f SPACE ^F, 1 画面前進
   b ^B ESC-v, 1 画面後退
   RETURN e j ^E ^J, 1 行前進
   y k ^Y ^K, 1 行後退
   d ^D, 半画面前進
   u ^U, 半画面後退
   r ^R, 画面を再表示
   R, ファイルを読み直して再表示
   g < ESC-<, 先頭行に移動
   G > ESC->, 最終行に移動
   /[!*@]文字列, 文字列を前方検索 (正規表現も可能)
   /!文字列, 文字列を含まない行を検索
   /*文字列, コマンドラインで指定した全てのファイルを検索
   /@文字列, ファイルの先頭から検索
   ?[!*@]文字列, 文字列を後方検索. "/" と同じ機能を持つ
   n, 次検索
   N, nとは逆方向に次検索
   ESC-u, 検索にマッチした部分の反転表示を解除
   v ^v, エディタを起動して現在表示しているファイル編集 (環境変数 EDITOR)
   = :f, 現在位置の行数・バイト数・パーセンテージを表示
   h, 簡易ヘルプを表示
   V, バージョンを表示
   q :q :Q ZZ, lessを終了
   !(リターン), シェルを起動 (環境変数 SHELL)
   !コマンド, コマンドを実行
   !!, 直前の "!コマンド" を再実行

=== passwd

* 書式:

$ passwd [アカウント]

* 解説:

  指定されたアカウントのパスワードを変更します. 何も指定しないと自分のアカウントが指定されたとみなされます. 通常, 自分以外のアカウントのパスワードを変更できるのは root のみです. 詳しくは, ((<パスワードの変更|[Exp2017]情報実験機のアカウント作成#パスワード変更の方法>)) を参照して下さい.

=== pwd

* 書式:

$ pwd

* 解説:

  カレントディレクトリを表示します.

=== chmod

* 書式:

$ chmod [モード] [ファイル]
$ chmod [モード] [ディレクトリ]

* 解説:

  指定されたファイルもしくはディレクトリのモードを変更します. モードは属性あるいはパーミッションとも表現されます. 詳細は, ((<ファイルモード|[Exp2011]ファイルのモード#ファイルモード>)) を参照して下さい.

* 例:

  * hoge.txt のモードを -rw-rw-r-- に変更する:

   $ chmod 664 hoge.txt

=== chown

* 書式:

$ chown [ユーザ名] [ファイル]
$ chown [ユーザ名]:[グループ名] [ファイル]
$ chown :[グループ名] [ファイル]

* 解説:

  指定されたファイルもしくはディレクトリの所有者や所有グループを変更します. グループ名を指定する場合は, 直前にコロン ":" を付けるのを忘れずに.

* 例:

  * hoge.txt の所有者を foo, 所有グループを foo に変更する.

   $ chown foo:foo hoge.txt

=== finger

* 書式:

$ finger [引数]

* 解説

  現在ログインしているユーザの情報の表示をします. 引数としてユーザ名を与えると, そのユーザの情報 (/etc/passwd に 書かれた内容) も合わせて表示します. 引数に何も与えないと, 自分の方法を表示します.

=== echo

* 書式:

$ echo [文字列]

* 解説:

  文字列を表示します. 何も指定しないと標準出力 (モニタ) に表示されますが, リダイレクト ">" を付けることでファイルに書き込むこともできます.

* 例:

  * モニタに "Hello World" を表示:

   $ echo "Hello World"

  * test.txt ファイルに "Hello World" を書き込む:

   $ echo "Hello World" > test.txt

  * test.txt ファイルに "Hello World" を追記:

   $ echo "Hello World" >> test.txt

=== alias

* 書式:

$ alias [別名]='[コマンド名]'
$ alias

* 解説:

  コマンドに別名 (エイリアス) をつけます. 引数を与えないと, 現在設定されている別名が一覧されます.

* 例:

  * ls として 'ls --color' を設定:

   $ alias ls='ls --color'

=== set

* 書式:

$ set

* 解説:

  現在設定されている環境変数を一覧する.

=== cp

* 書式:

$ cp [コピー元ファイル名] [コピー先ファイル名]

* 解説:

  ファイルのコピーを行います.

* 例:

  * test1.txt を test2.txt にコピー:

   $ cp test1.txt test2.txt

== 参考資料

このページは
((<"北海道大学 理学院 情報実験 (INEX)"|URL:http://www.ep.sci.hokudai.ac.jp/~inex>))

((<"Unix コマンド Tips"|URL:http://www.ep.sci.hokudai.ac.jp/~inex/y2007/1019/command.html>))
を基に作成しました.