如何为文件路径创建别名?
我的机器上有很多文件夹,其中许多文件夹中有更多文件夹,这些文件夹中有更多文件夹,等等……现在当我做某些cd
和cp
操作时,我每天都在做备份的一部分即使使用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