cp命令
1、文件的所有特性都一起复制过来(-a)
[root@loadhost home]# ll
drwxr-xr-x 3 mr users 4096 11月 2 15:40 test
[root@loadhost home]# cd test/
[root@loadhost test]# ll
drwxr-xr-x 2 mr users 4096 11月 2 16:47 111
[root@loadhost test]# cd 111
[root@loadhost 111]# ll
-rw-r--r-- 1 mr users 0 11月 2 16:47 222
[root@loadhost home]# cp -r /home/test test1 #/home/test下的东西拷到/home/test1里面
[root@loadhost home]# ll
drwxr-xr-x 3 mr users 4096 11月 2 15:40 test
drwxr-xr-x 3 root root 4096 11月 2 15:44 test1
[root@loadhost home]# cd test1
[root@loadhost test1]# ll #文件考过来了,但是文件的用户、群组、时间都变了
[root@loadhost home]# cp -ar /home/test test2
[root@loadhost home]# ll
drwxr-xr-x 3 mr users 4096 11月 2 15:40 test
drwxr-xr-x 3 root root 4096 11月 2 15:44 test1
drwxr-xr-x 3 mr users 4096 11月 2 15:40 test2
[root@loadhost home]# cd test2
[root@loadhost test2]# ll
drwxr-xr-x 2 mr users 4096 11月 2 15:40 111 #文件的用户、群组、创建时间都没变
2、递归复制(-r)
[root@loadhost home]# cp /home/test/111 test3
cp: 略过目录"/home/test/111" #111是一个目录,需要递归复制
[root@loadhost home]# cp -r /home/test/111 test3 #递归拷贝,拷贝过去也是一个文件夹
[root@loadhost home]# cp /home/test/111/222 test4 #222是一个文件,不需要递归
[root@loadhost home]# ll
drwxr-xr-x 3 mr users 4096 11月 2 15:40 test
drwxr-xr-x 3 root root 4096 11月 2 15:44 test1
drwxr-xr-x 3 mr users 4096 11月 2 15:40 test2
-rw-r--r-- 1 root root 0 11月 2 16:59 test4 #拷贝过来是一个文件
3、目的文件(目录)存在(-i/-f)
[root@loadhost home]# cp -a /home/test/111 test3
cp: 无法以目录"/home/test/111" 来覆盖非目录"test3" #源是目录,目的是文件,不可复制
[root@loadhost home]# cp -a /home/test/111/222 test1 #源是文件,目的是目录,直接拷贝到目录下
[root@loadhost home]# cd test1
[root@loadhost test1]# ll
drwxr-xr-x 2 root root 4096 11月 2 15:44 111
-rw-r--r-- 1 mr users 0 11月 2 16:47 222
[root@loadhost home]# cp -ar /home/test/ test1 #源和目的都是目录,可拷贝,拷贝前询问是否覆盖
cp:是否覆盖"test1/test/111/222"? yes
[root@loadhost home]# cp -ari /home/test/ test1
cp:是否覆盖"test1/test/111/222"? yes
[root@loadhost home]# cp -arf /home/test/111 test1 #拷贝前不询问,直接覆盖
[root@loadhost home]# cp -ai /home/test/111/222 test4 #源和目的都是文件,可拷贝,拷贝前询问是否覆盖
cp:是否覆盖"test4"? yes
scp 命令
1、scp是用于主机间的文件拷贝(主机能ping通)
2、当目的主机的目录下已存在,会覆盖拷贝
命令格式:scp user@host:source file user@host:target file
1、本机到远程主机(user@host:source file中,可以只写本机文件路径)
scp -r /home/1102 root@10.9.233.21:/home
2、远程主机1到本机(user@host:target file中,可以只写本机文件路径)
scp -r root@10.9.233.21:/home/1103 /home
3、远程主机1到远程主机2
scp -r root@10.9.233.21:/home/1103 root@10.9.233.22:/home