前書き
このチュートリアルは、Linuxの基本を教えて新しいユーザーを獲得するシリーズの最初のチュートリアルであり、ターミナル、Linuxコマンドライン、およびコマンドの実行を開始する方法について説明します。 Linuxを初めて使用する場合は、Linuxサーバーと対話するための標準的な方法であるため、ターミナルに慣れる必要があります。 コマンドラインの使用は困難な作業のように思えるかもしれませんが、基本から始めてそこからスキルを構築すれば、実際には非常に簡単です。
このチュートリアルを最大限に活用するには、接続して使用するLinuxサーバーが必要です。 まだ持っていない場合は、次のリンクをたどることですばやくスピンアップできます:How To Create A DigitalOcean Droplet。 このチュートリアルはUbuntu 14.04サーバーに基づいていますが、一般的な原則は他のLinuxディストリビューションにも適用されます。
ターミナルエミュレータとは何かを説明することから始めましょう。
ターミナルエミュレータ
端末エミュレーターは、グラフィカル環境で端末を使用できるようにするプログラムです。 ほとんどの人は日々のコンピューターのニーズにグラフィカルユーザーインターフェイス(GUI)を備えたOSを使用しているため、ほとんどのLinuxサーバーユーザーにはターミナルエミュレーターの使用が必要です。
オペレーティングシステム別の一般的な無料のターミナルエミュレータを次に示します。
-
Mac OS X:ターミナル(デフォルト)、iTerm 2
-
Windows:PuTTY
-
Linux:ターミナル、KDE Konsole、XTerm
各ターミナルエミュレータには独自の機能セットがありますが、リストされているものはすべて優れた機能を発揮し、簡単に使用できます。
シェル
Linuxシステムでは、shellは、ユーザーのコマンドとスクリプトファイルを解釈し、サーバーのオペレーティングシステムにそれらの処理方法を指示するコマンドラインインターフェイスです。 Bourne shell(sh
)やC shell(csh
)など、広く使用されているシェルがいくつかあります。 各シェルには、コマンドの解釈方法に関する独自の機能セットと複雑さがありますが、それらはすべて、とりわけ入力および出力のリダイレクト、変数、条件テストを備えています。
このチュートリアルは、通常bash
と呼ばれるBourne-Again shellを使用して作成されました。これは、Ubuntu、CentOS、RedHatを含むほとんどのLinuxディストリビューションのデフォルトシェルです。
コマンドプロンプト
サーバーに最初にログインすると、通常、Message of the Day(MOTD)が表示されます。これは通常、サーバーが実行しているLinuxディストリビューションのバージョンなどのその他の情報を含む情報メッセージです。 MOTDの後、コマンドプロンプトまたはシェルプロンプトにドロップされます。ここで、サーバーにコマンドを発行できます。
コマンドプロンプトに表示される情報は、ユーザーがカスタマイズできますが、デフォルトのUbuntu 14.04コマンドプロンプトの例を次に示します。
sammy@webapp:~$
コマンドプロンプトの構成の内訳は次のとおりです。
-
sammy
:現在のユーザーのusername -
webapp
:サーバーのhostname -
~
:current directory。 デフォルトのシェルであるbash
では、~
、つまりチルダは、現在のユーザーのhome directoryのパスに展開される特殊文字です。この場合、それは/home/sammy
を表します -
$
:プロンプトシンボル。 これは、コマンドプロンプトの終了を示し、その後ユーザーのキーボード入力が表示されます
root
としてログインし、/var/log
ディレクトリにログインした場合のコマンドプロンプトの例を次に示します。
root@webapp:/var/log#
コマンドプロンプトを終了する記号は#
であることに注意してください。これは、root
の標準のプロンプト記号です。 Linuxでは、root
ユーザーはsuperuserアカウントです。これは、システム全体の管理機能を実行できる特別なユーザーアカウントです。これは、サーバー上で任意のタスクを実行する権限を持つ無制限のユーザーです。
コマンドの実行
コマンドは、バイナリプログラムまたはスクリプトの実行可能ファイルの名前を指定することにより、コマンドプロンプトで発行できます。 OSと共にインストールされる多くの標準Linuxコマンドとユーティリティがあり、ファイルシステムのナビゲート、インストールとソフトウェアパッケージのインストール、およびシステムとアプリケーションの設定を行うことができます。
実行中のコマンドのインスタンスは、processとして知られています。 コマンドが実行されるデフォルトの方法であるforegroundでコマンドが実行される場合、ユーザーはプロセスが終了するのを待ってからコマンドプロンプトに戻る必要があります。その時点で、ユーザーはさらにコマンドを発行し続けることができます。
Linuxでは、ファイル名やディレクトリ名、コマンド、引数、オプションなど、Linuxのほとんどすべてで大文字と小文字が区別されることに注意してください。 期待どおりに機能しない場合は、コマンドのスペルと大文字と小文字を再確認してください!
コマンド実行の基本をカバーするいくつかの例を実行します。
Note: Linuxサーバーにまだ接続していない場合は、今がログインする良い機会です。 Linuxサーバーを使用しているが接続に問題がある場合は、次のリンクをたどってください:How to Connect to Your Droplet with SSH。
引数またはオプションなし
引数やオプションなしでコマンドを実行するには、コマンドの名前を入力してRETURN
を押すだけです。
このようなコマンドを実行すると、コマンドごとに異なるデフォルトの動作を示します。 たとえば、引数なしでcd
コマンドを実行すると、現在のユーザーのホームディレクトリに戻ります。 ls
コマンドは、現在のディレクトリのファイルとディレクトリのリストを出力します。 引数のないip
コマンドは、ip
コマンドの使用方法を示すメッセージを出力します。
引数なしでls
コマンドを実行して、現在のディレクトリ内のファイルとディレクトリを一覧表示してみてください(存在しない場合があります)。
ls
引数付き
多くのコマンドはargumentsまたはparametersを受け入れますが、これはコマンドの動作に影響を与える可能性があります。 たとえば、cd
コマンドを使用する最も一般的な方法は、変更先のディレクトリを指定する単一の引数を渡すことです。 たとえば、多くの標準コマンドがインストールされている/usr/bin
ディレクトリに移動するには、次のコマンドを発行します。
cd /usr/bin
cd
コンポーネントはコマンドであり、最初の引数/usr/bin
はコマンドの後に続きます。 コマンドプロンプトの現在のパスがどのように更新されたかに注意してください。
必要に応じて、ls
コマンドを実行して、新しい現在のディレクトリにあるファイルを確認してください。
ls
オプション付き
ほとんどのコマンドは、コマンドの動作を変更するoptions(flagsまたはswitchesとも呼ばれます)を受け入れます。 これらは特別な引数であるため、オプションはコマンドの後に続き、単一の-
文字とそれに続く1つ以上のoptionsで示されます。これらは、個々の大文字または小文字で表されます。 さらに、一部のオプションは--
で始まり、その後に単一の複数文字(通常は説明的な単語)オプションが続きます。
オプションがどのように機能するかの基本的な例として、ls
コマンドを見てみましょう。 ls
を使用するときに役立つ一般的なオプションを次に示します。
-
-l
:権限、所有権、ファイルサイズ、タイムスタンプなどの追加の詳細を含む「長いリスト」を印刷します -
-a
:非表示のファイル(.
で始まる)を含む、ディレクトリのファイルのallを一覧表示します
ls
で-l
フラグを使用するには、次のコマンドを使用します。
ls -l
リストには以前と同じファイルが含まれていますが、各ファイルに関する追加情報が含まれていることに注意してください。
前述のように、多くの場合、オプションはグループ化できます。 -l
オプションと-a
オプションを一緒に使用する場合は、ls -l -a
を実行するか、次のコマンドのようにそれらを組み合わせることができます。
ls -la
-a
オプションがあるため、リストには非表示の.
および..
ディレクトリが含まれていることに注意してください。
オプションと引数あり
コマンドを実行するとき、オプションと引数はほとんど常に組み合わせることができます。
たとえば、次のls
コマンドを実行すると、現在のディレクトリに関係なく、/home
の内容を確認できます。
ls -la /home
ls
はコマンド、-la
はオプション、/home
はリストするファイルまたはディレクトリを示す引数です。 これにより、/home
ディレクトリの詳細なリストが出力されます。このリストには、サーバー上のすべての通常のユーザーのホームディレクトリが含まれている必要があります。
環境変数
環境変数は、コマンドとプロセスの実行方法を変更するために使用される名前付きの値です。 サーバーに初めてログインすると、デフォルトでいくつかの構成ファイルに従っていくつかの環境変数が設定されます。
すべての環境変数を表示する
特定のターミナルセッションに設定されているすべての環境変数を表示するには、env
コマンドを実行します。
env
多くの出力がある可能性がありますが、PATH
エントリを探してみてください。
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
PATH
環境変数は、コマンドが発行されたときにシェルが実行可能プログラムまたはスクリプトを検索するディレクトリのコロンで区切られたリストです。 たとえば、env
コマンドは/usr/bin
にあり、そのパスはPATH
環境変数にあるため、完全修飾の場所を指定せずに実行できます。
変数の値を表示する
環境変数の値は、変数名の前に$
を付けることで取得できます。 そうすると、参照される変数がその値に拡張されます。
たとえば、PATH
変数の値を出力するには、echo
コマンドを使用できます。
echo $PATH
または、デフォルトでユーザーのホームディレクトリに設定されているHOME
変数を使用して、次のようにホームディレクトリに変更することもできます。
cd $HOME
設定されていない環境変数にアクセスしようとすると、何も展開されません。空の文字列。
環境変数の設定
環境変数を表示する方法がわかったので、それらを設定する方法を学習する必要があります。
環境変数を設定するには、変数名で開始し、すぐに=
記号を続け、すぐに目的の値を続けるだけです。
VAR=value
既存の変数を設定すると、元の値が上書きされることに注意してください。 変数が最初に存在しなかった場合、作成されます。
Bashには、変数をエクスポートして子プロセスに継承されるようにするexport
というコマンドが含まれています。 簡単に言えば、これにより、現在のセッションからエクスポートされた環境変数を参照するスクリプトを使用できます。 これが何を意味するのかまだ不明な場合は、今のところ心配しないでください。
変数を設定するときに既存の変数を参照することもできます。 たとえば、アプリケーションを/opt/app/bin
にインストールした場合、次のコマンドを使用して、そのディレクトリをPATH
環境変数の最後に追加できます。
export PATH=$PATH:/opt/app/bin
ここで、/opt/app/bin
がecho
を使用してPATH
変数の末尾に追加されていることを確認します。
echo $PATH
この方法で環境変数を設定すると、現在のセッションに対してのみ環境変数が設定されることに注意してください。 つまり、ログアウトするか、別のセッションに変更すると、環境に加えた変更は保持されません。 環境変数を永続的に変更する方法がありますが、これについては後のチュートリアルで説明します。
結論
Linuxターミナルの基本(およびいくつかのコマンド)について学習したので、Linuxコマンドの知識を広げるための優れた基盤が必要です。 next tutorial in this seriesを読んで、ファイルとそのアクセス許可をナビゲート、表示、および編集する方法を学習してください。