Linuxのコマンド入門|初心者が覚えておくべきコマンド28選+役立つコマンド5選
本記事では、Linux初心者が最初に理解・暗記すべきコマンドについて記載していきます。Linuxのコマンド総数は膨大な量であり、Linuxを長期間利用しているベテランエンジニアでも、全コマンドを把握することは正直、不可能だと思います。
ただし、通常業務において、頻繁に利用するLinuxコマンドはある程度限られており、これを理解・暗記することでLinuxに対する抵抗がかなり軽減されると思います。
本日は、入門編としてLinuxをやる以上、絶対に最初に覚えるべきコマンド及びそこからレベルを少しずつ上げていく際に優先的に覚えたいコマンドを厳選してお届けします。
1.Linux初心者が押さえておくべきコマンドとは
「安全」、「使用頻度が高い」、「便利」がポイントとなります。例えば、Linuxはコマンドベースとなるため、作業を進めていくとどのパスにいるか把握できなくなる、移動したパス配下にどのようなディレクトリ、ファイルが存在するか等は、WindowsのようにGUIで確認することができません。現在、どのパスにいるか、当該パス配下にどのようなディレクトリ、ファイルが存在するかについては、頻繁に確認する必要があるため、コマンドを把握しておけば、安心です。
2.Linux初心者向けコマンド一覧
2-1.必須コマンド
Linux初心者が必須で押さえるべきコマンドを以下に記載します。尚、以下コマンド入力例等で記載している「△」は、半角スペースを示しております。
(1)cd
ディレクトリ移動で使用。移動パターンは概ね以下3パターンとなる。
① 絶対パスを指定したディレクトリ移動
「cd△『絶対パス』」と入力。
例: 「cd△/var/log」と入力。
② 相対パスを指定したディレクトリ移動
「cd△『相対パス』」と入力。
例:現在、「/var」におり、「/var/log」配下へ移動する場合、「cd△log」と入力。
③ カレントディレクトリ(現在、操作しているディレクトリ)より1階層上のディレクトリへ移動
「cd△.」と入力。
例:現在、「/var/log」におり、「/var」配下へ移動する場合、「cd△.」と入力。
(補足:2階層以上、上のディレクトリへ移動する場合、「.」を階層分入力すればOK。)
(2)pwd
カレントディレクトリの絶対パスを表示。コマンドは、「pwd」と入力すればOK。
(3)ls
カレントディレクトリ内のディレクトリ及びファイルリストを表示。尚、よく使う
コマンドオプション以下2つ。
① 「-a」
ファイル名の先頭にピリオドがあるファイルも表示する。先頭にピリオドがあるファイルはLinuxのシステムと結びつき、一般的に編集されたくない設定ファイルのようなものが多い。
② 「-l」
ディレクトリ及びファイルの詳細情報を表示。アクセス権、所有者、グループ、ディレクトリ・ファイルサイズ、最終更新日付が表示される。
・補足
「ls△–la」と1度に複数のコマンドオプションを入力することも可能。
(4)cp
ディレクトリやファイルをコピー。コマンド例は以下の通り
① 同一ディレクトリ内にファイルをコピー
「cp△『ファイル名1』△『ファイル名2』」と入力。
例:現在、任意のディレクトリにおり、このディレクトリ内の「hoge1」をコピーし、「hoge2」を作成する場合、「cp△hoge1△hoge2」と入力。
② 別ディレクトリ内にファイルをコピー(コピー元とコピー先のファイル名は同一)
「cp△『/絶対パス/ファイル名1』△『/絶対パス/ファイル名1』」と入力。
例:現在、「/home/hoge1」におり、このディレクトリ内の「hoge2」をコピーし、「/home/hoge3」配下へコピーする場合、「cp△/home/hoge1/hoge2△/home/hoge3/hoge2」と入力。
③ 別ディレクトリ内にファイルをコピー(コピー元とコピー先のファイル名は別)
「cp△『/絶対パス/ファイル名1』△『/絶対パス/ファイル名2』」と入力。
例:現在、「/home/hoge1」におり、このディレクトリ内の「hoge2」をコピーし、「/home/hoge3」配下へ「hoge4」でコピーする場合、「cp△/home/hoge1/hoge2△/home/hoge3/hoge4」と入力。
(5)mv
ディレクトリやファイルを移動。また、同一ディレクトリ内で使用するとファイル名変更として利用することも可能。コマンド例は以下の通り。
① 同一ディレクトリ内で使用(ファイル名変更)
「mv△『ファイル名1』△『ファイル名2』」と入力。
例:現在、任意のディレクトリにおり、このディレクトリ内のファイル名を「hoge1」から「hoge2」に変更する場合、「mv△hoge1△hoge2」と入力。
② 別ディレクトリ内にファイルを移動(コピー元とコピー先のファイル名は同一)
「mv△『/絶対パス/ファイル名1』△『/絶対パス/ファイル名1』」と入力。
例:現在、「/home/hoge1」におり、このディレクトリ内の「hoge2」を「/home/hoge3」配下へ移動する場合、 「mv△/home/hoge1/hoge2△/home/hoge3/hoge2」と入力。
③ 別ディレクトリ内にファイルをコピー(コピー元とコピー先のファイル名は別)
「mv△『/絶対パス/ファイル名1』△『/絶対パス/ファイル名2』」と入力。
例:現在、「/home/hoge1」におり、このディレクトリ内の「hoge2」を「/home/hoge3」配下へ「hoge4」で移動する場合、「mv△/home/hoge1/hoge2△/home/hoge3/hoge4」と入力。
(6)touch
新規ファイルを作成。コマンド例は以下の通り。
① カレントディレクトリ内に新規ファイルを作成
「touch△『ファイル名』」と入力。
例:現在、任意のディレクトリにおり、このディレクトリ内に新規ファイル「hoge1」を作成する場合、「touch△hoge1」と入力。
② 絶対パスで指定し、新規ファイルを作成
「touch△『絶対パス/ファイル名』」と入力。
例:「/home/hoge1」配下に新規ファイル「hoge2」を作成する場合、「touch△/home/hoge1/hoge2」と入力。
(7)mkdir
新規ディレクトリを作成。コマンド例は以下の通り。
① カレントディレクトリ内に新規ディレクトリを作成
「mkdir△『ディレクトリ名』」と入力。
例:現在、任意のディレクトリにおり、このディレクトリ内に新規ディレクトリ「hoge1」を作成する場合、「mkdir△hoge1」と入力。
② 絶対パスで指定し、新規ディレクトリを作成
「mkdir△『絶対パス/ディレクトリ名』」と入力。
例:「/home/hoge1」配下に新規ディレクトリ「hoge2」を作成する場合、「mkdir△/home/hoge1/hoge2」と入力。
(8)rm
ディレクトリやファイルを削除。コマンド例及びよく使うオプションは以下の通り。
① カレントディレクトリ内で削除するファイルを指定
「rm△『ファイル名』」と入力。
例:現在、任意のディレクトリにおり、このディレクトリ内のファイル「hoge1」を削除する場合、「rm△hoge1」と入力。
② 絶対パスで指定し、ファイルを削除
「rm△『絶対パス/ファイル名』」と入力。
例:「/home/hoge1」配下のファイル「hoge2」を削除する場合、「rm△/home/hoge1/hoge2」と入力。
③ ディレクトリ及びその中身のファイルをすべて削除
「rm△-r△『ディレクトリ名』」と入力。
例:現在、任意のディレクトリにおり、このディレクトリ内のディレクトリ「hoge3」及びその中身のファイルをすべて削除する場合、「rm△-r△hoge3」と入力。
④ 絶対パスで指定し、ディレクトリ及びその中身のファイルをすべて削除
「rm△-r△『絶対パス/ディレクトリ名』」と入力。
例:「/home/hoge1」配下のディレクトリ「hoge4」及びその中身のファイルをすべて削除する場合、「rm△-r△/home/hoge1/hoge4」と入力。
⑤ 「-i」
当該ファイルを削除する際、削除前に確認のメッセージを表示
(9)rmdir
空のディレクトリを削除するコマンド。尚、空でないディレクトリを削除するコマンドは、「(8) rm」の③を参照。コマンド例は以下の通り。
① カレントディレクトリ内で削除するディレクトリを指定
「rmdir△『ディレクトリ名』」と入力。
例:現在、任意のディレクトリにおり、このディレクトリ内のディレクトリ「hoge1」を削除する場合、「rmdir△hoge1」と入力。
② 絶対パスで指定し、ディレクトリを削除
「rmdir△『絶対パス/ディレクトリ名』」と入力。
例:「/home/hoge1」配下のディレクトリ「hoge2」を削除する場合、「rmdir△/home/hoge1/hoge2」と入力。
(10)find
ファイルやディレクトリを検索するコマンド。コマンド例は以下の通り。
① カレントディレクトリ内でファイル検索
「find△.『カレントディレクトリ』/ファイル名」と入力。
例:現在、「/home/hoge1」ディレクトリにおり、このディレクトリ内のファイル「hoge2」を検索する場合、「find ./hoge1/hoge2」と入力。
② ファイル名に「test」が含まれるものについて、サーバー内全体で検索したい場合
「find△/ -name \*test」と入力。
・補足
検索したいファイルやディレクトリ名が一部しかわからない場合、ワイルドカード「*」を使用して検索するが、ワイルドカードは直前に「\」でエスケープしないとエラーや想定した動作にならないため、注意。
(11)cat
ファイルの内容を表示するコマンド。コマンド例は以下の通り。
① カレントディレクトリ内に存在するファイルの内容を表示
「cat△『ファイル名』」と入力。
例:現在、「/home/hoge1」ディレクトリにおり、このディレクトリ内のファイル「hoge2」のファイル内容を表示する場合、「cat△hoge2」と入力。
② 絶対パスで指定し、ファイルの内容を表示
「cat△『絶対パス/ファイル名』」と入力。
例:「/home/hoge1」配下のファイル「hoge2」のファイル内容を表示する場合、「cat△/home/hoge1/hoge2」と入力。
(12)more
ファイルの内容を表示するコマンド。「cat」コマンドは、実行後、すべての内容を表示するのに対して、「more」コマンドは、ページ単位で表示。大容量の内容を確実に確認する際、便利。次ページを表示する際は、スペースキー、表示後、1行単位で次の情報を表示する際は、Enterキーを押下する。コマンド例は以下の通り。
① カレントディレクトリ内に存在するファイルの内容を表示
「more△『ファイル名』」と入力。
例:現在、「/home/hoge1」ディレクトリにおり、このディレクトリ内のファイル「hoge2」のファイル内容を表示する場合、「more△hoge2」と入力。
② 絶対パスで指定し、ファイルの内容を表示
「more△『絶対パス/ファイル名』」と入力。
例:「/home/hoge1」配下のファイル「hoge2」のファイル内容を表示する場合、「more△/home/hoge1/hoge2」と入力。
(13)grep
任意のキーワードで指定したファイル内を検索し、検索見つかった際、当該内容を行単位で表示するコマンド。コマンド例は以下の通り。
① カレントディレクトリ内に存在するファイルでキーワードを検索
「grep△『キーワード』△『ファイル名』」と入力。
例:現在、「/home/hoge1」ディレクトリにおり、このディレクトリ内のファイル「hoge2」で「test」が含まれるか検索する場合、「grep△test△hoge2」と入力。
② 絶対パスで指定し、ファイル内のキーワードを検索
「grep△『キーワード』△『絶対パス/ファイル名』」と入力。
例:「/home/hoge1」配下のファイル「hoge2」で「test」が含まれるか検索する場合、「grep△test△/home/hoge1/hoge2」と入力。
③ ファイル内のキーワードを部分一致で検索
「grep△『*キーワード*』△『絶対パス/ファイル名』」と入力。
例:「/home/hoge1」配下のファイル「hoge2」で「XXtestXX」が含まれるか検索したいが、「test」の前後の文字列を忘れてしまった場合、「grep△*test*△/home/hoge1/hoge2」と入力。
(14)diff
2つのファイルにおいて、差分を比較するコマンド。コマンド実行後、差分結果が出力される。コマンド例は以下の通り。
① カレントディレクトリ内に存在する2ファイルを比較
「diff△『ファイル1』△『ファイル2』」と入力。
例:現在、「/home/hoge1」ディレクトリにおり、このディレクトリ内のファイル「hoge2」と「hoge3」を比較する場合、「diff△hoge2△hoge3」と入力。
② 絶対パスで指定し、ファイル内のキーワードを検索
「diff△『絶対パス/ファイル名1』△『絶対パス/ファイル名2』」と入力。
例:「/home/hoge1」配下のファイル「hoge2」と「/home/hoge3」配下のファイル「hoge4」を比較する場合、「diff△/home/hoge1/hoge2△/home/hoge3/hoge4」と入力。
(15)head
指定したファイルに対して先頭から10行まで(オプション無しの場合)ファイル内容を表示するコマンド。コマンド例及びよく使うオプションは以下の通り。
① カレントディレクトリ内に存在するファイルの内容を表示
「head△『ファイル名』」と入力。
例:現在、「/home/hoge1」ディレクトリにおり、このディレクトリ内のファイル「hoge2」のファイル内容を表示する場合、「head△hoge2」と入力
② 絶対パスで指定し、ファイルの内容を表示
「head△『絶対パス/ファイル名』」と入力。
例:「/home/hoge1」配下のファイル「hoge2」のファイル内容を表示する場合、「head△/home/hoge1/hoge2」と入力。
③ 「-n」
先頭から指定した行数のみ表示。
例:「head△-n△50△/home/hoge1/hoge2」と入力すると、指定したファイルの内容について、先頭から50行まで表示される。
(16)tail
指定したファイルに対して末尾から10行まで(オプション無しの場合)ファイル内容を表示するコマンド。コマンド例及びよく使うオプションは以下の通り。
① カレントディレクトリ内に存在するファイルの内容を表示
「tail△『ファイル名』」と入力。
例:現在、「/home/hoge1」ディレクトリにおり、このディレクトリ内のファイル「hoge2」のファイル内容を表示する場合、「tail△hoge2」と入力
② 絶対パスで指定し、ファイルの内容を表示
「tail△『絶対パス/ファイル名』」と入力。
例:「/home/hoge1」配下のファイル「hoge2」のファイル内容を表示する場合、「tail△/home/hoge1/hoge2」と入力。
③ 「-n」
先頭から指定した行数のみ表示。
例:「tail△-n△50△/home/hoge1/hoge2」と入力すると、指定したファイルの内容について、末尾から50行まで表示される。
(17)less
ファイルの内容を表示するコマンド。「cat」コマンドは、実行後、すべての内容を表示するのに対して、「less」コマンドは、1画面単位で表示。大容量の内容を確実に確認する際、便利。次の画面を表示する際は、スペースキー、表示後、1行単位で次の情報を表示する際は、Enterキーを押下する。コマンド例は以下の通り。
① カレントディレクトリ内に存在するファイルの内容を表示
「less△『ファイル名』」と入力。
例:現在、「/home/hoge1」ディレクトリにおり、このディレクトリ内のファイル「hoge2」のファイル内容を表示する場合、「less△hoge2」と入力。
② 絶対パスで指定し、ファイルの内容を表示
「less△『絶対パス/ファイル名』」と入力。
例:「/home/hoge1」配下のファイル「hoge2」のファイル内容を表示する場合、「less△/home/hoge1/hoge2」と入力。
(18)chmod
ファイルやディレクトリの権限(パーミッション)を設定するコマンド。例えば、「ls△-l」コマンドで「hoge1」のファイル権限を確認した際、以下の通りに表示されたとする。
$ ls -l
-rwxr-xr-x 1 user group 9 1月 1 00:00 hoge1
上記太字の「-rwxr-xr-x」に注目。この部分は、以下の通りに区切って判断。
・判断基準
「– rwx r-x r-x」
上記判断基準において、最初の「–」の部分がディレクトリかファイルかを示す情報、2つ目の「rwx」が所有者の権限、3つ目の「r-x」が所有グループの権限、4つ目の「r-x」がその他の権限となる。1つ目が「d」で表示されていれば、表示対象はディレクトリ、「–」で表示されていれば、ファイルとなる。また、2つ目から4つ目の「r」が読み取り権限(数値:4)、「w」が書き込み権限(数値:2)、「x」が実行権限(数値:1)となる。現在、上記「hoge1」の権限を数値で表すと「755」となる。この情報を前提とし、コマンド例を以下に記載。
① カレントディレクトリ内に存在するファイルの権限を設定
「chmod△『設定値』△『ファイル名』」と入力。
例:現在、「/home/hoge1」ディレクトリにおり、このディレクトリ内のファイル「hoge2」の権限を「644」で設定する場合、「chmod△644△hoge2」と入力。
② 絶対パスで指定し、ファイルの内容を表示
「chmod△『設定値』△『絶対パス/ファイル名』」と入力。
例:「/home/hoge1」配下のファイル「hoge2」の権限を「755」で設定する場合、「chmod△755△/home/hoge1/hoge2」と入力。
(19)chown
ファイルやディレクトリの所有者やグループを設定するコマンド。例えば、「ls△-l」コマンドで「hoge1」の所有者及びグループを確認した際、以下の通りに表示されたとする。
$ ls -l
-rwxr-xr-x 1 user group 9 1月 1 00:00 hoge1
上記太字の「user」及び「group」に注目。「user」が所有者、「group」がグループを表す。この情報を前提とし、コマンド例を以下に記載。
① カレントディレクトリ内に存在するファイルの権限を設定
「chown△『所有者』:『グループ』△『ファイル名』」と入力。
例:現在、「/home/hoge1」ディレクトリにおり、このディレクトリ内のファイル「hoge2」の所有者をroot、グループを「hoge」で設定する場合、「chown△root:hoge△hoge2」と入力。
② 絶対パスで指定し、ファイルの内容を表示
「chown△『設定値」△『絶対パス/ファイル名』」と入力。
例:「/home/hoge1」配下のファイル「hoge2」の所有者をroot、グループを「hoge」で設定する場合、「chown△root:hoge△/home/hoge1/hoge2」と入力。
(20)useradd
新規ユーザーを作成するコマンド。このコマンドは、基本的に管理者(root)が使用。
「useradd△『ユーザー名』」と入力。
例:ユーザー「user1」を作成する場合、「useradd△user1」と入力。
(21)groupadd
新規グループを作成するコマンド。このコマンドは、基本的に管理者(root)が使用。
「groupadd△『グループ名』」と入力。
例:グループ「group1」を作成する場合、「groupadd△group1」と入力。
(22)passwd
ユーザーのパスワードを変更するコマンド。コマンド例は以下の通り。
① 自身のパスワードを変更
「passwd」と入力。その後、現在のパスワード及び新しく設定したいパスワードを求めてくるので、任意の英数字を入力し、設定すればOK。
② 管理者(root)が他ユーザーのパスワードを変更
「passwd△『ユーザー名』」と入力。その後、新しく設定したいパスワードを求めてくるので、任意の英数字を入力し、設定すればOK。
例:ユーザー「user1」のパスワードを変更する場合、「passwd△user1」と入力。
(23)userdel
ユーザーを削除するコマンド。このコマンドは基本的に管理者(root)が使用。
「userdel△『ユーザー名』」と入力。また、当該ユーザーのホームディレクトリ及びメールスプールも合わせて削除する場合、「userdel△-r△『ユーザー名』」と入力。
例:ユーザー「user1」を削除する場合、「userdel△user1」と入力。
(24)groupdel
グループを削除するコマンド。このコマンドは、基本的に管理者(root)が使用。
「groupdel△『グループ名』」と入力。
例:グループ「group1」を削除する場合、「groupdel△group1」と入力。
(25)vi
テキストエディタを起動・編集する際、使用するコマンド。「vi△ファイル名」と入力することでテキストエディタを起動できる。尚、起動後、編集でよく使用するコマンドは以下の通り。
① 「カーソルキー(↑↓←→)」
閲覧モード、編集モード共にエディタ内でカーソル位置を移動。
② 「Esc」
編集モードから閲覧モードへ変更。
③ 「i」(閲覧モードで実行時)
閲覧モードから編集モードへ変更。編集モードに変更後、データの入力が可能。
④ 「x」(閲覧モードで実行時)
カーソル位置にある文字を1文字削除。例えば、5文字まとめて削除する場合、「5x」と入力すればOK。
⑤ 「yy」(閲覧モードで実行時)
カーソル位置の1行全体をコピー。例えば、3行まとめてコピーする場合、「3yy」と入力すればOK。
⑥ 「p」(閲覧モードで実行時)
「yy」コマンドでコピーした情報について、カーソル位置の1行下へ貼り付け。
⑦ 「dd」(閲覧モードで実行時)
カーソル位置の1行全体を削除。例えば、3行まとめて削除する場合、「3dd」と入力すればOK。
⑧ 「/『検索対象文字列』」(閲覧モードで実行時)
検索対象がヒットした場合、その場所にカーソル位置が移動。
例:文字列「test」を削除する場合、「/test」と入力。
⑨ 「Shift」+「G」(閲覧モードで実行時)
カーソル位置が最下行へ移動
⑩ 「:w」(閲覧モードで実行時)
編集した情報を上書き保存。
⑪ 「:q」(閲覧モードで実行時)
編集有無に関わらず、保存せずにviエディタを終了。
⑫ 「:q!」
編集有無に関わらず、保存せずにviエディタを強制終了。少しでも操作内容に不安がある場合、このコマンドを利用すると便利。
(26)ping
主に「サーバー to サーバー」でICMP疎通が行えるか確認するコマンド。
「ping△『IPアドレス』」と入力。
例:IPアドレス「10.10.10.10」へICMP疎通確認を行う場合、「ping△10.10.10.10」と入力。
(27)man
コマンドのマニュアルを参照するコマンド。「man△『コマンド名』」と入力。
例:「ls」コマンドのマニュアルを参照する場合、「man△ls」と入力。
(28)exit
「Tera Term」等でリモート接続した際、接続終了時に入力するコマンド。
「exit」と入力するだけでOK。
2-2.便利なコマンド
Linux初心者が押さえておくと便利なコマンドを以下に記載します。尚、以下コマンド入力例等で記載している「△」は、半角スペースを示しております。
(1)telnet
現在は、セキュリティの関係上、使用禁止であることも多いが、Linuxかつイントラサーバー間同士の接続、ポート疎通確認で利用することもある。コマンド例は以下の通り。
① 別サーバーへのリモート接続
「telnet△『IPアドレス』」と入力。その後、接続先のユーザーアカウント及びパスワードを求めてくるので、入力すれば接続できる。
② 別サーバーに対するポート疎通確認
「telnet△『IPアドレス』△『ポート番号』」と入力。
例:サーバー「10.10.10.10」の「Port:25」の疎通確認を行う場合、「telnet△10.10.10.10△25」と入力。
(2)ssh
Linuxサーバーへ接続中、別のLinuxサーバーへリモート接続する際に使用。「telnet」よりセキュリティ面が高いため、別サーバーへリモート接続する際、一般的に使用されるコマンド。
「ssh△『IPアドレス』」と入力し、その後、接続先のユーザーアカウント及びパスワードを求めてくるので、入力すれば接続できる。
(3)view
「2-1. 必須コマンド」–「(25) vi」に対して読み取り専用のみに特化したコマンド。テキストエディタの中身を安全に確認したい場合にお薦め(もし、誤って編集等を実施しても上書き保存ができない旨のエラーが発生するため)。
(4)Alt + V
コピーした情報を貼り付けるコマンド。Linuxは、マウスの右クリックで貼り付けることも可能だが、この操作による貼り付けは、トラブルが起こりやすいため、「Alt」+「V」等、キーボード操作による貼り付けが好ましい。
(5)Alt + R
コピーした情報を貼り付けるコマンド。「Alt」+「V」は、コピーした情報をそのまま貼り付けるのに対して、「Alt」+「R」は、貼り付け前にポップアップで確認画面が表示されるため、より安全である。
3.補足
今回、紹介したコマンドにつきまして、オプションが多数存在するものがほとんどです。しかし、今回は、Linux初心者に「安全」に取り組んで頂きたく、各コマンドにおいて、大半のオプションは割愛させて頂きました。本記事をご参照頂き、Linux操作に慣れた後、各コマンドのオプション及びシステム管理コマンド等も学習頂ければ幸いです。
4.さいごに
今回紹介させて頂いたLinuxコマンドは、初心者向けを意識しましたが、初心者・ベテランに限らず、頻繁に使用するコマンドであり、大変重要なコマンドがほとんどであることをご認識頂きたく、記載いたしました。本記事でLinux初心者の方のレベル向上に少しでも助力できれば、幸いです。
コメント