如何优雅地删除Linux中的垃圾文件的方法

  

不知道大家是否也跟我一样,是一只要把的自己电脑文件安排的条理有序,把没用的文件会及时删掉的程序猿呢?如果是的话,那么我们可以愉快地探讨下文章的内容。如果不是的话,你也可以留下来凑凑热闹嘛(祝辞;& lt)。

  

下面要介绍的是今天的主角——tmpwatch,它能帮助我们递归删除在给定时间内没有访问的文件和空目录。

  

当然,我们也可以使用找到命令查找并删除超过x天未访问的文件,不过tmpwatch可以一步到位,何乐而不为呢?

  

tmpwatch默认根据文件或目录的访问时间(访问时间)来决定删除哪些文件或目录。除此之外,你还可以根据inode改变时间(inode改变时间),修改时间(修改时间)来进行操作。

  

通常,tmpwatch用于删除/tmp目录下的文件,以及其它地方其他无用的文件,如旧的日志文件。

  


  

  

不要在/(根目录)中运行tmpwatch !
  不要在/(根目录)中运行tmpwatch ! !
  不要在/(根目录)中运行tmpwatch ! ! !(三遍警告! ^ - ^)

  

/目录包含Linux系统运行所必需的重要文件,而tmpwatch并没有内置保护机制防止在/目录上运行,一旦那些重要的文件被删除了,后果不堪设想!所以,小伙伴们在使用这个命令的时候一定要慎重!

  


  

  

大多数Linux发行版的默认存储库中都提供tmpwatch的安装:

  

在Fedora上:

        $ sudo dnf安装tmpwatch      

在CentOS上:

        $ sudo yum安装tmpwatch      

在openSUSE上:

        $ sudo zypper安装tmpwatch      

在Debian及其衍生版本(如Ubuntu)上,tmpwatch又叫tmpreaper:

        $ sudo apt安装tmpreaper      


  

  

tmpwatch和tmpreaper的用法几乎相同,可以认为二者是一样的命令。为了便于描述,本文以tmpwatch为例进行讲解,使用基于Debian系统的朋友可以将下面的tmpwatch改为tmpreaper。

  

<强> 1。删除超过X天未访问的文件
  例:删除/var/log/文件夹中超过10天未访问的所有文件和空目录

        tmpwatch 10 d/var/log/      

<强> 2。删除超过X天未修改的文件
  前文提到,tmpwatch默认根据访问时间来删除文件的,现在我们使用- m选项来根据文件的修改时间(修改时间)来删除文件。

  

例:删除/var/log/文件夹中超过10天未修改的文件

        tmpwatch 10 d - m/var/log/      

上面两个命令中的d是时间参数,具体如下:

  
      <李> d -天数   <李> h -小时李   <李> m -分钟李   <李> s -秒数   
  

默认时间参数是小时。假如想删除过去10个小时未修改的文件,可以写成下面这种形式:

        tmpwatch - m 10/var/log/      

<强> 3。删除符号链接
  

  

可以使用s选项删除符号链接:

        tmpwatch - s 10/var/log/      

<强> 4。删除所有文件(包括常规文件,符号链接和目录)

  

tmpwatch不仅仅可以删普通文件,还可以删除一些特殊文件,比如符号链接,目录,管道文件等等。这个情况下,需要使用——选项:

        tmpwatch——10/var/log/      

<强> 5。删除时排除目录
  如果不想删除某个目录,可以使用,nodirs选项,在删除时排除对该目录的删除:

        tmpwatch是10,nodirs/var/log/之前      

<强> 6。测试删除(不实际删除任何内容)
  这里要再次强调,在对重要目录进行文件删除时,不要急着使用tmpwatch命令!不妨先看看命令运行之后删除的文件有哪些,不然删错了脑壳又疼了…(养成一种好习惯!)

  

可以使用- t进入测试模式:

        tmpwatch - t 30/var/log/之前      

CentOS 7下输出:

        删除文件/var/log/wtmp   删除目录/var/log/ppp如果空的   删除目录/var/log/tuned如果空的   删除目录/var/log/anaconda如果空的   删除文件/var/log/dmesg.old   删除文件/var/log/boot.log   删除文件/var/log/dnf.librepo.log   

如何优雅地删除Linux中的垃圾文件的方法