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