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

Linuxファイルシステムコマンドのカスタマイズ

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ターミナルを探索してください!


Linux
  1. 2020年にLinuxを使用する5つの理由

  2. 5Linuxルーキーの間違い

  3. ネットワーク診断用の10のLinuxコマンド

  1. dfおよびduコマンドを使用してLinuxのディスク容量を確認する

  2. AからZのLinuxコマンド

  3. 基本的な Linux コマンドを理解する

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

  2. 5Linuxネットワークのトラブルシューティングコマンド

  3. 単一のLinuxファイルシステムを暗号化する方法