UNIXコマンド一覧

# ファイル操作編
## １．ディレクトリの移動：cd
<dl>
  <dt>概要</dt>
  <dd>cd以降で指定したディレクトリに移動する。</dd>
  <dt>使い方</dt>
  <dd><code>cd</code> ホームディレクトリに移動する。</dd>
  <dd><code>cd ..</code> 1つ上の階層に移動する。</dd>
  <dd><code>cd test</code> カレントディレクトリの「test」フォルダに移動する。</dd>
  <dd><code>cd /xxx/yyy/zzz</code> 絶対パスで指定したディレクトリに移動する。</dd>
</dl>

## ２．フォルダ・ファイルの参照：ls
<dl>
  <dt>概要</dt>
  <dd>カレントディレクトリのフォルダとファイルの一覧表示を行う。</dd>
  <dt>使い方</dt>
  <dd><code>ls</code> 現在のフォルダのファイルが一覧表示される。</dd>
  <dt>オプション</dt>
  <dd><code>ls -l</code> 一覧に詳細情報を追加する。</dd>
  <dd><code>ls -lt</code> 詳細情報を更新日付逆順で表示する。</dd>
  <dd><code>ls -ltr</code> 詳細情報を更新日付昇順で表示する。</dd>
  <dd><code>ls -lS</code> ファイルサイズが大きい順に表示する。</dd>
  <dd><code>ls -lSr</code> ファイルサイズが小さい順に表示する。</dd>
</dl>

## ３．権限の変更：chmod
<dl>
  <dt>概要</dt>
  <dd>ファイル・フォルダの権限の変更を行う。</dd>
  <dt>使い方</dt>
  <dd><code>chmod 755 xxx.txt</code> xxx.txtファイルに対し、「755」の権限を設定する。</dd>
  <dt>補足</dt>
  <dd>〇chmodの後の数字について</dd>
  <dd>・1桁目：ファイルの所有ユーザについての権限</dd>
  <dd>・2桁目：同一グループのユーザについての権限</dd>
  <dd>・3桁目：その他のユーザについての権限</dd>
  <dd>〇付与する権限について</dd>
  <dd>以下のように2進数で指定する。</dd>
  <dd>・7：2進数で111なのでRead/Write/Execute　フル権限</dd>
  <dd>・5：2進数で101なのでRead/  -  /Execute　書き込み不可</dd>
  <dd>・4：2進数で100なのでRead/  -  /   -   　参照のみ</dd>
</dl>

## ４．ファイルの削除：rm
<dl>
  <dt>概要</dt>
  <dd>ファイルの削除を行う。</dd>
  <dt>使い方</dt>
  <dd><code>rm xxx.txt</code> カレントディレクトリのxxx.txtを削除する。</dd>
  <dt>オプション</dt>
  <dd><code>rm -i xxx.txt</code> xxx.txtを削除する前に削除可否を確認する。</dd>
  <dd><code>rm -r /XXX</code> フォルダ「XXX」を削除する。</dd>
</dl>

## ５．フォルダの作成：mkdir
<dl>
  <dt>概要</dt>
  <dd>カレントディレクトリにフォルダを作成する。</dd>
  <dt>使い方</dt>
  <dd><code>mkdir XXX</code> フォルダXXXを作成する。</dd>
</dl>

## ６．ファイルの新規作成・編集：vi
<dl>
  <dt>概要</dt>
  <dd>ファイルの新規作成と編集を行う。</dd>
  <dt>使い方</dt>
  <dd><code>vi xxx.txt</code> カレントディレクトリのxxx.txtを編集モードで開く。</dd>
  <dd>ファイルが存在しない場合は新規作成する。</dd>
</dl>

## ７．ファイルを参照する：view
<dl>
  <dt>概要</dt>
  <dd>ファイルを参照モード（読み取り専用）で開く。</dd>
  <dt>使い方</dt>
  <dd><code>view xxx.txt</code> カレントディレクトリのxxx.txtを参照モードで開く。</dd>
</dl>

## ８．ファイルの複製：cp
<dl>
  <dt>概要</dt>
  <dd>指定したファイルを指定した場所に複製する。</dd>
  <dt>使い方</dt>
  <dd><code>cp xxx.txt /YYY/yyy.txt</code> カレントディレクトリの「xxx.txt」と同じファイルをYYY配下に「yyy.txt」の名称で作成する。</dd>
  <dd>ファイル名「yyy.txt」を指定しなければ同名で作成される。</dd>
</dl>

## ９．ファイルの削除・移動・名称変更：mv
<dl>
  <dt>概要</dt>
  <dd>指定したファイルを指定した場所に移動する。</dd>
  <dd>移動先を指定しない場合、削除する。</dd>
  <dt>使い方</dt>
  <dd><code>mv xxx.txt</code> カレントディレクトリのxxx.txtを削除する。</dd>
  <dd><code>mv xxx.txt yyy.txt</code> カレントディレクトリのxxx.txtをyyy.txtに名称変更する。</dd>
  <dd><code>mv xxx.txt ./YYY</code> カレントディレクトリのxxx.txtをディレクトリYYYに移動する。</dd>
</dl>

## １０．ファイル内検索：grep
<dl>
  <dt>概要</dt>
  <dd>指定したファイル内に指定した文字列が含まれるか検索する。</dd>
  <dt>使い方</dt>
  <dd><code>grep test xxx.txt</code> xxx.txt内に「test」という文字列が含まれるか検索する。</dd>
  <dd><code>grep test *.txt</code> のように指定して、カレントディレクトリ内のすべての.txtファイルのうち、どのファイルに「test」が含まれるか検索することで、特定のサブルーチンを利用しているAPを検索したりするときに便利。</dd>
</dl>

## １１．コンパイル：make
<dl>
  <dt>概要</dt>
  <dd>指定したファイルのコンパイルを行う</dd>
  <dt>使い方</dt>
  <dd><code>make xxx.txt</code> カレントディレクトリ内の「Makefile」を用いて「xxx.txt」をコンパイルする。</dd>
  <dt>オプション</dt>
  <dd><code>make -f xxx.txt</code> Makefileが別名の場合、-f でファイル名「xxx.txt」を指定する。</dd>
</dl>

## １２．コンパイル：make
<dl>
  <dt>概要</dt>
  <dd>指定したファイルのコンパイルを行う</dd>
  <dt>使い方</dt>
  <dd><code>make xxx.txt</code> カレントディレクトリ内の「Makefile」を用いて「xxx.txt」をコンパイルする。</dd>
  <dt>オプション</dt>
  <dd><code>make -f xxx.txt</code> Makefileが別名の場合、-f でファイル名「xxx.txt」を指定する。</dd>
</dl>

## １３．ファイルをバイナリ形式で参照：make
<dl>
  <dt>概要</dt>
  <dd>ファイルを開く際に8進表記で内容を表示する。</dd>
  <dt>使い方</dt>
  <dd><code>od xxx.txt</code> xxx.txtを8進で表示する。</dd>
  <dt>オプション</dt>
  <dd><code>od -tx1 xxx.txt</code> xxx.txtを16進で表示する。</dd>
  <dd><code>od -Ad xxx.txt</code> xxx.txtを表示する際に、桁を10進数で表示する。</dd>
  <dd><code>od -N999 xxx.txt</code> xxx.txtの頭から999Byteを表示する。</dd>
</dl>

## １４．ファイル名検索：find
<dl>
  <dt>概要</dt>
  <dd>指定した文字列を含むファイル名のファイルを検索する。</dd>
  <dt>オプション</dt>
  <dd><code>find . -name "XXX" -print</code> 現在のフォルダから下の階層について、"XXX"という名称を含むファイル名のファイルを検索する。</dd>
</dl>

## １５．ファイルの頭から指定行数抜き取り：head
<dl>
  <dt>概要</dt>
  <dd>指定したファイルの頭から指定した行数だけ表示する。</dd>
  <dt>オプション</dt>
  <dd><code>head -999 xxx.txt</code> "xxx.txt"ファイルの頭から999行だけ取得する。</dd>
</dl>

## １６．別ファイルに書き込み：r
<dl>
  <dt>概要</dt>
  <dd>リダイレクト。headなどで取得した内容を別ファイルに書き込む。</dd>
  <dt>使い方</dt>
  <dd><code>r > xxx.txt</code> "XXX.txt"に書き込む。</dd>
</dl>

## １７．ファイルの末尾から指定行数抜き取り：tail
<dl>
  <dt>概要</dt>
  <dd>指定したファイルの末尾から指定した行数だけ表示する。</dd>
  <dt>オプション</dt>
  <dd><code>tail -999 xxx.txt</code> "XXX.txt"ファイルの末尾から999行だけ取得する。</dd>
  <dd><code>tail xxx.txt -n 200 | head -n 100</code> "XXX.txt"ファイルの末尾200行から100行だけ取得する。</dd>
</dl>

## １８．ファイルの差分を比較する：diff
<dl>
  <dt>概要</dt>
  <dd>ファイルを2つ指定して、差分を出力する。</dd>
  <dt>使い方</dt>
  <dd><code>diff xxx.txt yyy.txt</code> "XXX.txt"と"yyy.txt"の差分を以下のように出力。</dd>
  <dd><code>57c57</code> xxx.txtの57行目とyyy.txtの57行目が変更あり。</dd>
  <dd>a：追加（added）d：削除（deleted）c：変更（changed）</dd>
</dl>

## １９．アーカイブファイルの作成と解凍：tar
<dl>
  <dt>概要</dt>
  <dd>アーカイブファイルを作成する。</dd>
  <dt>オプション</dt>
  <dd><code>tar -f</code> tarコマンドの作業対象ファイル名指定。</dd>
  <dd><code>tar -v</code> 作業状況の表示。</dd>
  <dd><code>tar -c</code> アーカイブファイルの作成。</dd>
  <dd><code>tar -x</code> アーカイブファイルの解凍。</dd>
  <dd><code>tar - cvf XXX.tar xxx.txt</code> xxx.txtからXXX.tarという名前のアーカイブファイルを作成する。その際、進捗状況を表示する。</dd>
  <dd><code>tar - xvf XXX.tar</code> XXX.tarという名前のアーカイブファイルを解凍（xxx.txtを復元）する。その際、進捗状況を表示する。</dd>
</dl>

## ２０．ファイルのより詳細な情報の表示：istat
<dl>
  <dt>概要</dt>
  <dd>ファイルの最終更新時刻（秒まで）ファイルの最終修正時刻（秒まで）など詳細な情報を確認できる。</dd>
  <dt>使い方</dt>
  <dd><code>istat xxx.txt</code> xxx.txtの詳細情報表示。</dd>
</dl>



# vi編
## １．カーソルの移動（左）：h
<dl>
  <dt>概要</dt>
  <dd>カーソルを1つ左に移動する。</dd>
</dl>

## ２．カーソルの移動（下）：j
<dl>
  <dt>概要</dt>
  <dd>カーソルを1つ上に移動する。</dd>
</dl>

## ３．カーソルの移動（上）：k
<dl>
  <dt>概要</dt>
  <dd>カーソルを1つ右に移動する。</dd>
</dl>

## ４．カーソルの移動（右）：l
<dl>
  <dt>概要</dt>
  <dd>カーソルを1つ下に移動する。</dd>
</dl>

## ５．カーソルを行の1文字目に移動：0（ゼロ）
<dl>
  <dt>概要</dt>
  <dd>カーソルを行の先頭に移動する。</dd>
</dl>

## ６．カーソルを行の末尾に移動：$
<dl>
  <dt>概要</dt>
  <dd>カーソルを行の末尾に移動する。</dd>
</dl>

## ７．カーソルを1行目に移動：:0 + Enter
<dl>
  <dt>概要</dt>
  <dd>カーソルをファイルの先頭行に移動する。</dd>
</dl>

## ８．カーソルを最終行に移動：G
<dl>
  <dt>概要</dt>
  <dd>カーソルをファイルの最終行に移動する。</dd>
</dl>

## ９．文字の検索を行う（上から）：/ + 検索文字列
<dl>
  <dt>概要</dt>
  <dd>/を入力後、検索したい文字列を入力してEnterを押すことで、ドキュメント内を上から順に検索する。</dd>
</dl>

## １０．文字の検索を行う（下から）：? + 検索文字列
<dl>
  <dt>概要</dt>
  <dd>?を入力後、検索したい文字列を入力してEnterを押すことで、ドキュメント内を下から順に検索する。</dd>
</dl>

## １１．次の検索結果へ移動：n
<dl>
  <dt>概要</dt>
  <dd>文字列の検索後、次（/なら下、?なら上）の一致文字列を表示する。</dd>
</dl>

## １２．前の検索結果へ移動：N
<dl>
  <dt>概要</dt>
  <dd>文字列の検索後、前（/なら上、?なら下）の一致文字列を表示する。</dd>
</dl>

## １３．文字列の置換：：%s/置換対象文字列/置換後文字列/g
<dl>
  <dt>概要</dt>
  <dd>ファイル内の置換対象文字列を置換後文字列で置換する。</dd>
  <dt>補足</dt>
  <dd><code>：10,20 s/置換対象文字列/置換後文字列/g</code> と指定すると、10行目か20行目のみを対象とすることができる。</dd>
</dl>

## １４．次ページの表示：ctrl + f
<dl>
  <dt>概要</dt>
  <dd>1ページ分下へスクロールする。</dd>
  <dt>補足</dt>
  <dd>page downキーでも同様。</dd>
</dl>

## １５．前ページの表示：ctrl + b
<dl>
  <dt>概要</dt>
  <dd>1ページ分上へスクロールする。</dd>
  <dt>補足</dt>
  <dd>page upキーでも同様。</dd>
</dl>

## １６．ファイルの編集（挿入）：i
<dl>
  <dt>概要</dt>
  <dd>vi画面を入力モードにする。文字を入力するとカーソル位置に文字が挿入される。</dd>
</dl>

## １７．ファイルの編集（上書き）：r
<dl>
  <dt>概要</dt>
  <dd>vi画面を置換モードにする。</dd>
  <dd>文字を入力するとカーソル位置の文字が1文字だけ置換され、コマンドモードに戻る。</dd>
</dl>

## １８．ファイルの編集（上書き）：R
<dl>
  <dt>概要</dt>
  <dd>vi画面を置換モードにする。文字を入力するとカーソル位置の文字が置換される。</dd>
</dl>

## １９．ファイルの編集（1文字削除）：x
<dl>
  <dt>概要</dt>
  <dd>カーソル位置の文字が削除される。</dd>
</dl>

## ２０．ファイルの編集（1行削除）：dd
<dl>
  <dt>概要</dt>
  <dd>カーソル位置の行が削除される。</dd>
</dl>

## ２１．ファイルの編集（カーソル行以降の削除）：D
<dl>
  <dt>概要</dt>
  <dd>カーソル位置の行以降の全行削除する。</dd>
</dl>

## ２２．ファイルの編集（空行挿入）：o
<dl>
  <dt>概要</dt>
  <dd>1行挿入して、入力モードにする。</dd>
</dl>

## ２３．変更の保存：:w
<dl>
  <dt>概要</dt>
  <dd>ファイルを開いてから行った編集を保存する。</dd>
</dl>

## ２４．変更の破棄：:q
<dl>
  <dt>概要</dt>
  <dd>ファイルを開いてから行った編集を破棄してファイルを閉じる。</dd>
  <dt>補足</dt>
  <dd>:q!を指定すると、強制的にviを終了する。</dd>
</dl>

## ２５．直前の操作の取り消し：u
<dl>
  <dt>概要</dt>
  <dd>直前の操作を取り消す。</dd>
</dl>

## ２６．行番号の表示：:set number
<dl>
  <dt>概要</dt>
  <dd>行番号を表示する。</dd>
</dl>

## ２７．行番号の非表示：:set nonumber
<dl>
  <dt>概要</dt>
  <dd>行番号を非表示にする。</dd>
</dl>

## ２８．対応する()の開始・終了へ遷移：%
<dl>
  <dt>概要</dt>
  <dd>ファイル内の()にカーソルを合わせて%を入力すると、対応する()の位置にカーソルが移動する。</dd>
</dl>

## ２９．しおりをつける：m
<dl>
  <dt>概要</dt>
  <dd><code>ma</code> のように指定すると、m以降の1文字でマークされる。（左記の場合は「a」）</dd>
  <dt>使い方</dt>
  <dd><code>ma</code> で指定した場所に <code>'a</code> で遷移できる。<code>mb</code> なら <code>'b</code> 。</dd>
  <dd><code>:marks</code> でマークした一覧を表示できる。</dd>
</dl>



# その他編
## １．コマンドマニュアルの表示：man
<dl>
  <dt>概要</dt>
  <dd>コマンドの使い方を参照できる。</dd>
  <dt>使い方</dt>
  <dd><code>man ls</code> lsコマンドの概要、およびオプションの表示。<code>:q</code> で表示終了。</dd>
</dl>

## ２．実行中のプロセスの表示：ps
<dl>
  <dt>概要</dt>
  <dd>実行中のプロセスを参照できる。</dd>
  <dt>オプション</dt>
  <dd><code>ps a</code> 実行中の全ユーザーのプロセスを表示する。</dd>
  <dd><code>ps x</code> デーモンなど、制御端末を持たないプロセスも含めて実行中のプロセスをすべて表示する。</dd>
</dl>

## ３．実行中のプロセスの停止：kill
<dl>
  <dt>概要</dt>
  <dd>実行中のプロセスを強制終了する。</dd>
  <dt>使い方</dt>
  <dd><code>kill プロセスID</code> プロセスIDで指定したプロセスを強制終了する。</dd>
  <dt>オプション</dt>
  <dd><code>kill -9 プロセスID</code> デフォルトよりも強い強制終了。</dd>
</dl>

## ４．停止中のプロセスの再開：fg
<dl>
  <dt>概要</dt>
  <dd>実行中のプロセスを強制終了する。</dd>
  <dt>使い方</dt>
  <dd><code>fg プロセスID</code> プロセスIDで指定したプロセスを再開する。</dd>
</dl>

## ５．容量の確認：df
<dl>
  <dt>概要</dt>
  <dd>ディレクトリの容量を表示する。</dd>
  <dt>オプション</dt>
  <dd><code>df -k ディレクトリ</code> 指定したディレクトリの容量を表示する。</dd>
</dl>