复制时如何为目标目录使用“别名”?

复制时如何为目标目录使用“别名”?

我经常编辑启动文件,例如我的.bashrc文件
然后我将它们复制到另一个方向,例如~/Dropnot/level1/setups/bash1

有什么办法可以cp使用别名之类的东西将这些文件保存到上述位置吗?
我目前有一个别名可以 cd 到它alias n='cd ~/Dropnot/level1/setups/bash1'

我想要一些可以处理我传递给它的任何文件的东西。

答案1

哦,是的,你可以!

  1. 打开~/.bash_aliases文件并在文件末尾键入以下内容(~/.bash_aliases如果不存在则创建一个新文件):

    alias mycp='cp ~/.bashrc ~/Dropnot/level1/setups/bash1'
    

    这将创建一个别名mycp(您可以为 指定一个不同的名称mycp),它将您的~/.bashrc文件复制到所需的位置。

  2. 您可以创建一个包含长路径的 shell 变量,然后使用该变量代替长路径。例如,在您的~/.bashrc

    export fav_path=/usr/share/help/nl/gnome-help/figures/
    

    然后source ~/.bashrc使用

    cp ~/.bashrc "$fav_path"
    

请记住对包含空格的路径使用"

答案2

如果您有 GNU cp(在 Linux 上,答案很可能是“是”),您可以使用以下-t选项:

alias fcp="cp -t ~/Dropnot/level1/setups/bash1"

这样做fcp somefile总是会将文件放在~/Dropnot/level1/setups/bash1目录中。多个参数也可以工作(例如fcp somefile otherfile1都将转到~/Dropnot/level1/setups/bash1

如果 GNUcp不可用,您始终可以使用一个函数:

fcp () {
  cp "$@" ~/Dropnot/level1/setups/bash1
}

答案3

你的意思是这样的吗:

alias c='cp ~/.bashrc ~/Dropnot/level1/setups/bash1'

我建议改为移动那里的文件并使用符号链接来完全避免复制:

mv ~/.bashrc ~/Dropnot/level1/setups/bash1/
ln -s ~/Dropnot/level1/setups/bash1/ ~/.bashrc

我一直在用这个点文件多年来,它对于保留备份非常有帮助。

相关内容