cp 和 mv 之外,在 Linux 上有更多的复制和重命名文件的命令。试试这些命令或许会惊艳到你,并能节省一些时间。
Linux 用户数十年来一直在使用简单的 cp 和 mv 命令来复制和重命名文件。这些命令是我们大多数人首先学到的,每天可能有数百万人在使用它们。但是还有其他技术、方便的方法和另外的命令,这些提供了一些独特的选项。
首先,我们来思考为什么你想要复制一个文件。你可能需要在另一个位置使用同一个文件,或者因为你要编辑该文件而需要一个副本,并且希望确保备有便利的备份以防万一需要恢复原始文件。这样做的显而易见的方式是使用像 cp myfile myfile-orig 这样的命令。
但是,如果你想复制大量的文件,那么这个策略可能就会变得很老。更好的选择是:在开始编辑之前,使用 tar 创建所有要备份的文件的存档。
使用 for 循环来使备份副本更容易。
使用 tar 的方式很简单。对于当前目录中的所有文件,你可以使用如下命令:
$ tar cf myfiles.tar *
对于一组可以用模式标识的文件,可以使用如下命令:
$ tar cf myfiles.tar *.txt
在每种情况下,最终都会生成一个 myfiles.tar 文件,其中包含目录中的所有文件或扩展名为 .txt 的所有文件。
一个简单的循环将允许你使用修改后的名称来制作备份副本:
$ for file in *
> do
> cp $file $file-orig
> done
当你备份单个文件并且该文件恰好有一个长名称时,可以依靠使用 tab 来补全文件名(在输入足够的字母以便