シェルコマンドの使用の基本
シェルプロンプトを使ってみる
使用している Linux システムにグラフィカル ユーザー インターフェイスがない (または現在使用できない) 場合は、ログイン後にシェル プロンプトが表示されます。現時点では、シェルを介してコマンドを入力することが Linux システムを使用する主な方法になります。
一般ユーザーの場合、デフォルトのプロンプトは単純なドル記号です: $
、root ユーザーの場合、デフォルトのプロンプトは です#
。
ほとんどの Linux システムでは、ユーザー名、システム名、および現在のディレクトリ名の後にプロンプト$
とプロンプトが表示されます。#
たとえば、aliyun という名前のコンピュータ上の /usr/share/ をユーザー jackma の現在の作業ディレクトリとして設定すると、そのログイン プロンプトは次のようになります。
[ jackma@aliyun share]$
このときの[ jackma@aliyun share]$
各部の意味は以下の通りです。
jackma
現在ログインしているユーザーのユーザー名です。aliyun
コンピュータの名前です。share
現在の作業ディレクトリの名前です。
シェルコマンド構文を理解する
シェル コマンドは、Linux システムでコンピュータを操作および制御するための基本ツールです。シェル コマンドの一般的な構文は次のとおりです。
command [options] [arguments]
command
実行するコマンドの名前です。options
コマンドの動作を変更したり、追加機能を提供したりするために使用されるオプションのコマンド オプションです。arguments
コマンドのパラメータまたは操作オブジェクトです。
オプションのコマンド [オプション]
シェル コマンド構文では、[options]
と の[arguments]
部分はオプションです。
[options]
コマンドの動作を変更したり、追加機能を提供したりするために使用されるフラグです。通常は1 つのダッシュ-
または 2 つのダッシュで--
始まり、その後に 1 つ以上の文字、数字、またはその他の特定の文字が続きます。異なるコマンドには異なるオプションがあり、必要に応じて複数のオプションを組み合わせることができます。
たとえば、ls
このコマンドには一般的に使用されるオプションがいくつかあります。
-l
: ファイルとディレクトリの詳細を長い形式で表示します。-a
: 隠しファイルとディレクトリの表示が含まれます。-r
:逆順に並べ替えます。
を使用するには[options]
、次のようにコマンド名の後に配置します。
ls -l -a
もう 1 つの一般的な方法は、入力を減らすために複数のオプションをグループ化することです。単一のダッシュを使用してすべてのオプションを接続できます。
ls -la
上記 2 つの書き方は同等です。通常、単一のダッシュに加えて、次のように完全な単語が後に-
二重ダッシュの後に続きます。--
ls --help
オプションのパラメータ [引数]
[arguments]
コマンドのパラメータまたは操作オブジェクトです。これらはコマンドに入力され、コマンドが操作するファイル、ディレクトリ、またはその他のデータを指定します。
たとえば、cp
このコマンドには、ソース ファイルと宛先ファイルへのパスを指定するための 2 つのパラメータが必要です。
cp source_file destination_file
この例では、source_file
コピーされるソース ファイルへのパスですdestination_file
が宛先ファイルへのパス、つまりソース ファイルがコピーされる場所です。
パラメータの具体的な使用法は、さまざまなコマンドと操作によって異なります。
すべてのコマンドにオプションやパラメータが必要なわけではないことに注意してください。一部のコマンドにはオプションがなく、操作を完了するために単純なコマンド名だけが必要な場合があります。たとえば、date コマンドは現在の日付と時刻を表示するために使用されます。
date
すべてのシェル コマンドを表示する
シェルでは、入力したコマンドを見つけるために、いわゆる「パス」を調べます。コマンドがパス上にない場合は、コマンドの場所の完全な識別子を入力する必要があります。
コマンドを実行する 1 つの方法は、フル パスまたは絶対パスを入力して実行することです。たとえば、/bin ディレクトリで date コマンドを実行する方法は次のとおりです。
$ /bin/date
この方法は、パスが長いディレクトリにあるコマンドには不便です。より良い方法は、コマンドを既知のディレクトリに保存し、それらのディレクトリをシェルのPATH
環境変数に追加することです。PATH
環境変数はディレクトリのリストを含む文字列で構成され、コマンドが入力されると、シェルはリストをチェックして対応するコマンドを見つけます。
現在のパスを表示するには、次のコマンドを入力します。
echo $PATH
出力には、一般的な Linux ユーザーに共通のデフォルト パスが表示されます。パス リスト内のディレクトリはコロン (:) で区切られます。Linux システムによって提供されるほとんどのユーザー コマンドは/bin
、/usr/bin
または/usr/local/bin
ディレクトリに保存されます。およびディレクトリには管理コマンドが含まれています (一部の Linux システムでは/sbin
、/usr/sbin
これらのディレクトリが通常のユーザー パスに配置されない場合があります)。
コマンドを配置するディレクトリを環境変数 PATH に追加すると、フルパスを入力せずにコマンドラインに直接コマンド名を入力してコマンドを実行できるようになります。これにより、コマンドの使用の利便性が向上します。
次に、フォルダー内のすべてのコマンドを表示します。
ls /usr/bin
コマンド履歴
シェルでは、history コマンドを使用して、以前に実行したコマンドのリストを表示できます。このコマンドは、行番号付きの履歴コマンドのリストを表示します。各コマンドは、対応する行番号に対応します。
history
前のコマンドを繰り返すには、次のいずれかの方法を使用できます。
シンボルを使用して!!
最後のコマンドを実行します。たとえば、「」と入力して!!
Enter キーを押すと、前のコマンドを繰り返します。特定の行番号でコマンドを実行するために
使用します。n は履歴内のコマンドの行番号です。!n
たとえば、「」と入力して!5
Enter キーを押すと、5 番目のコマンドが実行されます。
または、上下キーを押して最新のコマンドを選択します。
メタキャラクター
シェルでは、メタキャラクターはコマンド ラインの解析方法と実行方法を制御する特別な意味を持つ文字です。これらは、パターン マッチング、入出力のリダイレクト、パイプ操作などのためにシェルで使用されます。一般的なシェルのメタ文字をいくつか示します。
-
ワイルドカード:
*
: 任意の数の文字 (0 文字を含む) と一致します。?
: 単一の文字と一致します。
-
リダイレクト:
>
: コマンドの出力をファイルにリダイレクトし、既存のコンテンツを上書きします。>>
:コマンドの出力をファイルの末尾に追加します。<
: ファイルの内容をコマンドへの入力として使用します。
-
パイプ:
|
: あるコマンドの出力を別のコマンドの入力として使用します。
-
エスケープ文字:
\
: 次の文字をエスケープして、特殊文字として解釈されないようにするために使用されます。
-
引用符:
'text'
: 単一引用符。引用符内のテキストを完全に保持するために使用されます。引用符内の特殊文字は解釈されません。"text"
: 二重引用符。引用符内のテキストを保持するために使用されますが、一部の特殊文字 (変数など) は解釈されます。
-
コマンド区切り文字:
;
: 複数のコマンドを分割して、連続して実行できるようにするために使用されます。
これらのメタキャラクターはシェル コマンドで重要な役割を果たし、パターン マッチング、ファイル リダイレクト、入出力制御などの操作を実行できます。これらのメタキャラクターを使用する場合は、コマンドが正しく実行され、期待される結果が得られるように、特殊文字のエスケープと引用符の使用に注意する必要があります。