Linux中cp命令的使用详解

adminmycode1年前linux854

cp  命令是 Linux 中一个重要的命令,你可能经常会用到它。

正如名称所示, cp  代表 复制copy,它被用于 在 Linux 命令行中复制文件和目录。

这是一个相对简单的命令,只有几个选项,但你仍有必要深入了解它。

在展示  cp  命令的实际示例之前,我更建议你先熟悉绝对路径和相对路径的概念,将文件从一个位置复制到另一个位置时,你需要用到它们。

Linux 中的绝对路径和相对路径的不同之处

复制单个文件

cp  命令最简单和最常见的用途是复制文件,只需指定源文件和要“粘贴”文件的目标目录即可。

cp 源文件 目标目录

将单个文件从源目录复制到目标目录。

在复制文件的同时重命名它

你将文件复制到另一个位置时可以同时进行 重命名。这有点类似于文本编辑器中的“另存为”选项。

为此,你必须在路径中给出新的文件名。

cp 源文件 目标目录/新文件名

在复制文件的同时重命名

复制多个文件

你还可以将多个文件复制到另一个位置。

cp 文件1 文件2 文件3 目标目录

复制多个文件时,将目标目录放在最后

在这种情况下,你无法重命名文件。

你还可以使用通配符扩展,将特定后缀的文件复制到另一个位置:

cp *.txt 目标目录

使用通配符扩展复制多个文件,比如所有 .txt 后缀的文件

复制文件时避免覆盖现有文件

如果你将  file1.txt  复制到一个已经存在名为  file1.txt  文件的目录中,它会将原有的文件覆盖掉。

如果你不希望这样, cp  命令还提供了几个选项来处理文件覆盖的情况。

首先是使用选项  -i  的交互模式。在交互模式下,它会询问是否确认或放弃覆盖目标文件。

cp -i 源文件 目标目录
cp:覆盖 '目标目录/源文件' ?

按   覆盖文件,按   跳过复制该文件。

覆盖,但以交互方式询问(内容将被覆盖)

覆盖,但以交互方式询问(内容不会被覆盖)

选项  -n  代表完全取消覆盖。使用此选项时目标文件不会被覆盖。

cp -n 源文件 目标目录

取消覆盖(目录内文件的内容未更改)

还有一个选项  -b ,在目标目录的文件将被覆盖时自动为其创建备份。我猜这里   代表 备份backup。

cp -b 源文件 目标目录

覆盖文件,但在备份文件后附加了“~”。

最后,还有一个“更新update”选项  -u ,如果目标文件比源文件旧,或者目标文件不存在,就会被覆盖掉。

cp -u 源文件 目标目录

新文件会覆盖旧文件

复制目录(文件夹)

cp 命令也用来在 Linux 命令行中复制目录。

在复制目录时,你需要使用递归选项  -r 

cp -r 源目录 目标目录

在 Linux 中使用 cp 命令复制整个目录

你还可以将多个目录复制到另一个位置:

cp -r 目录1 目录2 目录3 目标目录

使用 cp 命令复制多个目录

在复制时保留属性

当你将文件复制到另一个位置时,它的 时间戳、文件权限 甚至所有权都会发生变化。

这是正常的行为。但在某些情况下,你可能希望在复制文件时保留其原始属性。

要保留属性,请使用选项  -p 

cp -p 源文件 目标目录

到此这篇关于Linux中cp命令的使用详解的文章就介绍到这了

相关文章

centos/linux 宝塔 修改默认php版本

centos/linux  宝塔 修改默认php版本登陆ssh 输入以下命令查看当前PHP 目录 版本php -v  ls -l /usr/bin/...

在 CentOS 上安装 ClamAV 杀毒软件的步骤

安装ClamAV杀毒软件步骤如下:在CentOS上安装ClamAV杀毒软件可以按照以下步骤进行:1.打开终端(Terminal)。2.更新软件包列表:yum update3.安装ClamAV...

Git-warning: CRLF will be replaced by LF in XXX .

类似错误提示warning: CRLF will be replaced by LF in XXX .&nbs...

linux cenos zip 操作-r 压缩文件名 源目录

zip -r 压缩文件名 源目录unzip -d /home/hello hello.zip现在要压缩test目录,忽略掉good.txt则可以执行如下命令zip -r xxx.zip test -x...

linux 快速创建一个10G大文件

linux 快速创建一个10G大文件 要创建一个 10 GB 的文件,可以这样: fallocate -l 10G y...

Linux中查看文件夹占用磁盘大小

一、命令 du -ah --max-depth=1 ./ du -h ./ 查看磁盘容量 df -h df&n...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。