使用 ls –t 命令,可以生成目录中文件的列表并根据各自的时间戳对文件进行排序。缺省情况下,文件列表的顺序是从最新文件到最旧文件。以下示例从最新文件开始列出了 /var/adm 中的文件。
$ ls -t /var/adm total 134 -rw------- 1 root root 315 Sep 24 14:00 sulog -r--r--r-- 1 root other 350700 Sep 22 11:04 lastlog -rw-r--r-- 1 root bin 4464 Sep 22 11:04 utmpx -rw-r--r-- 1 adm adm 20088 Sep 22 11:04 wtmpx -rw-r--r-- 1 root root 11510 Sep 10 16:13 messages.1 drwxrwxr-x 5 adm adm 512 Sep 10 15:19 acct drwxrwxr-x 2 adm sys 512 Sep 10 15:19 sa drwxr-xr-x 2 adm adm 512 Sep 10 15:17 log
这样,您就可以删除确定不再需要的旧文件。
find 命令可用于搜索指定时间范围内可标记为要删除的文件。
# find directory -type f[-atime +nnn] [-mtime +nnn] -print > output-file &
标识要搜索的目录。还会搜索此目录下面的子目录。
指定未访问文件的天数。
指定未修改文件的天数。
指的是命令输出将写到的文件。
如果仍需要该列表中的某些文件,则将其文件名从输出文件中删除。
# rm `cat output-file`
以下示例显示了 /var/adm 目录及子目录中过去 60 天内未访问的文件。/var/tmp/deadfiles 文件包含非活动文件的列表。rm 命令可用于删除这些非活动文件。
# find /var/adm -type f -atime +60 -print > /var/tmp/deadfiles & # more /var/tmp/deadfiles /var/adm/aculog /var/adm/spellhist /var/adm/wtmpx /var/adm/sa/sa13 /var/adm/sa/sa27 /var/adm/sa/sa11 /var/adm/sa/sa23 /var/adm/sulog /var/adm/vold.log /var/adm/messages.1 /var/adm/messages.2 /var/adm/messages.3 # rm `cat /var/tmp/deadfiles` #