linux命令学习之:rm详解程序员

  rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

  注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。

语法

  rm (选项)(参数)

选项

-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;

-f:强制删除文件或目录;

-i:删除已有文件或目录之前先询问用户;

-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;

–preserve-root:不对根目录进行递归操作;

-v:显示指令的详细执行过程。

参数

  文件:指定被删除的文件列表,如果参数中含有目录,则必须加上-r或者-R选项。

常用示例

1、删除文件(默认会询问)

[[email protected] exceltemplates]# rm OOOO.tar  
rm: remove regular file ?.OOO.tar?. y 
[[email protected] exceltemplates]# ls 
temp  test1.xlsx  test2.xlsx  testfolder  xxx.tar  xxx.tar.bz2  xxx.tar.gz  xxx.tar.Z

2、强行删除不询问

[[email protected] exceltemplates]# rm -f test1.xlsx  
[[email protected] exceltemplates]# ls 
temp  test2.xlsx  testfolder  xxx.tar  xxx.tar.bz2  xxx.tar.gz  xxx.tar.Z

3、逐一询问删除

[[email protected] exceltemplates]# rm -i *.xlsx 
rm: remove regular file ?.est2.xlsx?. y 
rm: remove regular file ?.est3.xlsx?. y 
[[email protected] exceltemplates]# ls 
temp  testfolder  xxx.tar  xxx.tar.bz2  xxx.tar.gz  xxx.tar.Z

4、删除目录及子目录

[[email protected] exceltemplates]# rm -rf testfolder 
[[email protected] exceltemplates]# ls 
temp  xxx.tar  xxx.tar.bz2  xxx.tar.gz  xxx.tar.Z

5、删除以 -f 开头的文件

  命令:rm — -f

[[email protected] test]# touch -- -f 
[[email protected] test]# ls -- -f 
-f[[email protected] test]# rm -- -f 
rm:是否删除 一般空文件 “-f”? y 
[[email protected] test]# ls -- -f 
ls: -f: 没有那个文件或目录

  也可以使用下面的操作步骤:

[[email protected] test]# touch ./-f 
[[email protected] test]# ls ./-f 
./-f[[email protected] test]# rm ./-f 
rm:是否删除 一般空文件 “./-f”? y

6、自定义回收站功能

  命令:myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv “$@” $D && echo “moved to $D ok”; }

[[email protected] exceltemplates]# myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; } 
[[email protected] exceltemplates]# alias rm='myrm' 
[[email protected] exceltemplates]# touch 3.log 
[[email protected] exceltemplates]# ll 
total 88 
-rw-r--r-- 1 root root     0 Nov 29 09:47 3.log 
-rw-r----- 1 root root 43216 Nov 29 09:43 test1.xlsx 
-rw-r----- 1 root root 43216 Nov 29 09:43 Test_CustomerDirect.xlsx 
[[email protected] exceltemplates]# rm * 
moved to /tmp/20171129094735 ok 
[[email protected] exceltemplates]# ls /tmp/20171129094735/ 
3.log  test1.xlsx  Test_CustomerDirect.xlsx

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/1194.html

(0)
上一篇 2021年7月15日
下一篇 2021年7月15日

相关推荐

发表回复

登录后才能评论