查找并删除旧文件或非活动文件
清理负载较大的文件系统的工作部分包括查找并删除最近未使用的文件。使用 ls 或 find 命令可以查找未使用的文件。有关更多信息,请参见 ls(1) 和 find(1) 手册页。
节省磁盘空间的其他方法包括清空临时目录(例如 /var/tmp 或 /var/spool 中的目录)以及删除 core 文件和故障转储文件。有关故障转储文件的更多信息,请参阅Chapter 17, 管理系统故障转储信息(任务)。
如何列出最新文件使用 ls -t 命令列出文件,首先会显示最近创建或更改的文件。$ ls -t [directory]-t
先按最近的时间戳对文件进行排序。
directory
标识要搜索的目录。
示例 13-9 列出最新文件
以下示例显示如何使用 ls -tl 命令在 /var/adm 目录中查找最近创建或更改的文件。sulog 文件是最近创建或编辑的文件。$ ls -tl /var/adm
-rw-r--r-- 1 root root 3227516 Jan 7 12:22 messages
-rw-r--r-- 1 adm adm 12648 Jan 7 06:45 wtmpx
-r--r--r-- 1 root root 3353420 Jan 7 06:45 lastlog
drwxrwxr-x 9 root sys 15 Jan 4 03:10 .
-rw-r--r-- 1 root root 56045 Jan 3 19:10 messages.0
drwxr-xr-x 41 root sys 42 Jan 3 19:03 ..
lrwxrwxrwx 1 root root 27 Jan 3 17:36 utmpx -> ../../system/volatile/utmpx
-rw------- 1 uucp bin 0 Jan 3 17:34 aculog
drwxr-xr-x 2 root sys 2 Jan 3 17:26 streams
drwxr-xr-x 2 root sys 2 Jan 3 17:26 sm.bin
drwxrwxr-x 2 adm sys 2 Jan 3 17:26 sa
drwxr-xr-x 2 root sys 2 Jan 3 17:26 pool
drwxr-xr-x 2 adm adm 2 Jan 3 17:26 log
drwxr-xr-x 2 adm adm 2 Jan 3 17:26 exacct
drwxrwxr-x 5 adm adm 5 Jan 3 17:26 acct
如何查找并删除旧文件或非活动文件查找在指定的天数内未访问的文件并在一个文件中列出这些文件。# find directory -type f[-atime +nnn] [-mtime +nnn] -print > filename &directory
标识要搜索的目录。还会搜索此目录下面的子目录。
-atime +nnn
查找在您指定的天数内 (nnn) 未访问的文件。
-mtime +nnn
查找在您指定的天数内 (nnn) 未修改的文件。
filename
标识包含非活动文件列表的文件。
删除在前面的步骤中列出的非活动文件。# rm `cat filename`
其中 filename 标识在前面的步骤中创建的文件。此文件包含非活动文件的列表。
示例 13-10 查找并删除旧文件或非活动文件
以下示例显示 /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`
#
如何清除临时目录转到要清除的目录。# cd directory
注意 -完成步骤 3 之前,请确保您处于正确的目录中。步骤 3 将删除当前目录中的所有文件。
删除当前目录中的文件和子目录。# rm -r *
转到包含不必要、临时或过时子目录和文件的其他目录。
重复步骤 3,删除这些子目录和文件。
示例 13-11 清除临时目录
以下示例显示如何清除 mywork 目录以及如何验证是否已删除所有文件和子目录。# cd mywork
# ls
filea.000
fileb.000
filec.001
# rm -r *
# ls
#
如何查找并删除 core 文件成为管理员。
转到要搜索 core 文件的目录。
查找并删除此目录及其子目录中的所有 core 文件。# find . -name core -exec rm {} \;
示例 13-12 查找并删除 core 文件
以下示例显示如何使用 find 命令查找并删除 jones 用户帐户的 core 文件。# cd /home/jones
# find . -name core -exec rm {} \;
如何删除故障转储文件
故障转储文件可能会很大。如果允许系统存储这些文件,除非必要,否则不要使其保留太长时间。成为管理员。
转到存储故障转储文件的目录。# cd /var/crash/
注意 -完成步骤 3 之前,请确保您处于正确的目录中。步骤 3 将删除当前目录中的所有文件。
删除故障转储文件。# rm *
验证是否已删除故障转储文件。# ls
示例 13-13 删除故障转储文件
以下示例显示如何从系统 venus 中删除故障转储文件,以及如何验证故障转储文件是否已删除。# cd /var/crash
# rm *
# ls