web-dev-qa-db-ja.com

ファイルパスのエイリアスを作成する方法は?

私のマシンには多くのフォルダーがあり、それらのフォルダーの多くには、より多くのフォルダーがあり、それらのフォルダーにはさらに多くのフォルダーがあります...今、特定のcdおよびcp操作を行っているときバックアッププロセスの一部として、またはファイルまたは場所へのすべてのファイルパスを入力する必要があり、かなり面倒になります。 TAB 自動修正機能。

だから、本当に便利だと思うのは、コマンドの代わりにファイルパスのエイリアスを作成できればです。これは可能ですか?

以下に、どのように機能させたいかの例を示します。

  • ~/Documents/SectionA/Sub-folder65/SectionF-2pandaPicturesなどのエイリアスに割り当てて、次のようなことを行えるようにしたいと思います。

    cp pandaPictures/pic1.png ~/Pictures
    cd pandaPictures
    cd pandaPicture/Specials
    

    そして、それはまた素敵だろう TAB オートコンプリートは、これらのファイルパスエイリアスを含むファイルパスでも機能します。

  • また、PandaImages/2016/Sector7safePandaImagesなどのエイリアスに割り当てて、次のようなことを行えるようにしたいと思います。

    cp ~/Documents/Images/safePandaImages/panda.jpg ~/Pictures
    cd ~/Pictures/Photos/Images/Wallpaper/safePandaImages
    

上記の例では、2番目のセクションは絶対に必要ではありません(エイリアスが先頭にあるだけでなく、中間と末尾にもあります)。ただし、可能であれば、上記のように見えなくてもかまいません(たとえば、エイリアスの周りに[]sが必要な場合など、単なる通常のファイルパスではないことが明らかです) )。

Ubuntu GNOME 15.10とGNOME 3.18を実行しています。

1
user364819

率直に言って、これは変数の仕事です:

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に追加します。忘れてください。

6
muru

変数はおそらく最良の解決策ですが、少なくとも最初のケースでは、同じことを達成するシンボリックリンクを作成することもできます。利点は、簡単なオートコンプリートです。

ln -s ~/Documents/SectionA/Sub-folder65/SectionF-2 ~/pandaPictures

cp ~/pandaPictures/pic1.png ~/Pictures
cd ~/pandaPictures 
cd ~/pandaPictures/Specials
6
wjandrea