cp:复制
[root@linux~]#cp [-adfilprsu]来源档(source)目的档(destination)
[root@linux~]#cp [options] source1 source2 source3 directory
参数:
-a:复制所有内容,包括文件和文件夹,和文件的属性
-d:来源档的属性为连结档(快捷方式),复制连结档属性(快捷方式指向的文件),不是复制快捷方式本身。本质:创建一个快捷方式,并指向来源档指向的文件。
-s:目的档复制成为连结档(快捷方式),不管来源档A是真实文件还是快捷方式,复制完成后的文件成为快捷方式,并指向A。本质:创建一个快捷方式,并指向来源档(范例四)
-f:为强制的意思,若有重复或其他疑问时,先不回询问用户,直接复制
-i:若目的档(destination)已经存在时,在覆盖时会先询问
-r:递回持续复制,用于文件夹的复制行为;文件夹的权限会改变
-u:若destination比source旧才会更新destination!常用于文档更新
注意:如果来源档有两个以上,则最后一个目的档一定要目录才可以
范例一:将家目录下的.bashrc复制到/tmp下,并更名为bashrc
[root@linux~]#cd /tmp
[root@linux~]#cp ~/.bashrc bashrc
[root@linux~]#cp –i ~/.bashrc bashrc
cp:overwrite ‘bashrc’?n
#加上参数i,会在复制文件重复时提示。
范例二:将/var/log/wtmp复制到/tmp底下
[root@linux~]#cd /tmp
[root@linux~]#cp /var/log/wtmp . ç想要复制到当前文件夹,最后的.不能忘
#如果要将档案的所有特性都一起复制过来,可加入参数-a
范例三:复制/etc这个目录下的所有内容到/tmp底下
[root@linux~]#cp /etc/ /tmp
cp:omitting directory ‘/etc’ ç如果是目录,不能直接复制,需要加上参数-r
[root@linux~]#cp –r /etc/ /tmp
#注意:-r可以复制文件夹,复制后的文件夹权限会相应改变
#将权限也一起复制:cp –a /etc /tmp
范例四:将复制的bashrc建立一个连接档(快捷方式)
[root@linux~]#cp –s bashrc bashrc_slink
[root@linux~]#ls –l bashrc*
-rw-r--r-- 2 root root 395 jul 18 22:08 bashrc
1rwxrwxrwx 2 root root 395 jul 18 22:08 bashrc_slink -> bashrc
#bashrc_slink是由-s参数造成。创建了一个快捷方式
范例六:bashrc_slink复制成为bashrc_slink2(区分-d –s的用法)
[root@linux~]#cp bashrc_slink bashrc_slink2
[root@linux~]#cp –d bashrc_slink bashrc_slink3
[root@linux~]#cp –s bashrc_slink baschrc_slink4
[root@linux~]#ls –l bashrc_slink*
lrwxrwxrwx 1 root root 6 jul 18 22:31 bashrc_slink – > bashrc (该文件原本存在)
-rw-r--r--1 root root 395 jul 18 22:31 bashrc_slink2 (只复制了一个快捷方式,无任何意思)
lrwxrwxrwx 1 root root 6 jul 18 22:31 bashrc_slink3 – > bashrc (-d用法,复制快捷方式,并指向bashrc_slink指向的文件)
lrwxrwxrwx 1 root root 6 jul 18 22:31 bashrc_slink4 – > bashrc_slink(-s用法,复制快捷方式,并指向源文件)
范例七:将家目录的.bachrc和.bash_history复制到/tmp
[root@linux tmp]#cp ~/.bashrc ~/.bashrc_history /tmp
#可以将多个资料一次复制到同一个目录去!
复制档案时,一般复制后文件的权限就是操作者的权限。由于这个特性,在进行备份时要注意特殊权限档案,例如密码档以及一些设定档。不能直接以cp复制,需要加入-a或-p参数。
另外,如果要复制档案给其他使用者,也必须要注意到档案的权限(包括读、写、执行以及档案拥有者),否则,其他人没有权限进行操作。
复制前的注意点:
1. 是否需要完整的保留来源档案的资讯(包括文件和属性)
2. 来源档案是否为连结档(快捷方式)
3. 来源档是否为特殊的档案,例如FIFL,socket等
4. 来源档是否为目录?
rm(移除档案或目录)
参数:
-f:就是force意思,强制删除
-i:互动模式,在删除前会询问使用者
-r:递回删除。常用于目录的删除。
范例一:删除一个不为空的目录
[root@linux tmp]#mkdir test
[root@linux tmp]#cp ~/.bashrc test/
[root@linux tmp]#rm
范例二:删除一个带有-开头的档案
[root@linux tmp]#ls *aa*
-aaa-
[root@linux tmp]#rm –aaa-
rm:invalid option --a ç因为“-”是参数
[root@linux tmp]#rm ./-aaa- ç正确方法
[root@linux tmp]#rm –rf test 会将test目录下的文件和子目录全部删除,后果严重