man コマンドのマニュアル表示
コマンドや設定ファイル等のマニュアル表示。
表示後の操作はlessを参照。
[オプション]
[使用例]
$ man ls ⇒ lsコマンドのマニュアルを表示
$ man sshd_config ⇒ SSH設定ファイルsshd_configの設定マニュアルを表示

このページのtopへ

pwd 作業ディレクトリの表示
現在作業しているディレクトリ(フォルダ)の絶対パスを表示する。
[オプション]
[使用例]
$ pwd ⇒ 作業ディレクトリを表示

このページのtopへ

ls ディレクトリ内のファイル一覧表示
作業ディレクトリ(フォルダ)に存在するファイル、ディレクトリの一覧を表示する。
[オプション]
-l : 詳細(サイズ,所有者,最終更新,パーミッション)表示。
-a : すべてのファイル,ディレクトリを表示(隠しファイル(ドットで始まるファイル)も表示)
[使用例]
$ ls ⇒ 作業ディレクトリ内のファイルを表示
$ ls -a ⇒ 作業ディレクトリ内のすべてのファイルを表示
$ ls -la ⇒ 作業ディレクトリ内のすべてのファイルの詳細を表示
$ ls -la | less ⇒ 作業ディレクトリ内のすべてのファイルの詳細をlessを使って表示

このページのtopへ

cd ディレクトリの移動
作業ディレクトリ(フォルダ)を変更する。
[オプション]
[使用例]
$ cd /etc/ ⇒ /etc ディレクトリに移動
$ cd ⇒ ホームディレクトリ ~ (/home/ユーザの名前/)に移動
$ cd ~/html/ ⇒ ~(ホームディレクトリ)の下の html ディレクトリに移動
$ cd tmp/ ⇒ 作業ディレクトリ(.)の下の tmp ディレクトリに移動
$ cd .. ⇒ 作業ディレクトリ(.)の一つ親のディレクトリ(..)に移動

このページのtopへ

cp ファイルのコピー
ファイルやディレクトリをコピーする。
[オプション]
-R : サブディレクトリも含めてすべてコピーする
[使用例]
$ cp readme.txt readme.backup ⇒ readme.txtと同内容のファイルreadme.backupを作る
$ cp ~/Downloads/Anaconda3-2.3.0-Linux-x86_64.sh . ⇒ Anaconda3-2.3.0-Linux-x86_64.shを作業ディレクトリ(.)にコピー
$ cp -R src_dir target_dir ⇒ src_dirを丸ごとtarget_dirにコピーする
$ cp -R src_dir/ target_dir ⇒ src_dirの中身を丸ごとtarget_dirにコピーする(src_dir自身はコピーされない)

このページのtopへ

mv ファイル移動、名称変更
ファイルやディレクトリの移動や名称変更を行う。
[オプション]
[使用例]
$ mv main.c src/ ⇒ main.cを作業ディレクトリ直下のsrcディレクトリに移動する
$ mv old_name.txt new_name.txt ⇒ ファイルold_name.txtの名称をnew_name.txtに変更する

このページのtopへ

rm ファイル削除
ファイルやディレクトリを削除する。
[オプション]
-r : サブディレクトリも含めてすべて削除する(-Rも同じ)
-f : 確認メッセージを表示せずに即座に削除する
[使用例]
$ rm index2.html ⇒ ファイルindex2.htmlを消去する
$ rm -rf tmp ⇒ tmpフォルダを消去確認なしに完全に削除する

このページのtopへ

mkdir ディレクトリの作成
ディレクトリを作成する。
[オプション]
[使用例]
$ mkdir src ⇒ srcディレクトリを作成する

このページのtopへ

touch ファイルの新規作成、タイムスタンプ変更
ファイルの新規作成やファイルのタイムスタンプ(最終アクセス時刻、最終変更時刻)変更を行う。
[オプション]
-t : ファイルのアクセス時刻、変更時刻を修正する
[使用例]
$ touch readme.txt ⇒ ファイルreadme.txtを作成する(中身は空)
$ touch -t 201805311300 readme.txt ⇒ readme.txtのタイムスタンプを2018/5/31/ 13:00に変更する

このページのtopへ

chmod ファイルのパーミッションの変更
ファイルのパーミッションを変更する。
"所有者(u)", "所属グループ(g)", "そのほか(o)"のそれぞれに対し
"読み出し(r)", "書き込み(w)", "実行(x)" の許可(1)不許可(0)を設定。
rwx とも許可なら111で2進数から10進数に直し7が設定値となる。
[オプション]
-R : サブディレクトリも含めてすべてファイルのパーミッションを変更する
[使用例]
$ chmod 755 a.out ⇒ a.outのパーミッションを755に設定する(所有者のみ全操作が可能で、それ以外は読み出し、実行が可能)
$ chmod 644 readme.txt ⇒ readme.txtのパーミッションを644に設定する(所有者のみ読み込み、書き込みが可で、それ以外は読み出しのみ可)
$ chmod 600 id_rsa ⇒ id_rsa(SSH用の秘密鍵)のパーミッションを600に設定する(所有者のみ読み込み、書き込みが可で、それ以外は読み出し書き込み不可)

このページのtopへ

chown ファイル所有者の変更
ファイルの所有者やグループを変更する。
[オプション]
-R : サブディレクトリも含めてすべてファイルのパーミッションを変更する
[使用例]
$ chown alice index.html ⇒ index.htmlの所有者をaliceに変更する
$ chown alice:group1 index.html ⇒ index.htmlの所有者をaliceにグループをgroup1に変更する

このページのtopへ

less テキストファイルの内容表示
テキストファイルの内容を表示する。文書内の移動や単語の検索が可能である。
[less起動中の操作]
q : less を終了
h : help を表示
矢印キー上下 : 上下に1行分スクロール
u,d : 上下に半ページ分スクロール
スペースキー : 下に1ページ分スクロール
b : 上に1ページ分スクロール
g,G : ファイルの先頭,最後に移動
/hoge : hoge を検索。n,Nで前後のhogeにジャンプ
[使用例]
$ less readme.txt ⇒ readme.txtをlessを起動して閲覧する
$ ls -l /etc/ | less ⇒ /etc/ ディレクトリの中身をlessを使って閲覧する

このページのtopへ

grep 文字列の検索
指定した入力ファイルの中から条件を満たす行を検索する。正規表現を利用可能。
[オプション]
-i : 大文字と小文字の区別をしない
[使用例]
$ grep DirectoryIndex /etc/httpd/conf/httpd.conf ⇒ httpd.confの中からDirectoryIndexを含む行を検索する
$ ps aux | grep ssh ⇒ ps(プロセス状態表示)の実行結果からsshという文字を含む行を検索する

このページのtopへ

find ファイル検索
条件を満たすファイルを検索する。
[オプション]
-name : 検索するファイル名の指定(部分一致条件を指定するには、"*hoge*"のようにワイルドカードを使う)
-iname : 検索するファイル名の指定(大文字小文字を区別しない)
-type : ファイルの種類を指定する(-type f とすると通常ファイルのみを検索する(ディレクトリ等は排除される))
[使用例]
$ find ~ -name "*bash*" ⇒ ホームディレクトリの中のすべてのディレクトリの中からbashという名前を含むファイルを検索する
$ find / -name network -type f 2>/dev/null ⇒ コンピュータ全体からnetworkという名前のファイルを検索する(2>/dev/null はエラーメッセージを捨てる処理)

このページのtopへ

cat ファイル内容の表示
ファイルの中身を表示する。lessのように文書内を移動するような機能はなく、ただ出力するだけである。
[オプション]
[使用例]
$ cat ~/.bashrc ⇒ .bashrcの中身を表示する

このページのtopへ

diff 2ファイルの差分表示
2つのファイルの差分を探して表示する。
[オプション]
-u : unified形式(一つのコンテンツの中に両ファイルの内容を表示)で差分を表示する
-y : 2つのファイルを左右に分けて表示する
[使用例]
$ diff test.backup test.txt ⇒ test.backupとtest.txtの差分を表示する

このページのtopへ

vi テキストエディタviの起動
テキストエディタviを起動する。
[vi起動中の操作]
viには2つのモードがあるので、状況に応じて使い分ける
  • コマンドモード:検索、移動、セーブ、終了などのコマンドが使えるが文字入力はできない。iを入力すると編集モードに移行する
  • 編集モード:文字を入力するためのモード。Escキーを入力するとコマンドモードに戻る。
コマンドモードでの主なコマンド
  • i ⇒ 編集モードに移行し、現在のカーソル位置に文字入力を行えるようにする(Escキーでコマンドモードに戻る)
  • :wq ⇒ セーブしてviを終了する
  • :q! ⇒ セーブせずにviを終了する
  • :w ⇒ セーブする
  • dd ⇒ 1行削除(切り取り)
  • u ⇒ 直前の操作の取り消し(アンドゥー)
  • /hoge ⇒ 文字列hogeを検索する。n,Nで前後のhogeに移動する。
  • Ctrl-d ⇒ 半ページ下に移動する
  • Ctrl-u ⇒ 半ページ上に移動する
  • G ⇒ 最終行に移動する
  • 行数G ⇒ 「行数」で指定した行に移動する。先頭行なら1Gと入力する。
[使用例]
$ vi ~/.bash_profile ⇒ .bash_profileをviで編集する

このページのtopへ

emacs テキストエディタemacsの起動
テキストエディタemacsを起動する。環境によってはインストールされていないので注意。
[emacs起動中の操作]
C-x C-c ⇒ 終了する(CはCtrlキー;Ctrlを押しながらxとcを押す)
C-x C-s ⇒ 保存する
C-x C-w ⇒ 別名保存する
C-x C-f ⇒ ファイルを開くまたは新規作成
C-g ⇒ キャンセル(コマンド中断)
C-@ ⇒ 範囲指定開始
C-w ⇒ 指定した範囲をカット(キル)
M-w ⇒ 指定した範囲をコピー(Mは通常はEscキー;Escを押した後wを押す)
C-k ⇒ カーソルから行末までをカット
C-y ⇒ 張り付け(ヤンク)
C-x 1 ⇒ ウィンドウの分割をやめる(C-x 2 とするとウィンドウを縦に分割)
C-s ⇒ 前向き検索
C-r ⇒ 後ろ向き検索
M-% ⇒ 問い合わせ置換(Mは通常はEscキー;Escを押した後%を押す)
C-/ ⇒ もとに戻す(Undo)
[使用例]
$ emacs ~/.bash_profile ⇒ .bash_profileをemacsで編集する

このページのtopへ

sudo 管理者としてコマンドを実行する
スーパーユーザー(管理者)としてコマンドを実行する。sudoを許可されたユーザーしか本コマンドを実行できない。一部のLinuxではwheelグループに属しているユーザーに権限を与えるという慣習もある。
[オプション]
[使用例]
$ sudo less /var/log/secure ⇒ 管理者権限でセキュリティ関連ログを見る

このページのtopへ

su 他ユーザーに切り替わる
他のユーザーに切り替わる。元のユーザーに戻るにはexitと入力する。
[オプション]
- : 環境変数を新ユーザーに引き継がない(新ユーザーの環境を利用する)
[使用例]
$ su - alice ⇒ ユーザーaliceに切り替わる
$ su - ⇒ スーパーユーザー(管理者)に切り替わる

このページのtopへ

shutdown シャットダウン、再起動
マシンのシャットダウンや再起動を行う。管理者権限が必要。
[オプション]
-h : シャットダウンする
-r : 再起動する
[使用例]
$ sudo shutdown -h now ⇒ すぐにマシンをシャットダウンする
$ sudo shutdown -r now ⇒ すぐにマシンを再起動する

このページのtopへ

useradd ユーザーの追加
システムにユーザーを追加する。
[オプション]
-G : ユーザが所属する補助グループを指定する
[使用例]
$ sudo useradd alice ⇒ システムにユーザーaliceを追加する
$ sudo useradd -G wheel alice ⇒ システムにユーザーaliceを追加し、wheelグループに加える(sudo実行権限を与える)

このページのtopへ

passwd パスワード変更
ユーザーのパスワードを変更する
[オプション]
[使用例]
$ sudo passwd alice ⇒ ユーザーaliceのパスワードを変更する

このページのtopへ

ifconfig ネットワーク設定情報出力
ネットワーク設定情報の表示や変更を行う。
[オプション]
-a : 停止しているものも含めすべてのネットワークインターフェースの状態を表示する
[使用例]
$ ifconfig ⇒ ネットワーク設定情報を表示する

このページのtopへ

ping ネットワーク疎通確認
指定ノードへのネットワークの到達性を確認する。ネットワークに問題がなくてもpingに応答しないサーバーもいるので注意。Ctrl-c で中断する。
[オプション]
-c : 指定回数のみパケットを送付する
[使用例]
$ ping www.google.co.jp ⇒ www.google.co.jpとの疎通確認を行う
$ ping -c 5 www.google.co.jp ⇒ www.google.co.jpとの疎通確認を5回行う

このページのtopへ

traceroute ネットワークの経路表示
指定ノードへのネットワーク経路を表示する。ネットワーク上のどこで通信が失敗しているかやボトルネックがどこかなどの解析に利用できる。 ネットワークに問題がなくても応答しないサーバーもいるので注意。
[オプション]
[使用例]
$ traceroute www.google.co.jp ⇒ www.google.co.jpへの経路を表示する
$ traceroute www.tohoku.ac.jp ⇒ www.tohoku.ac.jpへの経路を表示する(サーバが応答しない例)

このページのtopへ

netstat ソケット一覧表示
ノードに設定されているソケット(他マシンとの通信路設定)の一覧を表示する。
[オプション]
-t : tcpソケットのみを表示する(--tcpとしても同じ)
-r : OSが保持するルーティングテーブルを表示する
-i : ネットワークインターフェースの統計状態を表示する
[使用例]
$ netstat -t ⇒ TCPソケット一覧を表示する
$ netstat -r ⇒ ルーティングテーブルを表示する
$ netstat -i ⇒ インターフェースごとの統計情報を表示する

このページのtopへ

nslookup ドメイン名からIPアドレスを調べる
ドメイン名から対応するIPアドレスを調べる。
[オプション]
-type : レコード(サーバーの種類等)の指定(AAAA:IP6アドレス、MX:メール、NS:ネームサーバー)
[使用例]
$ nslookup www.ichinoseki.ac.jp ⇒ 一関高専WebサーバーのIPアドレスを調べる
$ nslookup -type=AAAA www.google.co.jp ⇒ Google検索サイトのIPv6アドレスを調べる

このページのtopへ

arp ARPテーブルの表示
OSで管理しているARPテーブル(IPアドレスとMACアドレスの対応表)の表示や設定を行う。
[オプション]
-a : ARPテーブルを表示する。
-d : 指定したホストのARPエントリーを廃棄する(ネットワーク設定が変更になった場合等に用いることができる)
[使用例]
$ arp -a ⇒ ARPテーブルのすべてのエントリーを表示する
$ sudo arp -d 192.168.0.1 ⇒ ARPテーブルから192.168.0.1に関するエントリーを削除する

このページのtopへ

dig ネームサーバーへのドメイン名問い合わせ
ネームサーバーにドメイン名を問い合わせて結果を表示する。nslookupに比べ問い合わせ結果があまり加工されずに表示されるので、ネットワーク管理者にとっては扱いやすい(らしい)。
[オプション]
[使用例]
$ dig www.ichinoseki.ac.jp ⇒ 一関高専WebサーバーのIPアドレスを調べる
$ dig gmail.com mx ⇒ gmail.comのメールサーバーのIPアドレスを調べる

このページのtopへ

ip ネットワーク設定の表示
ネットワーク設定情報の表示や変更を行う。現在ifconfig等のコマンドはメンテナンスがされていないため非推奨となっており、それらの代替となるコマンドがipである。 機能が多岐にわたるため、「ip addr」や「ip link」のようにサブコマンドを後ろにつけて使用する。情報表示だけでなく変更もできるがこの表では省略する。
[サブコマンド]
addr : 自身のIPアドレス等のネットワーク情報を表示する(a としても同じ)
route : ルーティングテーブルの情報を表示する(r としても同じ)
neighbor : ARPテーブルの情報を表示する(neigh や n としても同じ)
help : ヘルプを表示する(n としても同じ)
[使用例]
$ ip a ⇒ 自身のIPアドレス情報を表示する(レガシーコマンドの ifconfig に相当;a はaddrの省略形)
$ ip r ⇒ ルーティングテーブルの情報を表示する(レガシーコマンドの netstat -r に相当;r はrouteの省略形)
$ ip n ⇒ ARPテーブル情報を表示する(レガシーコマンドの arp -a に相当;n はneighborの省略形)
$ ip -s link ⇒ インターフェースごとの統計情報を表示する(レガシーコマンドの netstat -i に相当)

このページのtopへ

ss ソケット情報表示
ノードに設定されているソケット(他マシンとの通信路設定)の情報を表示する。 現在netstatコマンドはメンテナンスがされていないため非推奨となっており、その代替となるコマンドがssである。
[オプション]
-t : tcpソケットのみを表示する(--tcpとしても同じ)
[使用例]
$ ss -t ⇒ TCPソケット一覧を表示する(レガシーコマンドの netstat -t に相当)

このページのtopへ

curl URLからのデータ取得
指定したURLからデータを取得する
[オプション]
-L : リダイレクトされた場合でもデータを取得する
-O : 取得したデータをファイル保存する(このオプションを指定しないときは標準出力に出力される)
[使用例]
$ curl -L "http://zip.cgis.biz/xml/zip.php?zn=0218511" ⇒ 郵便番号検索APIで021-8511(一関高専)を検索し、結果を表示する
$ curl -OL "http://weather.livedoor.com/forecast/rss/area/030010.xml" ⇒ Livedoorから盛岡の天気情報をダウンロードし、ファイルに保存する

このページのtopへ

ssh SSHクライアントプログラムの起動
SSHクライアントプログラムを起動する
[オプション]
-p : ポート番号を指定する(指定しないときは22)
[使用例]
$ ssh -p 10022 alice@198.51.100.14 ⇒ ユーザーaliceで192.51.100.14のポート10022にSSHログインする

このページのtopへ

ps 実行中プロセス一覧表示
実行中のプロセスの一覧を表示する。
[オプション]
a : 自ユーザー以外のプロセスも表示する
u : 読みやすさを重視したフォーマットで出力する
x : 端末を持たないプロセス(OSが利用するプロセス等)も表示する
f : 階層構造(呼び出し関係)が分かるように出力する
[使用例]
$ ps uf⇒ 自ユーザーが起動したプロセスの一覧をみる
$ ps auxf | less ⇒ すべてのプロセスの一覧をlessを使って閲覧する

このページのtopへ

kill プロセスの強制終了
指定したプロセスID(PID)のプロセスを終了させる。PIDはpsコマンドを用いて調べられる。
[オプション]
[使用例]
$ kill 24567 ⇒ PIDが24567のプロセスを強制終了する

このページのtopへ

df ディスクの空き容量表示
ディスクの空き容量を表示する
[オプション]
-h : 人間に読みやすいフォーマットで表示する(容量をG,Mなどのサイズ文字を用いて表示する)
[使用例]
$ df -h ⇒ ディスクの空き容量を表示する

このページのtopへ

tar ファイルの解凍・圧縮
ファイルの解凍・圧縮を行う。
[オプション]
-x : 解凍
-c : 圧縮
-v : 状況表示
-f : 圧縮ファイル名
[使用例]
$ tar -xvf hoge.tar ⇒ hoge.tarを解凍する(gzファイルやbz2ファイルの解凍も同じコマンド)
$ zip -r hoge.zip foo ⇒ fooフォルダをhoge.zipという名前でzip圧縮する(参考)
$ unzip hoge.zip ⇒ hoge.zipを解凍する(参考)

このページのtopへ