エイリアスと Bash シェル関数を使用して独自の Linux コマンドを作成します。反復的なタスクを抑制し、時間のかかるプロセスを短縮し、いつも使用していて覚えにくいオプションを使用して標準コマンドを構成します。
エイリアス とシェル スクリプトは、Linux や Unix のようなオペレーティング システムにおける強力なテクニックであり、コマンド ライン エクスペリエンスを望みどおりに磨き上げることができます。特定のニーズに合わせて独自のコマンドを定義し、反復的なタスクの負担を軽減できます。
エイリアスと シェル スクリプトは 同じ種類の仕事を行います。これらを使用すると、一連の Bash シェル機能を定義し、名前を付けることができ、指定した名前で呼び出すことができます。名前を入力するほうが、すべてのステップやコマンドを使用するたびに入力するよりも簡単で便利です。
エイリアスとスクリプトの違いは、複雑さと規模の違いです。スクリプトは、より長く複雑なコードの塊を保持するのに適しています。エイリアスは、より短く簡潔な一連のコマンドを保持するのに最適です。
事前定義されたエイリアス
一部のエイリアスは事前に定義されています。システムで定義されているエイリアスのリストを表示するには、パラメーターを指定せずに alias コマンドを使用します。
エイリアス
これらは、この記事の調査対象となった Ubuntu テスト マシンで定義されているエイリアスです。カスタム エイリアスを定義している場合、それらもこのリストに表示されます。
リストの一番上には、
alert
という複雑に見えるエイリアスがあります。それについてはすぐに説明します。
ls
コマンドにはさまざまなエイリアスがあり、
コマンドの
grep
ファミリにカラー出力を提供するエイリアスのグループもあります。たとえば、これらのエイリアスが定義されている場合、次のように入力すると、次のようになります。
grep
システムはそれを次のように解釈します。
grep --color=auto
これはエイリアスに関する重要な点を示しています。既存のコマンドと同じ名前を付けることができます。元のコマンドをその中に含めることもできます。
grep
エイリアスの定義は次のとおりです。
エイリアス grep='grep --color=auto'
-
aliasコマンドは、エイリアスを定義するために使用されます。 -
次にエイリアスの名前を示します。この例では
grepです。 -
等号は、エイリアスの名前とエイリアスの本体を接続します。非常に単純なエイリアスを除くすべてのエイリアスの場合、エイリアスの本体は一重引用符
'で囲まれます。 - エイリアスの本体は、コマンド ラインでエイリアスが使用されるときに実行されるセクションです。
このエイリアスの本体は、
--color=auto
オプションを指定して
grep
コマンドを呼び出すだけです。
アラートのエイリアス
簡単な余談ですが、アラートの動作を理解するために、コマンドの終了を通知するために
alert
エイリアスが使用されます。また、コマンドが正常に完了したかどうかも示されます。画面上部にグラフィカルなシステム アラートが表示されます。
以下に簡単な例を示します。
sleep
コマンドは 5 秒間スリープします。その後、
alert
エイリアスが呼び出されます。エイリアスは、前のコマンドからの応答をチェックします。履歴ファイルから最後のコマンドを抽出します。コマンドが正常に完了したかどうかを判断します。その後、結果がシステム アラートに表示されます。
コマンドが期待どおりに完了した場合、システム アラートのアイコンは小さなターミナル ウィンドウになります。コマンドがエラー コードを返した場合、システム アラートのアイコンは赤いエラー アイコンになります。
5 寝ます。警告
5 秒後、次のシステム アラートが表示されます。
アイコンは小さなターミナル ウィンドウであり、すべてがうまくいったことを意味します。失敗することがわかっているコマンドを使用して、もう一度試してみましょう。
失敗する運命にあります。警告
システム アラートにエラー アイコンが表示されるようになりました。
簡単なエイリアスの定義
これまで見てきたように、エイリアスを定義するには、
alias
コマンドを使用します。
clear
コマンドの仮名を作成します。エイリアスは
cls
と呼ばれ、
clear
コマンド
を呼び出します。
私たちのエイリアス定義は非常に簡単なので、一重引用符で囲む必要はありません。エイリアスの本体がこれより複雑な場合、またはスペースが含まれている場合は、一重引用符で囲みます。エイリアスを定義し、
ls
を使用して出力をターミナル ウィンドウに表示し、新しいエイリアス
cls
を使用して画面をクリアします。
エイリアス cls=clear
ls -l
CLS
画面がクリアされます。短命ではあったものの、成功。エイリアスは、このターミナル ウィンドウが開いている限り存続します。ウィンドウを閉じると、エイリアスは消えます。
では、エイリアスを永続的にするにはどうすればよいでしょうか?
.bashrc ファイルとエイリアス
事前にパッケージ化されたエイリアスがどこで定義されているか疑問に思うかもしれません。ホームフォルダーの「.bashrc」ファイルにあります。対話型シェルを開始するたびに、このファイルが読み取られ、その中のコマンドが実行されます。つまり、ターミナル ウィンドウを開いたときです。
ホーム フォルダーに次のコマンドを入力すると、構文が強調表示された “.bashrc” ファイルの内容が表示されます。
gedit .bashrc
これにより、
gedit
エディターが起動し、「.bashrc」ファイルが読み込まれます。
強調表示された領域は、エイリアスが定義されている 2 つの領域を示しています。
ドキュメントをスクロールすると、エイリアスに関連する他の 2 つのセクションが表示されます。
1 つ目は、
alert
エイリアスの定義です。 2 番目は
if
ステートメント
です。これは、「ファイル “.bash_aliases” が存在する場合は、それを読み込む」と解釈します。
定義したいエイリアスが少数しかない場合は、それらを「.bashrc」ファイルに含めることができます。
ls
エイリアスを含むセクションの下にそれらを押し込みます。
多数のエイリアスを作成する場合、またはエイリアスを独自のファイル内にカプセル化したい場合は、「.bash_aliases」ファイルでエイリアスを定義できます。これらを「.bash_aliases」ファイルに作成する利点の 1 つは、「.bashrc」ファイル内の設定を誤って変更できないことです。もう 1 つの利点は、エイリアスが「.bashrc」ファイルから完全に分離されているため、新しいシステムに簡単にコピーできることです。
.bash_aliases ファイルへのエイリアスの保存
「.bash_aliases」ファイルは、作成するまで存在しません。次のコマンドを使用してファイルを作成できます。
.bash_aliases にタッチ
ファイルを編集して、いくつかのエイリアスを追加しましょう。このコマンドは、
gedit
エディターで「.bash_aliases」ファイルを開きます。
gedit .bash_aliases
3 つのエイリアスを追加しました。 1 つ目は、以前に使用した
cls
エイリアスです。次は
h.
これは、
history
コマンドを呼び出す短縮的な方法です。
3 番目のエイリアスは、
ftc
と呼ばれます。これは「ファイルタイプ数」を表します。
このエイリアスはより複雑であるため、一重引用符で囲みます。パイプでリンクされた一連のコマンドを使用します。さまざまなファイル拡張子とディレクトリ名のソートされたリストが生成され、各リスト エントリの数が表示されます。
「.bash_aliases」ファイルを保存すると、エイリアスが有効になり、アクセスできるようになります。そうではありません。エイリアス定義が有効になる前に、Bash シェルによってファイルを読み込む必要があります。これは、対話型シェルが開かれるたびに行われます。
組み込みの Bash シェルを使用することもできます
.
ファイル内の
コマンドを読み取って実行します
。 「.bash_alias」ファイルは「.bashrc」の処理時に読み込まれるため、「.bashrc」を呼び出してテストを実行する必要があります。こうすることで、「.bash_alias」ファイルが「.bashrc」から呼び出され、エイリアスが正常に動作していることを確認できます。
使用したコマンドは次のとおりです。
gedit .bash_alias
「.bash_alias」ファイルを編集します。
。 .bashrc
これにより、「.bashrc」内のコマンドが読み取られて実行され、「.bash_alias」が呼び出されます。
ftc
これにより、
ftc
エイリアスが呼び出されます。
エイリアスが応答しました。これは、Bash が「.bashrc」と「.bash_aliases」の両方を読み取ったことを意味し、新しいエイリアスが有効になっています。
ここで、思いついたときに新しいエイリアスを「.bash_aliases」ファイルに追加できます。何かを 1 回または 2 回以上行っていることに気付いた場合は、そのエイリアスを作成することを検討してください。
エイリアスの削除
BAsh がエイリアスを認識したり応答したりしないように、
エイリアスを削除する
コマンドがあります。実に率直な言葉ですが、このコマンドは
unalias
と呼ばれます。
これを使用するには、Bash に忘れさせたいエイリアスの名前を指定します。 Bash に
ftc
エイリアスを忘れさせるには、次のように
unalias
使用します。
ウナリアスFTC
unalias
使用すると、定義したエイリアスおよび事前定義されたエイリアスのいずれかを削除できます。
システムからすべてのエイリアスを削除するには、
-a
(all) オプションを使用します。
ウナリアス -a
ただし、Bash の記憶喪失は永久的なものではありません。次回ターミナル ウィンドウを開くと、「忘れられた」エイリアスが戻ってきます。それらを完全に消去するには、「.bashrc」ファイルと「.bash_alias」ファイルからそれらを削除する必要があります。
これらを元に戻したい場合は、「.bashrc」ファイルから削除しないでください。代わりに、各
alias
行の先頭にハッシュ
#
を追加してコメントアウトします。 「.bash_alias」ファイルを無効にするには、名前を変更します。 「.bashrc」ファイルがそれを認識できない場合、それは読み込まれません。これらの手順を逆に実行してエイリアスを復元するのは簡単な作業です。
シェル関数
Lika エイリアスや Bash シェル関数は「.bashrc」ファイル内で定義できますが、多くの場合、それらを独自の定義ファイルに置いた方がすっきりします。 「.bash_aliases」ファイルに使用される規則に従って、これを「.bash_functions」と呼びます。
つまり、「.bashrc」ファイルに定義を読み取るように指示する必要があります。 「.bash_aliases」ファイルに読み取られるコードのスニペットをコピーして修正できます。
gedit
を起動し、次のコマンドで「.bashrc」ファイルをロードします。
gedit .bashrc
以下に示す強調表示されたセクションを追加する必要があります。
エイリアス セクションを強調表示して
Ctrl+C
を押し、新しいセクションを配置する場所に移動し、
Ctrl+V
を押してテキストのコピーを貼り付けます。次に、「.bash_aliases」と書かれている 2 つの場所を「.bash_functions」に変更するだけです。
これらの変更を保存して
gedit
を閉じます。
ここで、「.bash_functions」ファイルを作成および編集し、そのファイルに関数定義を追加します。
.bash_functions にタッチ
gedit .bash_functions
これにより、
gedit
で空の「.bash_functions」ファイルが開きます。
up
という単純な関数を追加します。
up
単一のコマンド ライン パラメータ (数字) を受け取ります。
up
cd ..
その回数だけ呼び出します。したがって、次のコマンドを使用した場合、
アップ2
up
cd ..
2 回呼び出し、ディレクトリ ツリー内で 2 レベル上に移動します。
関数を定義するにはさまざまな方法があります。ここにその 1 つがあります:
関数 up() {
word
function
はオプションです。伝統主義者であればそれを使用し、入力するのが面倒であれば省略してください。
gedit
の関数全体は次のとおりです。
関数 up() {
これは関数定義の開始を示し、関数に
up
名前が付けられます。
レベル=$1
これにより、
levels
という変数が作成され、それが最初のパラメーターの値に設定されます。このパラメータは、関数を呼び出すときにユーザーが指定する数字になります。
$1
は「最初のコマンドラインパラメータ」を意味します。
while [ "$levels" -gt "0" ];する
次にループに入ります。これは、「
levels
の値がゼロより大きい間、ループの本体に含まれていることを実行する」と解釈されます。
ループの本体内には 2 つのコマンドがあります。彼らです:
CD ..
ディレクトリ ツリー内で 1 つ上のレベルに移動します。
レベル=$(($レベル - 1))
levels
を現在の値より 1 つ少ない新しい値に設定します。
次に、ループの先頭に戻り、
levels
の値とゼロの比較がもう一度行われます。
levels
が 0 より大きい場合、ループの本体が再度実行されます。ゼロより大きくない場合、ループは終了し、
done
ステートメントに進み、関数は終了します。
これらの変更を保存し、
gedit
を閉じます。
「.bashrc」内のコマンドを読み取って実行します。「.bash_functions」ファイル内のコマンドを読み取って実行する必要があります。
。 .bashrc
ディレクトリ ツリー内の任意の場所に移動し、
up
使用してディレクトリ ツリー内の「上位」ポイントに戻ることで、関数をテストできます。
cd ./work/backup/
アップ2
機能は動作します。ツリー内で 2 つ上のディレクトリ レベルに移動しました。
タイプを追跡する
エイリアスのスイートと関数のライブラリを構築すると、特定のコマンドがエイリアスなのか関数なのかを思い出すのが難しくなることがあります。
type
コマンドを使用して
思い出させること
ができます。ここで素晴らしいのは、定義も確認できることです。
ftc
エイリアスと
up
関数で
type
を使用しましょう。
「ftc」と入力します
タイプアップ
それぞれのコマンドがどのようなタイプであるかを、その定義とともに非常に便利に思い出させることができます。
収集を開始する
エイリアスと関数を使用すると、コマンド ラインの使用を大幅に高速化できます。コマンド シーケンスを短縮でき、標準コマンドで常に使用するオプションを組み込むことができます。
気の利いたワンライナーや便利な関数を見つけるたびに、それを調整してカスタマイズして、「.bash_aliases」または「.bash_functions」ファイルに追加できます。
関連: 開発者と愛好家のための最高の Linux ラップトップ





