2 UNIXのコマンド

2.1 使用頻度の高いコマンド

使用頻度の多いUNIXコマンドを以下に示す.これらのコマンドは,すべてターミナルから 打ち込み,コンピューターに命令を与える.他に,ファイルマネージャーもあるので,組 み合わせて使って欲しい.

表 1: UNIXでよく使われるコマンド.下の5つは,正確にはコマンドではないが,便 利な機能である.
コマンド 機能
man コマンドのオンラインマニュアル
pwd 現ディレクトリーの表示
ls ファイルとディレクトリーの表示
cd ワーキングディレクトリーの移動
mkdir ディレクトリーの作成
rmdir ディレクトリーの削除
cp ファイルやディレクトリーの複製
mv ファイルやディレクトリーの名前の変更や移動
rm ファイルの削除
cat ファイルの表示や連結
less ファイルの内容を一画面単位で出力
$ \uparrow$又は $ \downarrow$ history 以前のコマンドの表示 編集可能
[Ctrl]+c プロセスの強制終了
[Tab] 補完機能
左ドラッグ 左ボタンのドラッグとドロップで文字列のコピー
中クリック コピーされた文字列をペースト

2.2 コマンドの動作

これから,コマンドの動作について記述するが,形式あるいは機能・ 形式のところのカギ括弧[ ]内は省略可能を示している.これはオプションなので, 必要なときにカギ括弧内のそれを使えば良い.

2.2.1 コマンドの動作を調べる

指定されたコマンドのオンラインマニュアルを一画面分ずつ表示する.
コマンド man
語源 manual
形式 man commandname
注意 次の頁を見るときには f キーを,前の頁を見るときには b キーを押 す.表示をやめるときには,q キーを押す.
例 次に説明している命令「ls」の動作を調べる.
          man ls

2.2.2 現ディレクトリーの表示

自分が,今どこにいるか調べるコマンドである.
コマンド pwd
語源 print working directory
機能 現在のワーキングディレクトリ(カレントディレクトリ)を絶対パス 名で表示する.
 

2.2.3 ファイルとディレクトリーの表示

自分が,今いるディレクトリーの中にあるファイルやディレクトリーを調べるときに使う コマンドである.
コマンド ls
語源 list
機能 現在のワーキングディレクトリのファイルやディレクトリーの情報を 表示する.
形式 ls [-adFgilostux] [filename$ \cdots$]
オプション  
なし ファイル名のみ並べて出力する.
-a .(ドット)で始まる隠しファイルも含めて,すべて出 力する.
-l ファイルの詳細管理情報をロング形式で出力する.
-d filenameがディレクトリの時,その名前のみ表示する.
-F ファイルの種類を記号で表示する.
  $ <$ 記号の意味 $ >$
 
表示なし プレーンなデータファイル
  / ディレクトリファイル
  * 実行可能ファイル
-I inode番号を表示する.
-R ディレクトリの階層構造を表示する.
-s ファイルのサイズをプロック単位で表示する.
-t 最終更新時刻の新しいものから順に表示する.
-u lオプションとの併用時,最終更新時刻の代わりに最終 アクセス時刻を表示する.
-o lオプションと同じだが,グループ名を 表示しない.
-x ファイル名を横に並べて出力する.

2.2.4 カレントディレクトリーの変更

今いるディレクトリーから他のディレクトリーに移るときに使うコマンドである.
コマンド cd
語源 change directory
機能・形式 指定されたディレクトリーに移動
          cd directory
  ログインでレクトリーに移動
          cd
  親ディレクトリーに移動
          cd ..

2.2.5 ディレクトリーの作成

ディレクトリを作成する.ディレクトリ自身を表す「.」と,親ディレクトリを表 す「..」の2つが,自動的に作成される.
コマンド mkdir
語源 make dirirectory
形式 mkdir directory         指定されたディレクトリーを作 成

2.2.6 ディレクトリーの削除

ディレクトリを削除する.
コマンド rmdir
語源 rmove directory
形式 rmdir directory
注意 削除するディレクトリは空でなければならない.ディレクトリ配下に ファイルがある場合,配下のファイルごと削除するにはrmコマンドを使う.いず れの場合もmkdirコマンド同様,親ディレクトリに書き込み権が必要.

2.2.7 ファイルやディレクトリーのコピー

ファイルやディレクトリーのコピーを作成したい場合に使う.
コマンド cp
語源 copy
機能・形式 filename1 を filename2 という名前でコピーを作成する.
          cp [-ip] filename1 filename2
  directory2 の配下に directory1 をサブディレクトリとして,配下の ファイルごとコピーする.
          cp -r[-ip] directory1 directory2
  各filename(サブディレクトリ指定可)を,最後に指定した directory配下にコピーする.
          cp -r[-ipr] filename$ \cdots$ directory
オプション  
-I コピー先ファイルが既存の場合,置き換えを行うかど うか確認してくる.(置き換える場合=y ,置き換えない場合=nと入力する)
-p 内容だけでなく,最終修正時刻・アクセス許可もコピーする.
-r  ディレクトリ配下のファイルごとコピーする.(ファ イルがサブディレクトリの場合は,その配下のファイルごとコピーする.)

2.2.8 ディレクトリー・ファイルの移動と名前の変更

ディレクトリーやファイルを移動させるときに使う.また,名前を変えるときにも使う.
コマンド mv
語源 move
機能・形式 filename1をfilename2に名前を変える.
          mv [-i] filename1 filename2
  directory1をdirectory2に名前を変える.directory2が既存の場 合,directory2の配下にdirectory1を移動する.
          mv [-i] directory1 directory2
  各filename(サブディレクトリ指定可)を,最後に指定したdirectory 配下に移動する.
          mv [-i] filename $ \cdots$ directory
オプション  
-i 移動先ファイルが既存の場合,置き換えを行うかどう か確認してくる.置き換える場合=y,置き換えない場合=nと入力する.

2.2.9 ファイルの削除

ファイルを削除するときに使う.また,オプションを付けて,ディレクトリーごと削除す ることもできる.
コマンド rm
語源 re move
機能・形式 ディレクトリから各filenameを削除する.
          rm [-i] filename1
  directory配下のファイルから順に削除していき,directory自身も削除 する.
オプション  
          rm -r[i]directory
-i 削除していいかどうか確認のメッセージを出す.削除 する場合=y,削除しない場合=nと入力する.
-r  directory配下のファイルを削除し,directory自身も削除する.
-f ファイルを強制的に削除する.

2.2.10 ファイルの表示や連結

ファイルの連結と表示を行う.指定したファイルを順次読み取り,標準出力に出力する. この機能を利用して,複数ファイルの結合(concatenate 鎖状につなぐ)を行うことがで きる.次の例は,file1とfile2を結合して,file3を作る.
	cat file1 file2 > file3
>はリダイレクトと呼ばれる機能である.
コマンド cat
語源 concatenate
形式 cat [filename$ \cdots$]
注意 cat file1 file2 > file1 および cat file1 file2 > file2 は,まず出力領域を確保しようとするために,読み取り前に入力データが破壊 されてしまうので要注意.また,catではデータの出力は画面単位ではない.一画 面分以上の大きさのファイルを表示しようとすると先頭部分はスクロールして見えなく なってしまう.その場合はlessコマンドを使用する.

2.2.11 ファイルの内容を一画面単位で出力

ファイルの内容を見るときに使う.
コマンド less
語源 less
形式 less filename
注意 次の頁を見るときには f キーを,前の頁を見るときには b キーを押 す.表示をやめるときには,q キーを押す.

2.2.12 history 以前のコマンドの表示

前に入力したコマンドを確認したり,取り出して再実行,編集して実行する.キーを叩く 回数が減り,タイプミスを減らせるので,かなり便利である.というか,ほとんどの場合, これを使うことで済むので,作業が軽減される.
使用方法 $ \uparrow$と $ \downarrow$

2.2.13 プロセスの強制終了

ターミナルで実行したプロセスを強制的に終了させる.プログラムが,暴走したときに使 う.
使用方法 [Ctrl]+c
注意 [Ctrl] キーを押したまま,c キーを押す.

2.2.14 補完機能

補完機能は,最初の何文字かを入力して[Tab]キーを押すと,自動的にディレ クトリ名やファイル名,あるいはコマンドを表示してくれる機能である.キーを叩く回数 が減り,タイプミスを減らすことができる.
使用方法 [Tab]

2.2.15 コピーとペースト

簡易なコピーとペースト(貼り付け)の機能がある.マウスの左ボタンを押したまま,テキ スト(文字)の上をドラッグする.そして,左ボタンを離す(ドロップ)すると,そのテキス トがクリップボートにコピーされる.コピーされたテキストは,マウスの真ん中ボタンで, ペーストできる.かなり便利で,ほとんどの文字列のコピー・ペースト可能である.

2.3 練習問題

[練習1]
ログインディレクトリーに,サブディレクトリー  hogehoge1,hogehoge2,fugafugaを作成せよ. そして,それらのディレクトリーがあることを確認せよ.
[練習2]
サブディレクトリーfugafugaに移動して,サブディレク トリーtest1とtest2を作成せよ.そして,それら のディレクトリーがあることを確認せよ.
[練習3]
サブディレクトリーtest2に移動して,サブディレク トリーdir1とdir2を作成せよ.そして,それら のディレクトリーがあることを確認せよ.
[練習4]
サブディレクトリーdir2を親ディレクトリーに移動させ よ.
[練習5]
サブディレクトリーdir1を親ディレクトリーの親ディレ クトリーの親ディレクトリーに移動させよ.
[練習6]
自分がいるディレクトリーを確認せよ.
[練習7]
親ディレクトリー(test2)に移動せよ.そして,そこに あるディレクトリーを確認せよ.
[練習8]
ディレクトリーtest1を削除せよ.
[練習9]
親ディレクトリに移動せよ.そして,全てのサブディレクト リーを削除せよ.
[練習10]
図2に示すディレクトリーツリーを作成せよ.そ して,ホームディレクトリーに移動して,treeコマンド を打ち込み,ツリー構造を確認せよ.
[練習11]
全てのサブディレクトリーを削除せよ.
図 2: [練習10]で作成するディレクトリー
\includegraphics[keepaspectratio,scale=0.8]{figure/ex_mkdir.eps}

ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成18年4月11日
no counter