ウェブサイト検索

シェルコマンドのさまざまな分類と Linux でのその使用法を理解する


Linux システムを完全に制御するには、コマンド ライン インターフェイス (CLI) に勝るものはありません。 Linux のパワー ユーザーになるには、さまざまな種類のシェル コマンドと、それらをターミナルから使用する適切な方法を理解する必要があります。

Linux にはいくつかの種類のコマンドがあり、Linux を初めて使用する人は、コマンドの意味を理解することで効率的かつ正確に使用することができます。したがって、この記事では、Linux のシェル コマンドのさまざまな分類について説明します。

推奨読書: Linux における 5 つの興味深いコマンド ラインのヒントとテクニック – パート 1

注意すべき重要な点の 1 つは、コマンド ライン インターフェイスはシェルとは異なり、シェルにアクセスする手段を提供するだけであるということです。シェルはプログラム可能でもあり、コマンドを使用してカーネルと通信できるようになります。

Linux コマンドのさまざまな分類は、次の分類に分類されます。

1. プログラムの実行可能ファイル (ファイル システム コマンド)

コマンドを実行すると、Linux は ` PATH 環境変数に保存されているディレクトリを左から右に検索して、その特定のコマンドの実行可能ファイルを探します。

次のように ` PATH 内のディレクトリを表示できます。

echo $PATH

/home/aaronkilik/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

上記の順序では、ディレクトリ /home/aaronkilik/bin が最初に検索され、続いて /usr/local/sbin が続きます。検索では順序が重要です。プロセス。

/usr/bin ディレクトリ内のファイル システム コマンドの例:

ll /bin/
サンプル出力
total 16284
drwxr-xr-x  2 root root    4096 Jul 31 16:30 ./
drwxr-xr-x 23 root root    4096 Jul 31 16:29 ../
-rwxr-xr-x  1 root root    6456 Apr 14 18:53 archdetect*
-rwxr-xr-x  1 root root 1037440 May 17 16:15 bash*
-rwxr-xr-x  1 root root  520992 Jan 20  2016 btrfs*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-calc-size*
lrwxrwxrwx  1 root root       5 Jul 31 16:19 btrfsck -> btrfs*
-rwxr-xr-x  1 root root  278376 Jan 20  2016 btrfs-convert*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-debug-tree*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-find-root*
-rwxr-xr-x  1 root root  270136 Jan 20  2016 btrfs-image*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfs-map-logical*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-select-super*
-rwxr-xr-x  1 root root  253816 Jan 20  2016 btrfs-show-super*
-rwxr-xr-x  1 root root  249464 Jan 20  2016 btrfstune*
-rwxr-xr-x  1 root root  245368 Jan 20  2016 btrfs-zero-log*
-rwxr-xr-x  1 root root   31288 May 20  2015 bunzip2*
-rwxr-xr-x  1 root root 1964536 Aug 19  2015 busybox*
-rwxr-xr-x  1 root root   31288 May 20  2015 bzcat*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzcmp -> bzdiff*
-rwxr-xr-x  1 root root    2140 May 20  2015 bzdiff*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzegrep -> bzgrep*
-rwxr-xr-x  1 root root    4877 May 20  2015 bzexe*
lrwxrwxrwx  1 root root       6 Jul 31 16:19 bzfgrep -> bzgrep*
-rwxr-xr-x  1 root root    3642 May 20  2015 bzgrep*

2. Linux エイリアス

これらはユーザー定義コマンドであり、 シェル組み込みコマンドエイリアスを使用して作成され、いくつかのオプションと引数を備えた他のシェル コマンドが含まれています。基本的には、長いコマンドには新しい短い名前を使用するという考え方です。

推奨読書: Linux コマンドにおける (!) 記号または演算子の驚くべき不思議な使用法 10 選

エイリアスを作成するための構文は次のとおりです。

alias newcommand='command -options'

システム上のすべてのエイリアスを一覧表示するには、以下のコマンドを実行します。

alias -p

alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

Linux で新しいエイリアスを作成するには、以下の例をいくつか参照してください。

alias update='sudo apt update'
alias upgrade='sudo apt dist-upgrade'
alias -p | grep 'up'

ただし、上で作成したエイリアスは一時的にのみ機能し、システムを再起動すると、次回の起動後には機能しなくなります。以下に示すように、.bashrc ファイルに永続的なエイリアスを設定できます。

追加後、以下のコマンドを実行してアクティブにします。

source ~/.bashrc

3. Linux シェルの予約語

シェル プログラミングでは、ifthenfiforwhileなどの単語が使用されます。 >、caseesacelseuntil などの多くはシェルの予約語です。説明が示すように、これらはシェルにとって特殊な意味を持ちます。

次に示すように、type コマンドを使用して、すべての Linux シェル キーワードを一覧表示できます。

type if then fi for while case esac else until
if is a shell keyword
then is a shell keyword
fi is a shell keyword
for is a shell keyword
while is a shell keyword
case is a shell keyword
esac is a shell keyword
else is a shell keyword
until is a shell keyword

推奨読書: 10 の便利な Linux チェーン演算子と実践的な例

4. Linux シェル関数

シェル関数は、現在のシェル内でまとめて実行されるコマンドのグループです。関数は、シェル スクリプトで特定のタスクを実行するのに役立ちます。スクリプトでシェル関数を記述する従来の形式は次のとおりです。

function_name() {
command1
command2
…….
}

あるいは、

function function_name {
command1
command2
…….
}

shell_functions.sh という名前のスクリプトでシェル関数を記述する方法を見てみましょう。

#!/bin/bash 

#write a shell function to update and upgrade installed packages 
upgrade_system(){
        sudo apt update;
        sudo apt dist-upgrade;
}

#execute function
upgrade_system

コマンドラインから sudo apt updatesudo apt dist-upgrade という 2 つのコマンドを実行する代わりに、2 つのコマンドを 1 つのコマンドとして実行する単純なシェル関数を作成しました。コマンド、スクリプト内の upgrade_system

推奨読書: Linux 初心者がシェル プログラミングを学ぶための 5 つのシェル スクリプト

ファイルを保存した後、スクリプトを実行可能にします。最後に以下のように実行します。

chmod +x shell_functions.sh
./shell_functions.sh

5. Linux シェルの組み込みコマンド

これらはシェルに組み込まれた Linux コマンドであるため、ファイル システム内では見つけることができません。これらには、パスワードCDBGMエイリアス履歴が含まれます。タイプソース読み取り終了など。

次に示すように type コマンドを使用して、Linux 組み込みコマンドを一覧表示または確認できます。

type pwd
pwd is a shell builtin
$ type cd
cd is a shell builtin
$ type bg
bg is a shell builtin
$ type alias
alias is a shell builtin
$ type history
history is a shell builtin

Linux 組み込みコマンドの使用法について学びます。

  1. Linux での 15 の「pwd」コマンドの例
  2. Linux での 15 の「cd」コマンドの例
  3. Linux の「history」コマンドの力を学ぶ

結論

Linux ユーザーとして、実行しているコマンドの種類を理解しておくことが常に重要です。関連するいくつかの図を含む上記の正確でわかりやすい説明により、Linux コマンドのさまざまなカテゴリについて十分に理解できたと思います。

ご質問や補足的なアイデアがございましたら、以下のコメント セクションを通じてご意見をお寄せください。