Linux下文件夹移动与复制的基础命令
Linux系统中处理文件夹的移动和复制不需要像Windows那样通过图形界面拖拽操作,直接使用命令行工具就能高效完成,常用的两个命令分别是mv和cp,分别对应移动和复制功能。

文件夹移动:mv命令
mv命令的全称是move,既可以移动文件或文件夹,也可以给文件或文件夹重命名,移动文件夹的基础语法如下:
# 移动文件夹基础语法 mv [选项] 源文件夹路径 目标路径
常用选项说明:
- -f:强制移动,若目标路径存在同名文件夹,直接覆盖不提示
- -i:交互模式,若目标路径存在同名文件夹,会提示用户是否覆盖
- -v:显示移动过程的详细信息
举个例子,要把当前目录下的test_folder文件夹移动到/home/user/documents目录下,命令如下:
# 移动文件夹到指定目录 mv test_folder /home/user/documents/ # 移动时显示详细信息 mv -v test_folder /home/user/documents/
如果要给文件夹重命名,只需要把目标路径写成新的文件夹名称即可,比如把test_folder重命名为new_folder:
# 重命名文件夹 mv test_folder new_folder
文件夹复制:cp命令
cp命令的全称是copy,用于复制文件或文件夹,复制文件夹时需要添加递归参数,否则命令会执行失败,基础语法如下:
# 复制文件夹基础语法 cp [选项] 源文件夹路径 目标路径
复制文件夹的常用选项说明:
- -r 或 -R:递归复制,必须加这个参数才能复制文件夹下的所有子文件和子目录
- -a:归档模式,保留文件的所有属性,包括权限、时间戳、软链接等,相当于-dR --preserve=all的组合
- -f:强制复制,若目标路径存在同名文件夹,直接覆盖不提示
- -i:交互模式,若目标路径存在同名文件夹,会提示用户是否覆盖
- -v:显示复制过程的详细信息
举个例子,要把当前目录下的test_folder文件夹复制到/home/user/backup目录下,命令如下:
# 递归复制文件夹 cp -r test_folder /home/user/backup/ # 保留所有属性复制文件夹 cp -a test_folder /home/user/backup/ # 复制时显示详细信息 cp -rv test_folder /home/user/backup/
操作注意事项
1. 移动文件夹时,如果目标路径是已经存在的文件夹,源文件夹会被移动到目标文件夹内部;如果目标路径不存在,源文件夹会被重命名为目标路径的名称。
2. 复制文件夹时如果没有加-r参数,会提示cp: omitting directory的错误,因为默认cp命令只处理单个文件。
3. 操作前建议确认源路径和目标路径的正确性,避免误删或误覆盖重要文件,加上-i参数可以在覆盖前得到确认提示。
4. 如果需要复制的文件夹包含大量小文件,使用-a参数可以保证复制后的文件属性和原文件完全一致,适合备份场景使用。