- よく使用するコマンドのショートカットを作成するためにエイリアスを使用します。これにより、キーストロークを節約し、異なるシステム間を移動しやすくなります。
- cd、mkdir、lsはターミナルからLinuxオペレーティングシステムを使用するために不可欠であり、それらの仕組みを覚えておくよう努める必要があります。
- 特定のコマンドの仕組みを忘れた場合は、「man」コマンドが優れた組み込みリソースです。
Linux初心者ですか?それとも少し忘れてしまいましたか?ここに知っておくべきすべてのコマンドがあります。Linuxターミナルの基本的なリファレンスとして考えてください。これはmacOSのコマンドラインにも適用されます。
ターミナルのための最高のLinuxコマンド
Linuxには多数のコマンドが含まれていますが、ここでは最も重要な37個を選びました。これらのコマンドを習得すれば、Linuxのコマンドプロンプトをより使いこなせるようになります。
以下のリストはアルファベット順に並んでいます。リスト内でのコマンドの位置は、その有用性や単純さを表すものではありません。コマンドの使用方法については、必ずそのマニュアルページを参照してください。man
コマンドは、もちろん、私たちのリストにあります。それは「マニュアル」の略です。
1. alias
aliasコマンドを使用すると、コマンドやコマンドのシーケンスに独自の名称を付けることができます。その後、その短い名前を入力すると、シェルがそのコマンドやコマンドのシーケンスを実行します。
alias cls=clear
これはcls
というエイリアスを設定します。これはclear
の別の名前になります。cls
と入力すると、clear
と入力した場合と同じように画面がクリアされます。エイリアスは確かにキーストロークを節約できます。しかし、WindowsとLinuxのコマンドラインの間を頻繁に移動する場合は、意味がわからないLinuxマシンでWindowsのcls
コマンドを入力してしまう可能性があります。これで意味がわかるようになります。
エイリアスは、その単純な例よりもはるかに複雑になる可能性があります。コマンドシーケンスを引用符で囲んでいることに注意してください。コマンドシーケンスにスペースが含まれている場合は、これが必須です。このエイリアスはps
コマンドを使用して実行中のプロセスを一覧表示し、それらをgrep
コマンドにパイプします。grep
コマンドはps
の出力から$1
というコマンドラインパラメータに一致するエントリを検索します。
alias pf="ps -e | grep $1"
shutter
プロセスのプロセスID(PID)を知りたい場合、またはshutter
が実行されているかどうかを確認したい場合は、次のようにエイリアスを使用できます。pf
と入力し、スペースと、関心のあるプロセスの名前を入力します。
pf shutter
コマンドラインで定義されたエイリアスは、ターミナルウィンドウが閉じると消えます。閉じると、それらはなくなります。エイリアスを常に利用できるようにするには、ホームディレクトリの.bash_aliases
ファイルに追加します。
2. cat
cat
コマンド(「連結」の略)は、ファイルの内容をターミナルウィンドウに一覧表示します。これは、エディタでファイルを開くよりも速く、ファイルを誤って変更してしまう可能性もありません。.bash_log_out
ファイルの内容を読み取るには、ホームディレクトリがデフォルトどおり現在の作業ディレクトリであるときに、次のコマンドを入力します。
cat .bash_logout
ターミナルウィンドウの行数よりも長いファイルの場合、テキストは速すぎて読み取ることができません。cat
からの出力をless
にパイプして、プロセスをより管理しやすくすることができます。less
を使用すると、上下矢印キー、PgUpキーとPgDnキー、HomeキーとEndキーを使用して、ファイル内を前後にスクロールできます。終了するには、q
を入力します。
cat .bashrc | less
3. cd
cd
コマンドは、現在のディレクトリを変更します。言い換えると、ファイルシステムの新しい場所に移動します。
現在のディレクトリ内にあるディレクトリに変更する場合は、cd
と他のディレクトリの名前を入力するだけです。
cd work
ファイルシステムディレクトリツリー内の他の場所にあるディレクトリに変更する場合は、先頭に/
を付けてディレクトリへのパスを指定します。
cd /usr/local/bin
ホームディレクトリにすばやく戻るには、ディレクトリ名として~
(チルダ)文字を使用します。
cd ~
もう1つのトリックを紹介します。二重ドット記号..
を使用して、現在のディレクトリの親を表すことができます。次のコマンドを入力して、ディレクトリを1つ上に移動します。
cd ..
ディレクトリにいると想像してください。親ディレクトリには、現在いるディレクトリに加えて他のディレクトリも含まれています。それらの他のディレクトリのいずれかに移動するには、..
記号を使用して入力する内容を短縮できます。
cd ../games
4. chmod
chmod
コマンドは、ファイルまたはフォルダのファイルアクセス権フラグを設定します。フラグは、ファイルの読み取り、書き込み、または実行を許可するユーザーを定義します。-l
(ロングフォーマット)オプションを使用してファイルをリストすると、次のような文字列が表示されます。
-rwxrwxrwx
最初の文字が-
の場合、アイテムはファイルです。d
の場合、アイテムはディレクトリです。文字列の残りは3文字の3つのセットです。左から最初の3つは所有者のファイルアクセス権を表し、真ん中の3つはグループのファイルアクセス権を表し、右端の3つの文字は他の人のアクセス権を表します。各セットで、r
は読み取り、w
は書き込み、x
は実行を表します。
r
、w
、またはx
の文字が存在する場合、そのファイルアクセス権が許可されます。文字が存在せず、代わりに-
が表示されている場合、そのファイルアクセス権は許可されません。
chmod
を使用する1つの方法は、所有者、グループ、および他の人に与えるアクセス権を3桁の数字として指定することです。左端の桁は所有者を表します。中央の桁はグループを表します。右端の桁は他の人を表します。使用できる桁とその意味を次に示します。
- 0:アクセス権なし
- 1:実行権限
- 2:書き込み権限
- 3:書き込みと実行権限
- 4:読み取り権限
- 5:読み取りと実行権限
- 6:読み取りと書き込み権限
- 7:読み取り、書き込み、および実行権限
example.txtファイルを見ると、3つの文字セットがすべてrwx
であることがわかります。つまり、誰もがファイルの読み取り、書き込み、および実行権限を持っています。
所有者の読み取り、書き込み、および実行(リストの7)、グループの読み取りと書き込み(リストの6)、および他の人の読み取りと実行(リストの5)のアクセス権を設定するには、chmod
コマンドで数字765を使用する必要があります。
chmod -R 765 example.txt
所有者の読み取り、書き込み、および実行(リストの7)、およびグループと他の人の読み取りと書き込み(リストの6)のアクセス権を設定するには、chmod
コマンドで数字766を使用する必要があります。
chmod 766 example.txt
5. chown
chown
コマンドを使用すると、ファイルの所有者とグループの所有者を変更できます。ls -l
を使用してexample.txtファイルをリストすると、ファイルの説明にdave dave
が表示されます。これらの一番目はファイル所有者の名前を示し、この場合はユーザーdave
です。2番目のエントリは、グループ所有者の名前もdave
であることを示しています。各ユーザーには、ユーザーが作成されるときに作成されたデフォルトのグループがあります。そのユーザーはそのグループの唯一のメンバーです。これは、ファイルが他のユーザーグループと共有されていないことを示しています。
chown
を使用して、ファイルの所有者、グループ、またはその両方を変更できます。所有者とグループの名前を:
文字で区切って指定する必要があります。sudo
を使用する必要があります。ファイルの所有者はdaveのままですが、グループの所有者はmaryに設定するには、次のコマンドを使用します。
sudo chown dave:mary example.txt
所有者とグループの所有者の両方をmaryに変更するには、次のコマンドを使用します。
sudo chown mary:mary example.txt
ファイルを変更して、daveが再びファイルの所有者とグループの所有者になるようにするには、次のコマンドを使用します。
sudo chown dave:dave example.txt
6. curl
curl
コマンドは、Uniform Resource Locator(URL)またはインターネットアドレスから情報やファイルを取得するためのツールです。
curl
コマンドは、Linuxディストリビューションの標準部分として提供されない場合があります。Ubuntuまたはその他のDebianベースのディストリビューションを使用している場合は、apt-get
を使用してこのパッケージをシステムにインストールします。他のLinuxディストリビューションでは、代わりにLinuxディストリビューションのパッケージ管理ツールを使用します。
sudo apt-get install curl
GitHubリポジトリから単一のファイルを取得したいとします。これを行うために公式にサポートされている方法は存在しません。リポジトリ全体をクローンする必要があります。しかし、curl
を使用すれば、必要なファイルを単独で取得できます。
このコマンドはファイルを取得します。-o
(出力)オプションを使用して、保存するファイルの名前を指定する必要があることに注意してください。これを行わないと、ファイルの内容がターミナルウィンドウで高速にスクロールされますが、コンピュータに保存されません。
curl https://raw.githubusercontent.com/torvalds/linux/master/kernel/events/core.c -o core.c
ダウンロードの進行状況情報を見たくない場合は、-s
(サイレント)オプションを使用します。
curl -s https://raw.githubusercontent.com/torvalds/linux/master/kernel/events/core.c -o core.c
7. df
df
コマンドは、コンピュータのマウントされたファイルシステムのサイズ、使用済み領域、および使用可能領域を示します。
最も便利なオプションの2つは、-h
(人間が読める)オプションと-x
(除外)オプションです。人間が読めるオプションは、サイズをバイトではなく、MbまたはGbで表示します。除外オプションを使用すると、関心のないファイルシステムをdf
で無視することができます。たとえば、snap
コマンドでアプリケーションをインストールするときに作成されるsquashfs
疑似ファイルシステムです。
df -h -x squashfs
8. diff
diff
コマンドは2つのテキストファイルを比較し、その違いを示します。要件に合わせて表示を調整するためのオプションが数多くあります。
-y
(横並び)オプションは、行の差を横並びで表示します。-w
(幅)オプションを使用すると、折り返し行を避けるために使用する最大行幅を指定できます。この例では、2つのファイルはalpha1.txtとalpha2.txtと呼ばれます。--suppress-common-lines
は、diff
が一致する行をリスト表示するのを防ぎ、差がある行に集中できるようにします。
diff -y -W 70 alpha1.txt alpha2.txt --suppress-common-lines
9. echo
echo
コマンドは、テキスト文字列をターミナルウィンドウに印刷(エコー)します。
以下のコマンドは、「A string of text」という単語をターミナルウィンドウに印刷します。
echo A string of text
echo
コマンドは、環境変数の値を表示できます。たとえば、$USER
、$HOME
、および$PATH
環境変数です。これらは、ユーザーの名前、ユーザーのホームディレクトリ、およびユーザーがコマンドラインで何かを入力したときに一致するコマンドを検索するパスの値を保持しています。
echo $USER
echo $HOME
echo $PATH
次のコマンドを実行すると、ビープ音が鳴ります。-e
(エスケープコード)オプションは、エスケープされたa文字を「ベル」文字として解釈します。
echo -e "\a"
echo
コマンドは、シェルスクリプトでも非常に貴重です。スクリプトは、このコマンドを使用して、実行時にスクリプトの進行状況や結果を示す視覚的な出力を生成できます。
10. exit
exitコマンドは、ターミナルウィンドウを閉じ、シェルスクリプトの実行を終了するか、SSHリモートアクセスセッションからログアウトします。
exit
11. find
find
コマンドを使用して、場所がわからない場合でも、存在がわかっているファイルを追跡します。find
にどこから検索を開始し、何を検索するかを伝える必要があります。この例では、.
は現在のフォルダと一致し、-name
オプションは、find
に検索パターンと一致する名前のファイルを探すように指示します。
ワイルドカードを使用できます。ここで、*
は任意の文字列を表し、?
は任意の1文字を表します。*ones*
を使用して、「ones」というシーケンスを含むファイル名と一致します。これにより、bones、stones、lonesomeなどの単語が一致します。
find . -name *ones*
ご覧のとおり、find
は一致する項目のリストを返しました。そのうちの1つは、Ramonesという名前のディレクトリです。find
にファイルのみに検索を制限するように指示できます。-type
オプションとf
パラメータを使用してこれを行います。f
パラメータはファイルを意味します。
find . -type f -name *ones*
検索で大文字と小文字を区別しないようにするには、-iname
(大文字と小文字を区別しない名前)オプションを使用します。
find . -iname *wild*
12. finger
finger
コマンドは、ユーザーの前回のログイン時刻、ユーザーのホームディレクトリ、およびユーザーアカウントのフルネームを含む、ユーザーに関する情報の短いダンプを提供します。
13. free
free
コマンドは、コンピュータのメモリ使用量の概要を示します。これは、メインのランダムアクセスメモリ(RAM)とスワップメモリに対して行われます。-h
(ヒューマン)オプションは、人間に優しい数値と単位を提供するために使用されます。このオプションを使用しないと、数値はバイトで表示されます。
free -h
14. grep
grep
ユーティリティは、検索パターンを含む行を検索します。エイリアスコマンドを見たとき、grep
を使用して別のプログラムps
の出力を検索しました。grep
コマンドはファイルの内容を検索することもできます。ここでは、現在のディレクトリにあるすべてのテキストファイルで「train」という単語を検索しています。
grep train *.txt
出力にはファイル名がリストされ、一致する行が表示されます。一致するテキストはハイライト表示されます。
grep
の機能と純粋な有用性は、間違いなくそのマニュアルページをチェックする価値があります。
15. groups
groups
コマンドは、ユーザーがメンバーになっているグループを示します。
groups dave
groups mary
16. gzip
gzip
コマンドはファイルを圧縮します。デフォルトでは、元のファイルが削除され、圧縮されたバージョンが残ります。元のバージョンと圧縮されたバージョンの両方を保持するには、-k
(保持)オプションを使用します。
gzip -k core.c
17. head
head
コマンドは、ファイルの先頭10行をリスト表示します。より少ない行またはより多くの行を表示したい場合は、-n
(番号)オプションを使用します。この例では、head
をデフォルトの10行で使用します。その後、5行のみを要求してコマンドを繰り返します。
head -core.c
head -n 5 core.c
18. history
historyコマンドは、以前にコマンドラインで発行したコマンドをリスト表示します。感嘆符!
と履歴リストからコマンドの番号を入力することで、履歴から任意のコマンドを繰り返すことができます。
!188
2つの感嘆符を入力すると、前のコマンドが繰り返されます。
!!
19. kill
kill
コマンドを使用すると、コマンドラインからプロセスを終了できます。これを行うには、kill
するプロセスのプロセスID(PID)を指定します。無闇矢鱈にプロセスを終了させないでください。そうするには正当な理由が必要です。この例では、shutter
プログラムがロックされたとします。
shutter
のPIDを見つけるには、上記のalias
コマンドに関するセクションからps
とgrep
のトリックを使用します。次のようにshutter
プロセスを検索し、そのPIDを取得できます。
ps -e | grep shutter.
この場合、PIDが1692であることが判明したら、次のように終了できます。
kill 1692
20. less
less
コマンドを使用すると、エディタを開かずにファイルを表示できます。使用が速く、誤ってファイルを修正してしまう可能性はありません。less
を使用すると、上下矢印キー、PgUpキーとPgDnキー、およびHomeキーとEndキーを使用して、ファイル内を前後にスクロールできます。less
を終了するには、Qキーを押します。
ファイルを表示するには、次のようにless
にその名前を指定します。
less core.c
他のコマンドからの出力をless
にパイプすることもできます。ハードドライブ全体の一覧をls
から出力を見るには、次のコマンドを使用します。
ls -R / | less
/
を使用してファイル内を前方に検索し、?
を使用して後方に検索します。
21. ls
これは、ほとんどのLinuxユーザーが最初に使用するコマンドかもしれません。指定したディレクトリ内のファイルとフォルダーをリスト表示します。デフォルトでは、ls
は現在のディレクトリを調べます。ls
には使用できるオプションが非常に多くあります。そのマニュアルページを詳しく確認することを強くお勧めします。一般的な例をいくつか紹介します。
現在のディレクトリ内のファイルとフォルダーをリストするには、次の手順を実行します。
ls
現在のディレクトリ内のファイルとフォルダーを詳細なリストでリストするには、-l
(ロング)オプションを使用します。
ls -l
人間に優しいファイルサイズを使用するには、-h
(ヒューマン)オプションを含めます。
ls -lh
隠しファイルを含めるには、-a
(すべてのファイル)オプションを使用します。
ls -lha
22. man
manコマンドは、less
内のコマンドの「マニュアルページ」を表示します。マニュアルページはそのコマンドのユーザーマニュアルです。man
はless
を使用してマニュアルページを表示するため、less
の検索機能を使用できます。
たとえば、chown
のマニュアルページを表示するには、次のコマンドを使用します。
man chown
上矢印キーと下矢印キー、またはPgUpキーとPgDnキーを使用して、ドキュメントをスクロールします。マニュアルページを終了するにはq
を、ヘルプを表示するにはh
を押します。
23. mkdir
mkdir
コマンドを使用すると、ファイルシステムに新しいディレクトリを作成できます。mkdir
に新しいディレクトリの名前を指定する必要があります。新しいディレクトリが現在のディレクトリ内にない場合は、新しいディレクトリへのパスを指定する必要があります。
「invoices」と「quotes」という2つの新しいディレクトリを現在のディレクトリに作成するには、次の2つのコマンドを使用します。
mkdir invoices
mkdir quotes
「invoices」ディレクトリ内に「2019」という名前の新しいディレクトリを作成するには、次のコマンドを使用します。
mkdir invoices/2109
ディレクトリを作成する予定ですが、その親ディレクトリが存在しない場合は、-p
(親)オプションを使用して、mkdir
に必要な親ディレクトリをすべて作成することもできます。次のコマンドでは、「quotes」ディレクトリ内の「yearly」ディレクトリ内に「2019」ディレクトリを作成しています。「yearly」ディレクトリは存在しませんが、mkdir
を使用して指定したディレクトリをすべて一度に作成できます。
mkdir -p quotes/yearly/2019
「yearly」ディレクトリも作成されます。
24. mv
mv
コマンドを使用すると、ファイルとディレクトリをディレクトリからディレクトリに移動できます。ファイルの名前を変更することもできます。
ファイルを移動するには、mv
にファイルの場所と移動先の場所を伝える必要があります。この例では、Apache.pdf
という名前のファイルを「~/Document/Ukulele」ディレクトリから移動し、単一の.
文字で表される現在のディレクトリに配置します。
mv ~/Documents/Ukulele/Apache.pdf .
ファイルを名前変更するには、新しい名前で新しいファイルに「移動」します。
mv Apache.pdf The_Shadows_Apache.pdf
ファイルの移動と名前変更のアクションは1つの手順で実行できます。
mv ~/Documents/Ukulele/Apache.pdf ./The_Shadows_Apache.pdf
25. passwd
passwd
コマンドを使用すると、ユーザーのパスワードを変更できます。自分のパスワードを変更するには、passwd
と入力するだけです。
別のユーザーアカウントのパスワードを変更することもできますが、sudo
を使用する必要があります。新しいパスワードを2回入力するように求められます。
sudo passwd mary
26. ping
ping
コマンドを使用すると、別のネットワークデバイスとのネットワーク接続があることを確認できます。通常、ネットワークの問題のトラブルシューティングに使用されます。ping
を使用するには、他のデバイスのIPアドレスまたはマシン名を指定します。
ping 192.168.4.18
ping
コマンドは、Ctrl+Cで停止するまで実行されます。
ここでの状況を説明します。
- IPアドレス192.168.4.18のデバイスは、pingリクエストに応答し、64バイトのパケットを返しています。
- インターネット制御メッセージプロトコル(ICMP)シーケンス番号により、欠落した応答(ドロップパケット)を確認できます。
- TTL値はパケットの「存続時間」です。パケットがルーターを通過するたびに、(本来は)1ずつ減少します。0に達すると、パケットは破棄されます。これは、ネットワークのループバックの問題がネットワークをフラッディングするのを防ぐことを目的としています。
- 時間値は、コンピュータからデバイスまで、およびその逆の往復時間です。単純に言えば、この時間が短ければ短いほど優れています。
ping
に特定の数のping試行を実行するように要求するには、-c
(カウント)オプションを使用します。
ping -c 5 192.168.4.18
ping音を聞くには、-a
(可聴)オプションを使用します。
ping -a 192.168.4.18
27. ps
ps
コマンドは、実行中のプロセスをリスト表示します。オプションを指定せずにps
を使用すると、現在のシェルで実行中のプロセスがリスト表示されます。
ps
特定のユーザーに関連するすべてのプロセスを表示するには、-u
(ユーザー)オプションを使用します。これは長いリストになる可能性があるため、less
にパイプすることが便利です。
ps -u dave | less
実行中のすべてのプロセスを表示するには、-e
(すべてのプロセス)オプションを使用します。
ps -e | less
28. pwd
簡単明瞭なpwd
コマンドは、ルートディレクトリからの作業ディレクトリ(現在のディレクトリ)を出力します。
pwd
29. shutdown
shutdownコマンドを使用すると、Linuxシステムをシャットダウンまたは再起動できます。
パラメーターを指定せずにshutdown
を使用すると、1分でコンピュータがシャットダウンされます。
shutdown
すぐにシャットダウンするには、now
パラメーターを使用します。
shutdown now
シャットダウンをスケジュールして、ログインしているユーザーに保留中のシャットダウンを通知することもできます。shutdown
コマンドにシャットダウンする時刻を伝えるには、時刻を指定します。これは、+90
などの現在から数分の数、または23:00
などの正確な時刻にすることができます。提供したテキストメッセージは、ログインしているユーザーにブロードキャストされます。
shutdown 23:00 Shutdown tonight at 23:00, save your work and log out before then!
シャットダウンをキャンセルするには、-c
(キャンセル)オプションを使用します。ここでは、15分後にシャットダウンをスケジュールしましたが、その後気が変わりました。
shutdown +15 Shutting down in 15 minutes!
shutdown -c
30. SSH
sshコマンドを使用してリモートLinuxコンピュータへの接続を行い、自分のアカウントにログインします。接続するには、ユーザー名とリモートコンピュータのIPアドレスまたはドメイン名を入力する必要があります。この例では、ユーザーのmaryが192.168.4.23のコンピュータにログインしています。接続が確立されると、パスワードが求められます。
ssh [email protected]
彼女のユーザー名とパスワードが検証されて受け入れられ、彼女はログインしました。彼女のプロンプトが「Nostromo」から「howtogeek」に変更されたことに注意してください。
Maryはw
コマンドを発行して、「howtogeek」システムの現在のユーザーをリスト表示します。彼女はpts/1から接続されているとリスト表示されます。これは擬似ターミナルスレーブです。つまり、コンピュータに直接接続されたターミナルではありません。
セッションを終了するには、maryがexit
と入力して「Nostromo」コンピュータのシェルに戻ります。
w
exit
31. sudo
sudo
コマンドは、別のユーザーのパスワードを変更するなど、rootまたはスーパーユーザーの権限が必要な操作を実行する場合に必要です。
sudo passwd mary
32. tail
tail
コマンドを使用すると、ファイルの最後の10行をリスト表示します。より少ない行またはより多くの行を表示したい場合は、-n
(番号)オプションを使用します。この例では、tail
をデフォルトの10行で使用します。その後、コマンドを繰り返して5行のみを要求します。
tail core.c
tail -n 5 core.c
33. tar
tar
コマンドを使用すると、他の多くのファイルを含めることができるアーカイブファイル(tarballとも呼ばれます)を作成できます。これにより、ファイルのコレクションを配布するのがはるかに便利になります。tar
を使用して、アーカイブファイルからファイルを抽出することもできます。tar
にアーカイブを圧縮するように要求するのが一般的です。圧縮を要求しない場合、アーカイブファイルは圧縮されずに作成されます。
アーカイブファイルを作成するには、アーカイブファイルに含めるファイルと、アーカイブファイルに付ける名前をtar
に伝える必要があります。
この例では、ユーザーは現在のディレクトリにあるUkuleleディレクトリ内のすべてのファイルをアーカイブします。
彼らは-c
(作成)オプションと-v
(詳細)オプションを使用しています。詳細オプションは、アーカイブに追加されるときにターミナルウィンドウにファイルを表示することで、視覚的なフィードバックを提供します。-f
(ファイル名)オプションの後に、アーカイブの目的の名前が続きます。この場合、それはsongs.tar
です。
tar -cvf songs.tar Ukulele/
ファイルは、アーカイブファイルに追加されるとターミナルウィンドウにリスト表示されます。
アーカイブファイルの圧縮をtar
に指示する方法は2つあります。1つ目は-z
(gzip)オプションです。これにより、tarは作成後にgzip
ユーティリティを使用してアーカイブを圧縮します。
このタイプのアーカイブには「.gz」をサフィックスとして追加するのが一般的です。これにより、ファイルからファイルを抽出する人は、ファイルを正しく取得するためにtar
に渡すコマンドがわかります。
tar -cvzf songs.tar.gz Ukulele/
ファイルは、以前と同様にアーカイブファイルに追加されるとターミナルウィンドウにリストされますが、圧縮に必要な時間があるため、アーカイブの作成には少し時間がかかります。
より優れた圧縮アルゴリズムを使用してアーカイブファイルを圧縮し、より小さなアーカイブファイルにするには、-j
(bzip2)オプションを使用します。
tar -cvjf songs.tar.bz2 Ukulele/
ここでも、アーカイブが作成されるとファイルがリストされます。-j
オプションは-z
オプションよりも明らかに遅いです。
非常に多くのファイルをアーカイブしている場合は、-z
オプションで妥当な圧縮と妥当な速度を選択するか、-j
オプションでより優れた圧縮とより遅い速度を選択する必要があります。
以下のスクリーンショットでわかるように、「.tar」ファイルが最も大きく、「.tar.gz」が小さく、「.tar.bz2」が最も小さいアーカイブです。
アーカイブファイルからファイルを抽出するには、-x
(抽出)オプションを使用します。-v
(詳細)オプションと-f
(ファイル名)オプションは、アーカイブを作成する場合と同様に動作します。ls
を使用して、どのタイプのアーカイブからファイルを抽出するのかを確認してから、次のコマンドを発行します。
ls
tar -xvf songs.tar
ファイルは、抽出されるとリスト表示されます。Ukuleleディレクトリも再作成されることに注意してください。
「.tar.gz」アーカイブからファイルを抽出するには、-z
(gzip)オプションを使用します。
tar -xvzf songs.tar.gz
最後に、「.tar.bz2」アーカイブからファイルを抽出するには、-z
(gzip)オプションの代わりに-j
オプションを使用します。
tar -xvjf songs.tar.bz2
34. top
top
コマンドは、Linuxマシンのデータに関するリアルタイムの表示を示します。画面の上部はステータスのサマリーです。
最初の行には、時刻とコンピュータの実行時間、ログインしているユーザーの数、および過去1分、5分、15分のロードアベレージが表示されます。
2行目には、タスクの数とその状態(実行中、停止中、スリープ中、ゾンビ)が表示されます。
3行目にはCPU情報が表示されます。フィールドの意味を次に示します。
- us: 値はCPUが「ユーザー空間」でユーザーのプロセスを実行するために費やすCPU時間です
- sy: 値は、システム「カーネル空間」プロセスを実行するために費やされるCPU時間です
- ni: 値は、手動で設定されたnice値を持つプロセスを実行するために費やされるCPU時間です
- id: は、CPUのアイドル時間の量です
- wa: 値は、CPUがI/Oの完了を待機するために費やす時間です
- hi: ハードウェア割り込みの処理に費やされるCPU時間
- si: ソフトウェア割り込みの処理に費やされるCPU時間
- st: 仮想マシンの実行によるCPU時間の損失(「スティール時間」)
4行目には、物理メモリの合計量と、空き容量、使用量、バッファリングまたはキャッシュされている容量が表示されます。
5行目には、スワップメモリの合計量と、空き容量、使用量、利用可能な容量(キャッシュから回復できると予想されるメモリを考慮)が表示されます。
ユーザーはEキーを押して、バイトを表す長い整数ではなく、より人間が消化しやすい数字に表示を変更しました。
メインディスプレイの列は次のとおりです。
- PID: プロセスID
- USER: プロセスの所有者の名前
- PR: プロセスの優先度
- NI: プロセスのnice値
- VIRT: プロセスによって使用される仮想メモリ
- RES: プロセスによって使用される常駐メモリ
- SHR: プロセスによって使用される共有メモリ
- S: プロセスのステータス。このフィールドが取り得る値のリストを以下に示します
- %CPU: 最後の更新以降にプロセスによって使用されたCPU時間のシェア
- %MEM: 使用された物理メモリのシェア
- TIME+: タスクによって使用された合計CPU時間(100分の1秒単位)
- COMMAND: コマンド名またはコマンドライン(名前+オプション)
(コマンド列はスクリーンショットに収まりませんでした。)
プロセスのステータスは次のいずれかになります。
- D: 中断不能スリープ
- R: 実行中
- S: スリープ中
- T: トレース(停止)
- Z: ゾンビ
Qキーを押してtop
を終了します。
35. uname
uname
コマンドを使用すると、作業しているLinuxコンピュータに関するシステム情報を取得できます。
- すべてを見るには、
-a
(すべて)オプションを使用します。 - カーネルの種類を見るには、
-s
(カーネル名)オプションを使用します。 - カーネルリリースを見るには、
-r
(カーネルリリース)オプションを使用します。 - カーネルバージョンを見るには、
-v
(カーネルバージョン)オプションを使用します。
uname -a
uname -s
uname -r
uname -v
36. w
w
コマンドは、現在ログインしているユーザーをリスト表示します。
w
37. whoami
whoami
を使用して、自分がログインしているユーザーまたは無人Linux端末にログインしているユーザーを確認します。
whoami
これがあなたのツールキットです
Linuxを学ぶことは、他のことを学ぶことと似ています。これらのコマンドに慣れるには、少し練習が必要です。これらのコマンドをすぐに使用できるようになれば、習熟への道のりを順調に進めることができます。
古いジョークがあります。おそらくUnixと同じくらい古いジョークでしょう。知る必要がある唯一のコマンドはman
コマンドだと言っています。それには一理ありますが、manページのいくつかは、紹介なしでは理解できません。このチュートリアルは、必要な紹介を提供します。
コメントする