1.软文推荐

2.软文推荐

3.软文推荐

在Linux系统中拷贝文件和目录是一个熟练掌握操作系统的基本指令,本片文章和大家分享一下cp的使用用法。

copy 命令是什么

正如我们在上文提到的,cp是一个用来创建文件和目录副本的命令。在这里我们提供了一些在日常操作中可能用到的cp命令的实例。

1. 不带任何参数下,运行cp

这是 cp 命令最基础的使用。 拷贝名为 myfile.txt 从一个位置到另一个位置,我们可以像这样子输入:

cp myfile.txt /home/pungki/office

Copy without options

如果我们没有输入绝对路径,这意味着我们正在当前目录下拷贝一个文件。在上面的实例中,myfile.txt位于/home/pungki/Documents目录下。如果我们当前目录正是/home/pungki/Documets,那么没有必要输入/home/pungki/Documents/myfile.txt来拷贝文件。当/home/pungki/office是一个目录,则文件会拷贝到里面。

2. 同时拷贝多个文件

要在同时拷贝多个文件,我们只需要将多个文件用空格隔开。如下示例:

cp file_1.txt file_2.txt file_3.txt /home/pungki/office

Copying multiple files

3. 拷贝一个目录

要拷贝一个目录的话会有点棘手。你需要添加 -r 或者 -R 选项来实现。-r-R 选项表明递归操作。无论该目录是否为空目录,这个选项都是必要的。如下示例:

cp r directory_1 /home/pungki/office

Copy directory

需要注意的一件事,你需要移除在目录名尾部的斜杠。否则你会收到类似的错误信息cp: omitting directory‘directory_1/

Copy directory error

如果你收到错误信息,则目录不会被拷贝到目标文件夹。

4. 创建文件的硬链接,而不是拷贝它们

拷贝文件意味着你必须使用一些存储空间来储存拷贝的文件。有时候出于某种原因,你可能想要创建“快捷方式”或者链接到文件,而不是拷贝它们。要做到这一点,我们可以使用-l选项。

cp l file_4.txt /home/pungki/office

Copy hardlinks

从上图看出,我们看到file_4.txt的硬链接已经拷贝到/home/pungki/office/file_4.txt。标记有同样的 inode, 835386。但是请注意,硬链接不能用来创建目录。下面让我们看一个例子。

原目录 directory_1 的 inode 值是 278230

原文件 file_5.txt 的 inode 值是 279231

对 directory_1 执行 cp 命令

拷贝的 directory_1副本的 inode 值是 274800

拷贝的 file_5.txt副本的 inode 值是 279231。跟它的原文件一样

Inode number of copied file

5. 创建文件的符号链接

也有一种链接叫做 软链接 或 符号链接。我们用 -s 选项来实现。下面是命令的示例。

cp /home/pungki/Documents/file_6.txt file_6.txt

创建符号链接只能在当前目录下进行。在上面的截图中,我们想要创建符号链接 /home/pungki/office/file6.txt 指向原文件 /home/pungki/Documents/file6.txt。但是为了创建符号链接,我必须在将/home/pungki/office作为目标目录。一旦我设法进入目录,我就可以向上面一样运行 cp -s 命令。

现在你列出文件详情,你会看到/home/pungki/office/file_6.txt指向了原文件。在其文件名后标记了箭头符号。

Symbolic links

6. 不随符号链接拷贝原文件 [译注:意思是只拷贝符号链接文件]

我们可以用 -P 选项来实现。当对符号链接使用 cp 命令,它会照原样拷贝它自身。来看看下面的示例。

cp P file_6.txt ./movie

Copy using -P option

如你所见,cp 命令照原样拷贝file_6.txt自身。文件类型仍然是一个符号链接。

7. 随符号链接拷贝原文件

现在我们可以试一下-L选项。基本上,这个刚好与上面的 -P 选项 相反。下面是个示例:

cp L file_6.txt ./movie

Copy using -L option

使用这个选项,拷贝的文件将会和file_6.txt原文件一样。我们可以从文件大小看出来。拷贝的文件有50 字节而当file_6.txt作为符号链接时文件大小只有33 字节

8. 文件归档

当我们去拷贝一个目录时,我们会用-r或者-R选项。但是我们也可以用-a选项来归档文件。这样会创建文件和目录的准确套录,如果有的话也可以包括符号链接。下面是示例:[译注:-a 会保留原文件或目录的属性] cp a directory_1/ /home/pungki/office

Copy using -a option

上列的命令会拷贝一个名为 directory1 的目录到/home/pungki/office目录下。如你所见,**file6.txt**依然作为符号链接被复制。

9. 显示正在做什么

默认情况下,当拷贝作业成功时,我们仅仅会再次看到命令提示符。如果你想了解在拷贝文件时都发生了什么,我们可以用 -v 选项。

cp *.txt /home/pungki/office

Verbose option

当我们从当前目录下拷贝所有的 txt 文件到 /home/pungki/office 目录,-v选项会显示正在操作的过程。这些额外的信息会帮助我们了解更多拷贝过程。

10. 当原文件较目标文件新时拷贝

我们用 -u选项来实现。下面是具体示例:

cp vu *.txt /home/pungki/office

Copy only if newer

起初我们看到file_1.txt 是0字节大小。然后我们用 vi 编辑,加入一些内容并保存。接下来,我们发现文件大小已经变为了 36 个字节。 与此同时在/home/pungki/office目录中,我们已经包含了所有txt文件。当我们用 -u 选项,结合 -v 选项来查看具体操作,cp 命令会只拷贝比目标目录下新的文件。因此,我们看到只有 file_1.txt 拷贝到 /home/pungki/office 目录下

11. 使用交互模式

交互模式下会询问是否覆盖目标目录下的文件。使用 -i 选项,启用交互模式。

cp ir directory_1/ /home/pungki/office/

Interactive mode

12. 创建备份文件

当目标目录已经含有同名文件,默认情况下 cp 命令会覆盖目标目录下的同名文件。使用 –backup 选项,cp 命令会为每一个现有的目标文件做一个备份。../office 相对于 /home/pungki/office 。下面是示例:

cp backup=simple *.txt ../office

Backup option

正如我们看到的,–backup=simple 选项会创建一个在文件名末尾用波浪符标记(~)的备份文件。–backup 选项也有一些其他控制:

none, off:从不备份(即使给出 –backup) numbered, t:用编号备份 existing, nil :如果编号备份存在则使用编号备份,否者用简易备份[译注:也就是用波浪号] simple, never :总是使用简易备份 13. 只拷贝文件属性

cp 命令也提供给我们 –attributes-only 选项。顾名思义,这个选项只会拷贝文件名及其属性,不会拷贝任何数据。下面是示例:

cp attributesonly file_6.txt ../office

Copy attributes only

从上图看出, 原文件 file_6.txt 有 50 字节大小。用了 –attributes-only选项,拷贝的文件只有0字节大小。这是因为文件内容并没有拷贝。

14. 强制拷贝

用了 -f 选项会强制进行拷贝操作。如果目标文件不能打开,可以用 -f 尝试一下。

cp *.txt ../office

Copy with force

15. 在拷贝之前先删除目标

我们可以用,–remove-destination 选项 实现。这个选项与上面的-f选项形成对照。如果 cp 命令在目标目录下发现同名文件, cp 命令会先删除目标文件,然后再拷贝一份新的。下面是示例:

cp removedestination *.txt ../office

Remove destination option

要想学好Linux系统必须把基本的指令全部掌握,在学习过程中可以使用man命令进行查看命令的介绍。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

本文来源:www.lxlinux.net/631.html,若引用不当,请联系修改。

相关文章 8

1

CUBECLOUD:香港云服务器,机房接入联通CUVIP线路,香港原生IP,继续88折优惠中(cube云官网发布 2分钟前

CubeCloud怎么样? CubeCloud家今天宣布香港机房的套餐接入了联通cuvip,原来香港机房的线路为电信CN2 GIA回程,联通和移动走普通直连线路,现...

2

Linux 中批量移动、复制、追加和重命名文件 3分钟前

你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动文件和目录。 但是,mv 命令不支持一次重命名多个文件。 不用担心...

3

企鹅小屋:韩国CN2、日本CN2独立服务器特价优惠550月,大带宽,不限流量 6分钟前

企鹅小屋小屋成立的时间虽然不长,不过商家的信誉做的比较好,技术也比较不错,现在的线路也比较全面了,机房有中国香港、日本东京...

4

【真实测评】浩航互联日本大阪机房VPS测评数据 7分钟前

今天浩航互联上线了日本大阪机房的机器,目前通过本博客专用优惠码购买可以获得7折优惠,博主拿到了测试机器,给大家做一个测评数据...

5

【不限流量VPS】5每月 2G内存 40G SSD 100M不限流量 俄勒冈州 Mivocloud 10分钟前

Mivocloud是一家来至自摩尔多瓦共和国的主机销售商,主要销售虚拟主机、云服务器及独立服务器,VPS采用KVM虚拟架构,纯SSD硬盘,100M不限流...

6

宁波建设网站需要多少钱?(宁波建设信息网) 12分钟前

首先问建设网站多好少钱这个范围太广了,就像问一个手机多少钱一样,手机有很多种,很多品牌都是需要结合自身的一个需求。需要之后...

7

【黑五】RackNerd:8款特价黑五套餐,美国多地机房可选,512M套餐年付$8.89 14分钟前

RackNerd是一家去年开办的商家,商家很懂中国用户,开业就以低价的套餐打开了局面,相信很多朋友都购买过他家的套餐,商家目前正在不断...

8

SiteGround分布式备份系统,更好的保护独立站用户数据 15分钟前

SiteGround备份系统升级,正式上线分布式备份系统,将网站运行数据和网站的备份数据分别存储在不同地区的服务器上,相比之前将备份数据...