Linux 指令 cp & mv

2023年 9月 2日 28.3k 0

一. 复制文件 - cp

语法: cp [选项] 源文件或目录 目标文件或目录

功能: 复制文件或目录.

常用选项:

· -f 强行复制文件或目录, 不论目的文件或目录是否已经存在.

· -i 覆盖文件之前先询问用户.

· -r / -R 递归处理, 将指定目录下的文件与子目录一并处理.

源对象和目标对象都是文件

当源对象和目标对象都是文件时, 且目标文件不存在时, cp 命令会将源文件复制成一个新的目标文件, 并以目标对象文件名命名, 放置于当前工作目录下. 新文件在形式上就像全新的文件一样, 有新的修改时间.

image.png

新文件 test2 和 test1 的 修改时间并不一样.

如果目标文件已经存在, 则 cp 命令可能并不会提醒你这一点. 最好加上 -i 选项, 强制 shell 询问是否要覆盖已有文件.

image.png

如果回答 y, 则覆盖已有文件; 如果回答 n, 则停止文件复制.

源对象是文件, 目标对象是目录 (现有目录)

将文件复制到现有目录中.

image.png

如果将文件复制到的目标目录不存在, 会产生报错信息.

image.png

提示: 先前的例子在目标目录名尾部加上了一个正斜线 ( / ) . 这表明 newidr 是一个目录而非文件. 这有助于表明目的, 而且在复制单个文件时非常重要. 如果没有使用正斜线, 同时子目录 newdir 又不存在, 就会产生麻烦. 在这种情况下, 试图将一个文件复制到 newdir 子目录反而会创建名为 newdir 的普通文件, 更是连错误消息都不会有. 因此, 记得在目标目录名尾部加上正斜线.

源对象和目标对象都是目录

cp 命令的 -R 选项功能强大. 可以用它在单个命令中递归地复制整个目录的内容.

image.png

在执行 cp -R 命令之前, 目录 dir 并不存在. 它是随着 cp -R 命令被创建的, 整个 newdir 目录中的内容都被复制到其中. 注意, 新的 dir 目录中的所有文件都有新的日期. dir 目录现在已经成为了 newdir 目录的完整副本.

也可以在 cp 命令中使用通配符复制一组文件.

二. 文件剪切并重命名 - mv

语法: mv [选项] 源文件或目录 目标文件或目录

功能: 剪切并重命名文件或目录.

常用选项:

· -f 如果目标文件已经存在, 不会询问而直接覆盖.

· -i 若目标文件 (destination) 已经存在时, 就会询问是否覆盖.

在 Linux 中, mv 命令可以将文件和目录剪切或重命名或剪切并重命名.

源对象和目标对象都是文件

文件重命名.

image.png

注意, 移动文件会将文件名从 fall 更改为 fzll, 但 inode 编号和时间戳保持不变. 这是因为 mv 只影响文件名.

文件剪切并重命名.

image.png

inode 编号和时间戳同样保持不变.

源对象是文件, 目标对象是目录 (现有目录)

文件剪切.

image.png

inode 编号和时间戳同样保持不变.

源对象和目标对象都是目录

目录重命名 (目标对象目录不存在) .

image.png

目录剪切 (目标对象目录存在) , 将源对象目录剪切到目标对象目录下, 即成为目标对象目录的子目录.

image.png

目录剪切并重命名.

image.png

提示: 和 cp 命令类似, 也可以在 mv 命令中使用 -i 选项. 这样在 mv 试图覆盖已有的文件时会发出询问.

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论