1.只拷贝文件
cp 源目录/* 目标目录/
只拷贝文件,不拷贝目录和子目录。
2.拷贝子目录
cp -r 源目录 目标目录
会把“源目录”下的文件和子目录都拷贝到目标目录下。
3.报错“cp:omitting directiory”
通常是拷贝时目录下有子目录,无法进行拷贝,报这个提示。
此时可以通过 cp -r 解决。
4.拷贝显示进度
可以使用rsync命令:
rsync [OPTION]... SRC [SRC]... DEST
4.1 rsync的作用:
rsync是一种增量备份的工具,能实现定时或间隔同步。目的是实现两端主机的文件同步。Rsync 使用TCP 873端口。
特点:
1.保留原有的权限(permission,mode),owner,group,时间(修改时间,modify time),软硬链接,文件acl,文件属性(attributes)信息等;
2.传输效率高
rsync同类服务
sync 同步:刷新文件系统缓存,强制将修改过的数据块写入磁盘,并且更新超级块。
async 异步:将数据先放到缓冲区,再周期性(一般是30s)的去同步到磁盘。
rsync 远程同步:remote synchronous
4.2使用方法
.本地传输
rsync /tmp/ /home/ #将/tmp下所有文件传输到/home下
rsync /tmp /home/ #将/tmp下所有文件包含文件夹tmp传输到/home下
使用rsync一定要注意的一点是,源路径如果是一个目录的话,带上尾随斜线和不带尾随斜线是不一样的,不带尾随斜线表示的是整个目录包括目录本身,带上尾随斜线表示的是目录中的文件,不包括目录本身。
.从服务器到本地
rsync -r 172.16.3.40:/tmp /tmp #将远程服务器172.16.3.40上的/tmp目录传输到本地服务器/tmp路径下
.从本地到服务器
rsync -r /tmp 172.16.3.40:/tmp # 将本地/tmp目录拷贝到远程主机172.16.3.40的/tmp下,以保证远程/tmp目录和本地/etc保持同步
.参数说明
-v:显示rsync过程中详细信息。可以使用"-vvvv"获取更详细信息。
-P:显示文件传输的进度信息。(实际上"-P"="--partial --progress",其中的"--progress"才是显示进度信息的)
-a --archive :归档模式,表示递归传输并保持文件属性。等同于"-rtopgDl"。
-r --recursive:递归到目录中去。
-d --dirs :以不递归的方式拷贝目录本身。默认递归时,如果源为"dir1/file1",则不会拷贝dir1目录,使用该选项将拷贝dir1但不拷贝file1。
https://www.jianshu.com/p/5a799b36c7e1
https://www.cnblogs.com/weikui/p/10584599.html