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


この記事はLFCAシリーズのパート3です。このパートでは、LFCA認定試験に必要な最も広く使用されているLinuxシステム管理コマンドの24をリストします。

Linuxシステムには、システムの管理に使用できるコマンドの膨大なプールが用意されており、それらは次のとおりです。

1.稼働時間コマンド

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             [email protected]   IDLE   JCPU   PCPU WHAT
tecmint  tty7     :0               09:21    2:04m  7:52   0.52s xfce4-session

5.無料コマンド

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.トップコマンド

これは、Linuxシステムで役立つツールの1つです。 topコマンドは、現在実行中のプロセスを垣間見ることができ、システムリソースの使用状況の概要もリアルタイムで提供します。

出力の最上部には、稼働時間、実行中のタスク、CPU、およびメモリ使用量に関する情報が表示されます。

$ top

各列が表すものを簡単に分析してみましょう。

  • PID –これはプロセスが識別されるプロセスIDです。
  • USER –これはプロセスを開始または生成したユーザーのユーザー名です。
  • 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コマンド

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

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

$ sudo apt update

タスクを実行する際のパスワードの入力を求められます。

9.エコーコマンド

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”

これによりファイルが上書きされることに注意してください。情報を追加または追加するには、double大なり記号演算子(>>)を使用します。

$ 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

11.ヘッドコマンド

ファイル全体を表示するのではなく、テキストファイルの最初の数行を確認したい場合があります。ヘッドコマンドは、ファイルの最初の数行を表示するコマンドラインツールです。デフォルトでは、最初の10行が表示されていました。

$ head /etc/ssh/ssh_config

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

$ head -n 5 /etc/ssh/ssh_config

12.テールコマンド

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

aliasコマンドを使用すると、便宜上、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列目では、テクミントテクミントをはっきりと見ることができます。これらの最初のエントリはユーザーを指し、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 u003d 4 + 2 + 1 u003d 7
  • グループの場合(g)rwx u003d 4 + 2 + 1 u003d 7
  • その他の(o)の場合r-x u003d 4 + 0 + 1 u003d 5

最後に、表記775に到達します。

ファイル1.txtの別の例を見てみましょう。

-rw-rw-r-- 1 james  james   59 Mar 6 18:03 file1.txt

ここに、rw-rw-r–があります。

それらを合計してみましょう。

  • ファイルの所有者の場合(u)rw- u003d 4 + 2 + 0 u003d 6
  • グループの場合(g)rw- u003d 4 + 2 + 0 u003d 6
  • その他の(o)r– u003d 4 + 0 + 0 u003d 4

これは644になります。

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

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

$ sudo chmod 775 file1.txt

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

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

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

$ 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 -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コマンドは、ターミナルを閉じるか、シェルを終了します。 SSHセッションを開始した場合、セッションは閉じられます。

$ exit

24.マンコマンド

manコマンドはmanualの略で、Linuxコマンドのマニュアルページを表示します。コマンドの使い方を知りたいときに便利です。簡単な概要、オプション、リターンステータス、作成者など、コマンドの詳細な説明が記載されています。

たとえば、lsコマンドの洞察を表示するには、次のコマンドを実行します。

$ man ls

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