主页 > Linux > Linux文件和目录管理常用重要命令(二)(2)

Linux文件和目录管理常用重要命令(二)(2)

[root@xiaoluo ~]# cp [-adfilprsu] 源文件(source) 目的文件(destination) [root@xiaoluo ~]# cp [options] source1 source2 source3 .... directory 参数: -a :相当于 -pdr 的意思; -d :若来源文件为链接文件的属性(link file),则复制链接文件属性而非档案本身; -f :为强制 (force) 的意思,若有重复或其他疑问时,不会询问使用者,而强制复制; -i :若目的文件(destination)已经存在时,在覆盖时会先询问是否真的动作! -l :进行硬式连结 (hard link) 的连结文件建立,而非复制文件本身; -p :连同文件的属性一起复制过去,而非使用默认属性; -r :递归持续复制,用于目录的复制行为; -s :复制成为符号链接文件 (symbolic link),亦即『快捷方式』文件; -u :若 destination 比 source 旧才更新 destination ! 最后需要注意的,如果来源档有两个以上,则最后一个目的文件一定要是『目录』

下面我们来写一些实例来看一下cp命令的常用用法:

实例一:将家目录下的 .bashrc 复制到 /tmp 下,并更名为 bashrc [root@xiaoluo home]# cd /tmp [root@xiaoluo tmp]# cp ~/.bashrc bashrc [root@xiaoluo tmp]# cp -i ~/.bashrc bashrc cp:是否覆盖"bashrc"? n # 重复作两次动作,由于 /tmp 底下已经存在 bashrc 了,加上 -i 参数, # 则在覆盖前会询问使用者是否确定!可以按下 n 或者 y ! # 但是,反过来说,如果不想要询问时,则加上 -f 这个参数来强制直接覆盖! 实例二:将 /var/log/wtmp 复制到 /tmp 底下 [root@xiaoluo tmp]# cp /var/log/wtmp . [root@xiaoluo tmp]# ls -l /var/log/wtmp wtmp -rw-rw-r--. 1 root utmp 204288 4月 21 11:22 /var/log/wtmp -rw-r--r--. 1 root root 204288 4月 21 13:33 wtmp # 注意到了吗?!在不加任何参数的情况下,文件的所属者会改变,连权限也跟着改变了 # 这是个很重要的特性!要注意!还有,连文件建立的时间也不一样了! # 如果您想要将文件的所有特性都一起复制过来,可以加上 -a 参数即可! [root@xiaoluo tmp]# cp -a /var/log/wtmp wtmp2 [root@xiaoluo tmp]# ls -l /var/log/wtmp wtmp2 -rw-rw-r--. 1 root utmp 204288 4月  21 11:22 /var/log/wtmp -rw-rw-r--. 1 root utmp 204288 4月  21 11:22 wtmp2 # 此时我们看到在加上 -a 这个参数以后,文件的所有属性都会被复制过来。 实例三:复制 /etc/ 这个目录下的所有内容到 /tmp 底下 [root@xiaoluo tmp]# cp /etc/ /tmp cp: 略过目录"/etc/"    -->> 如果我们复制的是目录,此时必须要加上 -r 这个参数才行 [root@xiaoluo tmp]# cp -r /etc/ /tmp # 还是要再次的强调! -r 是可以复制目录,但是,档案与目录的权限会被改变 # 所以,也可以利用 cp -a /etc /tmp 来下达指令!    使用-a 参数相当于同时使用了 -pdr 参数

3.rm (删除文件或目录)

[root@xiaoluo ~]# rm [-fir] 文件或目录 参数: -f :就是 force 的意思,强制移除; -i :互动模式,在删除前会询问使用者是否动作 -r :递归删除!最常用在目录的删除了

下面我们通过一些实例来看一下rm命令的使用

[root@xiaoluo tmp]# rm bashrc rm:是否删除普通文件 "bashrc"?y [root@xiaoluo tmp]# rm wtmp wtmp2 rm:是否删除普通文件 "wtmp"?y rm:是否删除普通文件 "wtmp2"?y [root@xiaoluo tmp]# rm -rf etc/  -->> 这个就会强制将etc这个目录以及里面的所有子目录、文件删除掉

4.mv (移动文件与目录、文件重命名)

[root@xiaoluo ~]# mv [-fiu] source destination [root@xiaoluo ~]# mv [options] source1 source2 source3 .... directory 参数: -f :force 强制的意思,强制直接移动而不询问; -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖! -u :若目标文件已经存在,且 source 比较新,才会更新 (update) 实例一:复制一档案,建立一目录,将档案移动到目录中 [root@xiaoluo tmp]# cp ~/.bashrc bashrc [root@xiaoluo tmp]# mkdir mvtest [root@xiaoluo tmp]# mv bashrc mvtest/ [root@xiaoluo tmp]# cd mvtest/ [root@xiaoluo mvtest]# ls bashrc # 将某个档案移动到某个目录去,就是这样做! 实例二:将刚刚的目录名称更名为 mvtest2 [root@xiaoluo tmp]# mv mvtest mvtest2  <== 这样就更名了! # 其实在 Linux 底下还有个命令令,名称为 rename , # 该命令就是专门用来对文件或者目录进行重命名的镇明路!可以参阅 man rename 了解其更多的用法 !

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!