系统管理指南:高级管理

检查文件大小

使用 ls 命令可以检查文件的大小并对文件排序。使用 find 命令可以查找超过大小限制的文件。有关更多信息,请参见 ls(1)find(1) 手册页。


注 –

如果 /var 目录中的空间不足,请不要象征性地将 /var 目录链接至文件系统中具有更多磁盘空间的目录。这种做法即使作为一种临时措施,也会导致某些守护进程和实用程序出现问题。


Procedure如何显示文件大小

  1. 转到要检查的文件所在的目录。

  2. 显示文件的大小。


    $ ls [-lh] [-s]
    -l

    以长格式显示文件和目录的列表,以字节为单位显示大小。(请参见下面的示例。)

    -h

    文件或目录大小大于 1024 字节时,请以 KB、MB、GB 或 TB 来表示文件大小和目录大小。此选项还可以修改 -o-n-@-g 选项显示的输出,以使用新格式显示文件或目录大小。有关更多信息,请参见 ls(1) 手册页。

    -s

    显示文件和目录(以块为单位)的列表。


示例 6–5 显示文件大小

以下示例表明,lastlogmessages 文件比 /var/adm 目录中的其他文件大。


$ cd /var/adm
$ ls -lh
total 148
drwxrwxr-x   5 adm      adm          512 Nov 26 09:39 acct/
-rw-------   1 uucp     bin            0 Nov 26 09:25 aculog
drwxr-xr-x   2 adm      adm          512 Nov 26 09:25 exacct/
-r--r--r--   1 root     other       342K Nov 26 13:56 lastlog
drwxr-xr-x   2 adm      adm          512 Nov 26 09:25 log/
-rw-r--r--   1 root     root         20K Nov 26 13:55 messages
drwxr-xr-x   2 adm      adm          512 Nov 26 09:25 passwd/
drwxrwxr-x   2 adm      sys          512 Nov 26 09:39 sa/
drwxr-xr-x   2 root     sys          512 Nov 26 09:49 sm.bin/
-rw-rw-rw-   1 root     bin            0 Nov 26 09:25 spellhist
drwxr-xr-x   2 root     sys          512 Nov 26 09:25 streams/
-rw-r--r--   1 root     bin         3.3K Nov 26 13:56 utmpx
-rw-r--r--   1 root     root           0 Nov 26 10:17 vold.log
-rw-r--r--   1 adm      adm          19K Nov 26 13:56 wtmpx

以下示例显示 lpsched.1 文件使用了两个块。


$ cd /var/lp/logs
$ ls -s
total 2            0 lpsched       2 lpsched.1

Procedure如何查找大文件

  1. 转到要搜索的目录。

  2. 以块为单位按从大到小的顺序显示文件大小。

    • 如果文件的字符或列不同,请使用以下命令按块大小从大到小的顺序对文件列表进行排序。


      $ ls -l | sort +4rn | more
      

      请注意,此命令按照第四个字段中的字符(从左侧开始)对列表中的文件排序。

    • 如果文件的字符或列相同,请使用以下命令按块大小从大到小的顺序对文件列表进行排序。


      $ ls -s | sort -nr | more
      

      请注意,此命令从最左侧的字符开始对列表中的文件排序。


示例 6–6 查找大文件(按第五个字段的字符排序)


$ cd /var/adm
$ ls -l | sort +4rn | more
-r--r--r--   1 root     root     4568368 Oct 17 08:36 lastlog
-rw-r--r--   1 adm      adm       697040 Oct 17 12:30 pacct.9
-rw-r--r--   1 adm      adm       280520 Oct 17 13:05 pacct.2
-rw-r--r--   1 adm      adm       277360 Oct 17 12:55 pacct.4
-rw-r--r--   1 adm      adm       264080 Oct 17 12:45 pacct.6
-rw-r--r--   1 adm      adm       255840 Oct 17 12:40 pacct.7
-rw-r--r--   1 adm      adm       254120 Oct 17 13:10 pacct.1
-rw-r--r--   1 adm      adm       250360 Oct 17 12:25 pacct.10
-rw-r--r--   1 adm      adm       248880 Oct 17 13:00 pacct.3
-rw-r--r--   1 adm      adm       247200 Oct 17 12:35 pacct.8
-rw-r--r--   1 adm      adm       246720 Oct 17 13:15 pacct.0
-rw-r--r--   1 adm      adm       245920 Oct 17 12:50 pacct.5
-rw-r--r--   1 root     root      190229 Oct  5 03:02 messages.1
-rw-r--r--   1 adm      adm       156800 Oct 17 13:17 pacct
-rw-r--r--   1 adm      adm       129084 Oct 17 08:36 wtmpx


示例 6–7 查找大文件(按最左侧的字符排序)

在以下示例中,lastlogmessages 文件是 /var/adm 目录中最大的文件。


$ cd /var/adm
$ ls -s | sort -nr | more
  48 lastlog
  30 messages
  24 wtmpx
  18 pacct
   8 utmpx
   2 vold.log
   2 sulog
   2 sm.bin/
   2 sa/
   2 passwd/
   2 pacct1
   2 log/
   2 acct/
   0 spellhist
   0 aculog
total 144

Procedure如何查找超过指定大小限制的文件

  1. 要查找并显示超过指定大小的文件的名称,请使用 find 命令。


    $ find directory -size +nnn 
    
    directory

    标识要搜索的目录。

    -size +nnn

    512 字节块的数量。将列出超过此大小的文件。


示例 6–8 查找超过指定大小限制的文件

以下示例显示如何在当前工作目录中查找大于 400 块的文件。-print 选项显示 find 命令的输出。


$ find . -size +400 -print
./Howto/howto.doc
./Howto/howto.doc.backup
./Howto/howtotest.doc
./Routine/routineBackupconcepts.doc
./Routine/routineIntro.doc
./Routine/routineTroublefsck.doc
./.record
./Mail/pagination
./Config/configPrintadmin.doc
./Config/configPrintsetup.doc
./Config/configMailappx.doc
./Config/configMailconcepts.doc
./snapshot.rs