GNU/Linux >> Linux の 問題 >  >> Linux

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シェルの予約語

シェルプログラミングでは、 ifなどの単語 、次に fi for ながらケース esac その他まで そして他の多くはシェル予約語です。説明が示すように、それらはシェルにとって特別な意味を持っています。

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

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

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

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

$ chmod +x shell_functions.sh
$ ./shell_functions.sh

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

これらはシェルに組み込まれているLinuxコマンドであるため、ファイルシステム内で見つけることはできません。 pwdが含まれます 、 cd bg エイリアス履歴タイプソース読む終了 および他の多く。

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の「履歴」コマンドの力を学ぶ

結論

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

質問や補足的なアイデアについては、以下のコメントセクションを参照して、問題を解決することもできます。


Linux
  1. Linuxで最も高いメモリとCPU使用率で上位のプロセスを検索する

  2. Linuxでのシャットダウン、電源オフ、停止、および再起動コマンドについて理解する

  3. Linuxコマンド:jobs、bg、およびfg

  1. Linuxのrebootおよびshutdownコマンド

  2. バックグラウンドで UNIX / Linux コマンド (およびシェル スクリプト) を実行する 5 つの方法

  3. Linux の rc スクリプトを理解する

  1. 11 Linux で便利な「ssh」および「scp」コマンド

  2. ユーザーが選択的なコマンドを実行できるように制限する (Linux)

  3. さまざまな Linux ディストリビューションを理解する