在Linux系统中,移动和复制文件夹是常见的文件操作任务。以下是详细的方法说明:
命令:mv
功能:将文件夹从一个位置移动到另一个位置(可跨文件系统),也可用于重命名文件夹。
mv [选项] 源文件夹路径 目标路径
-i
:交互模式(覆盖前提示确认)。-v
:显示详细操作过程。-u
:仅当源文件比目标文件新时移动。# 将文件夹 dir1 移动到 /home/user/documents/ 目录下
mv /path/to/dir1 /home/user/documents/
# 移动并重命名(将 dir1 移动到目标路径并更名为 dir2)
mv /path/to/dir1 /home/user/documents/dir2
# 交互式移动(覆盖前询问)
mv -i dir1 /backup/
mv
会直接覆盖(除非使用 -i
选项)。命令:cp
功能:复制文件夹及其内容到新位置(需递归复制子目录和文件)。
cp [选项] -r 源文件夹路径 目标路径
注意:必须使用 -r
(或 -R
/--recursive
)选项递归复制文件夹。
-r
:递归复制文件夹及其内容。-i
:交互模式(覆盖前提示)。-v
:显示复制过程。-u
:仅复制比目标更新的文件。-a
:归档模式(保留权限、时间戳等,等同于 -rp
)。# 复制 dir1 到 /backup/ 目录(包括子文件和子目录)
cp -r /path/to/dir1 /backup/
# 复制并保留原始属性(权限、时间戳等)
cp -a dir1 /backup/
# 交互式复制(避免覆盖重要文件)
cp -ri dir1 /backup/
cp
会将源文件夹复制到目标文件夹内(如 /backup/dir1
)。rsync
命令实现增量复制(更高效)。rsync
适用场景:需要增量备份、保留文件属性或网络传输时。
rsync -av 源文件夹/ 目标路径/
选项说明:
- -a
:归档模式(保留权限、符号链接等)。
- -v
:显示详细过程。
- -z
:压缩传输(适用于网络)。
- --delete
:同步删除目标中多余文件。
# 本地复制文件夹(类似 cp -a)
rsync -av /path/to/dir1/ /backup/dir1/
# 远程同步到服务器
rsync -avz dir1/ user@remote:/backup/
操作 | 命令 | 关键选项 | 特点 |
---|---|---|---|
移动 | mv |
无 | 快速,但跨文件系统时较慢 |
复制 | cp |
-r |
必须递归复制 |
同步 | rsync |
-a |
适合大文件夹或远程备份 |
根据需求选择合适的命令即可!