Linux系统文件操作之cp、rm、mv详解
对文本文件的操作非常基础而且和重要,掌握它们后操作文本你会更加得心应手。要复制文件,请使用cp(copy)这个命令,cp这个命令的用途可多了,除了单纯的复制之外,还可以建立建立快捷方式,对比两个文件的新旧程度从而决定是否更新,以及复制整个目录下的文件等功能。至于移动目录和文件,则使用mv(move),这个命令也可以直接作为文件重命名的作用。至于删除文件,就是使用rm(remove)这个命令,我们来具体瞧一瞧~
【1】复制文件或目录:cp
格式:
cp [-adfilprsu] 源文件 目标文件
cp [-adfilprsu] source1 source2 source3 ... directory
选项与参数:
-a:保留源文件属性的前提下复制文件
-d:若来源文件为l链接类型的文件,则复制链接文件的链接文本,而不是复制文件本身
-f:表示在进行复制的时候不需要和系统进行交互,直接强制操作,无需询问
-i:表示复制的过程中进行人机交互操作,如果文件存在的时候,在覆盖文件之前会有询问的动作
-l:创建文件的硬链接(hard link),硬链接数值会有变化,而不是复制文件本身
-p:连同文件的属性信息,包括权限、属主属组、时间一起复制过去,而不是默认的属性
-r:递归复制,常用于目录的复制行为
-s:创建文件的软链接,或符号链接(symbolic link),亦即快捷方式文件
-u:仅在源文件比目标文件新的情况下复制,相当于更新
示例:
(1)cp ~/.bashrc /tmp/bashrc
使用cp命令的默认属性复制
(2)cp -i ~/.bashrc /tmp/bashrc
加上i选项后,再文件覆盖前会询问用户是否确认,用户可以通过n或者y来进行二次确认
(3)cp -r /etc /tmp
-r表示将目录下的文件使用递归复制的操作将/etc目录下的所有文件复制到/tmp目录下
【2】删除文件或目录:rm
格式:
rm [-fir] 文件或目录
选项与参数:
-f:删除文件或目录的时候,不会和用户进行交互操作,直接进行删除操作无询问
-i:交互模式,再删除前会询问是否进行删除的操作
-r:递归删除,即删除目录时,会将目录下的所有文件一起进行删除
示例:
(1)rm -i bashrc
如果加上-i的选项就会主动询问,避免你删除到错误的文件
(2)rm -r /tmp/etc
删除/tmp/etc目录下的所有文件,递归删除
(3\rm -r /tmp/etc
在指令前加上反斜线,可以忽略掉alias的默认选项,默认情况下rm的默认选项是rm -i,加上反斜线后,不在默认和用户交互了
【3】移动文件或目录,对文件或目录重命名:mv
格式:
mv [-fiu] source destination
选项与参数:
-f:强制移动的意思,如果目标文件已经存在,不会询问而是直接覆盖
-i:若目标文件已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源数据比较新,才会更新
示例:
(1)mv mvtest mvtest2
实现目录名称的重命名
(2)mv bashrc1 bashrc2 mvtest2
建立了两个文件,再全部移动到目录mvtest2当中