Movatterモバイル変換


[0]ホーム

URL:


ももいろテクノロジー

この広告は、90日以上更新していないブログに表示しています。

名前や用途が似ているLinuxコマンドの整理

いろいろあるLinuxコマンドを区別するためのメモ。

w系

wログイン中のユーザについて、実行中のコマンド名も含め表示する
whoログイン中のユーザについて、ログイン時刻を表示する
usersログイン中のユーザのみを表示する
id自分の実ユーザ名、実効ユーザ名、所属グループを表示する
whoami自分の実効ユーザ名のみを表示する
last成功したログイン履歴を表示する
lastb失敗したログイン履歴を表示する(要root権限)
lastlog各ユーザの最終ログイン時刻を表示する
$ w 22:44:42 up 12:19,  3 users,  load average: 0.03, 0.02, 0.05USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHATuser     pts/2    192.168.56.1     21:16    2.00s  0.77s  0.00s w$ whouser     pts/2        2014-11-11 21:16 (192.168.56.1)$ usersuser

これらのコマンドが標準で読み込むログデータは、/var/run/utmp、/var/log/{wtmp,btmp}にある。

which系

whichコマンド名から絶対パスを得る
readlinkシンボリックリンクを解決する(-eオプションで絶対パスを得る)
whereisコマンド名などから設定ファイルやマニュアルなどのパス一式を得る
whatisコマンド名などから概要をリスト表示する(完全一致)
aproposコマンド名などから概要をリスト表示する(部分一致)
manコマンド名などからマニュアルを表示する
mandbマニュアルのインデックス情報を更新する
manpathマニュアルが置かれているパスを表示する
locateファイルデータベースから検索する(部分一致)
updatedbファイルデータベースを更新する(要root権限)
$ whereis passwdpasswd: /usr/bin/passwd /etc/passwd /usr/bin/X11/passwd /usr/share/man/man1/passwd.1ssl.gz /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz$ whatis passwdpasswd (1ssl)        - compute password hashespasswd (1)           - change user passwordpasswd (5)           - the password file$ apropos passwdchgpasswd (8)        - update group passwords in batch modechpasswd (8)         - update passwords in batch modefgetpwent_r (3)      - get passwd file entry reentrantly...

ps系

psプロセス一覧を表示(fで親子関係を表示)
pstreeプロセスツリーを表示(-aオプションでコマンドライン表示)
pidofプロセス名からプロセスIDを得る(完全一致)
pgrepプロセス名からプロセスIDを得る(部分一致、-aオプションでコマンドライン表示)
killプロセスIDに対しシグナルを送る
killall一致するプロセス名すべてにシグナルを送る(完全一致)
pkill一致するプロセス名すべてにシグナルを送る(部分一致)
topプロセス一覧のリアルタイム表示(-cオプションでコマンドライン表示)
$ ps auxfUSER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND...root       930  0.0  0.6  61364  3060 ?        Ss   02:30   0:00 /usr/sbin/sshd -Droot      1313  0.6  0.8 103556  4148 ?        Ss   02:31   0:00  \_ sshd: user [priv]user      1362  0.0  0.3 103556  1932 ?        S    02:31   0:00      \_ sshd: user@pts/0user      1363  2.6  0.9  23036  4592 pts/0    Ss   02:31   0:00          \_ -bashuser      1376  0.0  0.2  18280  1360 pts/0    R+   02:31   0:00              \_ ps auxf...$ pstreeinit─┬─acpid     ├─apache2───2*[apache2───26*[{apache2}]]     ├─atd     ├─cron     ├─dbus-daemon     ├─dhclient     ├─docker.io───6*[{docker.io}]     ├─6*[getty]     ├─rsyslogd───3*[{rsyslogd}]     ├─sshd───sshd───sshd───bash───pstree     ├─systemd-logind     ├─systemd-udevd     ├─upstart-file-br     ├─upstart-socket-     └─upstart-udev-br$ pstree -ainit  ├─acpid -c /etc/acpi/events -s /var/run/acpid.socket  ├─apache2 -k start  │   ├─apache2 -k start  │   │   └─26*[{apache2}]  │   └─apache2 -k start  │       └─26*[{apache2}]  ├─atd  ├─cron  ├─dbus-daemon --system --fork  ├─dhclient -1 -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0  ├─docker.io -d  │   └─6*[{docker.io}]  ├─getty -8 38400 tty4  ├─getty -8 38400 tty5  ├─getty -8 38400 tty2  ├─getty -8 38400 tty3  ├─getty -8 38400 tty6  ├─getty -8 38400 tty1  ├─rsyslogd  │   └─3*[{rsyslogd}]  ├─sshd -D  │   └─sshd  │       └─sshd  │           └─bash  │               └─pstree -a  ├─systemd-logind  ├─systemd-udevd --daemon  ├─upstart-file-br --daemon  ├─upstart-socket- --daemon  └─upstart-udev-br --daemon$ pidof sh$ pgrep -a sh127 kdmflush130 kdmflush930 /usr/sbin/sshd -D1313 sshd: user [priv]1362 sshd: user@pts/01363 -bash

topコマンドでは、xでソートカラムのハイライト、<>でソートカラムの移動、cコマンドラインの表示切り替えができる。

hexdump系

od8進ダンプ(`-Ax -tx1z`で16進ascii view付きダンプ)
hexdump16進ダンプ、printfライクなフォーマット指定が可能
hd16進ascii view付きダンプ(`hd -C`と同じ)
xxd16進ダンプ、バイナリへの逆変換が可能

od -Ax -tx1zhdはほぼ同じ出力となる。

$ echo hoge | od -Ax -tx1z000000 68 6f 67 65 0a                                   >hoge.<000005$ echo hoge | hd00000000  68 6f 67 65 0a                                    |hoge.|00000005

hexdumpはフォーマット文字列を指定することで、エスケープ文字列の生成などに使える。

$ echo hoge | hexdump -ve '/1 "_%02x"' | sed 's/_/\\x/g'\x68\x6f\x67\x65\x0a

xxdは出力結果をバイナリに戻すことができるため、バイナリ編集に使える。

$ echo hoge | xxd | tee dump.txt0000000: 686f 6765 0a                             hoge.$ sed 's/6[0-9a-f]/61/g' dump.txt | tee dump2.txt0000000: 6161 6161 0a                             hoge.$ xxd -r dump2.txtaaaa

*stat系

netstatTCPUDPUnixドメインソケットの利用状況(`-an`)、ルーティングテーブル(`-rn`)などを表示
vmstatメモリ、CPUなどの利用状況を表示
freeメモリ、swapの利用状況を表示
$ vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 0  0      0 192248  35296 214808    0    0    45    30   42  617  0  1 98  1  0$ free             total       used       free     shared    buffers     cachedMem:        501788     309540     192248        684      35296     214808-/+ buffers/cache:      59436     442352Swap:       524284          0     524284

sysstatパッケージをインストールすると、以下のコマンドも使える。引数を与えることで、定期的に表示させることもできる。

iostatCPU、ディスクのIO状況を表示(-pオプションでパーティションごとの詳細も表示)
mpstatCPUプロセッサごとの利用状況を表示(`-P ALL`ですべて表示)
pidstatプロセスごとのCPU、メモリ使用量などを表示
$ iostat -pLinux 3.13.0-32-generic (vm-ubuntu64)   11/12/2014      _x86_64_        (1 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle           0.36    0.00    0.87    0.66    0.00   98.11Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtnsda               1.95        42.92        30.14     239600     168258sda1              0.06         0.21         0.00       1149          6sda2              0.00         0.00         0.00          2          0sda5              1.75        42.58        30.14     237709     168252dm-0              3.17        42.36        30.14     236493     168252dm-1              0.04         0.16         0.00        896          0$ mpstat -P ALLLinux 3.13.0-32-generic (vm-ubuntu64)   11/12/2014      _x86_64_        (1 CPU)04:03:58 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle04:03:58 AM  all    0.36    0.00    0.68    0.66    0.19    0.00    0.00    0.00    0.00   98.1104:03:58 AM    0    0.36    0.00    0.68    0.66    0.19    0.00    0.00    0.00    0.00   98.11$ pidstatLinux 3.13.0-32-generic (vm-ubuntu64)   11/12/2014      _x86_64_        (1 CPU)04:04:02 AM   UID       PID    %usr %system  %guest    %CPU   CPU  Command04:04:02 AM     0         1    0.01    0.01    0.00    0.02     0  init04:04:02 AM     0         3    0.00    0.00    0.00    0.00     0  ksoftirqd/004:04:02 AM     0         7    0.00    0.01    0.00    0.01     0  rcu_sched04:04:02 AM     0         8    0.00    0.02    0.00    0.02     0  rcuos/0...

ls*系

lsof各プロセスが開いているファイルの一覧を表示(`lsof -in`でソケット利用状況のみを表示)
lsmod読み込まれているカーネルモジュールの一覧を表示
lsblkブロックデバイスの一覧を表示
lspciPCIデバイスの一覧を表示
lsusbUSBデバイスの一覧を表示
lscpuCPUの詳細を表示
lshwハードウェアの詳細を表示
$ sudo lsofCOMMAND    PID  TID       USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAMEinit         1            root  cwd       DIR              252,0     4096          2 /init         1            root  rtd       DIR              252,0     4096          2 /init         1            root  txt       REG              252,0   265848    1962283 /sbin/initinit         1            root  mem       REG              252,0    47712    1051256 /lib/x86_64-linux-gnu/libnss_files-2.19.so...$ lsblkNAME                               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTsda                                  8:0    0    40G  0 disk├─sda1                               8:1    0   243M  0 part /boot├─sda2                               8:2    0     1K  0 part└─sda5                               8:5    0  39.8G  0 part  ├─vm--ubuntu64--vg-root (dm-0)   252:0    0  38.8G  0 lvm  /  └─vm--ubuntu64--vg-swap_1 (dm-1) 252:1    0     1G  0 lvm  [SWAP]sr0                                 11:0    1  1024M  0 rom$ sudo lshwvm-ubuntu64    description: Computer    product: VirtualBox ()    vendor: innotek GmbH    version: 1.2...

host系

hostDNS問い合わせを行う(-aオプションで詳細表示)
hostname自分のホスト名を表示する(-Iオプションで持っているIPアドレスをすべて表示する)
nslookupDNS問い合わせを行う(非推奨)
dig詳細なDNS問い合わせを行う(+norecオプションで再帰問い合わせをオフ、+shortで簡易表示)
$ hostnamevm-ubuntu64$ hostname -I10.0.2.15 192.168.56.2 172.17.42.1$ host www.example.comwww.example.com has address 93.184.216.119$ host -a www.example.comTrying "www.example.com";; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65301;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:;www.example.com.               IN      ANY;; ANSWER SECTION:www.example.com.        49262   IN      AAAA    2606:2800:220:6d:26bf:1447:1097:aa7www.example.com.        41920   IN      A       93.184.216.119Received 77 bytes from 192.168.0.1#53 in 15 ms$ dig +norec www.example.com; <<>> DiG 9.9.5-3-Ubuntu <<>> +norec www.example.com;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58718;; flags: qr ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4000;; QUESTION SECTION:;www.example.com.               IN      A;; ANSWER SECTION:www.example.com.        51107   IN      A       93.184.216.119;; Query time: 17 msec;; SERVER: 192.168.0.1#53(192.168.0.1);; WHEN: Sun Nov 09 07:31:28 JST 2014;; MSG SIZE  rcvd: 60$ dig +short www.example.com93.184.216.119

ldnsutilsパッケージをインストールすると、drillコマンドも使える。

drill詳細なDNS問い合わせを行う(DNSSEC用オプションあり)
$ drill -S good-A.test.dnssec-tools.org @8.8.8.8;; Chasing: good-a.test.dnssec-tools.org. AWarning: No trusted keys specifiedDNSSEC Trust tree:good-A.test.dnssec-tools.org. (A)|---test.dnssec-tools.org. (DNSKEY keytag: 19442 alg: 5 flags: 256)    |---test.dnssec-tools.org. (DNSKEY keytag: 28827 alg: 5 flags: 257)    |---test.dnssec-tools.org. (DNSKEY keytag: 55926 alg: 5 flags: 257)    |---test.dnssec-tools.org. (DS keytag: 28827 digest type: 2)    |   |---dnssec-tools.org. (DNSKEY keytag: 3147 alg: 5 flags: 256)    |       |---dnssec-tools.org. (DNSKEY keytag: 34816 alg: 5 flags: 257)    |       |---dnssec-tools.org. (DS keytag: 34816 digest type: 2)    |           |---DNSSEC signature not incepted yet:dnssec-tools.org.       21514   IN      RRSIG   DS 7 2 86400 20141130154950 20141109144950 60764 org. Y81ZkDb5VATulj+EykyOG9lir+mn9t9mMslqxTYc2PabXLXrl+i7H3Qo2i7zazI3uLwqb2Ash0GQVBaaQ5yPyhw+v7mmPw=For RRset:dnssec-tools.org.       21514   IN      DS      34816 5 2 bf59736eab4d7080065a8c96a714b86c23383478f69d9f7d887cbe9930b7a7a0With key:org.    448     IN      DNSKEY  256 3 7 AwEAAXQRcjCcYDIZTLZZq46iF8oUX+c15GVdbszCa2RrrPz7yWEWAhu1A2ca8fWm9RR5uBS/cO0zC/NQYWrmjp0Ci/h5ENrkFZlTLxOUC39zcKtYkymNXZ1Jv5GQ0D40AO2FYUdkMCR+EDJoGxCjv+W9j96I}    |           |---org. (DNSKEY keytag: 60764 alg: 7 flags: 256)(snip)You have not provided any trusted keys.;; Chase successful

関連リンク

検索

引用をストックしました

引用するにはまずログインしてください

引用をストックできませんでした。再度お試しください

限定公開記事のため引用できません。

読者です読者をやめる読者になる読者になる

[8]ページ先頭

©2009-2025 Movatter.jp