【ベストプラクティスの質問】
私はUnixを使い始めました。いくつかの一般的なタスク(シンボリックリンクの作成やln -s
ファイル名の変更など)が直感的ではないことがわかりました。mv
私のエイリアスを定義するかどうかについて話し合っています。rename
symlink
これは悪い考えですか?なぜならないのですか?
メモ:私はシステム管理を行わずに生産性を高めるためにパーソナルコンピュータでUNIX端末を使用します。
言う:私の言葉は私自身の文法を定義することですどの直感的ではなく、よりよく理解できますが、私が制御するコンピュータに固有の組み込みbashコマンド(私のエイリアスにアクセス)
答え1
確かに好みの問題です。私の考えでは、命令を直接学ぶことがより多くの利点があります。
- 一貫性/信頼性- 新しいコンピュータを使用するたびに、
ln
のような命令を知っておくと役に立ちます。mv
戻って設定を探したりコピーしたり、必要なものを見つけることは難しくありませんが、基本的なコマンドを知ることで常に時間を節約できます。内蔵のマニュアル(man mv
)にアクセスすることも常に利点です。また;)ln -s
よりキー入力回数が少ないです。symlink
- 学習能力/柔軟性- 基本命令を習得し、動作原理を習得することに重点を置いた方コマンドで、さまざまなフラグがどのように機能するか、互いにつながる方法などを理解する方が簡単です。シンボリックリンクを作成するのに役立ちますが、
symlink
ハードリンクを作成したり既存のファイルを置き換えたりするためにln
使用する必要があります。つまり、カスタムエイリアスは基本コマンドほど柔軟ではありません。
これらの点を念頭に置いて、個々のコマンドをエイリアスに置き換えないことをお勧めします。しかし、エイリアスコマンドが適切な状況がたくさんあります。いくつかの例:
- 頻繁に実行する特定のタスク- 例えば
scp -r /home/user/project/logs [email protected]~/logs/`date %F`
- 複数のコマンドを1つにまとめる操作- 例えば
cat /var/logs/websites | grep 502 > /home/user/logs/502
エイリアスを最大限に活用する方法を理解するのに役立つことを願っています。しかし、最終的にそれはあなたの決定であり、練習を通して古いスタック交換のコメントを読むよりもlinux / unixについてもっと学ぶでしょう。 Pこれらのエイリアスを作成して1年以内に不要に変更することは、学習のための素晴らしい選択です。
答え2
起動時に同様の問題がありました。
私にとって最大の問題は、名前とオプションを覚えておくことです。しばらく使ってみると慣れます(除くgit
)。
直感について。コマンドが実行するアクションのモデルが正しくない場合、コマンドは直感的ではありません。
例えば
mv
名前を変更する代わりに、ファイルは新しいディレクトリエントリに移動されます。これは、同じディレクトリの新しい名前、異なるディレクトリの同じ名前、または異なるディレクトリの別の名前です。
rm
削除しないでください。ディレクトリエントリが削除されます。ファイルは、参照回数が計算されるガベージコレクタによって削除されます(ファイルにディレクトリエントリがなく、どのプロセスでもファイルが開かない場合)。
エイリアスに誤った名前を選択すると、習得が難しくなり、誤解やエラーが発生する可能性があります。
答え3
シンプルさは最終的に快適になります。
端末で時間を過ごすと(一人で)、最も一般的に使用されるコマンドが2文字、最大3文字の長さであることがどれほど便利かを理解することになります。そうであれば、あなたはタイピングについて心配したくないことに気づき、symlink
タイピングの単純さに感謝しますln -s
。特にあなたが話しているとき生産力、まるであなたの質問が報告されているようです。
mv
ls
そして、、同じln
プログラム名はrm
実際には略語にすぎません。米ああV金利。私私Sティー、私私Nケイワアル字型金利米覚えやすいようにしました。
これはニーモニックなので、シンボリックリンクのコマンドを忘れた場合」私私NKS象徴的だ」というln -s
言葉が浮かぶ。
エイリアスは、長いコマンドを短くするよりも長いコマンドを短くすると便利です。
答え4
どのシステムを使用しているかによって異なります。たとえば、CentOS 8では、/etc/profile.d/global_alias.sh
SSH経由でログインするたびに使用できるグローバルエイリアスを追加できます。ファイルがない場合は、ただ作成してください。セッションで使用できるようにするには再接続する必要があり、現在のセッションでのみアクティブにするにはコマンドラインに直接入力する必要があります。以前のバージョンのCentOS(RHEL)では、それをファイルに配置できます/root/.bashrc
。
ファイルに以下を入れることができます。
alias clear="clear; printf '\033[3J' "
alias logs='cd /var/log/; clear; ll;'
alias edit='nano -w -S -T 4'
alias dirsize='du -h -x --max-depth=1'
個人的には、コマンドに別の名前を付けるためにシンボリックリンクを作成する代わりにエイリアスを使用します。