システム管理者向けの便利なLinuxコマンド30選

LinuxまたはUnixコマンドの中から、Linuxシステム管理者が日常生活でよく使う便利なものをいくつか見ていきます。

これは完全ではありませんが、必要なときに参照するためのコマンドのコンパクトなリストです。それでは、どのようにしてそれらのコマンドを使用するか、例を挙げながら一つずつ始めましょう。

1. Uptimeコマンド

Linuxでは、uptimeコマンドはシステムが稼働している時間と現在ログインしているユーザー数、さらにはシステムの平均負荷1515分間隔で表示します。

# uptime

08:16:26 up 22 min,  1 user,  load average: 0.00, 0.03, 0.22

Uptimeバージョンを確認

Uptimeコマンドには、uptimeversion以外のオプションはありません。それは、時間:分:秒での情報を1日未満の場合にのみ提供します。

# uptime -V
procps version 3.2.8

2. Wコマンド

wコマンドは現在ログインしているユーザーとそのプロセスを表示し、ロード平均ログイン名tty名リモートホストログイン時間アイドル時間JCPUPCPU、コマンド、およびプロセスを表示します。

# w

08:27:44 up 34 min,  1 user,  load average: 0.00, 0.00, 0.08
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
tecmint  pts/0    192.168.50.1     07:59    0.00s  0.29s  0.09s w

利用可能なオプション

  • -h:ヘッダエントリを表示しません。
  • -s:JCPUとPCPUを表示しません。
  • -f:フィールドから削除します。
  • -V:(大文字) – バージョンを表示します。

3. ユーザーコマンド

ユーザーコマンドは現在ログインしているユーザーを表示します。このコマンドにはヘルプとバージョン以外のパラメータはありません。

# users

tecmint

4. Whoコマンド

whoコマンドは単純にユーザー名日付時間、およびホスト情報を返します。whoコマンドはwコマンドと似ていますが、wコマンドと異なり、whoはユーザーが何をしているかを印刷しません。 whowコマンドの違いを示してみましょう。

# who

tecmint  pts/0        2012-09-18 07:59 (192.168.50.1)
# w

08:43:58 up 50 min,  1 user,  load average: 0.64, 0.18, 0.06
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
tecmint  pts/0    192.168.50.1     07:59    0.00s  0.43s  0.10s w

Whoコマンドオプション

  • -b:最後のシステム再起動の日付と時間を表示します。
  • -r: 現在のランレットを表示します。
  • -a, –all: すべての情報を累積的に表示します。

5. whoamiコマンド

Linuxでは、whoamiコマンドを使用して、Linuxシステムに現在ログインしているユーザー名を印刷します。 sudoコマンドを使用してルートとしてログインしている場合、“whoami”コマンドは現在のユーザーとしてrootを返します。

# whoami

tecmint

6. lsコマンド

lsコマンドは、人間が読める形式でファイルのリストを表示します。

# ls -l

total 114
dr-xr-xr-x.   2 root root  4096 Sep 18 08:46 bin
dr-xr-xr-x.   5 root root  1024 Sep  8 15:49 boot

最終変更時間に従ってファイルをソートします。

# ls -ltr

total 40
-rw-r--r--. 1 root root  6546 Sep 17 18:42 install.log.syslog
-rw-r--r--. 1 root root 22435 Sep 17 18:45 install.log
-rw-------. 1 root root  1003 Sep 17 18:45 anaconda-ks.cfg

詳細については、lsコマンドの例については、以下の記事をご覧ください。

7. Crontabコマンド

ユーザーのスケジュールされたジョブをcrontabコマンドと-lオプションで表示します。

# crontab -l

00 10 * * * /bin/ls >/ls.txt

crontab-eオプションで編集します。以下の例では、スケジュールされたジョブをVIエディタで開きます。必要な変更を行い、:wqキーを押して終了すると、設定が自動的に保存されます。

# crontab -e

Linux Cronコマンドの詳細な例については、以前の記事を参照してください:

8. Lessコマンド

lessコマンドは、ファイルを迅速に表示するために使用されます。ページアップとページダウンが可能です。lessウィンドウから抜けるには、‘q‘を押してください。

# less install.log

Installing setup-2.8.14-10.el6.noarch
warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Installing filesystem-2.4.30-2.1.el6.i686
Installing ca-certificates-2010.63-3.el6.noarch
Installing xml-common-0.6.3-32.el6.noarch
Installing tzdata-2010l-1.el6.noarch
Installing iso-codes-3.16-2.el6.noarch

9. Moreコマンド

moreコマンドは、ファイルを迅速に表示し、パーセンテージで詳細を示すために使用されます。ページアップとページダウンが可能です。moreウィンドウから抜けるには、‘q‘を押してください。

# more install.log

Installing setup-2.8.14-10.el6.noarch
warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Installing filesystem-2.4.30-2.1.el6.i686
Installing ca-certificates-2010.63-3.el6.noarch
Installing xml-common-0.6.3-32.el6.noarch
Installing tzdata-2010l-1.el6.noarch
Installing iso-codes-3.16-2.el6.noarch
--More--(10%)

[興味を持たれた方は、ファイルナビゲーションにおいて‘less’が‘more’コマンドよりも高速である理由を学ぶをお読みください]

10. CPコマンド

A cp command copies file from source to destination preserving the same mode.

# cp -p fileA fileB

ファイルを上書きする前にプロンプトが表示されます。

# cp -i fileA fileB

[ あなたも好きかもしれません: コンフィルメントなしで上書きする方法 ]

11. MVコマンド

mvコマンドfileAfileBに名前を変更し、-iオプションを使用して、上書きする前に確認を求めます。既に存在する場合は確認を求めます。

# mv -i fileA fileB

12. Catコマンド

catコマンドは、同時に複数のファイルを表示するために使用されます。

# cat fileA fileB

moreおよびlessコマンドをcatコマンドと組み合わせて、単一の画面/ページに収まらない場合のファイルの内容を表示します。

# cat install.log | less

# cat install.log | more

Linuxのcatコマンドの詳細な例については、Linuxでの13の基本的なCatコマンドの例に関する記事をお読みください。

13. cdコマンド (ディレクトリの変更)

cdコマンド (ディレクトリの変更またはディレクトリの切り替え)は、fileAディレクトリに移動します。

# cd /fileA

14. pwdコマンド (印刷作業ディレクトリ)

A pwd command return with the present working directory.

# pwd

/root

15. ソートコマンド

sort コマンドは、テキストファイルの行を昇順で並べ替えるために使用されます。-rオプションを使用すると降順でソートされます。

# sort fileA.txt

# sort -r fileA.txt

16. VIコマンド

Viは、ほとんどのUNIX互換OSで利用可能な最も人気のあるテキストエディタです。以下の例は、-Rオプションで読み取り専用でファイルを開きます。Viウィンドウから抜けるには、‘:q‘を押してください。

# vi -R /etc/shadows

viエディタについてさらに学びたい場合は、以下の記事を読んでください。

17. SSHコマンド(セキュアシェル)

SSHコマンドは、リモートホストにログインするために使用されます。例えば、以下のsshコマンドは、ユーザーとしてNaradでリモートホスト(192.168.50.2)に接続します。

# ssh [email protected]

sshのバージョンを確認するには、-V(大文字)オプションを使用してsshのバージョンを表示します。

# ssh -V

OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f  31 Mar 2020

SSHについてさらに学びたい方は、以下の記事をお読みください。

18. Ftpまたはsftpコマンド

ftp または sftp コマンドは、リモートのftpホストに接続するために使用されます。ftpは (ファイル転送プロトコル) であり、sftpは (セキュアファイル転送プロトコル) です。例えば、以下のコマンドは (192.168.50.2) のftpホストに接続します。

# ftp 192.168.50.2

# sftp 192.168.50.2

リモートホストに複数のファイルを置くには mput を使用し、同様に mget を使用してリモートホストから複数のファイルをダウンロードできます。

# ftp > mput *.txt

# ftp > mget *.txt

19. Systemctlコマンド

Systemctlコマンドは、サービスを管理し、実行状態を確認し、サービスを開始および有効化し、設定ファイルと連携するために使用されるsystemd管理ツールです。

# systemctl start httpd.service
# systemctl enable httpd.service
# systemctl status httpd.service

20. Freeコマンド

freeコマンドは、空き合計、およびスワップメモリの情報をバイト単位で表示します。

# free
             total       used       free     shared    buffers     cached
Mem:       1030800     735944     294856          0      51648     547696
-/+ buffers/cache:     136600     894200
Swap:      2064376          0    2064376

オプション-tを使用してfreeを実行すると、使用されている合計メモリと使用可能なメモリがバイト単位で表示されます。

# free -t
             total       used       free     shared    buffers     cached
Mem:       1030800     736096     294704          0      51720     547704
-/+ buffers/cache:     136672     894128
Swap:      2064376          0    2064376
Total:     3095176     736096    2359080

21. Topコマンド

topコマンドは、システムのプロセッサアクティビティを表示し、カーネルによって管理されるタスクをリアルタイムで表示します。プロセッサメモリの使用状況が表示されます。

オプションuを使用してtopコマンドを実行すると、以下に示すように特定のユーザーのプロセスの詳細が表示されます。「O」(大文字の文字)を押して、希望の順序でソートします。「q」を押してtop画面から抜けます。

# top -u tecmint

top - 11:13:11 up  3:19,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 116 total,   1 running, 115 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1030800k total,   736188k used,   294612k free,    51760k buffers
Swap:  2064376k total,        0k used,  2064376k free,   547704k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1889 tecmint   20   0 11468 1648  920 S  0.0  0.2   0:00.59 sshd
1890 tecmint   20   0  5124 1668 1416 S  0.0  0.2   0:00.44 bash
6698 tecmint   20   0 11600 1668  924 S  0.0  0.2   0:01.19 sshd
6699 tecmint   20   0  5124 1596 1352 S  0.0  0.2   0:00.11 bash

topコマンドについてさらに詳しく知りたい場合は、Linuxの12 TOPコマンド例のリストを既に作成しています。

22. Tarコマンド

tarコマンドは、Linuxでファイルやフォルダを圧縮するために使用されます。たとえば、次のコマンドは、/home ディレクトリのアーカイブを archive-name.tar というファイル名で作成します。

# tar -cvf archive-name.tar /home

tarアーカイブファイルを抽出するには、次のオプションを使用します。

# tar -xvf archive-name.tar

tarコマンドについてさらに理解するために、tarコマンドの完全な方法ガイド18 Tar Command Examples in Linuxで作成しました。

23. Grepコマンド

grepコマンドは、ファイル内の指定された文字列を検索します。tecmintユーザーだけが/etc/passwdファイルから表示されます。-iオプションを使用して、大文字と小文字の区別を無視することができます。

# grep tecmint /etc/passwd

tecmint:x:500:500::/home/tecmint:/bin/bash

24. Findコマンド

Findコマンドは、ファイル文字列ディレクトリを検索するために使用されます。次のfindコマンドの例は、tecmintという単語を’ / ‘パーティションで検索し、出力を返します。

# find / -name tecmint

/var/spool/mail/tecmint
/home/tecmint
/root/home/tecmint

Linuxのfindコマンドの例についての完全なガイドは、Linux findコマンドの例で35 Practical Examples of Linux Find Commandで見つけることができます。

25. lsofコマンド

lsofは、すべてのオープンファイルのリストを意味します。以下のlsofは、ユーザーtecmintによって開かれたすべてのファイルのコマンドリストです。

# lsof -u tecmint

COMMAND  PID    USER   FD   TYPE     DEVICE SIZE/OFF   NODE NAME
sshd    1889 tecmint  cwd    DIR      253,0     4096      2 /
sshd    1889 tecmint  txt    REG      253,0   532336 298069 /usr/sbin/sshd
sshd    1889 tecmint  DEL    REG      253,0          412940 /lib/libcom_err.so.2.1
sshd    1889 tecmint  DEL    REG      253,0          393156 /lib/ld-2.12.so
sshd    1889 tecmint  DEL    REG      253,0          298643 /usr/lib/libcrypto.so.1.0.0
sshd    1889 tecmint  DEL    REG      253,0          393173 /lib/libnsl-2.12.so
sshd    1889 tecmint  DEL    REG      253,0          412937 /lib/libkrb5support.so.0.1
sshd    1889 tecmint  DEL    REG      253,0          412961 /lib/libplc4.so

詳細については、lsofコマンドの例を参照してくださいLinuxの10のlsofコマンドの例

26. lastコマンド

lastコマンドを使用すると、システム内のユーザーのアクティビティを監視できます。このコマンドは通常のユーザーも実行できます。端末時間日付システム再起動またはブートカーネルバージョンなど、完全なユーザー情報を表示します。トラブルシューティングに役立つコマンドです。

# last

tecmint  pts/1        192.168.50.1     Tue Sep 18 08:50   still logged in
tecmint  pts/0        192.168.50.1     Tue Sep 18 07:59   still logged in
reboot   system boot  2.6.32-279.el6.i Tue Sep 18 07:54 - 11:38  (03:43)
root     pts/1        192.168.50.1     Sun Sep 16 10:40 - down   (03:53)
root     pts/0        :0.0             Sun Sep 16 10:36 - 13:09  (02:32)
root     tty1         :0               Sun Sep 16 10:07 - down   (04:26)
reboot   system boot  2.6.32-279.el6.i Sun Sep 16 09:57 - 14:33  (04:35)
narad    pts/2        192.168.50.1     Thu Sep 13 08:07 - down   (01:15)

次のように、lastを使用して、ユーザー名で特定のユーザーのアクティビティを知ることができます。

# last tecmint

tecmint  pts/1        192.168.50.1     Tue Sep 18 08:50   still logged in
tecmint  pts/0        192.168.50.1     Tue Sep 18 07:59   still logged in
tecmint  pts/1        192.168.50.1     Thu Sep 13 08:07 - down   (01:15)
tecmint  pts/4        192.168.50.1     Wed Sep 12 10:12 - 12:29  (02:17)

27. psコマンド

psコマンドは、システム内で実行されているプロセスを表示します。以下の例は、initのみをプロセスとして表示します。

# ps -ef | grep init

root         1     0  0 07:53 ?        00:00:04 /sbin/init
root      7508  6825  0 11:48 pts/1    00:00:00 grep init

28. killコマンド

killコマンドを使用して、プロセスを終了させます。まず、以下に示すようにidでプロセスを見つけpsコマンドを使用し、kill -9コマンドでプロセスをキルします。

# ps -ef | grep init
root         1     0  0 07:53 ?        00:00:04 /sbin/init
root      7508  6825  0 11:48 pts/1    00:00:00 grep init

# kill- 9 7508

29. rmコマンド

rmコマンドは、確認プロンプトなしでファイルを削除または削除するために使用されます。

# rm filename

ファイルを削除する前に確認を取得するには、-iオプションを使用してください。オプション‘-r‘と‘-f‘を使用すると、確認なしでファイルを強制的に削除できます。

# rm -i test.txt

rm: remove regular file `test.txt'?

30. mkdirコマンドの例。

mkdirコマンドは、Linuxの下にディレクトリを作成するために使用されます。

# mkdir directoryname

これは、Linux/Unixライクなオペレーティングシステムで日常的に使用される基本的なコマンドです。私たちが見逃している場合は、コメントボックスを通じて共有してください。

Source:
https://www.tecmint.com/useful-linux-commands-for-system-administrators/