LFCA:基本的なLinuxシステムコマンドの学習 – パート3

この記事は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
Linux Resource Usage Summary

各列が何を表しているかを簡単に説明しましょう。

  • PID – これはプロセスが識別されるプロセスIDです。
  • USER – これはプロセスを開始または生成したユーザーのユーザー名です。
  • PR – これはタスクのスケジューリング優先度です。
  • NI – これはプロセスまたはタスクの優しい値です。
  • VIRT – これはタスクによって使用される合計仮想メモリです。
  • RES – プロセスが使用するメモリです。
  • SHR – 他のプロセスと共有されるプロセスによって使用されるメモリ量です。
  • %CPU – これはプロセスのCPU使用率です。
  • %RAM – RAM使用率のパーセンテージです。
  • TIME+ – プロセスが実行されてからの合計CPU時間です。
  • COMMAND – これはプロセス名です。

特定のユーザーに関連するプロセスを表示するには、次のコマンドを実行します。

$ top -u tecmint
Check Linux User Resource Usage

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
Check Linux User Running Processes

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

パスワードを入力すると、タスクが実行されます。

Update Ubuntu Using Sudo User

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
View Previously Executed Commands

11. headコマンド

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

$ head /etc/ssh/ssh_config
View Lines in Text File

-nフラグを追加して表示する行数を指定できます。たとえば、5行を表示するには、次のようにコマンドを実行します:

$ head -n 5 /etc/ssh/ssh_config

12. tailコマンド

tailコマンドheadコマンドの正反対です。ファイルの最後の10行を表示します。

$ tail /etc/ssh/ssh_config
View Last Lines in Text File

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アドレスを解決し、その後リモートサーバーに接続してファイルのダウンロードを開始します。ファイルは現在のディレクトリにダウンロードされます。

Wget Download File in Linux

ファイルを別のディレクトリに保存するには、-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 -ashowというエイリアスを割り当てるには、次のようにaliasコマンドを実行します。

$ alias show=ls -a
$ show
Create Alias in Linux

16. パスワードコマンド

passwdコマンドを使用すると、パスワードを変更することができます。次のようにpasswdコマンドを実行するだけです。

$ passwd

現在のパスワードを入力するように求められます。その後、新しいパスワードを入力し、確認します。

Change User Password

また、他のユーザーのパスワードも、単純にユーザー名を引数として渡すことで変更することができます。

$ 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
Check Linux Disk Usage

19. dfコマンド

dfコマンド(ディスクフリーの略)は、様々なファイルシステムの合計ディスク容量、使用中の容量、および利用可能なディスク容量をチェックします。以下に示す構文を取ります:

$ df OPTIONS FILE

最も重要なオプションは-T-hです。-Tフラグはファイルシステムのタイプを表示し、-hフラグは出力を人が読める形式で表示します。

以下のコマンドは、すべてのファイルシステムの空きディスク容量をリストします。

$ df -Th
Check Linux Filesystem Disk Usage

20. chownコマンド

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

$ ls -l
List Files in Linux

3番目と4番目の列に、tecmint tecmintと明確に表示されます。最初のエントリはユーザーを指し、2番目のエントリはグループを示し、これもtecmintです。新しいユーザーが作成されると、新しいデフォルトグループが割り当てられ、デフォルトでそのユーザーだけがメンバーとなります。これは、ファイルやディレクトリが誰とも共有されていないことを示すものです。

chownコマンドを使用すると、ファイルの所有権を簡単に変更できます。所有者の名前をコロン(:)で区切って、グループ名を指定します。これは昇格されたタスクであり、sudoコマンドを実行する必要があります。

例えば、file1.txtのグループをjamesに変更し、所有者をtecmintのままにするには、次のコマンドを実行します:

$ sudo chown tecmint:james  file1.txt
$ ls -l
Change File Ownership

所有者とグループの両方を変更するには、次のコマンドを実行します:

$ sudo chown james:james  file1.txt
$ ls -l
Change File Ownership in Linux

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

$ sudo chown -R james:james data
$ ls -l
Change Directory Ownership

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
Change Linux File Permissions

権限を割り当てる別の方法は、シンボリック表記を使用することです。シンボリック表記を使用すると、指定された権限を追加または削除するために次のフラグが使用されます

  • - – 権限を削除します。
  • + – 指定された権限を追加します。
  • = – 現在の権限を指定された権限に設定します。=記号の後に権限が指定されていない場合、指定されたユーザークラスからすべての権限が削除されます。

例えば、すべてのセットから実行権限を削除するには、ファイルの所有者、グループメンバー、およびその他のユーザーから実行します

$ sudo chmod a-x file1.txt
Remove Execute File Permissions

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

$ sudo chmod g=r file1.txt
Assign Read Permissions

他のユーザーから書き込み権限を削除するには、実行します。

$ sudo chmod o-r file1.txt
Remove Write Permissions

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

$ sudo chmod og+rw file1.txt
Assign Read and Write Permissions

ディレクトリに権限を割り当てるには、-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
View Linux Command Manual
結論

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

Source:
https://www.tecmint.com/basic-linux-commands/