おすすめ書籍
コマンドの書式
この記事のコマンドの説明は、以下のように記述するようにします。
[]は省略可能
…は複数の引数を指定可能
良く使うコマンドやオプションなどは、赤の太文字で強調しておきます。
コマンドラインでコマンドを調べるコマンド
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 | 名前の後ろにファイル型を表示
|
||||||||||||
-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 | ディレクトリを再帰的にたどってアクセス権を変更する。 | |||||||||||
アクセス権は記号か数値のどちらかで指定する。
|
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にマッチするファイルを検索する |
主な処理方法 | |
検索結果を表示する | |
-print0 | 検索結果をnull文字で区切って出力する |
-ls | 検索結果のファイル情報を表示する |
-exec command [arg] \; | 検索結果に対してコマンドcommandを実行する |
-execdir command [args] \; | -execオプションと同様だが、コマンドcommand実行時のディレクトリを処理対象のファイルが存在するディレクトリにする |
-ok command [args] \; | -execオプションと同様だが、コマンドcommandを実行する前に実行するかどうか確認する |
オプション
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
判別式 +nはnより大きい、-nはnより小さい、nはちょうどnとする
|
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 | 再帰的に処理を行う |
ユーザー・システム情報の表示・変更
date [時刻]
日付・時刻を表示する
-u | 協定世界時(UTC)を表示する。日本時間(JST)はこれに9時間たしたものになる。 |
cal [オプション] [ [月] 西暦 ]
カレンダーを表示する
-y | 今年のカレンダーを表示する |
whoami
自分のユーザー情報を表示する
ユーザーの所属するグループを表示する
id [オプション] [ユーザー名]
ユーザー情報を細かく表示する
-G | 所属グループIDのみを表示する |
-g | グループIDのみを表示する |
-u | ユーザーIDのみを表示する |
-n | 他のオプションと併用すると、ID表示ではなく、名前による表示になる |
w [オプション] [ユーザー名]
ログインしているユーザーと、そのユーザーが実行中のコマンドを表示する
-f | uptimeコマンドの実行結果と項目名を非表示にする |
-h | ヘッダを表示しない(デフォルトの逆) |
-s | ログイン時刻、JCPU(そのttyで実行した全プロセスが使ったCPU時間の合計)、PCPU(カレントプロセスが使ったCPU時間)を表示しない |
nslookup host名
指定されたホスト名(DNS名もしくはIPアドレス)に関する情報をDNSから取得する
passwd ユーザー名
パスワードを変更する
df
空きディスク領域の報告
-a | 全てのファイルシステムに関する情報を表示します。 |
-H | 表示内容に単位をつけて表示する |
-t fstype | ファイルシステムの種類がfstypeのファイルシステムのみを表示する |
-i | ブロック単位ではなく、inodeの使用状況で表示する |
-k | 1Kブロック単位で表示する |
-h | わかりやすい単位にして表示する |
du
ディスクの使用量の報告
-a | ディレクトリだけでなくすべてのファイルについて表示する |
-b | バイト単位で表示する |
-c | すべての引数について集計したあと合計を出力する |
-k | Kバイト単位で表示する |
-h | わかりやすい単位にして表示する |
-s | 引数で指定したファイルの総計だけを表示する |
-x | 別のファイルシステムにある分を集計しない |
vmstat [-n] [間隔[回数]]
仮想メモリの使用状況を報告する
-n | 最初の1回だけヘッダを表示する |
間隔 | 更新するまでの秒数 |
回数 | 表示する回数 |
last
ログインしたユーザーの記憶を一覧表示する
-n <数値> | 表示させる行数 |
-x | ランレベルの変更を表示する |
-f <ファイル> | /var/log/wtmpでなく、<ファイル名>から記録を読み取る |
uptime
システムの稼働時間を表示する
uname [オプション]
-n | ホスト名を表示する |
-r | OSのリリース番号を表示する |
-v | カーネルのコンパイル情報を表示する |
-m | マシンタイプを表示する |
-p | プロセッサタイプを表示する |
-a | 全ての情報を表示する |
コマンドの便利な使い方
<,>,<<,>>,>&
標準入出力の切り替えをプログラムの外で行う機能
Linuxに限らず対外のOSには「標準入力」、「標準出力」、「標準エラー出力」の3つが備えつけられているのがほとんどである。
OSが入出力を識別するための「割り振り番号」識別子が付いていて、Linuxでは、
標準入力には0
標準出力には1
標準エラー出力には2
がわり振られている。3万以降はプログラマが指定してディスクリピタをオープンできるようになっている。
コマンド>ファイル | コマンドの結果をファイルに書き込む |
コマンド<ファイル | ファイルの中身をコマンドの標準入力へ出力する |
コマンド>>ファイル | コマンドの出力結果をファイルへ追記する |
コマンド 2>ファイル | エラー出力をファイルへ書き込む |
コマンド 2>>ファイル | エラー出力をファイルに追記する |
コマンド>ファイル 2>&1 | ファイルに標準出力と標準エラー出力を書き込む |
コマンド>>ファイル 2>& | ファイルに標準出力と標準エラー出力を追記する |
コマンド<<終了文字 | 修理文字が現れるまで標準入力へ送る |
コマンド&>ファイル | 標準出力と標準エラー出力を同じファイルに書き込む |
コマンド>/dev/null 2 | 表示をしない(表示をゴミ箱へ) |
コマンド<入力ファイル>出力ファイル | 見た通り |
|
二つのコマンドを組み合わせる。(左のコマンドの標準出力を右のコマンドの標準入力しする)複数組み合わせ可能
|&
&を|(パイプ)の後ろにつけることで、?????
tee [オプション] [ファイル名…]
標準入力を読み込み標準出力とファイルに出力する
-a | ファイルを上書きせず追加する |
-i | 割り込みシグナルを無視する |
xargs [オプション] [実行コマンド]
引数を標準入力から与えて実行する
-0 | 区切り文字をnull文字にする。ファイル名のように引数自体に空白文字が含まれる場合に使用する。多くの場合findコマンドの-print0処理と合わせて使うことが多い |
-d d | 区切り文字をdにする“\”などシェルが解釈する文字は“”で囲むかエスケープする必要する |
-n n | 最大n個の引数を読み込むごとにコマンドを実行する |
-L l | 最大l行読み込むごとにコマンドを実行する |
-S s | コマンド名を含めてコマンドラインが最大sバイトになるように実行する |
;
コマンドをつづけて実行する
ファイルシステムを使いこなす
mount [オプション] デバイス名
ファイルシステムをディレクトリツリーにマウントする
-a | /etc/fstabに記述されているすべてのデバイスをマウントする |
-n | マウントするとき/etc/mtabファイルに書き込まない |
-t | ファイルシステムのタイプを指定する |
-r | リードオンリーでマウントする(-o roと同じ) |
-w | 書き込み可能なモードでマウントする(-o rwと同じ) |
-o <オプション> | マウントオプションを<オプションで指定する> |
unmount [オプション] デバイス名
ファイルシステムをディレクトリツリーから取り外す
-a | /etc/mtabに記述されているすべてのファイルシステムをアンマウントする |
-n | 取り外すときに/etc/mtabファイルに書き込まない |
-r | リードオンリーで再マウントする |
-t <タイプ> | -aオプションで指定したとき、アンマウントするタイプを限定する |
fdisk
ファイルシステムを変更する
mkfs
ファイルシステムを初期化する
parted
パーティションを作成する
fsck
ファイルシステムを検査する
lsusb
USBデバイスの情報を調べる
ユーザーとシステムの管理
su
スーパーユーザーに変換する
sudo
別のユーザー権限でコマンドを実行する
useradd [オプション] ユーザー名
ユーザーを追加する
-u <数値> | ユーザー番号を<数値>で作成する |
-g <数値> | グループ番号を<数値>で作成する |
-G <グループ> | 指定された<グループ>に登録する。カンマ( , )で区切って複数のグループを指定できる |
-d <ディレクトリ> | ホームディレクトリを<ディレクトリ>で作成する |
-s <シェル> | ユーザーが使うシェルを<シェル>で作成する |
-c <コメント> | コメントフィールドを<コメント>で作成する |
userdel [オプション] ユーザー名
ユーザーを削除する
-r | ユーザーのホームディレクトリも削除する |
usermod [オプション] ユーザー名
ユーザー情報を変更する
-u <数値> | ユーザー番号を<数値>にする |
-g <数値> | グループ番号を<数値>にする |
-G <グループ> | 指定された<グループ>に登録する。カンマ( , )で区切って複数のグループを指定できる |
-d <ディレクトリ> | ホームディレクトリを<ディレクトリ>にする |
-s <シェル> | ユーザーが使うシェルを<シェル>にする |
-c <コメント> | コメントフィールドを<コメント>にする |
-l <名前> | ユーザー名を<名前>に変更する |
groupadd [オプション] ユーザー名
グループを追加する
-g <数値> | グループ番号を<数値>で作成する |
-o | gオプションで指定した<数値>の重複を許可する |
groupdel グループ名
グループを削除する
groupmod [オプション] ユーザー名
グループ情報を変更する
-g <数値> | グループ番号を<数値>にする |
-o | gオプションで指定した<数値>の重複を許可する |
-n <名前> | グループ名を<名前>に変更する |
getent [データベースとキー]
ユーザーやグループの一覧を表示する
dmesg
システム起動時のログを表示する。システムメッセージを表示する
servise
サービスの設定や状態表示を行う
systemctl
サービスの設定や状態表示を行う
shutdown
システムのシャットダウン
-h | システムを停止する。カーネルがAPM機能をサポートしている場合は電源も切る | ||||||
-r | システムを再起動する | ||||||
-f | 再起動するときにファイルシステムをチェックしないようにする | ||||||
-q | デフォルトのメッセージをユーザーに送る | ||||||
-s | シングルユーザーモードで再起動する | ||||||
「時間」には停止するまでの時間を指定する。省略した場合は2分に設定される。
|
|||||||
「メッセージ」は現在ログインしているユーザーに出力するメッセージを入れる |
reboot
再起動する
poweroff
電源オフ
ネットワークに関するコマンド
tracepath [オプション] ホスト [ポート]
リモートホストへのパケットの経路を表示する
traceroute [オプション] ホスト [パケット長]
リモートホストへのパケットの経路を表示する
w [オプション] [ユーザー名]
ログインしているユーザーと、そのユーザーが実行中のコマンドを表示する
-f | uptimeコマンドの実行結果と項目名を非表示にする |
-h | ヘッダを表示しない(デフォルトの逆) |
-s | ログイン時刻、JCPU(そのttyで実行した全プロセスが使ったCPU時間の合計)、PCPU(カレントプロセスが使ったCPU時間)を表示しない |
host [オプション] ホスト名{IPアドレス}
ホストのIPアドレスやドメイン名を調べる
hostname [オプション]
ホスト名を表示する
短いオプション | 長いオプショ | 意味 |
---|---|---|
-a | –alias | ホストの別名(alias)があれば表示する |
-d | –domain | DNSドメインの名前を表示する |
-f | –fqdn,–long | FQDN(Fully Qualified Domain Name)を表示する |
-A | –all-fqdns | 全てのFQDN(FQDNs)を表示する |
-i | –ip-address | ホストのIPアドレスを表示する。設定時も使用可能 |
-I | –all-ip-addresses | 全てのアドレスを表示する |
-s | –short | 短い形式のホスト名(最初のドットまでの名前)を表示する |
-y | –yp,–nis | NISドメイン名を表示する。設定時も使用可能 |
-v | –verbose | 起こっていることを逐一表示する(verboseモード) |
-F | –file filename | 新しいホスト名を指定したファイルから読みこむ(「#」から始まる行はコメント扱い) |
dig [@サーバ] [ドメイン名[-x]] [IPアドレス] [クエリータイプ]
DNS情報を検索する
whois [オプション] ドメイン名
現在のユーザー名を表示する
ssh [ログイン先ユーザー名@]ログイン先ホスト名[コマンド]
ssh [-lログイン先ユーザー名]ログイン先ホスト名[コマンド]
より安全にリモートホストへログインする
wget [オプション] URL
指定したURLをダウンロードする
curl [オプション] URL
指定したURLをダウンロードする
ftp [接続先ホスト名]
ファイルを転送する
ncftp [接続先ホスト名]
ファイルを転送する
scp [オプション] [コピー元] [コピー先]
より安全にファイルを転送する
sftp [接続先ホスト名]
より安全にファイルを転送する
nelookup ホスト名
指定されたホスト名(DNS名もしくはIPアドレス)に関する情報をDNSサーバーから取得する
ip [オプション] addr [内部コマンド]
ネットワークインターフェースを確認・設定する
ifconfig [オプション] [インターフェース] [inet] [IPアドレス]
ifconfig [netmask] [ネットマスク]
ネットワークインターフェースを確認・設定する
ping [オプション] 接続先IPアドレスまたはホスト名
あるホストとの接続性を確認する
オプション | 働き |
-c 数字 | pingの回数を設定する |
-i 数字 | pingの間隔を設定する(単位はミリ秒) |
-p 送信したいパケット内容 | pingの試験するパケット内容を設定する
5A5A5Aと5=0101,A=10100という0と1の組み合わせになり、常に変化が起きるデータなので最も厳しい条件でのテストができる |
-s パケットサイズ | pingのパケットサイズを設定する |
-t TTLの数 | pingの試験するTTLの数を設定する |
ip route [内部コマンド]
インターネットの経路を設定する
route [オプション][内部コマンド]
インターネットの経路を設定する
ss [オプション]
ネットワークのソケット情報を表示する
ip link [オプション] link [内部コマンド]
ネットワークのソケット情報を表示する
netstat [オプション]
ネットワークインターフェースの接続状況を確認する。
ネットワーク関連のさまざまな情報を表示します。接続状況、ルーティング・テーブル、インターフェイス、マスカレード、マルチキャストなど。
オプション | 働き |
-a | すべての接続を表示します。 |
-c | 情報を1秒おきに更新して、表示します。 |
-C | ルーティング・キャッシュからルーティング情報を表示します。 |
-e | 詳細情報を表示します。 |
-ee | さらに詳細情報を表示します。 |
-g | IPv4とIPv6のマルチキャストグループ情報を表示します。 |
-i | すべてのネットワーク・インターフェースを表示します。 |
-l | 接続待ち(LISTEN)状態のソケットのみを表示します。 |
-M | マスカレード機能の統計情報を表示します。 |
-n | 名前解決をせずに数字で表示します。(IPアドレス) |
-p | 各ソケットが利用しているプロセスID(PID)とプログラム名を表示します。 |
-r | ルーティング・テーブルを表示します。 |
-s | 各プロトコルの統計情報を表示します。 |
-t | TCPの情報のみを表示します。 |
-u | UDPの情報のみを表示します。 |
tcpdump [オプション] [条件]
ネットワークインターフェース上のトラフィックデータを表示する
telnet 接続ホスト名 [ポート番号[サービス名]]
ネットワークサービスを確認する
パッケージのインストール
apt-get
アプリケーションを追加・管理する「Ubuntu, Debian」
apt-cache
アプリケーションを追加・管理する「Ubuntu, Debian」
dpkg
アプリケーションを追加・管理する「Ubuntu, Debian」
yum
アプリケーションを追加・確認する「Fedora, CentOS」
rpm
アプリケーションを追加・確認する「Fedora, CentOS」
シェルとシェルスクリプトを使いこなす
!! | 1回目のコマンドを実行する |
!n | ヒストリ番号からn回目のコマンドを実行する |
! -n | 現在のヒストリ番号からn回前のコマンドを実行する |
!str | strに指定された文字列で始まる1番近いコマンドを実行する |
^str1^str2 | 最後に実行したコマンド中の文字列str1をstr2に置換して実行する |
!$ | 最後に実行したコマンドの最後の引数を表す |
history
コマンドヒストリーを一覧表示する
-c | ヒストリをクリアする |
clear
ターミナルの画面をクリアする
alias [別名=’コマンド列’]
コマンドに別名をつける
-a | 設定されている全てのエイリアスを解除する |
unalias [オプション] 別名…
エイリアスを解除する
type [オプション] コマンド名
コマンドのタイプを調べる
-a | 指定したコマンド名に関する全てのタイプを表示する |
-t | 指定したコマンド名のタイプのみを表示する |
-p | 指定したコマンド名のパスを表示す |
echo [オプション] 文字列 [$変数名] [”文字列$変数名…”]
変数の値を表示する、文字列を出力する
-n | 行末の改行を出力しない |
-e | エスケープシーケンスを有効にする |
printenv [環境変数名]
環境変数を表示する
=
シェル変数に値を設定する
変数名=設定する値
export 変数名 [=設定する値]
環境変数として変数を設定する
env [オプション] 変数名=設定する値… コマンド名
環境変数として変数を設定する
-i | すでに設定する全ての環境変数を無効にする |
-u string | 環境変数Stringがすでに設定されている場合、無効にする |
source 設定ファイル
シェルの設定ファイルを読み込む
.bashhrc bashの起動のたびに毎回読み込まれる
.profile ログイン時に一度だけ読み込まれる
.bash_logout ログアウト時に読み込まれる
$
シェルスクリプトで変数を使う
if,case,[,test
シェルで条件判定する
for,seq
シェルで繰り返し処理をする、繰り返しのための数字も列を作成する
while,expr
シェルでループ処理をする。様々な演算をする
getopts
シェルスクリプトでオプション指定を処理する
sed
テキストデータを処理する
awk
テキストデータからデータを抜き出す
※sed,awkに関しては、文量がawkて書ききれないので別記事で書き込みたいと思います。
プログラムの管理に関するコマンド

&
バックグランドで実行する
Ctrl-z
実行中のプログラムを一時停止する
Ctrl-c
実行中のプログラムを終了する
jobs [オプション] [ジョブ番号…]
実行中のプログラムを表示する
-l | プロセスIDを表示する | ||||||||||||
-p | ジョブのグループリーダー(ジョブを構成する複数のプロセスのうち、最初に打ち込まれたコマンドにより実行されたプロセス)のプロセスIDだけを表示する | ||||||||||||
|
fg
フォアグランドで実行する
bg [ジョブ番号]
中断中のプログラムをバックグランドで再開する
ジョブ番号を入力しない場合カレントジョブをバックグランドで実行する
ps
プロセスの状態を表示する
a | 自分以外のユーザー名についても表示する |
u | ユーザー名と開始時刻を表示する |
x | 制御端末のないプロセスについても表示する |
w | 出力1行あたりの幅を広げる |
h | ヘッダを出力しない |
r | 実行中のプロセスだけを表示する |
l | 詳細を表示する |
f | プロセスの親子関係をツリー形式にして表示 |
端末番号 | txxで指定をする。xxに端末番号を指定する |
プロセスID | 表示するプロセスID |
主な表示項目 | |||||||||||||||||||||||||||
USER | ユーザー名 | ||||||||||||||||||||||||||
UID | ユーザーID | ||||||||||||||||||||||||||
PID | プロセスID | ||||||||||||||||||||||||||
PPID | 親プロセス | ||||||||||||||||||||||||||
TT, TTY | 制御端末 | ||||||||||||||||||||||||||
STAT |
|
||||||||||||||||||||||||||
TIME | CPU時間 | ||||||||||||||||||||||||||
COMMAND, CMD | コマンド | ||||||||||||||||||||||||||
%CPU | CPU利用率 | ||||||||||||||||||||||||||
%MEM | メモリ利用率 | ||||||||||||||||||||||||||
SIZE | 仮想イメージの大きさ(text+data+stack) | ||||||||||||||||||||||||||
RSS | 常駐セットの大きさ | ||||||||||||||||||||||||||
START | 開始時間 | ||||||||||||||||||||||||||
FLAGS | フラグ | ||||||||||||||||||||||||||
NI | プロセスの優先度(nice値) | ||||||||||||||||||||||||||
WCHAN | プロセスが休眠状態のときのカーネルの関数名 | ||||||||||||||||||||||||||
PAGEIN | ページフォルトの回数 | ||||||||||||||||||||||||||
TSIZ | テキストサイズ | ||||||||||||||||||||||||||
DSIZ | データサイズ | ||||||||||||||||||||||||||
LIM | メモリの制限 |
kill [オプション] [プロセスID[ジョブ番号]…]
プログラムを終了させる
-signal
-S signal |
指定したシグナルsignalをプロセスに送る |
-l | シグナルのリストを表示する |
主なシグナル | |
TERM | プロセスに終了を通知する |
QUIT | プロセスに終了を通知する(coreを作成) |
KILL | プロセスに強制終了を通知する |
HUP | プロセスに再起動を通知する |
STOP | プロセスに中断を通知する |
CONT | プロセスに再開を通知する |
INT | プロセスに割り込みを通知する |
killall [オプション] [プロセス名…]
プログラムを終了させる
-signal
-S signal |
指定したシグナルsignalをプロセスに送る |
-l | シグナルのリストを表示する |
主なシグナル | |
TERM | プロセスに終了を通知する |
QUIT | プロセスに終了を通知する(coreを作成) |
KILL | プロセスに強制終了を通知する |
HUP | プロセスに再起動を通知する |
STOP | プロセスに中断を通知する |
CONT | プロセスに再開を通知する |
INT | プロセスに割り込みを通知する |
nice [オプション] コマンド [コマンドの引数…]
優先度を変更してプログラムを実行する
-number -n number |
コマンドのnice値に、numberを加えて実行する |
sleep 時間 [単位]…
特定の時間だけスリープする
時間の単位 | |
秒 | s |
分 | m |
時 | h |
日 | d |
crontab [-u ユーザー名] ファイル、crontab [-u ユーザー名] [その他オプション]
指定した時刻に定期的にコマンドを実行する
ファイルの中身は、
分 時間 日 月 曜日 コマンド1
分 時間 日 月 曜日 コマンド2
…
のようになる。
例えば5月5日10時48分(土曜)にcommandを実行する場合は、
48 10 5 5 sat command のように書く
-l | 登録されている時刻とコマンドを表示する |
-r | 登録をキャンセルする |
-e | ファイルを作成せずに、直接時刻とコマンドを入力する。(環境変数EDITORに指定されたエディタが起動する。指定がない場合はvi) |
-u user | ユーザーuserを対象とする。スーパーユーザー権限が必要 |
その他のコマンド
bc
簡単な計算する
leave hhmm
hh時mm分で時刻を指定してメッセージを表示する