linux下复制文件夹时,cp -r 没有 cp -a 好:
使用cp -r
复制文件夹,复制后的文件夹和文件使用新的时间戳等信息
使用cp -a
相当于将原数据原封不动的复制到新文件夹,不改变里面的任何信息
在cp命令里,指定源文件夹时,
使用: 源路径/* 【说明:斜杠后加星号】 没有
使用: 源路径/. 【说明:斜杠后加点】 好。
源路径使用*
号,进行复制,复制不了源目录下的隐藏文件(比如.config
文件)
源路径使用.
号(小数点)复制,可以复制所有文件,包括隐藏文件。
即 最佳用法:
cp -a 源路径/. 目标路径
例如:
cp ~/t1/. ~/t2
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
补充说明: ( 后续的 [-r/-a] 表示使用 -r 或 -a )
1、cp [-r/-a] 源路径/* 目标路径
含义应该是:将 源路径下的 所有非隐藏文件和子目录 递归复制到 目标路径。
cp [-r/-a] 源路径/. 目标路径
含义应该是:将 源路径下的 所有文件(包括隐藏文件)和子目录 递归复制到 目标路径。
2、cp [-r/-a] 源路径 目标路径
或
cp [-r/-a] 源路径/ 目标路径
或
cp [-r/-a] 源路径/ 目标路径/
都可以将源路径下所有文件(包括隐藏文件)和子目录 递归复制到 目标路径。