在 Linux 上复制和重命名文件

cp 和 mv 之外,在 Linux 上有更多的复制和重命名文件的命令。试试这些命令或许会惊艳到你,并能节省一些时间。

Linux 用户数十年来一直在使用简单的 cp 和 mv 命令来复制和重命名文件。这些命令是我们大多数人首先学到的,每天可能有数百万人在使用它们。但是还有其他技术、方便的方法和另外的命令,这些提供了一些独特的选项。

首先,我们来思考为什么你想要复制一个文件。你可能需要在另一个位置使用同一个文件,或者因为你要编辑该文件而需要一个副本,并且希望确保备有便利的备份以防万一需要恢复原始文件。这样做的显而易见的方式是使用像 cp myfile myfile-orig 这样的命令。

但是,如果你想复制大量的文件,那么这个策略可能就会变得很老。更好的选择是:

在开始编辑之前,使用 tar 创建所有要备份的文件的存档。

使用 for 循环来使备份副本更容易。

使用 tar 的方式很简单。对于当前目录中的所有文件,你可以使用如下命令:

对于一组可以用模式标识的文件,可以使用如下命令:

在每种情况下,最终都会生成一个 myfiles.tar 文件,其中包含目录中的所有文件或扩展名为 .txt 的所有文件。

一个简单的循环将允许你使用修改后的名称来制作备份副本:

当你备份单个文件并且该文件恰好有一个长名称时,可以依靠使用 tab 来补全文件名(在输入足够的字母以便唯一标识该文件后点击 Tab 键)并使用像这样的语法将 -orig 附加到副本的名字后。

然后你有一个 file-with-a-very-long-name 和一个 file-with-a-very-long-name-orig。

在 Linux 上重命名文件

重命名文件的传统方法是使用 mv 命令。该命令将文件移动到不同的目录,或原地更改其名称,或者同时执行这两个操作。

但我们也有 rename 命令来做重命名。使用 rename 命令的窍门是习惯它的语法,但是如果你了解一些 Perl,你可能发现它并不棘手。

有个非常有用的例子。假设你想重新命名一个目录中的文件,将所有的大写字母替换为小写字母。一般来说,你在 Unix 或 Linux 系统上找不到大量大写字母的文件,但你可以有。这里有一个简单的方法来重命名它们,而不必为它们中的每一个使用 mv 命令。 /A-Z/a-z/ 告诉 rename 命令将范围 A-Z 中的任何字母更改为 a-z 中的相应字母。

你也可以使用 rename 来删除文件扩展名。也许你厌倦了看到带有 .txt 扩展名的文本文件。简单删除这些扩展名 —— 用一个命令。

现在让我们想象一下,你改变了心意,并希望把这些扩展名改回来。没问题。只需修改命令。窍门是理解第一个斜杠前的 s 意味着“替代”。前两个斜线之间的内容是我们想要改变的东西,第二个斜线和第三个斜线之间是改变后的东西。所以,$ 表示文件名的结尾,我们将它改为 .txt。

你也可以更改文件名的其他部分。牢记 s/旧内容/新内容/ 规则。

​在上面的例子中注意到,当我们在 s/old/new/ 中使用 s 时,我们用另一个名称替换名称的一部分。当我们使用 y 时,我们就是直译(将字符从一个范围替换为另一个范围)。

总结

现在有很多复制和重命名文件的方法。我希望其中的一些会让你在使用命令行时更愉快。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 "cp -r" 命令来复制文件夹,"-r" 选项表示递归复制。例如,要将 "original_folder" 复制到 "new_folder",可以使用以下命令: ``` cp -r original_folder new_folder ``` 如果要在复制的同时改名文件夹,可以在上面命令后面加上新的文件夹名,例如: ``` cp -r original_folder new_folder_new_name ``` 如果要在同一目录下改名文件夹,可以使用 "mv" 命令,例如: ``` mv original_folder new_folder_new_name ``` ### 回答2: Linux是一种开源的操作系统,具有强大的功能和灵活的特性。在Linux中,复制文件夹并改名是一个非常常见的操作。下面就是如何在Linux系统中复制文件夹并改名的方法。 首先,我们需要打开Terminal(终端),然后使用如下的命令进行复制: cp -r folder1 folder2 其中,-r是表示递归复制,即文件夹及其内部所有文件和子文件夹都会被复制;folder1表示源文件夹的名称;folder2表示目标文件夹的名称。如果需要在目标文件夹中改名,那么可以使用mv命令进行操作,具体方法如下: mv folder2 newFolder2 其中,newFolder2是目标文件夹改名后的名称。 总的来说,Linux系统中复制文件夹并改名非常简单和方便,只需要使用几个命令就可以轻松完成。不过,需要注意的是在使用命令时,需要仔细检查命令语法和参数,避免出现不必要的错误或者意外情况。 ### 回答3: 在Linux复制文件夹并改名的方法有多种,下面介绍两种常用的方式。 方式一:使用cp命令复制并改名 使用cp命令可以将一个文件复制到另一个位置,并可以为目标文件命名。 命令格式为: cp -r 原文件夹 目标文件夹 例如,将名为test1的文件复制到test2并改名为test3,可以这样输入命令: cp -r test1 test2/test3 其中,-r表示复制整个文件夹,test2/test3表示在test2文件夹下新建一个名为test3的文件夹,将test1复制到该文件夹中。 方式二:使用rsync命令复制并改名 rsync是Linux中一个非常实用的文件同步工具,通过rsync命令可以快速、方便地进行文件夹的复制和同步。 命令格式为: rsync -av 原文件夹 目标文件夹 其中,-a表示使用归档模式进行同步,-v表示显示详细信息。 例如,将名为test1的文件复制到test2并改名为test3,可以这样输入命令: rsync -av test1/ test2/test3/ 其中,test1/表示复制整个文件夹,test2/test3/表示在test2文件夹下新建一个名为test3的文件夹,将test1复制到该文件夹中。 总之,在Linux复制文件夹并改名有不同的方法,可根据具体情况选择适合自己的方式进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值