Linuxターミナルの利点は、環境をすばやくカスタマイズして、ニーズに応じてより適切に機能するようにすることです。ターミナルを「ハッキング」する方法はたくさんあります。そのうちのいくつかは、それ自体がコンピュータサイエンスの分野全体ですが、初心者にとっては、特にLinuxファイルシステムでの作業に関しては、小さなトリックがたくさんあります。基本については、私の記事「Linuxターミナルを使用したファイルの管理」を参照してください。
作業端末環境をカスタマイズする最も簡単な方法は、個人用シェル設定を含む構成ファイルを編集することです。 Bash(ボーンアゲインシェル )はLinux(Red Hat Enterprise LinuxとFedoraを含む)で最も一般的なシェルであり、Bashの構成ファイルは ~/.bashrc
です。 。
エイリアスを作成する
カスタマイズの簡単な最初のステップは、エイリアスを作成することです。エイリアスを使用すると、独自の単純なコマンドを定義したり、既存のコマンドを再定義したりできます。エイリアスを追加するには、ファイルを編集します.bashrc
テキストエディタで、またはecho
を使用して端末から直接作成します コマンド。
たとえば、ls
を再定義するには 常に--classify
を使用するようにコマンドを実行します (-F
)および--almost-all
(-a
)オプション、エイリアスルールを.bashrc
に追加します 、次にsource
変更された構成ファイルを(再読み取りしてロードします)。
$ echo "alias ls='ls --classify --almost-all'" >> ~/.bashrc
$ source .bashrc
$ ls
bin/
Desktop/
despacer.sh
documentation.zip*
Documents/
Music/
Pictures/
Public/
エイリアスが作成されて再ロードされると、ls
コマンドは常に--classify
を使用します ファイルとフォルダを区別できるオプション、および--almost-all
ドット表記とダブルドット表記を除外するオプション。 ls
にはさらに多くのオプションがあります 指図。 ls
を参照してください 詳細については、次のように入力してください。
$ man ls
あらゆる種類の反復的な単純なタスクのエイリアスを作成できます。複雑な操作には、シェルスクリプトなど、エイリアスよりも堅牢なものが必要になる場合がありますが、エイリアスは、環境を機能させるための優れた方法です。
ゴミ箱をカスタマイズする
一連のウィンドウを開いて、ゴミ箱に移動するファイルを見つけます。ファイルをゴミ箱に移動します またはビン デスクトップ上のアイコン。十分な数のゴミを収集し、すべてをシステムから安全に削除できると確信したら、ゴミに移動します。 メニューから空を選択します 。
デフォルトでは、ターミナルにゴミ箱はありませんが、ここでも「ゴミ箱」は別のものです。最終的に削除する予定のすべてのファイルを受け入れるフォルダー。あなたがそれを空にするまで、データはまだそこにあります。そうすることは簡単です。この記事で学んだ教訓を生かして、端末用の安全で信頼性の高いゴミ箱システムを作成できます。
お使いのコンピューターにRedHatEnterprise LinuxやFedora上のGNOMEデスクトップなどのデスクトップがある場合は、~/.local/share/Trash/files
にシステムのゴミ箱が既にあります。 。このフォルダを直接参照することも、入力を減らすためにそのフォルダへのシンボリックリンクを作成することもできます:
$ ln --symbolic ~/.local/share/Trash/files ~/.trash
コンピュータにデスクトップがない場合は、ゴミ箱がない可能性があります フォルダですが、手動で作成できます。ゴミ箱は実際には単なる別のフォルダです。 mkdir
を使用します --parents
を使用したコマンド (-p
)一連のフォルダをすべて1つのコマンドで作成するオプション:
$ mkdir --parents ~/.local/share/Trash/files
$ ln --symbolic ~/.local/share/Trash/files ~/.trash
ファイルやフォルダをゴミ箱に移動する場合は、mv
を使用してください いつものようにコマンド:
$ mv oldfile.txt ~/.trash
より良いゴミ箱コマンドを作成する
ゴミ箱をさらにスムーズに使用する方法 フォルダは、trash
という独自の新しいコマンドを作成するためのものです 、ファイルを~/.trash
に移動します フォルダ。これは高度な演習であり、いくつかの新しいコマンドが導入されていますが、独自のカスタムコマンドを簡単に作成できることに驚かれるかもしれません。たった2行のBashコードで、独自の廃棄物管理システムを設計できます。
独自のコマンドを作成する前に、カスタムスクリプトを保存する場所が必要です。 Linuxユーザーは~/bin
を維持するのが一般的です ディレクトリ。個人用ユーティリティとバイナリ実行可能ファイルを保持します。これはデフォルトでは存在しませんが、作成してからパスに追加できます:
$ mkdir ~/bin
$ echo "export PATH=$PATH:$HOME/bin" >> ~/.bashrc
$ source ~/.bashrc
これで、echo
を使用して独自のゴミ箱コマンドを作成できます コマンド:
$ echo '#!/bin/sh' > ~/trash
$ echo 'mv "${@}" ~/.local/share/Trash/files' >> ~/trash
または、テキストエディタを開いて、コードをコピーして貼り付けることもできます。
#!/bin/sh
mv "${@}" ~/.local/share/Trash/files
ファイルを〜/ bin / trashとして保存します 。
このスクリプトの最初の行は、スクリプトを実行するために必要なアプリケーションを宣言しています。この場合、最初の行はsh
を指定します /bin
にあるシェル ファイルシステムのルートにあるディレクトリが必要です。結局のところ、これはシェルスクリプトです。目的の実行順に一連のBashシェルコマンドです。
2行目はmv
を使用しています 特別なBash変数"${@}"
と組み合わせたコマンド 、コマンドの後に入力されたものを意味します 。これにより、1つのコマンドで複数のファイルを操作できるようになります。次のように、ファイルごとに1回コマンドを実行する必要はありません。
$ trash foo
$ trash bar
$ trash baz
代わりに、一度に複数の引数を認識するようにコマンドをプログラミングしています。
$ trash foo bar baz
シェルスクリプトが正しいことを確認するには、cat
を使用します ファイルの内容をシェルの出力に連結するコマンド:
$ cat trash
#!/bin/sh
mv "${@}" ~/.local/share/Trash/files
このコマンドを自分で使用できるようにするには、mv
を使用します ~/bin
というディレクトリに移動します (このディレクトリはデフォルトでは存在しないため、最初に作成してください):
$ mkdir ~/bin
$ mv trash ~/bin
現在、シェルはシェルスクリプトをテキストでいっぱいのファイルとして認識しています。コンピューターがスクリプトを実行可能コマンドとして扱うことをまだ許可していません。シェルが明示的な許可なしにすべてをコマンドとして実行できた場合、システム上のすべてのファイルが任意のコードを実行する可能性があるため、この区別は重要です(重要なデータベースにすべてのテーブルをドロップすることを想像してください。ユーザーのうち、間違ったファイルをクリックした)
実行可能ファイルとして扱われる権限をファイルに付与するには、実行可能ビットを設定します。 chmod
を使用してファイル属性で (モード変更)コマンド:
$ chmod +x ~/bin/trash
これで、ファイルをコマンドとして実行できます。ファイルを作成し、そのファイルをゴミ箱に移動して、これをテストします。
$ echo "This is rubbish." >> rubbish.file
$ cat rubbish.file
This is rubbish.
$ ~/bin/trash rubbish.file
コンピューターでデスクトップを実行している場合は、ゴミ箱を開いて、rubbish.file
を確認します。 これでシステムのゴミ箱に入れられます。デスクトップを実行していない場合は、~/.trash
を調べてください。 シンボリックリンク。アドホックフィルターとして、ls
の出力を送信します パイプを介したコマンド(|
)、grep
を使用 文字列rubbishを検索するコマンド :
$ ls ~/.trash | grep rubbish
rubbish.file
ただし、trash
を使用していることに注意してください フルパスを指定しないコマンドはしません 期待どおりに機能する:
$ echo "This is more rubbish." >> rubbish2.file
$ trash rubbish2.file
bash: trash: command not found...
これは、実行可能パスにまだ含まれていないためです。
シェルにどこを見ればよいか教えてください
cd
などの一部のコマンド 、pwd
、およびalias
、シェルに組み込まれています。 ls
などのその他 、mv
、およびecho
、は、シェルがコマンドの有効な検索場所として指定した場所にインストールされます。 ls
などのコマンドを入力する場合 、mv
、またはtrash
、シェルは、実行可能ファイルが含まれていると通知されたディレクトリのリストを検索します。 PATH
を見ると、この検索場所のリストを表示できます。 変数。 echo
コマンドを使用すると、ドル記号($
を前に付けることで変数を調べることができます )変数名の前:
$ echo $PATH
/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin:/usr/local/sbin
trash
を使用できるように システム上の他のコマンドと同じように、個人の~/bin
を追加する必要があります PATH変数へのディレクトリ。シェル環境変数はシェルの起動時に読み込まれるため、 ~/.bashrc
で設定されます。 構成ファイル。テキストエディタを使用してこのディレクトリをPATHに追加するか、echo
を使用することができます。 構成にルールを追加するためのダブルリダイレクトを使用したコマンド:
$ echo 'export PATH=$PATH:/home/seth/bin' >> ~/.bashrc
新しい構成をシェルにロードします:
$ source ~/.bashrc
そして、もう一度コマンドを試してください:
$ trash rubbish2.file
ファイルを完全に削除する
最終的に、ゴミ箱を空にする必要があります。 rm
コマンドはファイルシステムからファイルを削除します(永続的に使用するため、慎重に慎重に使用してください)。
rm
コマンドは、誤用すると有害になる可能性があります。コマンドとの対話を制限し、使用するときはその範囲を制限することをお勧めします。この場合、rm
が必要です ごみ箱内でのみ操作するため、エイリアスを作成して、コマンドを間違って入力するリスクを減らすことができます。 rm
を呼び出す回数が少なくなります 、誤ってファイルを削除する可能性が低くなります。
empty
というエイリアスを作成します 次のように入力します:
$ echo 'empty="rm --recursive --verbose --force ~/.local/share/Trash/files/*"' >> ~/.bashrc
trash
とは異なり コマンド、empty
外部スクリプトではなくエイリアスであるため、組み込みコマンドとして扱われます。つまり、~/bin
に何も入れる必要はありません。 ディレクトリを作成するか、PATH
に何かを追加します 変数。シェル構成をリロードしてから、新しい組み込みコマンドをテストするだけです。
$ source .bashrc
$ empty
removed '/home/seth/.trash/rubbish.file
removed '/home/seth/.trash/rubbish2.file
練習は流暢になります
これで、最初のシェルスクリプトをプログラムし、シェル環境をカスタマイズしました。このような小さな演習は重要です。シェルで作業すればするほど、シェルが上手になるからです。ターミナルでの作業時間を最大限に活用して、ターミナルに慣れるようにしてください。最初は大きな作業をする必要はありません。小さく始めて、上に向かって進んでください。
現在のようにこれ以上の時間はないので、Linuxターミナルを探索してください!