私のマシンには多くのフォルダーがあり、それらのフォルダーの多くには、より多くのフォルダーがあり、それらのフォルダーにはさらに多くのフォルダーがあります...今、特定のcd
およびcp
操作を行っているときバックアッププロセスの一部として、またはファイルまたは場所へのすべてのファイルパスを入力する必要があり、かなり面倒になります。 TAB 自動修正機能。
だから、本当に便利だと思うのは、コマンドの代わりにファイルパスのエイリアスを作成できればです。これは可能ですか?
以下に、どのように機能させたいかの例を示します。
~/Documents/SectionA/Sub-folder65/SectionF-2
をpandaPictures
などのエイリアスに割り当てて、次のようなことを行えるようにしたいと思います。
cp pandaPictures/pic1.png ~/Pictures
cd pandaPictures
cd pandaPicture/Specials
そして、それはまた素敵だろう TAB オートコンプリートは、これらのファイルパスエイリアスを含むファイルパスでも機能します。
また、PandaImages/2016/Sector7
をsafePandaImages
などのエイリアスに割り当てて、次のようなことを行えるようにしたいと思います。
cp ~/Documents/Images/safePandaImages/panda.jpg ~/Pictures
cd ~/Pictures/Photos/Images/Wallpaper/safePandaImages
上記の例では、2番目のセクションは絶対に必要ではありません(エイリアスが先頭にあるだけでなく、中間と末尾にもあります)。ただし、可能であれば、上記のように見えなくてもかまいません(たとえば、エイリアスの周りに[]
sが必要な場合など、単なる通常のファイルパスではないことが明らかです) )。
Ubuntu GNOME 15.10とGNOME 3.18を実行しています。
率直に言って、これは変数の仕事です:
pandaPictures=~/Documents/SectionA/Sub-folder65/SectionF-2
cp "$pandaPictures"/pic1.png ~/Pictures
cd "$pandaPictures"
cd "$pandaPictures"/Specials
または:
safePandaImages=PandaImages/2016/Sector7
cp ~/Documents/Images/"$safePandaImages"/panda.jpg ~/Pictures
cd ~/Pictures/Photos/Images/Wallpaper/"$safePandaImages"
Bashは変数の内容を完成させるほどスマートではありませんが、zshは次のことができます。
$ foo=/usr
$ cp $foo/ # press Tab
bin/ include/ lib/ lib32/ lib64@ local/ sbin@ share/ src/
Bashでは、最初にすべての変数、エイリアス、コマンド置換などを展開するために使用できます。 CtrlAltE 次に、タブ補完を使用します。
$ foo=/usr
$ cp $foo # press Ctrl-Alt-E
$ cp /usr
とはいえ、これを定期的に行う場合は、スクリプト化です。スクリプトを作成します。 crontabに追加します。忘れてください。
変数はおそらく最良の解決策ですが、少なくとも最初のケースでは、同じことを達成するシンボリックリンクを作成することもできます。利点は、簡単なオートコンプリートです。
ln -s ~/Documents/SectionA/Sub-folder65/SectionF-2 ~/pandaPictures
cp ~/pandaPictures/pic1.png ~/Pictures
cd ~/pandaPictures
cd ~/pandaPictures/Specials