说我要开始写作
sudo cp /etc/var/more/evenMORE/fileABC
作为复制的目标,我想定义同一文件夹,只是文件名不同(无论是“randomNAME”等新名称还是文件“fileABC-backup01”的迭代都无关紧要)。如何重用输入文件,以便不必再次将其写出?这可能吗?
答案1
sudo cp /etc/var/more/evenMORE/file{ABC,DEF}
将复制fileABC
到fileDEF
同一文件夹中。
一般情况下cp /xyz/{file1,file2}
会复制/xyz/file1
为/xyz/file2
.基本上,将任何常见的内容放在 之外{}
,并用 , 分隔源名称和目标名称{}
。
答案2
如果您要一遍又一遍地使用这个原始文件名,我建议这样使用:
OrigFile=/etc/var/more/evenMORE/fileABC
sudo cp ${OrigFile} ${OrigFile}.bak
sudo cp ${OrigFile} SomeRandomFile.txt
每次引用这个${OrigFile}
变量名时,它都会去获取这个文件。如果您希望少输入一些内容,请将其缩短。
但是,如果您正在寻找 shell 引用它的方式,例如作为$0
命令和$1
第一个参数,则没有。
答案3
如果您愿意提前计划一下,您可以将大部分路径放入 shell 变量中。
a="/etc/var/more/evenMORE"
sudo cp "$a/fileABC" "$a/randomNAME"
答案4
您可以这样只用一行来完成:
sourcefile="/dir/filename"; sudo cp "$sourcefile" `dirname "$sourcefile"`/"new file name"