man | コマンドのマニュアル表示 |
---|---|
コマンドや設定ファイル等のマニュアル表示。 表示後の操作はlessを参照。 |
|
[オプション] | |
[使用例] | |
$ man ls ⇒ lsコマンドのマニュアルを表示 $ man sshd_config ⇒ SSH設定ファイルsshd_configの設定マニュアルを表示 |
pwd | 作業ディレクトリの表示 |
---|---|
現在作業しているディレクトリ(フォルダ)の絶対パスを表示する。 | |
[オプション] | |
[使用例] | |
$ pwd ⇒ 作業ディレクトリを表示 |
ls | ディレクトリ内のファイル一覧表示 |
---|---|
作業ディレクトリ(フォルダ)に存在するファイル、ディレクトリの一覧を表示する。 | |
[オプション] | |
-l : 詳細(サイズ,所有者,最終更新,パーミッション)表示。 -a : すべてのファイル,ディレクトリを表示(隠しファイル(ドットで始まるファイル)も表示) |
|
[使用例] | |
$ ls ⇒ 作業ディレクトリ内のファイルを表示 $ ls -a ⇒ 作業ディレクトリ内のすべてのファイルを表示 $ ls -la ⇒ 作業ディレクトリ内のすべてのファイルの詳細を表示 $ ls -la | less ⇒ 作業ディレクトリ内のすべてのファイルの詳細をlessを使って表示 |
cd | ディレクトリの移動 |
---|---|
作業ディレクトリ(フォルダ)を変更する。 | |
[オプション] | |
[使用例] | |
$ cd /etc/ ⇒ /etc ディレクトリに移動 $ cd ⇒ ホームディレクトリ ~ (/home/ユーザの名前/)に移動 $ cd ~/html/ ⇒ ~(ホームディレクトリ)の下の html ディレクトリに移動 $ cd tmp/ ⇒ 作業ディレクトリ(.)の下の tmp ディレクトリに移動 $ cd .. ⇒ 作業ディレクトリ(.)の一つ親のディレクトリ(..)に移動 |
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自身はコピーされない) |
mv | ファイル移動、名称変更 |
---|---|
ファイルやディレクトリの移動や名称変更を行う。 | |
[オプション] | |
[使用例] | |
$ mv main.c src/ ⇒ main.cを作業ディレクトリ直下のsrcディレクトリに移動する $ mv old_name.txt new_name.txt ⇒ ファイルold_name.txtの名称をnew_name.txtに変更する |
rm | ファイル削除 |
---|---|
ファイルやディレクトリを削除する。 | |
[オプション] | |
-r : サブディレクトリも含めてすべて削除する(-Rも同じ) -f : 確認メッセージを表示せずに即座に削除する |
|
[使用例] | |
$ rm index2.html ⇒ ファイルindex2.htmlを消去する $ rm -rf tmp ⇒ tmpフォルダを消去確認なしに完全に削除する |
mkdir | ディレクトリの作成 |
---|---|
ディレクトリを作成する。 | |
[オプション] | |
[使用例] | |
$ mkdir src ⇒ srcディレクトリを作成する |
touch | ファイルの新規作成、タイムスタンプ変更 |
---|---|
ファイルの新規作成やファイルのタイムスタンプ(最終アクセス時刻、最終変更時刻)変更を行う。 | |
[オプション] | |
-t : ファイルのアクセス時刻、変更時刻を修正する | |
[使用例] | |
$ touch readme.txt ⇒ ファイルreadme.txtを作成する(中身は空) $ touch -t 201805311300 readme.txt ⇒ readme.txtのタイムスタンプを2018/5/31/ 13:00に変更する |
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に設定する(所有者のみ読み込み、書き込みが可で、それ以外は読み出し書き込み不可) |
chown | ファイル所有者の変更 |
---|---|
ファイルの所有者やグループを変更する。 | |
[オプション] | |
-R : サブディレクトリも含めてすべてファイルのパーミッションを変更する | |
[使用例] | |
$ chown alice index.html ⇒ index.htmlの所有者をaliceに変更する $ chown alice:group1 index.html ⇒ index.htmlの所有者をaliceにグループをgroup1に変更する |
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を使って閲覧する |
grep | 文字列の検索 |
---|---|
指定した入力ファイルの中から条件を満たす行を検索する。正規表現を利用可能。 | |
[オプション] | |
-i : 大文字と小文字の区別をしない | |
[使用例] | |
$ grep DirectoryIndex /etc/httpd/conf/httpd.conf ⇒ httpd.confの中からDirectoryIndexを含む行を検索する $ ps aux | grep ssh ⇒ ps(プロセス状態表示)の実行結果からsshという文字を含む行を検索する |
find | ファイル検索 |
---|---|
条件を満たすファイルを検索する。 | |
[オプション] | |
-name : 検索するファイル名の指定(部分一致条件を指定するには、"*hoge*"のようにワイルドカードを使う) -iname : 検索するファイル名の指定(大文字小文字を区別しない) -type : ファイルの種類を指定する(-type f とすると通常ファイルのみを検索する(ディレクトリ等は排除される)) |
|
[使用例] | |
$ find ~ -name "*bash*" ⇒ ホームディレクトリの中のすべてのディレクトリの中からbashという名前を含むファイルを検索する $ find / -name network -type f 2>/dev/null ⇒ コンピュータ全体からnetworkという名前のファイルを検索する(2>/dev/null はエラーメッセージを捨てる処理) |
cat | ファイル内容の表示 |
---|---|
ファイルの中身を表示する。lessのように文書内を移動するような機能はなく、ただ出力するだけである。 | |
[オプション] | |
[使用例] | |
$ cat ~/.bashrc ⇒ .bashrcの中身を表示する |
diff | 2ファイルの差分表示 |
---|---|
2つのファイルの差分を探して表示する。 | |
[オプション] | |
-u : unified形式(一つのコンテンツの中に両ファイルの内容を表示)で差分を表示する -y : 2つのファイルを左右に分けて表示する |
|
[使用例] | |
$ diff test.backup test.txt ⇒ test.backupとtest.txtの差分を表示する |
vi | テキストエディタviの起動 |
---|---|
テキストエディタviを起動する。 | |
[vi起動中の操作] | |
viには2つのモードがあるので、状況に応じて使い分ける
|
|
[使用例] | |
$ vi ~/.bash_profile ⇒ .bash_profileをviで編集する |
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で編集する |
sudo | 管理者としてコマンドを実行する |
---|---|
スーパーユーザー(管理者)としてコマンドを実行する。sudoを許可されたユーザーしか本コマンドを実行できない。一部のLinuxではwheelグループに属しているユーザーに権限を与えるという慣習もある。 | |
[オプション] | |
[使用例] | |
$ sudo less /var/log/secure ⇒ 管理者権限でセキュリティ関連ログを見る |
su | 他ユーザーに切り替わる |
---|---|
他のユーザーに切り替わる。元のユーザーに戻るにはexitと入力する。 | |
[オプション] | |
- : 環境変数を新ユーザーに引き継がない(新ユーザーの環境を利用する) | |
[使用例] | |
$ su - alice ⇒ ユーザーaliceに切り替わる $ su - ⇒ スーパーユーザー(管理者)に切り替わる |
shutdown | シャットダウン、再起動 |
---|---|
マシンのシャットダウンや再起動を行う。管理者権限が必要。 | |
[オプション] | |
-h : シャットダウンする -r : 再起動する |
|
[使用例] | |
$ sudo shutdown -h now ⇒ すぐにマシンをシャットダウンする $ sudo shutdown -r now ⇒ すぐにマシンを再起動する |
useradd | ユーザーの追加 |
---|---|
システムにユーザーを追加する。 | |
[オプション] | |
-G : ユーザが所属する補助グループを指定する | |
[使用例] | |
$ sudo useradd alice ⇒ システムにユーザーaliceを追加する $ sudo useradd -G wheel alice ⇒ システムにユーザーaliceを追加し、wheelグループに加える(sudo実行権限を与える) |
passwd | パスワード変更 |
---|---|
ユーザーのパスワードを変更する | |
[オプション] | |
[使用例] | |
$ sudo passwd alice ⇒ ユーザーaliceのパスワードを変更する |
ifconfig | ネットワーク設定情報出力 |
---|---|
ネットワーク設定情報の表示や変更を行う。 | |
[オプション] | |
-a : 停止しているものも含めすべてのネットワークインターフェースの状態を表示する | |
[使用例] | |
$ ifconfig ⇒ ネットワーク設定情報を表示する |
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回行う |
traceroute | ネットワークの経路表示 |
---|---|
指定ノードへのネットワーク経路を表示する。ネットワーク上のどこで通信が失敗しているかやボトルネックがどこかなどの解析に利用できる。 ネットワークに問題がなくても応答しないサーバーもいるので注意。 | |
[オプション] | |
[使用例] | |
$ traceroute www.google.co.jp ⇒ www.google.co.jpへの経路を表示する $ traceroute www.tohoku.ac.jp ⇒ www.tohoku.ac.jpへの経路を表示する(サーバが応答しない例) |
netstat | ソケット一覧表示 |
---|---|
ノードに設定されているソケット(他マシンとの通信路設定)の一覧を表示する。 | |
[オプション] | |
-t : tcpソケットのみを表示する(--tcpとしても同じ) -r : OSが保持するルーティングテーブルを表示する -i : ネットワークインターフェースの統計状態を表示する |
|
[使用例] | |
$ netstat -t ⇒ TCPソケット一覧を表示する $ netstat -r ⇒ ルーティングテーブルを表示する $ netstat -i ⇒ インターフェースごとの統計情報を表示する |
nslookup | ドメイン名からIPアドレスを調べる |
---|---|
ドメイン名から対応するIPアドレスを調べる。 | |
[オプション] | |
-type : レコード(サーバーの種類等)の指定(AAAA:IP6アドレス、MX:メール、NS:ネームサーバー) | |
[使用例] | |
$ nslookup www.ichinoseki.ac.jp ⇒ 一関高専WebサーバーのIPアドレスを調べる $ nslookup -type=AAAA www.google.co.jp ⇒ Google検索サイトのIPv6アドレスを調べる |
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に関するエントリーを削除する |
dig | ネームサーバーへのドメイン名問い合わせ |
---|---|
ネームサーバーにドメイン名を問い合わせて結果を表示する。nslookupに比べ問い合わせ結果があまり加工されずに表示されるので、ネットワーク管理者にとっては扱いやすい(らしい)。 | |
[オプション] | |
[使用例] | |
$ dig www.ichinoseki.ac.jp ⇒ 一関高専WebサーバーのIPアドレスを調べる $ dig gmail.com mx ⇒ gmail.comのメールサーバーのIPアドレスを調べる |
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 に相当) |
ss | ソケット情報表示 |
---|---|
ノードに設定されているソケット(他マシンとの通信路設定)の情報を表示する。 現在netstatコマンドはメンテナンスがされていないため非推奨となっており、その代替となるコマンドがssである。 | |
[オプション] | |
-t : tcpソケットのみを表示する(--tcpとしても同じ) | |
[使用例] | |
$ ss -t ⇒ TCPソケット一覧を表示する(レガシーコマンドの netstat -t に相当) |
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から盛岡の天気情報をダウンロードし、ファイルに保存する |
ssh | SSHクライアントプログラムの起動 |
---|---|
SSHクライアントプログラムを起動する | |
[オプション] | |
-p : ポート番号を指定する(指定しないときは22) | |
[使用例] | |
$ ssh -p 10022 alice@198.51.100.14 ⇒ ユーザーaliceで192.51.100.14のポート10022にSSHログインする |
ps | 実行中プロセス一覧表示 |
---|---|
実行中のプロセスの一覧を表示する。 | |
[オプション] | |
a : 自ユーザー以外のプロセスも表示する u : 読みやすさを重視したフォーマットで出力する x : 端末を持たないプロセス(OSが利用するプロセス等)も表示する f : 階層構造(呼び出し関係)が分かるように出力する |
|
[使用例] | |
$ ps uf⇒ 自ユーザーが起動したプロセスの一覧をみる $ ps auxf | less ⇒ すべてのプロセスの一覧をlessを使って閲覧する |
kill | プロセスの強制終了 |
---|---|
指定したプロセスID(PID)のプロセスを終了させる。PIDはpsコマンドを用いて調べられる。 | |
[オプション] | |
[使用例] | |
$ kill 24567 ⇒ PIDが24567のプロセスを強制終了する |
df | ディスクの空き容量表示 |
---|---|
ディスクの空き容量を表示する | |
[オプション] | |
-h : 人間に読みやすいフォーマットで表示する(容量をG,Mなどのサイズ文字を用いて表示する) | |
[使用例] | |
$ df -h ⇒ ディスクの空き容量を表示する |
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を解凍する(参考) |