Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux文件夹复制与移动

Linux文件夹复制与移动的技巧分享

作者:vortex5

在Linux系统中,移动和复制文件夹是常见的任务,无论你是想要备份数据、迁移文件夹到其他位置还是归档数据,掌握文件夹的移动和复制技能都是必要的,本文将会教你Linux文件夹复制与移动技巧分享,需要的朋友可以参考下

一、核心命令特性表格

以下表格总结了 cpmvrsync 在文件夹操作中的特性,涵盖复制/移动内容、隐藏文件处理、目标目录结构及适用场景。

命令复制/移动内容包括隐藏文件目标目录结构适用场景
cp -r src/* dest/非隐藏文件和目录dest/ 包含 src 的一级内容选择性复制一级内容(如整理非隐藏文件)
cp -r src/. dest/所有文件和目录dest/ 包含 src 的一级内容备份整个目录,含隐藏文件
cp -r src dest/整个 src 目录dest/src/(保留 src 结构)完整备份或迁移目录
mv src/* dest/非隐藏文件和目录dest/ 包含 src 的一级内容一级解散,整理非隐藏内容
mv src/. dest/所有文件和目录dest/ 包含 src 的一级内容一级解散,含隐藏文件
mv src dest/整个 src 目录dest/src/(保留 src 结构)移动整个目录
rsync -a src/ dest/所有文件和目录dest/ 包含 src 的一级内容一级解散或同步,高效且保留属性
rsync -a src dest/整个 src 目录dest/src/(保留 src 结构)同步整个目录

关键说明

二、一级解散操作技巧

“一级解散”是指将文件夹(如 src/)下的一级内容(直接子文件和子目录)移动或复制到父目录或其他目录,并删除原文件夹。例如:

/home/user/src/
├── file1.txt
├── subfolder/
├── .hidden_file

目标是将 file1.txtsubfolder/.hidden_file 移动到 /home/user/,删除 src/,结果为:

/home/user/
├── file1.txt
├── subfolder/
├── .hidden_file

以下是实现一级解散的几种方法,重点解决隐藏文件和目录结构问题。

1. 使用 mv 实现一级解散

mv src/* . && rmdir src
shopt -s dotglob
mv src/* . && rmdir src
shopt -u dotglob
find src -maxdepth 1 -not -path src -exec mv {} . \; && rmdir src

2. 使用 rsync 实现一级解散

rsync -a src/ . && rmdir src
rsync -a --remove-source-files src/ . && rmdir src

3. 复制后解散

cp -r src/. . && rmdir src
find src -maxdepth 1 -not -path src -exec cp -r {} . \; && rmdir src

三、文件夹复制技巧(cp)

1. cp -r src/* dest/

shopt -s dotglob
cp -r src/* dest/
shopt -u dotglob

或:

find src -maxdepth 1 -not -path src -exec cp -r {} dest/ \;
cp -rpiv src/* dest/

2. cp -r src/. dest/

3. cp -r src dest/

四、文件夹移动技巧(mv)

1. mv src/* dest/

2. mv src/. dest/

3. mv src dest/

五、隐藏文件与目录结构问题

1. 隐藏文件被忽略

find src -maxdepth 1 -not -path src -exec mv {} dest/ \;

2. 目录结构未按预期保留

find src -maxdepth 1 -type f -exec mv {} dest/ \;

六、实用场景示例

一级解散(清理冗余目录)

rsync -a src/ . && rmdir src

高效移动所有内容(含隐藏文件),删除 src/

备份一级内容(含隐藏文件)

cp -r src/. backup/

迁移整个目录

mv src dest/

七、注意事项与最佳实践

备份:操作前备份:

cp -r src src_backup

预览:用 echo 检查:

echo mv src/* dest/

日志:记录操作:

rsync -av src/ dest/ > sync.log

空间检查

df -h

权限:确保写权限:

chmod -R u+w src/

以上就是Linux文件夹复制与移动技巧分享的详细内容,更多关于Linux文件夹复制与移动的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文