在 Oracle® Solaris 11.2 中管理设备

退出打印视图

更新时间: 2014 年 7 月
 
 

删除旧文件或非活动文件

使用 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 命令可用于搜索指定时间范围内可标记为要删除的文件。

  1. 成为管理员。

    有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

  2. 查找在指定的天数内未访问的文件并在一个文件中列出这些文件。
    # find directory -type f[-atime +nnn] [-mtime +nnn] -print > output-file &
    directory

    标识要搜索的目录。还会搜索此目录下面的子目录。

    –atime +nnn

    指定未访问文件的天数。

    –mtime +nnn

    指定未修改文件的天数。

    output-file

    指的是命令输出将写到的文件。

  3. 确保可以安全删除输出文件中列出的文件。

    如果仍需要该列表中的某些文件,则将其文件名从输出文件中删除。

  4. 删除输出文件中列出的文件。
    # rm `cat output-file`
示例 5-1  查找并删除旧文件或非活动文件

以下示例显示了 /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`
#