Linux

【今まで使ったコマンドと使用例】Linux コマンド集 (随時更新)

UnixやLinuxでは、ルートディレクトリを最上位として様々なディテクトリが置かれてています

おすすめ書籍

コマンドの書式

[]は省略可能
…は複数の引数を指定可能

コマンドラインでコマンドを調べるコマンド

まずコマンドを調べる方法を紹介するよ!!

man [オプション] [セクション]

オンラインマニュアル

オプション 働き
-a 対象のマニュアルを次々と表示する
-d デバック情報を表示する
-k マニュアルの検索を行う
-K マニュアルの説明文で検索を行う
セクション番号 働き
1 Linuxコマンド (ls, catなど)
2 システムコール (open, fork, read, write)
3 ライブラリコール (printf, sin, log)
4 スペシャルファイル (デバイスの入出力に関するファイル)
5 ファイルのフォーマット (passwd, groupのような設定ファイル)
6 ゲームやデモ (Mains などプリインストールされているゲームやデモ
7 マクロ (複数のコマンドや命令をまとめて一つのコマンドにした物 例えば、bootなど)
8 システム管理ようのコマンド (ifconfig, user mod, shutdown)
9 カーネルルーチン

manコマンドは、コマンドを調べるだけでなく、システムディレクトリを説明するマニュアルも表示できるよ

ファイルに関するコマンド

コンピュータ初学者は、まずファイルに関するコマンドを覚えることが重要になります。

pwd

カレントディレクトリの表示

cd  ディレクトリ

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

ls [オプション] [ファイル名…]

ディレクトリの内容一覧表示

-1 垂直方向に1列で表示
-a ドットで始まる隠しファイルも表示
-c 最後にファイルのステータスを変更した時間でソート。詳細表示のときには、時刻の欄が最後にファイルのステータスを変更した時間になる。
-C 垂直方向に並べて表示
-d ディレクトリ自身を一覧表示
-F 名前の後ろにファイル型を表示

通常のファイル なし
実行可能ファイル *
ディレクトリ /
シンボリックリンク @
FIFO |
ソケット =
-g 無視(詳細表示時はグループ情報を表示)
-G 詳細表示時にグループ情報を表示しない
-h ファイルサイズをわかりやすい単位で表示
-i ファイルのinode番号を表示
-l 詳細形式で表示
-L シンボリックリンクをリンクされているファイルの情報で表示
-n 所有者とグループを名前ではなく番号で表示
-r ソート順を逆にする
-R ディレクトリの内容を再帰的に表示
-s ブロック単位でのファイルサイズを表示
-S ファイルサイズでソートする。大きなファイルが先頭
-t 修正時刻順でソート。新しいファイルが先頭
-u 最後にファイルにアクセスした時刻でソート。詳細表示時には時刻欄が最後にファイルにアクセスした時間になる
-x 水平方向に並べて表示
-X 拡張子順でソート

mkdir [オプションディレクトリ

ディレクトリの作成

-m <mode> ディレクトリのアクセス権を<mode>で作成
-p 引数に指定した各ディレクトリで、存在しないディレクトリも含めて作成

rm [オプション] ファイル名

ファイルの削除

-d ディレクトリを削除。スーパーユーザーのみで使用可能。
-f 強制的に削除。存在しないファイルがあっても通知しない。
-i 削除時に確認
-f ディレクトリの内容を再帰的に削除
-v 削除する前にファイル名を表示

rmdir [オプション] ディレクトリ

ディレクトリの削除

-p 引数に指定したディレクトリに存在しているディレクトリも含めて削除

cp [オプション] コピー元 コピー先

ファイルのコピー

-a 元ファイルの構成と属性を保ったままコピー。-dpRと同じ
-d シンボリックリンクをコピーするときリンクされているファイルではなく自身をコピーする。ハードリンクされているものをコピーした場合はコピー先でもハードリンクの状態を保つ
-f 強制的にコピー
-i 上書き時に確認
-p コピー元のファイルの所有者、グループ、パーミッション、タイムスタンプを保持する
-r ディレクトリを再帰的にコピーする。ディレクトリ以外のファイルはすべてファイルとしてコピーされる。
-R ディレクトリの内容を再帰的にコピーする。
-u コピー先ファイルのタイムスタンプが同じか新しい場合はコピーしない。
-v コピーする前にそのファイル名を表示する。
-x 異なるファイルシステム上のサブディレクトリはコピーしない。

mv [オプション] 移動元 移動先

ファイルの移動、ファイル名の変更

-f 強制的に移動。ファイルが既に存在していても通知しない。
-i ファイル移動時に確認
-v 移動する前にファイル名を表示

cat [オプション] [ファイル名…]

ファイルの内容を標準出力へ出力する

-A -vETと同じ
-b 空白でない行に番号を付ける
-e -vEと同じ
-E 各行の最後に’$’をつける
-n すべての行に番号を付ける
-s 連続した空行を1つの空行にまとめる
-t -vTと同じ
-T タブ文字を’^|’と表示する
-v 改行とタブ文字を除く非表示文字を’^’と表示する



head [オプション] [ファイル名…]

ファイルの先頭部分を表示(デフォルトは最初の10行)

– <行数> 先頭から<行数>分表示する
-c <数値> 先頭の<数値>バイト分を表示する。b(512バイト)、k(1kバイト)、m(1Mバイト)を追加して単位を変更可能
-n <行数> 先頭から<行数>分表示する
-q ファイル名を表示しない
-v ファイル名を表示する

tail [オプション] [ファイル名…]

ファイルの末尾部分を表示(デフォルトは最後の10行)

– <行数> 末尾の<行数>分を表示する
– <行数> 先頭から<行数>分以降を表示する
-c <数値> 末尾の<数値>バイト分を表示する。b(512バイト)、k(1Kバイト)、m(1Mバイト)を追加して単位を変更可能
-f ファイルの末尾まで読み込んでも終了しないで読みつづける
-n <行数> 末尾から<行数>分を表示する
-q ファイル名を表示しない
-v ファイル名を表示する

more ファイル名

ファイルを上から見る(先にすすんだらもとに戻れない)

-s 連続した空行を表示しない

less

ファイルを上から見る(先に進んで戻ることができる)

-X 終了後に表示内容を消去しない
-xn たぶをn個の空白で置き換えて表示する(デフォルトは8)
-S 長い行を折り返さずに表示する
-s 連続した空行を表示する

wc

標準入力対しての行数、単語数、文字数を数える

-l 行数を表示する
-w 単語数を表示する
-c 文字数を表示する。マルチバイト文字を含むときは、バイト数となる
-m 文字数を表示する。マルチバイト文字を含むときでも文字数となる。

split -数字 ファイル名 文字列

ファイルを数字分行数で区分して、標準出力する。 文字列を省略すると接頭辞はXになる。

diff [オプション] ファイル名1 ファイル名2

2つのテキストファイルの違いを出力する

-b 空白文字の違いを無視する
-B 空行の違いを無視する
-C <行数> 一致しない行の前後<行数>分も出力する
-e edのスクリプト形式で出力する
-i 大文字と小文字の違いを無視する
-P ディレクトリ単位で比較するとき、1番目のディレクトリにないファイルは空のファイルとして扱う
-q 違いの詳細を表示しないで違っていることだけを表示する
-r ディレクトリ単位で比較するとき、再帰的に比較する
-s 内容が同じことも表示する
-w 空白を無視して比較する

sort [オプション] [ファイル名…]

テキストファイルの行のソート

-b 先頭の空白を無視
-d 英文字、数字、空白以外の文字を無視する
-f 小文字を大文字として扱う
-n 先頭の文字列を数値として扱う
-r 比較の結果を逆順にする
-t <文字> フィールドの区切り文字を<文字>にする
-u 等しいとされた行の最初の1行だけ表示(uniq)
+ <位置1> [-<位置2>] ソートするのに用いるフィールドを指定する。<位置1>から<位置2>の直前までがソートキーになる。<位置2>を省略した場合は行末までがソートキーになる
-k <位置1> [, <位置2>] ソートキーを指定する別の書き方

uniq [オプション] [ファイル名]

ファイルから内容の同じ行を削除する

-u 重複していない行だけを出力する
-d 重複している行だけを出力する
-c 出現回数も表示する
-i アルファベットの大文字と小文字を同一視する
-N 行頭からN個のフィールドを無視する
+N 行またはフィールドの最初のN文字を比較しない
-w N 行またはフィールドのN文字以上を比較しない

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

ファイルの日付を変更する

-c 引数で指定したファイルが存在しない場合、新規に作成しない
-r file 最終更新日時をfileの日時に合わせる
-t time 最終更新日時をtimeに変更する

ln オプション リンクの参照先 リンク名

ファイルに別名をつける(リンクを張る)

-s シンボリックリンクで別名をつける
-f 同名のファイルがある時は、上書きする
-i 同名のファイルがある時は、上書きするかどうかをユーザーに確認する
シンボリックリンク

リンク先を呼び出すだけなので、それ自体を削除しれも本来には影      響がないが、本体を削除してしまうとリンクが切れてしまう

ハードリンク

両方とも同じものとみなされ、どちらか片方を削除しても実体は残る

nkf [オプション] [ファイル名…]

漢字コードの変換をする

-e EUCコートを出力する
-E 入力コードをEUCコードとする
-j EUCコートを出力する
-g ファイルの文字コードを変更する
 -w  UTF-8に変更する
-J 入力コードをJISコードとする
-s シフトJISコードを出力する
-S 入力コードをシフトJISとする

tr [-cst] <文字列1> <文字列2>
tr -s <文字列>, tr -d <文字列>

文字列の変換と削除

-c <文字列1>に指定された文字以外の文字列を置換の対象とする
-s 複数個の<文字列>を1つにまとめる
-t System V版trのような動作をする
-d 指定された<文字列>を削除する

grep/tgrep/egrep [オプション] [ファイル名…]

パターンに一致する行を表示

– <行数> 一致した行の前後の<行数>も出力
-c 行の内容を表示しないで一致した行数だけを表示する
-e <パターン> <パターン>を指定する
-f <ファイル名> パターンを<ファイル名>(スクリプトファイル)から読み取る
-i パターンの大文字と小文字を区別しない
-n 行数を表示する
-v パターンに一致しなかった行を対象にする



chmod [オプション] アクセス権 ファイル名

ファイルのパーミッション変更

-R ディレクトリを再帰的にたどってアクセス権を変更する。
アクセス権は記号か数値のどちらかで指定する。

記号モード
所有者(u)、グループ(g)、その他のユーザー(o)、すべてのユーザー(a)
操作 追加(+)、削除(-)、設定(=)
権利 読み込み(r)、書き込み(w)、実行(x)、実行時にユーザーIDまたはグループIDを追加(s)、スティッキビット(t)
数値モード
read(読み込み)は4、write(書き込み)は2、execute(実行)は1、その足し算によりパーミションを決定する

例)chmod 705 ファイル名

ファイルのパーミッションは、7=4+2+1、0=0+0+0、5=4+0+1となるので、userはrwx可能,groupは権限なし,otherはrx可能になる

chgrp [オプション] グループ名 ファイル名

ファイルのグループを変更

-f グループを変更できなかったときのエラーを表示しない
-h シンボリックされているファイルでなく、自身を変更する。
-R ディレクトリを再帰的にたどってグループを変更する
-v 実行状況を詳細表示する

chown [オプション] 所有者名 [:グループ名] ファイル名

ファイルの所有者を変更する

-f 所有者を変更できなかったときのエラーを表示しない
-h シンボリックされているファイルでなく、自身を変更する。
-R ディレクトリを再帰的にたどって所有者を変更する
-v 実行状況を詳細表示

find [パス] [オプション] [判別式] [アクション]、

ディレクトリツリーの中からファイルを探し出す(ドットファイルも検索できる)

オプション
-name name ファイル名をnameで検索する
-mtime n 更新時刻n日前で検索する
-user user ファイルのオーナー名userで検索する
-regex regexp パス名の全体が正規表現regexpにマッチするファイルを検索する
-path ptn パス名の全体が文字列ptnにマッチするファイルを検索する
主な処理方法
-print 検索結果を表示する
-print0 検索結果をnull文字で区切って出力する
-ls 検索結果のファイル情報を表示する
-exec command [arg] \; 検索結果に対してコマンドcommandを実行する
-execdir command [args] \; -execオプションと同様だが、コマンドcommand実行時のディレクトリを処理対象のファイルが存在するディレクトリにする
-ok command [args] \; -execオプションと同様だが、コマンドcommandを実行する前に実行するかどうか確認する
オプション

-daystart -amin, -atime, -cmin, -ctime, -mmin, -mtimeの時間の基準を24時間前でなくコマンドを実行した日の0時にする
-follow シンボリックリンクの参照先を検索する
-mount 他のファイルシステムにあるディレクトリを検索しない
判別式
+nはnより大きい、-nはnより小さい、nはちょうどnとする

演算子
(expr) カッコ内部が優先される
! expr exprが偽の場合、真となる
-not expr ! exprと同じ
expr1 -a expr2 expr1が偽の場合はexpr2は評価されない
expr1 -o expr2 expr1が真の場合はexpr2は評価されない
-amin n 最後にアクセスされたのがn分前であれば真
-anewer <ファイル名> 最後にアクセスされたのが<ファイル名>が修正された時刻以降ならば真
-atime n 最後にアクセスされたのが24*n時間前ならば真
-cmin n 最後にステータスが変更されたのがn分前であれば真
-cnewer <ファイル名> 最後にステータスが変更されたのが<ファイル名>が修正された時刻以降ならば真
-ctime n 最後にステータスが変更されたのがn*24時間前であれば真
-empty ファイルが空で通常のファイルである場合か、ディレクトリならば真
-fstype <種類> ファイルの置かれているファイルシステムが <種類> ならば真
-gid n ファイルのグループIDがnならば真
-group <グループ名> ファイルのグループIDが<グループ名>であれば真
-mmin n 最後にファイルが変更されたのがn分前であれば真
-mtime n 最後にファイルが変更されたのがn*24時間前であれば真
-name <パターン> ディレクトリ部分を取り去ったファイル名がシェルのパターン <パターン> にマッチすれば真
-newer <ファイル名> 最後にファイルが変更されたのが<ファイル名>が修正された時刻以降であれば真
-nouser ファイルのユーザーIDに対応するユーザーがいなければ真
-nogroup ファイルのグループIDに対応するグループがなければ真
-size n ファイルの容量がnであれば真
-type c ファイルタイプがcならば真

b ブロック型スペシャルファイル
c キャラクタ型スペシャルファイル
d ディレクトリ
p 名前付きパイプ
f 通常のファイル
l シンボリックリンク
s ソケット
-uid n ファイルの所有者IDがnであれば真
-user <ユーザー名> ファイルの所有者が<ユーザー名>であれば真
-exec <コマンド>; <コマンド>を実行する
-ls ファイル名を”ls -dils”形式で表示する
-print ファイル名をフルパスで表示する
例:

ホームディレクトリ以下にある *.bak ファイルを削除
find ~ -name ‘*.bak’ -exec rm -f {} \;
/tmp 以下で過去 30 分以内に更新されたファイルを検索(ディレクトリは対象外)
find /tmp -mmin -30 -type f
今いるディレクトリの下にある .c と .h 以外のファイルを削除
find . \( ! -name ‘*.c’ -a ! -name ‘*.h’ \) -type f -exec rm {} \;

file [オプション] [ファイル名]

ファイルの種類を調べる

-L シンボリックファイルの場合、リンクされているファイルについて調べる
-z compressで圧縮されたファイルの中身についてファイルタイプを調べる

which コマンド名

指定されたコマンドの本体を検索し、その絶対パスを表示する

-a 名前が同じプログラムが検索対象のパス上に複数ある時、全てを表示する

whereis

指定されたコマンドのパスだけでなく、マニュアルやソースコードファイルなどのパスも同時に調べて表示する

-b プログラム(バイナリ)や設定ファイルが存在するパスのみを表示する
-m オンラインマニュアルの存在するパスのみを表示する
-s ソースファイルディレクトリが存在するパスのみを表示する
-B path プログラム(バイナリ)検索に使うパスをpathにする
-M path オンラインマニュアル検索に使うパスをpathにする
-S path ソースファイルディレクトリ検索に使うパスをpathにする
-f -B, -M, -Sの各オプションによりパスを指定した場合に、そのパス指定の終わりを表すために必要になる。

tar [オプション] [ファイル名]

tar形式のアーカイブファイルの作成・展開

-c 新しいアーカイブを作成する
-C <ディレクトリ名> <ディレクトリ名>に移動してから動作する
-t アーカイブの内容一覧を表示
-x アーカイブからファイルを抽出する
-f <出力先> アーカイブファイルを<出力先>で示されるファイルやデバイスにする
-p 許可情報をすべて抽出する
-P ファイル名の先頭の/を取り除かない
-s 抽出するファイル名をソートする
-T <ファイル名> 抽出または作成するファイルの名前を<ファイル名>から読み込む
-v 処理したファイルの一覧を詳しく表示する
-Z アーカイブをcompressにフィルタする
-z アーカイブをgzipにフィルタする

gzip [オプション] [ファイル名]

gzip形式での圧縮と解凍

-c 結果を標準出力に出力する
-d ファイルを解凍する
-f 強制的に動作をする
-l 圧縮ファイルの内容を表示する
-n 元のファイルの名前とタイムスタンプの保存・復元をしない
-N 元のファイルの名前とタイムスタンプの保存・復元をする
-v 作業状態の詳細を出力する
-r 再帰的に処理を行う



1 2 3 4 5 6 7 8 9