Linux - 指令 - cp & mv

一. 复制文件 - cp

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

功能: 复制文件或目录.

常用选项:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

常用选项:

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

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

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

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

文件重命名.

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

文件剪切并重命名.

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

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

文件剪切.

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

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

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

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

目录剪切并重命名.

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

相关推荐
矛取矛求2 小时前
Linux如何更优质调节系统性能
linux
内核程序员kevin3 小时前
在Linux环境下使用Docker打包和发布.NET程序并配合MySQL部署
linux·mysql·docker·.net
kayotin4 小时前
Wordpress博客配置2024
linux·mysql·docker
Ztiddler5 小时前
【Linux Shell命令-不定期更新】
linux·运维·服务器·ssh
小小不董5 小时前
Oracle OCP认证考试考点详解082系列16
linux·运维·服务器·数据库·oracle·dba
a1denzzz5 小时前
Linux系统的网络设置
linux·服务器·网络
ac.char6 小时前
在CentOS下安装RabbitMQ
linux·centos·rabbitmq
m0_519523106 小时前
Linux——简单认识vim、gcc以及make/Makefile
linux·运维·vim
mit6.8246 小时前
[Docker#4] 镜像仓库 | 部分常用命令
linux·运维·docker·容器·架构
zyp2468107 小时前
Linux之DNS服务器
linux·运维·服务器