linux中如何复制文件并重命名_解析如何使用Linux命令下复制和重命名文件

解析如何使用Linux命令下复制和重命名文件

2018-06-29 13:18:45

2019浏览

在现如今,随着互联网技术飞速的发展和进步,目前大多数便于语言都会涉及到命名,比如在Linux上如何复制和重命名文件呢?下面我们一起来看一下吧。

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

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

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

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

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

$tarcfmyfiles.tar*

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

$tarcfmyfiles.tar*.txt

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

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

$forfilein*

>do

>cp$file$file-orig

>done

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

$cpfile-with-a-very-long-name{,-orig}

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

在Linux上重命名文件

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

$mvmyfile/tmp

$mvmyfilenotmyfile

$mvmyfile/tmp/notmyfile

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

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

$ls

AgendaGroup.JPGMyFile

$rename'y/A-Z/a-z/'*

$ls

agendagroup.jpgmyfile

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

$ls

agenda.txtnotes.txtweekly.txt

$rename's/.txt//'*

$ls

agendanotesweekly

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

$ls

agendanotesweekly

$rename's/$/.txt/'*

$ls

agenda.txtnotes.txtweekly.tx

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

$ls

draft-minutes-2018-03draft-minutes-2018-04draft-minutes-2018-05

$rename's/draft/approved/'*minutes*

$ls

approved-minutes-2018-03approved-minutes-2018-04approved-minutes-2018-05

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

现在有很多复制和重命名文件的方法,最后想要了解更多关于Linux就业班或行业前景,请关注扣丁学堂官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Linux视频教程系统,通过千锋扣丁学堂金牌讲师在线录制的Linux视频教程课程,让你快速掌握Linux从入门到精通开发实战技能。扣丁学堂Linux技术交流群:422345477

【关注微信公众号获取更多的学习资料】

标签:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值