清理负载较大的文件系统的工作包括查找并删除最近未使用的文件。使用 ls 或 find 命令可以查找未使用的文件。有关更多信息,请参见 ls(1) 和 find(1) 手册页。
节省磁盘空间的其他方法包括清空临时目录(例如 /var/tmp 或 /var/spool 中的目录)以及删除 core 文件和故障转储文件。有关故障转储文件的更多信息,请参阅第 17 章。
以下示例显示如何使用 ls -tl 命令在 /var/adm 目录中查找最近创建或更改的文件。sulog 文件是最近创建或编辑的文件。
$ ls -tl /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 other 0 Sep 19 03:10 messages -rw-r--r-- 1 root other 0 Sep 12 03:10 messages.0 -rw-r--r-- 1 root root 11510 Sep 10 16:13 messages.1 -rw-r--r-- 1 root root 0 Sep 10 16:12 vold.log drwxr-xr-x 2 root sys 512 Sep 10 15:33 sm.bin drwxrwxr-x 5 adm adm 512 Sep 10 15:19 acct drwxrwxr-x 2 adm sys 512 Sep 10 15:19 sa -rw------- 1 uucp bin 0 Sep 10 15:17 aculog -rw-rw-rw- 1 root bin 0 Sep 10 15:17 spellhist drwxr-xr-x 2 adm adm 512 Sep 10 15:17 log drwxr-xr-x 2 adm adm 512 Sep 10 15:17 passwd |
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
查找在指定的天数内未被访问的文件并在一个文件中列出这些文件。
# find directory -type f[-atime +nnn] [-mtime +nnn] -print > filename & |
标识要搜索的目录。还会搜索此目录下面的子目录。
查找在您指定的天数内 (nnn) 未被访问的文件。
查找在您指定的天数内 (nnn) 未被修改的文件。
标识包含非活动文件列表的文件。
# rm `cat filename` |
其中 filename 标识在前面的步骤中创建的文件。此文件包含非活动文件的列表。
以下示例显示 /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` # |
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
转到要清除的目录。
# cd directory |
完成步骤 3 之前,请确保您处于正确的目录中。步骤 3 将删除当前目录中的所有文件。
删除当前目录中的文件和子目录。
# rm -r * |
更改到包含不必要、临时或旧子目录和文件的其他目录。
通过重复步骤 3 删除这些子目录和文件。
以下示例显示如何清除 mywork 目录以及如何验证是否已删除所有文件和子目录。
# cd mywork # ls filea.000 fileb.000 filec.001 # rm -r * # ls # |
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
转到要搜索 core 文件的目录。
# find . -name core -exec rm {} \; |
以下示例显示如何使用 find 命令查找并删除 jones 用户帐户的 core 文件。
# cd /home/jones # find . -name core -exec rm {} \; |
故障转储文件可能会很大。如果允许系统存储这些文件,除非必要,否则不要使其保留太长时间。
成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
转到存储故障转储文件的目录。
# cd /var/crash/system |
其中 system 标识创建了故障转储文件的系统。
完成步骤 3 之前,请确保您处于正确的目录中。步骤 3 将删除当前目录中的所有文件。
删除故障转储文件。
# rm * |
验证是否已删除故障转储文件。
# ls |
以下示例显示如何从系统 venus 中删除故障转储文件,以及如何验证是否已删除故障转储文件。
# cd /var/crash/venus # rm * # ls |