linux复制文件命令

  • A+
所属分类:linux技术
摘要

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


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

参数列表预览:

linux复制文件命令

linux复制文件命令

用法1:

$ cp sourceFile destinationFile

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

命令行:

linux复制文件命令

结果:

linux复制文件命令linux复制文件命令

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

用法2:文件同名拷贝

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

命令行:

linux复制文件命令

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

$ cp /home/sheepcore/Documents/newfile .

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

linux复制文件命令

用法3:

$ cp -p destinationFile newDestnFile

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

命令行:

linux复制文件命令

用法4:

$ cp -R sourceDir destinationDir

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

命令行:

linux复制文件命令

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

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

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

命令行:

linux复制文件命令

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

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

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

以下是结果显示:

linux复制文件命令

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

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

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

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

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

补充:

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

$ cp -f file* destinationDir

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

命令行实例:

linux复制文件命令

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

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

命令行实例:

linux复制文件命令

linux复制文件命令

本文由博客一文多发平台 OpenWrite 发布!