ウェブサイト検索

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


この記事は LFCA シリーズのパート 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) のみを出力します。

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 です。
  • ユーザー – これは、プロセスを開始または生成したユーザーのユーザー名です。
  • PR – これはタスクのスケジュール優先度です。
  • NI – これはプロセスまたはタスクの優れた価値です。
  • VIRT – これは、タスクによって使用される仮想メモリの合計です。
  • RES – プロセスによって使用されるメモリ。
  • SHR – プロセスによって使用され、他のプロセスによって共有されたメモリの量。
  • %CPU – これはプロセスの CPU 使用率です。
  • %RAM – RAM 使用率。
  • TIME+ – プロセスが実行を開始してから使用された合計 CPU 時間。
  • コマンド – これはプロセス名です。

1 人のユーザーに固有のプロセスを表示するには、次のコマンドを実行します。

top -u tecmint

7. psコマンド

ps コマンドは、現在のシェルで現在実行中のプロセスを PID とともにリストします。

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コマンド

スーパー ユーザー do のかばんである sudo は、通常のユーザーに管理タスクまたは昇格されたタスクを実行する権限を与えるコマンド ライン ユーティリティです。コマンドを使用する前に、ユーザーが最初に sudo グループに追加されていることを確認してください。追加したら、最初に sudo でコマンドを開始します。

たとえば、パッケージ リストを更新するには、次のコマンドを実行します。

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 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.エイリアスコマンド

エイリアス コマンドを使用すると、便宜上、Linux コマンドに独自の名前を割り当てることができます。たとえば、show というエイリアスをコマンド ls -a に割り当てるには、次のように alias コマンドを実行します。

alias show=ls -a
show

16. passwdコマンド

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

passwd

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

さらに、ユーザーのユーザー名を引数として渡すだけで、別のユーザーのパスワードを変更できます。

sudo passwd username

17.グループコマンド

ユーザーがどのグループに属しているかを確認するには、次のように groups コマンドを実行します。

groups
OR
groups tecmint

tecmint sudo

18. デュコマンド

ファイルやフォルダーのディスク使用状況を監視したいですか? du コマンド (ディスク使用量の略) は、ファイルとディレクトリのディスク使用量を確認するための標準コマンドです。

このコマンドは、次に示す基本構文に従います。

 du OPTIONS FILE

たとえば、現在のディレクトリのディスク使用量を人間が判読できる形式で表示するには、次のコマンドを実行します。

du -h .

別のディレクトリ、たとえば /var/log/ のディスク使用量を確認するには、次のコマンドを実行します。

du -h /var/log

19. dfコマンド

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

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 という表記にたどり着きます。

ファイル 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

これは644 点になります。

これを775に設定します。これにより、ファイルの所有者とグループにすべてのアクセス許可 (rwx など) が与えられ、他のユーザーには読み取りと実行のアクセス許可のみが与えられます。

次のコマンドを実行します。

sudo chmod 775 file1.txt

権限を割り当てるもう 1 つの方法は、シンボリック表記を使用することです。シンボリック表記を使用すると、次のフラグを使用して権限を追加または削除します。

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

たとえば、すべてのセット(ファイルの所有者、グループメンバー、その他のユーザー)から実行権限を削除するには、次のコマンドを実行します。

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

同じタスクを実行するもう 1 つのコマンドは、 図に示すようにシャットダウン コマンドです。

shutdown -h now

-h フラグは停止を表し、システムの停止を意味します。 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

結論

これは、システムの管理を開始し、さまざまな洞察を収集するのに役立つシステム コマンドのリストです。ことわざにあるように、練習すれば完璧になります。そして、言うまでもなく、これらのコマンドを時々練習すると、システムの使い方がより良くなり、より鋭敏になるのに役立ちます。