这篇文章来为大家介绍一下如何在 Linux 系统下删除文件,当 Linux 系统使用时间过长以后,难免会产生一些垃圾文件,这些文件除了会占用磁盘空间之外还会降低系统的运行效率,所以长时间运行后我们需要及时的清理一下这些垃圾文件。
rm
是一个很强大很危险的命令,它可以永久性地删除文件系统中指定地文件或者目录。这个命令使用起来很简单,常用的参数也没有特别多。在使用 rm
命令删除一个文件或者目录时,系统不会产生任何的提示信息,因为我们在使用这个命令的时候,一定要三思。这个命令的语法格式为:
rm [option] [file]
rm [选项] [文件或目录]
常用参数说明:
-f:强制删除。忽略不存在的文件,不提示确认
-i:在删除前需要确认
-I:在删除超过三个文件或者递归删除前要求确认
-r:递归删除目录及其内容
rm
命令的常用参数比较少,但是都比较重要,比较建议大家使用 -i
这个参数,因为会有交互,会要求你确认一下是否继续你的操作,虽然可能有时候会觉得麻烦,但是为了保证数据的安全,还是建议大家使用,而相反,-f
参数就不那么建议大家使用的,它是强制删除一个文件,比较危险,开弓没有回头箭,命令敲出去带来的后果是无法挽救的。下面就用几个示例来带大家了解一下这个命令的具体用法:
示例准备:
$ ls -l
total 696
drwxr-xr-x 2 root root 4096 Nov 15 17:39 dir1
drwxr-xr-x 2 root root 4096 Nov 15 17:39 dir2
-rw-r--r-- 1 root root 1810 Nov 15 15:21 passwd
-rw-r--r-- 1 root root 692241 Nov 15 15:10 services
---------- 1 root root 1117 Nov 15 15:21 shadow
$ tree
.
├── dir1
├── dir2
├── passwd
├── servies
└── shadow
不带参数删除:
$ rm passwd
rm: remove 'passwd'?
根据这个输出可以看出,rm 默认也是加了 -i 选项的,可以使用别名查看
$ alias rm
alias rm='rm -i'
强制删除:
$ rm -f passwd
强制删除,没有提示,谨慎使用或不使用
递归删除:
$ tree /dir1/
/dir1/
└── a
└── b
$ rm ./dir1
rm: './dir1' is a directory
dir1 目录下还有 a 和 b 两个目录,不加参数会报错
$ rm -r ./dir1
rm: descend into directory './dir1'? y
rm: remove directory './dir1'? y
使用参数 -r 就可以通过递归的方式进行删除
以上就是关于 rm
命令的使用,简单易上手。不过这里需要提醒的是,在生产环境中这个命令一定要谨慎使用,就拿我工作的经验来说,常常遇到有误删除文件的情况,这种一般是很难恢复的,很多时候就算恢复了,也是有损坏的。而且对于 Linux 系统来说一切皆文件,如果不小心删除了某个系统配置文件,严重的话会导致机器无法运行,这个会造成很大的损失,所以大家一定要小心使用。