Linux 命令行学习之路 -- 3.复制文件 cp

Linux Command Line Basic 专栏收录该内容
14 篇文章 1 订阅

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/qq_38812171 


定义:cp is short for copy, 意为复制文件。用于将文件或目录从一个位置复制到另一个位置。

参数列表预览:

 

用法1:

$  cp  sourceFile  destinationFile

当sourceFile 和 destinationFile 参数都是文件名时,cp 命令将源文件内容复制到一个新文件,该新文件以destinatioFile命名。源文件内容不变。新文件有全新的从创建时间和修改时间。

命令行:

结果:

 

注意:当 destinationFile 已存在时,一般 Linux 系统会提醒用户是否覆盖原有文件。

 

用法2:文件同名拷贝

$  cp  /home/sheepcore/Documents/newfile   /home/sheepcore/Downloads(必须给出绝对文件路径)

命令行:

如果只需复制到当前目录的话,可以做如下简化:

$  cp  /home/sheepcore/Documents/newfile   .

('.' 表示当前文件目录,即为/home/sheepcore/Documents)

 

用法3:

$  cp -p destinationFile newDestnFile

使用 -p (preserve mode) 参数来为目标文件保留源文件的访问时间和修改时间!

命令行:

 

用法4:

$  cp  -R  sourceDir  destinationDir

使用 -R (recursive) 参数递归的复制整个源目录到目标目录中。其功能极其强大!

命令行:

用法5: 使用 cp 指令创建文件的硬链接与软链接

$  cp -l   srcFile  linkedFile (硬链接 -l 表示 link)

$  cp -s  srcFile  linkedFile (软链接 -s 表示 soft)

命令行:

硬链接会创建一个独立文件,其中包括了源文件的信息以及位置。因此,引用硬链接文件等同于引用了源文件。

如上图所示命令行,创建 file 文件的硬链接文件 fileLink,从文件列表可以看出,file 和 fileLink 的索引节点号完全相同,这表明,实际上它们是同一个文件。细心注意一下,-rw-r--r-- 后面的数字 2 表明了,该文件的链接计数,说明当前有两个文件存在了两个链接。

当然,对于不同存储媒体上的文件之间,是不允许创建硬链接的。这个时候就可以使用下面一种方法,通过 -s 来创建软链接。

以下是结果显示:

注意到图中,我标注出来的几点不同:

1. 软链接文件有一个新的索引节点号;

2. 软链接文件的文件大小明显小于源文件和硬链接文件;

3. 软链接文件的链接数上显示为1;而源文件和硬链接文件显示为2?

然后,我简单解释一下这几点不同。创建软链接文件时,Linux 系统把它当做一个单独的文件,所以它有一个唯一的索引号。文件变小的原因是:链接文件只需要存储源文件的信息,比如访问时间、文件大小、地址等,而不会存储源文件的内容,也就是里面的数据。 因为软链接实质上创建了一个新的文件,所以就链接计数为1。

 

补充:

可以使用通配符*, 批量复制有相同名字前缀的文件到一个目录当中!

$  cp -f  file*   destinationDir

-f (force) 强制覆盖已存在的目标文件,不提示!

命令行实例:

 

技巧:可以使用相对路径 . (当前目录)or ..(当前目录的父目录)

$  cp -v  ./file*   ../destinationDir

命令行实例:

 

评论 1 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

SheepCore

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值