Linux中 rm命令用来删除某个目录及旗下的所有文件及子目录。对于链接文件,只是断开了链接,原文件保持不变。
1、命令格式:
rm [选项] 文件...
2、命令功能:
删除一个目录中的一个或多个文件或目录,如果没有使用-r选项,则rm不会删除目录。如果使用人民来删除文件,通常仍可以将该文件恢复原状。
3、命令参数:
-r 告诉rm将选项中列出的全部目录以及子目录还有文件均递归地删除,如果在选项中不指定“-r”选项,“rm”命令将不能删除目录。
-f 忽略不存在的问题,也不给出提示。
-i 交互式删除,即在删除前进行确认。
-v 详细显示进行的步骤。
4、命令实例:
实例一:删除文件file,系统会先询问是否删除。
命令:
rm 文件名
输出:
[root@localhost test]# ls
log.log test1
[root@localhost test]# rm log.log
rm: remove regular empty file ‘log.log’? y
[root@localhost test]# ls
test1
[root@localhost test]#
实例二:强行删除file,系统不再提示。
命令:
rm -f log.log
输出:
[root@localhost test]# ls
log.log test1
[root@localhost test]# rm -f log.log
[root@localhost test]# ls
test1
[root@localhost test]#
实例三:将test目录及子目录中所有文件、目录删除
命令:
rm -rf test
输出:
[root@localhost ~]# ls
anaconda-ks.cfg test
initial-setup-ks.cfg
[root@localhost ~]# rm -rf test
[root@localhost ~]# ls
anaconda-ks.cfg
initial-setup-ks.cfg
[root@localhost ~]#
实例四:自定义回收站功能
命令:
myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }
输出:
[root@localhost test]# myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }
[root@localhost test]# alias rm='myrm'
[root@localhost test]# touch 1.log 2.log 3.log
[root@localhost test]# ll
总计 16
-rw-r--r-- 1 root root 0 10-26 15:08 1.log
-rw-r--r-- 1 root root 0 10-26 15:08 2.log
-rw-r--r-- 1 root root 0 10-26 15:08 3.log
drwxr-xr-x 7 root root 4096 10-25 18:07 scf
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
drwxr-xr-x 2 root root 4096 10-25 17:56 test4
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
[root@localhost test]# rm [123].log
moved to /tmp/20121026150901 ok
[root@localhost test]# ll
总计 16drwxr-xr-x 7 root root 4096 10-25 18:07 scf
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
drwxr-xr-x 2 root root 4096 10-25 17:56 test4
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
[root@localhost test]# ls /tmp/20121026150901/
1.log 2.log 3.log
[root@localhost test]#
说明:
上面的操作过程模拟了回收站的效果,即删除文件的时候只是把文件放到一个临时目录中,这样在需要的时候还 可以恢复过来。