Linux中rm命令是删除文件和目录的。在使用-r参数时,一定要注意,因为该目录和文件都会被删除。
1.命令格式:
rm [选项] 文件…
2.命令功能:
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状。
3.命令参数:
-f, --force 强制的意思,忽略不存在的文件,从不给出提示。
-i, --interactive 进行交互式删除
-r, -R, --recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
-v, --verbose 详细显示进行的步骤
--help 显示此帮助信息并退出
--version 输出版本信息并退出
命令示例:
1.-i参数,删除前询问
[root@www~]#cd/tmp
[root@wwwtmp]#rm-ibashrc
rm:removeregularfile`bashrc'?y加入-i参数,删除时就会主动询问,避免删错文件
[root@wwwtmp]#rm-ibashrc*使用通配符,将tmp下以bashrc开头的文件全部删除
rm:removeregularfile`bashrc_hlink'?y
rm:removesymboliclink`bashrc_slink'?y
rm:removeregularfile`bashrc_slink_1'?y
rm:removesymboliclink`bashrc_slink_2'?y
2.-r参数,递归删除目录
[root@wwwtmp]#rmdir/tmp/etc
rmdir:failedtoremove`/tmp/etc':Directorynotempty不能删除,因为目录不为空
[root@wwwtmp]#rm-r/tmp/etc
rm:descendintodirectory`/tmp/etc'?^C按y确认,按ctrl+c退出
因为身份是 root ,默认已经加入了 -i 的选项,所以你要一直按 y 才会删除!
如果不想要继续按 y ,可以按下『 [ctrl]-c 』来结束 rm 的工作。
这是一种保护的动作,如果确定要删除掉此目录而不要询问,可以这样做:
[root@wwwtmp]#/rm-r/tmp/etc
在命令前加上反斜线,可以忽略掉 alias 的指定选项
3.-f参数,强制删除,系统不提示
[root@wwwtmp]#rm-ftest.log
4.自定义回收站功能
[root@wwwtmp]#myrm(){D=/tmp/$(date+%Y%m%d%H%M%S);mkdir-p$D;mv"$@"$D&&echo"movedto$Dok";}
[root@wwwtmp]#aliasrm='myrm'
[root@wwwtmp]#touch1.log2.log3.log
[root@wwwtmp]#ll
total0
-rw-r--r--1rootroot0Apr714:191.log
-rw-r--r--1rootroot0Apr714:192.log
-rw-r--r--1rootroot0Apr714:193.log
[root@wwwtmp]#rm[123].log
movedto/tmp/040714ok
[root@wwwtmp]#ls/tmp/040714/
1.log2.log3.log
[root@wwwtmp]#
5. 删除以-开头的文件
[root@wwwtmp]#touch./-bbb-
[root@wwwtmp]#ls-l
total0
-rw-r--r--1rootroot0Apr714:26-bbb-
[root@wwwtmp]#rm-bbb-
mv:invalidoption--'-'
Try`mv--help'formoreinformation.
[root@wwwtmp]#rm./-bbb-
movedto/tmp/0407142651ok
[root@wwwtmp]#
参考: