この記事はLFCAシリーズのPart 3であり、この部分ではLFCA認定試験で必要な最も広く使用されているLinuxシステム管理コマンド24個をリストアップします。
Linuxシステムは、システムを管理および操作するために使用できる多くのコマンドを提供しており、それらは以下の通りです。
1. uptimeコマンド
uptimeコマンドは、システムが最後に起動されてからどれだけの時間が経過したかを表示します。引数を指定せずに実行すると、システムの稼働時間、実行中のセッションを持つユーザー、および平均負荷などの情報が表示されます。
$ uptime 11:14:58 up 1:54, 1 user, load average: 0.82, 1.60, 1.56
システムが起動してからの正確な日付と時刻を取得するには、-s
フラグを使用します。
$ uptime -s 2021-03-17 09:20:02
よりユーザーフレンドリーな形式で正確な期間を取得するには、-p
フラグを追加します。
$ uptime -p up 1 hour, 55 minutes
以下の出力は、システムが1時間55分稼働していることを示しています。
2. unameコマンド
unameコマンドは、オペレーティングシステムと基礎ハードウェアに関する基本的な情報を表示します。引数を指定しない場合、unameコマンドはオペレーティングシステムのみを表示します。この場合はLinuxです。-a
フラグを追加すると、カーネル名、バージョン、リリース、マシン、プロセッサ、およびオペレーティングシステムなど、すべての情報が表示されます。
$ uname Linux
-a
フラグを追加して、カーネル名、バージョン、リリース、マシン、プロセッサ、およびオペレーティングシステムなどのすべての情報を表示します。
$ uname -a Linux ubuntu 5.4.0-65-generic #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
カーネルリリースを表示するには、-r
フラグを追加します。
$ uname -r 5.4.0-65-generic
カーネルバージョンを取得するには、-v
フラグを使用します。
$ uname -v #50~20.04.1-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021
使用しているカーネルのタイプを表示するには、-s
フラグを使用します。
$ uname -s Linux
その他のコマンドについては、以下のヘルプセクションを確認してください。
$ uname --help
3. whoamiコマンド
現在ログインしているユーザーを表示するwhoamiコマンドは以下のように表示されます。
$ whoami tecmint
4. wコマンド
現在ログインしているユーザーに関する情報を提供するwコマンドです。
$ w 11:24:37 up 2:04, 1 user, load average: 2.04, 1.95, 1.74 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT tecmint tty7 :0 09:21 2:04m 7:52 0.52s xfce4-session
5. freeコマンド
スワップとメインメモリの使用状況に関する情報を提供するfreeコマンドです。合計サイズ、使用済みおよび利用可能なメモリを表示します。
$ free total used free shared buff/cache available Mem: 8041516 2806424 1918232 988216 3316860 3940216 Swap: 11534332 0 11534332
情報をより読みやすい形式で表示するには、-h
フラグを追加します。
$ free -h total used free shared buff/cache available Mem: 7.7Gi 2.7Gi 1.9Gi 954Mi 3.2Gi 3.8Gi Swap: 10Gi 0B 10Gi
6. topコマンド
これはLinuxシステムで便利なツールの1つです。現在実行中のプロセスの概要を提供し、システムリソースの使用状況のリアルタイム概要も提供するtopコマンドです。
出力の一番上には、アップタイム、実行中のタスク、CPU、およびメモリの使用状況に関する情報が表示されます。
$ top

各列が何を表しているかを簡単に説明しましょう。
- PID – これはプロセスが識別されるプロセスIDです。
- USER – これはプロセスを開始または生成したユーザーのユーザー名です。
- PR – これはタスクのスケジューリング優先度です。
- NI – これはプロセスまたはタスクの優しい値です。
- VIRT – これはタスクによって使用される合計仮想メモリです。
- RES – プロセスが使用するメモリです。
- SHR – 他のプロセスと共有されるプロセスによって使用されるメモリ量です。
- %CPU – これはプロセスのCPU使用率です。
- %RAM – RAM使用率のパーセンテージです。
- TIME+ – プロセスが実行されてからの合計CPU時間です。
- COMMAND – これはプロセス名です。
特定のユーザーに関連するプロセスを表示するには、次のコマンドを実行します。
$ top -u tecmint

7. psコマンド
psコマンドは、現在実行中のプロセスを現在のシェルでリストアップします。
$ ps PID TTY TIME CMD 10994 pts/0 00:00:00 bash 12858 pts/0 00:00:00 ps
ユーザーの現在実行中のプロセスを表示するには、次のように-u
オプションを使用します。
$ ps -u tecmint

8. sudoコマンド
A portmanteau for Super User do, sudo is a command-line utility that grants a regular user ability to perform administrative or elevated tasks. Before using the command, ensure that the user is first added to the sudo group. Once added, begin the command with sudo first.
たとえば、パッケージリストを更新するには、次のコマンドを実行します。
$ sudo apt update
パスワードを入力すると、タスクが実行されます。

9. echoコマンド
echoコマンド はさまざまなことを行います。まず、ターミナル上で文字列の値を表示できます。
$ echo “Hey guys. Welcome to Linux” “Hey guys. Welcome to Linux”
また、( > )
リダイレクション演算子を使用してファイルに文字列を保存することもできます。ファイルが存在しない場合、作成されます。
$ echo “Hey guys. Welcome to Linux” > file1.txt $ cat file1.txt “Hey guys. Welcome to Linux”
これはファイルを上書きしますのでご注意ください。情報を追加したい場合は、二重の大なり演算子 ( >> )
を使用してください。
$ echo “We hope you will enjoy the ride” >> file1.txt $ cat file1.txt “Hey guys. Welcome to Linux” We hope you will enjoy the ride
さらに、echoコマンド を使用して環境変数を表示することもできます。たとえば、現在ログインしているユーザーを表示するには次のコマンドを実行します:
$ echo $USER tecmint
ホームディレクトリへのパスを表示するには次のコマンドを実行します:
$ echo $HOME /home/tecmint
10. historyコマンド
名前が示すように、historyコマンド はターミナルで最後に実行されたコマンドの履歴を表示します。
$ history

11. headコマンド
時々、ファイル全体を表示する代わりにテキストファイルの最初の数行を見たいことがあります。 headコマンド はファイル内の最初の数行を表示するコマンドラインツールです。デフォルトでは最初の10行が表示されます。
$ head /etc/ssh/ssh_config

-n
フラグを追加して表示する行数を指定できます。たとえば、5行を表示するには、次のようにコマンドを実行します:
$ head -n 5 /etc/ssh/ssh_config
12. tailコマンド
tailコマンドはheadコマンドの正反対です。ファイルの最後の10行を表示します。
$ tail /etc/ssh/ssh_config

headコマンドと同様に、表示する行数を定義できます。たとえば、ファイルの最後の5行を表示するには、次のように実行します:
$ tail -n 5 /etc/ssh/ssh_config
13. wgetコマンド
wgetコマンドは、Web上からファイルをダウンロードするために使用されるコマンドラインツールです。複数のファイルをダウンロードしたり、ダウンロード帯域幅を制限したり、バックグラウンドでダウンロードしたりするなど、さまざまな機能をサポートしています。
基本形では、指定したURLからファイルをダウンロードします。以下のコマンドでは、最新のLinuxカーネルをダウンロードしています。
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz
コマンドは、まずURLのIPアドレスを解決し、その後リモートサーバーに接続してファイルのダウンロードを開始します。ファイルは現在のディレクトリにダウンロードされます。

ファイルを別のディレクトリに保存するには、-P
フラグを使用してディレクトリへのパスを指定し、その後にURLを記述します。たとえば、ファイルを/opt
ディレクトリにダウンロードするには、コマンドを実行します。
$ wget -P /opt https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz
ファイルを別の名前でダウンロードして保存するには、希望するファイル名に続いて-O
フラグを使用します。
$ wget -O latest.tar.xz https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz
14. fingerコマンド
fingerコマンドは、ログインユーザーに関する名前、シェル、ホームディレクトリ、およびユーザーがログインしてからの経過時間についての簡単な情報を提供します。
$ finger tecmint Login: tecmint Name: Tecmint Directory: /home/tecmint Shell: /bin/bash On since Wed Mar 17 09:21 (IST) on tty7 from :0 2 hours 52 minutes idle No mail. No Plan.
15. エイリアスコマンド
aliasコマンドを使用すると、Linuxコマンドに独自の名前を割り当てて便利に使用することができます。例えば、コマンドls -aにshowというエイリアスを割り当てるには、次のようにaliasコマンドを実行します。
$ alias show=ls -a $ show

16. パスワードコマンド
passwdコマンドを使用すると、パスワードを変更することができます。次のようにpasswdコマンドを実行するだけです。
$ passwd
現在のパスワードを入力するように求められます。その後、新しいパスワードを入力し、確認します。

また、他のユーザーのパスワードも、単純にユーザー名を引数として渡すことで変更することができます。
$ sudo passwd username
17. グループコマンド
ユーザーが所属するグループを確認するには、次のようにgroupsコマンドを実行します。
$ groups OR $ groups tecmint tecmint sudo
18. duコマンド
ファイルやフォルダのディスク使用量を監視したいですか?ディスク使用量を確認するための標準コマンドであるduコマンドを使用します。
次のような基本的な構文に従います。
$ du OPTIONS FILE
例えば、現在のディレクトリでディスク使用量を人が読める形式で表示するには、次のコマンドを実行します:
$ du -h .
他のディレクトリのディスク使用量をチェックするには、例えば/var/log/で次のコマンドを実行します:
$ du -h /var/log

19. dfコマンド
dfコマンド(ディスクフリーの略)は、様々なファイルシステムの合計ディスク容量、使用中の容量、および利用可能なディスク容量をチェックします。以下に示す構文を取ります:
$ df OPTIONS FILE
最も重要なオプションは-T
と-h
です。-T
フラグはファイルシステムのタイプを表示し、-h
フラグは出力を人が読める形式で表示します。
以下のコマンドは、すべてのファイルシステムの空きディスク容量をリストします。
$ df -Th

20. chownコマンド
chownコマンドは、ファイルやディレクトリのユーザーおよびグループの所有権を変更するために使用されます。ディレクトリの内容をls -lコマンドを使用してリストすると、ここに示すような出力が得られます。
$ ls -l

3番目と4番目の列に、tecmint tecmintと明確に表示されます。最初のエントリはユーザーを指し、2番目のエントリはグループを示し、これもtecmintです。新しいユーザーが作成されると、新しいデフォルトグループが割り当てられ、デフォルトでそのユーザーだけがメンバーとなります。これは、ファイルやディレクトリが誰とも共有されていないことを示すものです。
chownコマンドを使用すると、ファイルの所有権を簡単に変更できます。所有者の名前をコロン(:)で区切って、グループ名を指定します。これは昇格されたタスクであり、sudoコマンドを実行する必要があります。
例えば、file1.txtのグループをjamesに変更し、所有者をtecmintのままにするには、次のコマンドを実行します:
$ sudo chown tecmint:james file1.txt $ ls -l

所有者とグループの両方を変更するには、次のコマンドを実行します:
$ sudo chown james:james file1.txt $ ls -l

ディレクトリの所有権を変更する場合は、再帰的に処理するために-R
フラグを使用します。新しいディレクトリdataを作成し、ユーザーとグループをjamesに変更します。
$ sudo chown -R james:james data $ ls -l

21. chmodコマンド
chmodコマンドは、ファイルやフォルダーのパーミッションを設定または変更するために使用されます。 ls -lコマンドの出力に戻ります。最初の列には以下の文字が含まれています
drwxrwxrwx
最初の文字( d )
はディレクトリであることを示しています。ファイルはハイフン( - )
で表されます。残りの9文字は、3つのrwx(読み取り、書き込み、実行)フラグに分かれています。最初のセットはファイル所有者(u)を表し、2番目のセットはグループ(g)を表し、最後のセットはすべてのその他のユーザーを表します。
ファイルのパーミッションを割り当てる方法には、数値表記とシンボル(テキスト)表記の2つがあります。数値表記では、各フラグが示す値が表示されます。
r = 4 w = 2 x = 1 No permissions = 0
ファイルのパーミッションを取得するには、すべてのセットに対応する値を追加します。例:
drwxrwxr-x
- 所有者のファイル(u)rwx = 4+2+1 = 7
- グループ(g)の場合、rwx = 4+2+1 = 7
- その他(o)の場合、r-x = 4+0+1 = 5
最終的に、表記は775になります。
別の例としてfile 1.txtを見てみましょう。
-rw-rw-r-- 1 james james 59 Mar 6 18:03 file1.txt
ここでは、rw-rw-r–があります。
合計を計算しましょう。
- ファイルの所有者(u)の場合、rw- = 4+2+0 = 6
- グループ(g)の場合、rw- = 4+2+0 = 6
- その他(o)の場合、r– = 4+0+0 = 4
これは664になります。
これを775に設定します。これにより、ファイルの所有者とグループにはすべての権限が与えられます – つまりrwxであり、他のユーザーは読み取りと実行の権限のみが与えられます。
コマンドを実行します:
$ sudo chmod 775 file1.txt

権限を割り当てる別の方法は、シンボリック表記を使用することです。シンボリック表記を使用すると、指定された権限を追加または削除するために次のフラグが使用されます
-
– 権限を削除します。+
– 指定された権限を追加します。=
– 現在の権限を指定された権限に設定します。=記号の後に権限が指定されていない場合、指定されたユーザークラスからすべての権限が削除されます。
例えば、すべてのセットから実行権限を削除するには、ファイルの所有者、グループメンバー、およびその他のユーザーから実行します
$ sudo chmod a-x file1.txt

グループメンバーに読み取り権限のみを割り当て、書き込みと実行を割り当てないようにするには、実行します。
$ sudo chmod g=r file1.txt

他のユーザーから書き込み権限を削除するには、実行します。
$ sudo chmod o-r file1.txt

グループメンバーや他のユーザーに読み書き権限を与えるには、次のコマンドを実行してください:
$ sudo chmod og+rw file1.txt

ディレクトリに権限を割り当てるには、-R
フラグを使用して権限を再帰的に設定します。
例:
$ sudo chmod -R 755 /var/www/html
22. 電源オフ / 再起動コマンド
名前の通り、poweroffコマンドはシステムをシャットダウンします。
$ poweroff
同じタスクを達成する別のコマンドは、shutdown コマンドです。
$ shutdown -h now
-h
フラグは停止を意味する halt を表し、システムを停止します。2番目のパラメータは時間オプションで、分や時間で指定することもできます。
以下のコマンドは、5分後に予定されているシステムのシャットダウンをすべてのログインユーザーに通知するメッセージを表示します。
$ shutdown -h +5 “System is shutting down shortly. Please save your work.”
システムを再起動するには、表示されている reboot コマンドを使用してください。
$ reboot
または、表示されている -r
オプションを使用して shutdown コマンドを使用して再起動することもできます。
$ shutdown -r now
23. exit コマンド
exitコマンドはターミナルを閉じるかシェルを終了します。SSHセッションを開始している場合、セッションが閉じられます。
$ exit
24. man コマンド
manコマンドは、Linuxコマンドのマニュアルページを表示します。コマンドの使用方法を確認したいときに便利です。コマンドの詳細な説明、簡単な概要、オプション、戻りステータス、著者などが含まれます。
例えば、lsコマンドのインサイトを表示するには、次のように実行します:
$ man ls

結論
これは、システムを管理し、さまざまなインサイトを収集するのに役立つシステムコマンドのリストでした。言うまでもなく、練習は完璧を生むということです。そして、定期的にこれらのコマンドを練習することは、システムをより良く、鋭くするのに役立ちます。