如何为文件路径创建别名?

我的机器上有很多文件夹,其中许多文件夹中有更多文件夹,这些文件夹中有更多文件夹,等等……现在当我做某些cdcp操作时,我每天都在做备份的一部分即使使用TAB自动更正function,也必须输入文件或位置的所有文件路径才会变得相当恼人。

所以我认为真正有用的是,如果我可以创建一个别名,比如命令,而不是文件路径。 这可能吗?

以下是我希望如何工作的一些示例:

  • 我希望能够将~/Documents/SectionA/Sub-folder65/SectionF-2为等于别名,例如pandaPictures以便我可以使用它来执行以下pandaPictures的操作:

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

    如果TAB自动完成在包含这些文件路径别名时也可以使用文件路径,这也是很好的。

  • 我还希望能够将PandaImages/2016/Sector7分配给一个别名,例如safePandaImages以便我可以使用它来执行以下safePandaImages的操作:

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

在上面给出的例子中,如果不可能或非常不可行,那么第二部分不是绝对必须的(别名不仅在开头,而且在中间和结尾)。 虽然如果可能的话,我不介意它看起来不像上面那样(例如,如果你必须在别名或其他东西周围有[] s,那么很明显它不仅仅是一个常规的文件路径)。

我正在使用GNOME 3.18运行Ubuntu GNOME 15.10。

坦率地说,这是变量的工作:

 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,您可以先使用Ctrl Alt E扩展每个变量,别名,命令替换等,然后使用Tab键完成:

 $ 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 
Interesting Posts