一.文件管理类命令
1.cp命令
1.cp - copy files and directories:复制文件和目录
2.cp命令分类:
1)单源复制
1.若目标文件不存在,则创建新文件并进行复制
2.若目标文件存在
1)目标为普通文件类型,则覆盖现有文件内容
2)若目标时目录文件类型,则在目标目录下创建并进行复制
练习测试:
"目标文件不存在"
[root@kasumi tmp]# ll
总用量 0
[root@kasumi tmp]# cp /etc/fstab fstab
[root@kasumi tmp]# ll
总用量 4
-rw-r--r--. 1 root root 1101 5月 18 19:37 fstab
"目标文件存在且为普通文件"
[root@kasumi tmp]# cp /etc/init.d/functions fstab
cp:是否覆盖"fstab"? y
"目标文件存在且为目录文件"
[root@kasumi tmp]# mkdir test
[root@kasumi tmp]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 test
[root@kasumi tmp]# ll test
总用量 4
-rw-r--r--. 1 root root 212 5月 18 19:42 ifcfg-eth0
2)多源复制
1.若目标为非目录文件,无法复制
2.源文件为普通文件,目标为目录文件,则分别复制每个文件至目标目录中,保持其文件原名
3.若源为文件为目录,目标文件也为目录文件,则负责源目录至目标目录文件中
练习测试:
"目标文件为非目录文件"
[root@kasumi tmp]# mkdir yum
[root@kasumi tmp]# cp /etc/fstab /etc/issue yum
[root@kasumi tmp]# cp -r yum fstab
cp: 无法以目录"yum" 来覆盖非目录"fstab"
"源文件为目录,目标文件为目录文件"
[root@kasumi tmp]# ll
总用量 40
drwxr-xr-x. 2 root root 4096 5月 18 19:44 123
-rw-r--r--. 1 root root 25427 5月 18 19:40 fstab
drwxr-xr-x. 3 root root 4096 5月 18 19:45 test
drwxr-xr-x. 2 root root 4096 5月 18 20:11 yum
[root@kasumi tmp]# cp -r yum 123
[root@kasumi tmp]# ll 123
总用量 8
-rw-r--r--. 1 root root 1101 5月 18 19:44 fstab
drwxr-xr-x. 2 root root 4096 5月 18 20:13 yum
"源文件为普通文件,目标文件为目录文件"
[root@kasumi tmp]# mkdir kora
[root@kasumi tmp]# cp /etc/fstab /etc/issue kora
[root@kasumi tmp]# ll kora
总用量 8
-rw-r--r--. 1 root root 1101 5月 18 20:19 fstab
-rw-r--r--. 1 root root 47 5月 18 20:19 issue
3.常用相关选项:
1)-i选项:交互式复制
[root@kasumi tmp]# cp -i /etc/profile.d/apache2.sh kora/fstab
cp:是否覆盖"kora/fstab"? y
2)-r:递归复制
[root@kasumi tmp]# cp /etc/profile.d kora
cp: 略过目录"/etc/profile.d"
[root@kasumi tmp]# cp -r /etc/profile.d kora
[root@kasumi tmp]# ll kora
总用量 88
-rw-r--r--. 1 root root 53 5月 18 20:24 apache2.sh
-rw-r--r--. 1 root root 1150 5月 18 20:24 colorls.csh
-rw-r--r--. 1 root root 1172 5月 18 20:24 colorls.sh
-rw-r--r--. 1 root root 92 5月 18 20:24 cvs.csh
-rw-r--r--. 1 root root 78 5月 18 20:24 cvs.sh
-rw-r--r--. 1 root root 53 5月 18 20:22 fstab
3){-a | -dpR | -dR --preserve=all},用于实现归档,复制整个目录,包括目录中的子目录等都递归的复制,而且还要保持文件的访问模式,所有者,时间戳等属性与原文件一样。
4)-d选项:复制符号文件连接本身,而非其指向的源文件
[root@kasumi tmp]# ln -s /etc/yum.repos.d/CentOS-Base.repo repo
[root@kasumi tmp]# ll repo
lrwxrwxrwx. 1 root root 33 5月 18 20:34 repo -> /etc/yum.repos.d/CentOS-Base.repo
[root@kasumi tmp]# cp -d repo repo2
[root@kasumi tmp]# ll repo*
lrwxrwxrwx. 1 root root 33 5月 18 20:34 repo -> /etc/yum.repos.d/CentOS-Base.repo
lrwxrwxrwx. 1 root root 33 5月 18 20:34 repo2 -> /etc/yum.repos.d/CentOS-Base.repo
5)- -preserve=mode选项:保留相应指定的属性
mode:权限
1.ownership:属主和属组
2.timestamps: 时间戳
3.context:安全标签
4.xattr:扩展属性
5.links:符号链接
6.all:上述所有属性
[root@yuki ~]# stat /etc/fstab
文件:"/etc/fstab"
大小:595 块:8 IO 块:4096 普通文件
设备:803h/2051d Inode:33585218 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
环境:system_u:o