Linux/Unix コマンドの一覧

Linux/Unix コマンドの一覧と、その使い方をご紹介します。

目次

  1. オプション
    1. POSIX
    2. GNU
  2. 正規表現
  3. apt
  4. apt-get
  5. Atom
  6. awk
  7. basename
  8. bzcmp
  9. bzdiff
  10. bzegrep
  11. bzfgrep
  12. bzip2
  13. bzless
  14. bzmore
  15. cat
  16. chmod
  17. cmp
  18. code (Visual Studio Code)
  19. curl
  20. cut
  21. date
  22. df
  23. diff
  24. dirname
  25. dmesg
  26. dpkg
  27. du
  28. echo
  29. egrep
  30. expr
  31. fc-list
  32. fgrep
  33. file
  34. find
  35. ftp
  36. fuser
  37. gcc
  38. gcore
  39. gdb
  40. getconf
  41. Git
  42. grep
  43. groupadd
  44. groupdel
  45. groupmod
  46. gunzip
  47. gzip
  48. hostname
  49. ifconfig
  50. ipcs
  51. iptables
  52. java
  53. julia
  54. kill
  55. ld
  56. less
  57. ls
  58. lsof
  59. man
  60. mkdir
  61. more
  62. mount
  63. netstat
  64. nohup
  65. passwd
  66. perl
  67. ps
  68. ping
  69. pstree
  70. rgrep
  71. rm
  72. route
  73. rpm
  74. rsync
  75. script
  76. sed
  77. seq
  78. shutdown
  79. sort
  80. systemctl
  81. su
  82. Subversion
  83. sudo
  84. tar
  85. top
  86. traceroute
  87. traceroute6
  88. uname
  89. uncompress
  90. useradd
  91. userdel
  92. usermod
  93. uuidgen
  94. vi
  95. visudo
  96. vim
  97. vmstat
  98. yum
  99. zcat
  100. zcmp
  101. zdiff
  102. zegrep
  103. zfgrep
  104. zless
  105. zmore

コマンドのオプション

コマンドに指定できるオプションには、POSIX と GNU の2種類の形式がある。

POSIX

POSIX の場合、オプションはハイフンで始まり、アルファベット1文字で指定する。

command -a -c

POSIX オプションに引数を指定する場合、オプションとその引数の間には空白を入れる。

command -a -b foo -c

複数の POSIX オプションを指定する場合、ひとつに纏めて指定できる。

command -ac

ただし、引数を伴う POSIX オプションをひとつに纏めて指定することはできない。

command -ac -b foo

コマンドに引数を指定する場合、全てのオプションはコマンド引数より先に指定する必要がある。

command -a -b foo -c /home/tsuka

GNU

GNU の場合、オプションはハイフン2つから始まり、複数のアルファベットで指定する。

command --foo --baz

GNU オプションに引数を指定する場合、オプションとその引数の間には等号記号を入れる。

command --foo --bar=foobar --baz

GNU オプションをサポートしている全てのコマンドには、--help 及び --version オプションを指定できる。

command --help

dmesg

カーネル・リング・バッファの表示及び制御

dmesg [options]
dmesg --clear
dmesg --read-clear [options]
dmesg --concole-level level
dmesg --console-on
demsg --console-off

echo

テキストの行を表示する。

echo [ -e | -E ] [ -n ] string...
echo { --help | --version }

以下に示すオプションを echo コマンドに指定できる。

-e
エスケープ文字を有効にする。
エスケープ
エスケープ 説明
\\ バックスラッシュ(円記号)
\a 警告(ベル)
\b バックスペース
\f フォームフィード
\n 改行
\r キャリッジリターン
\t 水平タブ
\v 垂直タブ
-E
エスケープ文字を無効にする。
-n
テキストの末尾に改行を出力しない。
--help
ヘルプを表示して、コマンドを終了する。
--version
バージョン情報を表示して、コマンドを終了する。

fc-list

使用可能なフォントの一覧を表示する。

以下に示すオプションを fc-list コマンドに指定できる。

:lang=lang
指定した言語のフォント一覧を表示する。
$ fc-list :lang=ja
-V
バージョンを表示して、コマンドを終了する。
-h
オプションのサマリを表示する。

gcore

実行中プロセスのコア・ファイルを生成する。

gcore [-a] [-o filename] pid[s]

gdb

GNU デバッガー

gdb [OPTIONS] [prog|prog procID|prog core]

groupadd

新しいグループを作成する。

groupadd [options] group
-h
ヘルプ・メッセージを表示して、コマンドを終了する。 (POSIX)
--help
ヘルプ・メッセージを表示して、コマンドを終了する。 (GNU)

groupdel

グループを削除する。

groupdel [options] GROUP

groupmod

システムのグループ定義を変更する。

groupmod [options] GROUP

ifconfig

ネットワーク・インタフェースを構成する。

ifconfig [-v] [-a] [-s] [interface]
ifconfig [-v] interface [aftype] options | address ...

ld

GNU リンカー

ld [options] objfile ...

man

システム・リファレンス・マニュアルを表示する。

man [options] [[section] page ...]

使用例

$ man ls

引数

以下に示す引数をmanコマンドに指定できる。

section
マニュアルのセクションを指定する。指定できるセクションはシステムにより異なる。Ubuntu で指定できるセクションを以下に示す。
セクション
セクション 説明
1 user commands
2 system calls
3 library functions
4 special files
5 file formats and filesystems
6 games
7 overview and miscellany section
8 administration and privileged commands
page
コマンド名、システムコール名、ライブラリ関数名などを指定する。

mkdir

ディレクトリを作成する。

mkdir [option]... directory...

mkdir コマンドには以下に示すオプションを指定できる。

-m mode
ファイルモードを設定する。 (POSIX)
$ mkdir -m 0644 tmp
$ ls -l
drw-r--r--  2 tsuka tsuka 4096 11月 30 18:20 tmp
--mode=mode
ファイルモードを設定する。 (GNU)
-p
もし親ディレクトリが存在しなくてもエラーとせず、親ディレクトリも作成する。 (POSIX)

たとえば、sub1/sub2 というディレクトリを作成する場合、通常は sub1 ディレクトリが存在しないとエラーが発生する。-p オプションを指定すると、sub1 ディレクトリが存在しなければ作成される。

$ mkdir sub1/sub2
mkdir: ディレクトリ `sub1/sub2' を作成できません: そのようなファイルやディレクトリはありません
$ mkdir -p sub1/sub2
$ ls
sub1
$ ls sub1
sub2
--parents
もし親ディレクトリが存在しなくてもエラーとせず、親ディレクトリも作成する。 (GNU)
-v
ディレクトリを作成するごとにメッセージを表示する。 (POSIX)
--verbose
ディレクトリを作成するごとにメッセージを表示する。 (GNU)
--help
ヘルプを表示して、コマンドを終了する。 (GNU)
--version
バージョン情報を出力して、コマンドを終了する。 (GNU)

ping

ICMP の ECHO_REQUEST をネットワーク・ホストへ送信する。

ping [-aAbBdDfhLnOqrRUvV46] [-c count] [-F flowlabel] [-i interval]
    [-I interface] [-l preload] [-m mark] [-M pmtudisc_option]
    [-N nodeinfo_option] [-w deadline] [-W timeout] [-p pattern]
    [-Q tos] [-s packetsize] [-S sndbuf] [-t ttl]
    [-T timestamp option] [hop...] {destination}

pstree

プロセスの階層ツリーを表示する。

pstree [-a, --arguments] [-c, --compact-not] [-C, --color attr]
    [-g, --show-pgids] [-h, --highlight-all, -H pid, --highlight-pid pid]
    [-l, --long] [-n, --numeric-sort] [-N, --ns-sort ns] [-p, --show-pids]
    [-s, --show-parents] [-S, --ns-changes] [-t, --thread-names]
    [-T, --hide-threads] [-u, --uid-changes] [-Z, --security-context]
    [-A, --ascii, -G, --vt100, -U, --unicode] [pid, user]
    pstree -V, --version

rm

ファイル又はディレクトリを削除する。

rm [option]... file...

route

IPルーティング・テーブルを表示したり、操作する。

route [-CFvnNee] [-A family |-4|-6]

route  [-v] [-A family |-4|-6] add [-net|-host] target [netmask Nm] [gw
       Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod]  [dyn]
       [reinstate] [[dev] If]

route  [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask
       Nm] [metric M] [[dev] If]

route  [-V] [--version] [-h] [--help]

useradd

新しいユーザー・アカウントを作成する。

useradd [options] LOGIN

useradd -D

useradd -D [options]

sort

テキストファイルの行を並び替える。

sort [option]... [file]...

以下に示すオプションを sort コマンドに指定できる。

-k
並び替えるキーを指定する。
-n
文字順ではなく、数値順で並び替える。
文字順 数値順
1 1
10 9
9 10
-r
逆順で並び替える。

ファイルの一覧をファイルサイズの昇順で並び替える。

$ ls -l | sort -n -k 5
total 816
-rw-rw-r-- 1 tsuka tsuka  8178 Sep 23  2023 nohup.html
-rw-rw-r-- 1 tsuka tsuka  8958 Sep 23  2023 script.html
-rw-rw-r-- 1 tsuka tsuka  9025 Sep 23  2023 uncompress.html
-rw-rw-r-- 1 tsuka tsuka  9316 Sep 23  2023 du.html
-rw-rw-r-- 1 tsuka tsuka  9411 Oct 15  2023 df.html
-rw-rw-r-- 1 tsuka tsuka  9861 Sep 23  2023 file.html
-rw-rw-r-- 1 tsuka tsuka  9902 Sep 23  2023 shutdown.html
-rw-rw-r-- 1 tsuka tsuka  9969 Sep 23  2023 dpkg.html
-rw-rw-r-- 1 tsuka tsuka 10042 Sep 23  2023 crontab.html
-rw-rw-r-- 1 tsuka tsuka 10085 May  9  2023 seq.html
-rw-rw-r-- 1 tsuka tsuka 10213 Sep 23  2023 expr.html
-rw-rw-r-- 1 tsuka tsuka 10235 Sep 23  2023 kill.html
-rw-rw-r-- 1 tsuka tsuka 10524 Sep 23  2023 yum.html
-rw-rw-r-- 1 tsuka tsuka 10749 Apr 15  2023 dirname.html
-rw-rw-r-- 1 tsuka tsuka 10806 Sep 23  2023 uuidgen.html
-rw-rw-r-- 1 tsuka tsuka 10841 May  2  2023 rpm.html
-rw-rw-r-- 1 tsuka tsuka 10845 Oct 15  2023 find.html
-rw-rw-r-- 1 tsuka tsuka 11021 Sep 23  2023 vmstat.html
-rw-rw-r-- 1 tsuka tsuka 11164 Jul  5  2023 lsof.html
-rw-rw-r-- 1 tsuka tsuka 11290 Dec 19 20:37 cut.html
-rw-rw-r-- 1 tsuka tsuka 11675 Oct 10  2023 fuser.html
-rw-rw-r-- 1 tsuka tsuka 11741 Sep 23  2023 hostname.html
-rw-rw-r-- 1 tsuka tsuka 12450 Apr 28  2023 ipcs.html
-rw-rw-r-- 1 tsuka tsuka 12630 Oct 15  2023 zcat.html
-rw-rw-r-- 1 tsuka tsuka 12637 Jan 22 10:03 basename.html
-rw-rw-r-- 1 tsuka tsuka 12744 Apr 19  2023 su.html
-rw-rw-r-- 1 tsuka tsuka 13024 Sep 23  2023 netstat.html
-rw-rw-r-- 1 tsuka tsuka 13152 Oct  2  2023 apt-get.html
-rw-rw-r-- 1 tsuka tsuka 13294 Sep 23  2023 visudo.html
-rw-rw-r-- 1 tsuka tsuka 13588 Apr 14  2023 top.html
-rw-rw-r-- 1 tsuka tsuka 13650 Sep 23  2023 rsync.html
-rw-rw-r-- 1 tsuka tsuka 13686 Sep 23  2023 sudo.html
-rw-rw-r-- 1 tsuka tsuka 13705 Dec 18 10:51 bzip2.html
-rw-rw-r-- 1 tsuka tsuka 13920 Feb 18 21:52 apt.html
-rw-rw-r-- 1 tsuka tsuka 14854 Apr 28  2023 getconf.html
-rw-rw-r-- 1 tsuka tsuka 14858 Sep 23  2023 ftp.html
-rw-rw-r-- 1 tsuka tsuka 14930 Oct 12  2023 uname.html
-rw-rw-r-- 1 tsuka tsuka 15568 Sep 23  2023 tar.html
-rw-rw-r-- 1 tsuka tsuka 15783 May  2  2023 date.html
-rw-rw-r-- 1 tsuka tsuka 15881 Oct 13  2023 ls.html
-rw-rw-r-- 1 tsuka tsuka 15974 Nov 12 21:39 chmod.html
-rw-rw-r-- 1 tsuka tsuka 16071 Dec 18 10:52 gzip.html
-rw-rw-r-- 1 tsuka tsuka 16188 Sep 23  2023 mount.html
-rw-rw-r-- 1 tsuka tsuka 16668 Apr  6  2023 passwd.html
-rw-rw-r-- 1 tsuka tsuka 17735 Sep 23  2023 ps.html
-rw-rw-r-- 1 tsuka tsuka 19468 Dec 18 10:39 index.html
-rw-rw-r-- 1 tsuka tsuka 20259 May  7  2023 sed.html
-rw-rw-r-- 1 tsuka tsuka 26575 May  1  2023 iptables.html
-rw-rw-r-- 1 tsuka tsuka 28134 Feb 18 21:43 curl.html
-rw-rw-r-- 1 tsuka tsuka 37675 Apr 14  2023 vi.html
-rw-rw-r-- 1 tsuka tsuka 44134 Sep 23  2023 awk.html

systemctl

sytemd システムとサービス・マネージャーを制御する。

systemctl [option]... command [unit]...
command
コマンドを指定する。
操作 コマンド
サービスの起動 systemctl start unit
サービスの停止 systemctl stop unit
サービスの再起動 systemctl restart unit
サービスのリロード systemctl reload unit
サービスのステータス表示 systemctl status unit
サービス自動起動の有効化 systemctl enable unit
サービス自動起動の無効化 systemctl disable unit
サービス自動起動設定の確認 systemctl is-enabled unit
サービス一覧の表示 systemctl list-unit-files --type=service
設定ファイルの再読込 systemctl daemon-reload

サービス一覧を表示する。

$ systemctl list-unit-files --type=service
UNIT FILE                                  STATE           VENDOR PRESET
accounts-daemon.service                    enabled         enabled      
acpid.service                              disabled        enabled      
alsa-restore.service                       static          -            
alsa-state.service                         static          -            
alsa-utils.service                         masked          enabled      
anacron.service                            enabled         enabled      
apparmor.service                           enabled         enabled      
apt-daily-upgrade.service                  static          -            
apt-daily.service                          static          -            
autovt@.service                            alias           -            
avahi-daemon.service                       enabled         enabled      
blk-availability.service                   enabled         enabled      
blueman-mechanism.service                  enabled         enabled      
bluetooth.service                          enabled         enabled      
bolt.service                               static          -            
brltty-udev.service                        static          -            
brltty.service                             disabled        enabled      
casper-md5check.service                    enabled         enabled      
casper.service                             enabled         enabled      
colord.service                             static          -            
configure-printer@.service                 static          -            
console-getty.service                      disabled        disabled

traceroute

traceroute は、ノードまでの経路を取得する Unix/Linux コマンドである。traceroute は引数に指定したホストへパケットを送信するが、その際に TTL (Time to Live) を1ずつ増やす。TTL はパケットの生存期間を表し、ルータをひとつ経由するたびに1ずつ減算される。経路をひとつずつ調べることができる。

traceroute [ option... ] host
host
ホスト
$ traceroute www.ichiyoshi.co.jp
 1  _gateway (192.168.42.129)  1.649 ms  1.618 ms  1.605 ms
 2  * * *
 3  172.16.222.10 (172.16.222.10)  72.858 ms  72.811 ms  72.767 ms
 4  172.16.197.253 (172.16.197.253)  72.895 ms  72.746 ms  72.697 ms
 5  103.124.3.21 (103.124.3.21)  72.452 ms 103.124.3.23 (103.124.3.23)  72.758 ms
 6  103.124.3.48 (103.124.3.48)  72.507 ms 103.124.3.28 (103.124.3.28)  68.371 ms
 7  103.124.3.14 (103.124.3.14)  74.314 ms  24.908 ms  24.864 ms
 8  103.124.3.10 (103.124.3.10)  31.063 ms 101.203.88.104 (101.203.88.104)  31.059 ms  30.896 ms
 9  172.29.0.20 (172.29.0.20)  36.632 ms 101.203.88.104 (101.203.88.104)  36.637 ms  36.599 ms
10  as65000.et-0-0-3.tedge0507.newote.bbtower.ad.jp (211.14.17.17)  36.721 ms  36.660 ms  36.516 ms
11  as65000.et-0-0-3.tedge0507.newote.bbtower.ad.jp (211.14.17.17)  36.569 ms  30.816 ms  24.545 ms
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

オプション

以下に示すオプションを traceroute コマンドに指定できる。

-4
IPv4のトレースルーティングを明示的に強制する。
$ traceroute -4 dns.google
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  _gateway (192.168.43.1)  9.319 ms  9.298 ms  9.425 ms
 2  * * *
 3  172.16.222.2 (172.16.222.2)  56.036 ms  55.757 ms  55.670 ms
 4  172.16.197.252 (172.16.197.252)  56.039 ms  61.268 ms  56.644 ms
 5  103.124.3.49 (103.124.3.49)  61.423 ms 103.124.3.31 (103.124.3.31)  55.674 ms 103.124.3.47 (103.124.3.47)  61.186 ms
 6  103.124.3.46 (103.124.3.46)  61.400 ms 103.124.3.22 (103.124.3.22)  40.787 ms 103.124.3.28 (103.124.3.28)  41.765 ms
 7  103.124.3.12 (103.124.3.12)  40.852 ms  44.674 ms 103.124.3.14 (103.124.3.14)  52.346 ms
 8  72.14.203.174 (72.14.203.174)  62.114 ms 74.125.118.122 (74.125.118.122)  62.148 ms 74.125.118.52 (74.125.118.52)  61.524 ms
 9  * * 108.170.248.179 (108.170.248.179)  56.251 ms
10  dns.google (8.8.8.8)  50.398 ms 64.233.175.11 (64.233.175.11)  50.433 ms 209.85.253.59 (209.85.253.59)  56.118 ms
-6
IPv6のトレースルーティングを明示的に強制する。
$ traceroute -6 dns.google
traceroute to 2001:4860:4860::8888 (2001:4860:4860::8888), 30 hops max, 80 byte packets
 1  240b:c010:101:1b55::4 (240b:c010:101:1b55::4)  816.300 ms  816.206 ms  816.158 ms
 2  240b:c010:101:1b55::4 (240b:c010:101:1b55::4)  816.241 ms  816.386 ms  816.150 ms
 3  240b:c010:101:15e5:0:4:0:6f6 (240b:c010:101:15e5:0:4:0:6f6)  815.970 ms  816.246 ms  815.999 ms
 4  240b:c010:105::7124:0:b (240b:c010:105::7124:0:b)  816.484 ms 240b:c010:105::7124:0:3 (240b:c010:105::7124:0:3)  815.784 ms  815.732 ms
 5  * * *
 6  * 240b:c010:115::8223:0:0 (240b:c010:115::8223:0:0)  35.602 ms *
 7  * * *
 8  2404:6800:802e::1 (2404:6800:802e::1)  52.338 ms 2001:4860:0:1::47bd (2001:4860:0:1::47bd)  52.542 ms 2404:6800:8102::1 (2404:6800:8102::1)  52.020 ms
 9  2001:4860:0:1::5fa9 (2001:4860:0:1::5fa9)  52.318 ms * dns.google (2001:4860:4860::8888)  52.239 ms
-I
プローブにICMP ECHOを使用する。 (POSIX)
--icmp
プローブにICMP ECHOを使用する。 (GNU)
-T
プローブにTCP SYNを使用する。 (POSIX)
--tcp
プローブにTCP SYNを使用する。 (GNU)
-f first_ttl
開始するTTLを指定する。デフォルトは1。 (POSIX)
--first=first_ttl
開始するTTLを指定する。デフォルトは1。 (GNU)
-p port
ポート番号を指定する。 (POSIX)
--port=port
ポート番号を指定する。 (GNU)
-V
バージョンを表示して、コマンドを終了する。 (POSIX)
$ traceroute -V
Modern traceroute for Linux, version 2.1.0
Copyright (c) 2016  Dmitry Butskoy,   License: GPL v2 or any later
--version
バージョンを表示して、コマンドを終了する。 (GNU)
--help
ヘルプを表示して、コマンドを終了する。 (GNU)

インストール

UbuntuLinnux Mint など、Debian 系の Linux に traceroute コマンドをインストールするには、apt コマンドを使う。

$ sudo apt install traceroute

userdel

ユーザー・アカウントと関連ファイルを削除する。

userdel [options] login

usermod

ユーザー・アカウントを変更する。

usermod [-c comment] [-d home_dir [-m]] [-e expire_date] login

userdel コマンドには、以下に示すオプションを指定できる。

-c comment
パスワードファイルのコメントフィールドに与える新しい値を指定する。
-d home_dir
新しいログインディレクトリを指定する。-m オプションを用いると、現在のホームディレクトリの中身が新しいホームディレクトリに移動される。新しいホームディレクトリが存在しない場合は、新たに作成される。
-e expire_date
ユーザーアカウントが使用不能になる日付を「YYYY-MM-DD」という書式で指定する。