Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1284326
  • 博文数量: 554
  • 博客积分: 10425
  • 博客等级: 上将
  • 技术积分: 7555
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-09 09:49
文章分类

全部博文(554)

文章存档

2012年(1)

2011年(1)

2009年(8)

2008年(544)

分类:

2008-04-09 15:54:14


显示有关文件和磁盘空间的信息
第13 章• 管理磁盘使用(任务) 237
proc 0K 0K 0K 0% /proc
mnttab 0K 0K 0K 0% /etc/mnttab
swap 485M 376K 485M 1% /etc/svc/volatile
objfs 0K 0K 0K 0% /system/object
/dev/dsk/c0t0d0s6 3.2G 2.9G 214M 94% /usr
fd 0K 0K 0K 0% /dev/fd
swap 485M 40K 485M 1% /var/run
swap 485M 40K 485M 1% /tmp
/dev/dsk/c0t0d0s5 13M 1.7M 10M 15% /opt
/dev/dsk/c0t0d0s7 9.2M 1.0M 7.3M 13% /export/home
尽管/proc 和/tmp 是本地文件系统,但却不是UFS 文件系统。/proc 是PROCFS 文件系统,
/var/run 和/tmp 是TMPFS 文件系统,/etc/mnttab 是MNTFS 文件系统。
显示文件系统分配的总块数和总文件数
以下示例显示所有已安装文件系统、设备名称、使用的512 字节块的总数以及文件数量。
每个两行项的第二行都显示文件系统分配的总块数和总文件数。
$ df -t
/ (/dev/dsk/c0t0d0s0 ): 101294 blocks 105480 files
total: 509932 blocks 129024 files
/devices (/devices ): 0 blocks 0 files
total: 0 blocks 113 files
/system/contract (ctfs ): 0 blocks 2147483578 files
total: 0 blocks 69 files
/proc (proc ): 0 blocks 1871 files
total: 0 blocks 1916 files
/etc/mnttab (mnttab ): 0 blocks 0 files
示例13–3
显示有关文件和磁盘空间的信息
238 系统管理指南:高级管理• 2006 年7 月
total: 0 blocks 1files
/etc/svc/volatile (swap ): 992608 blocks 16964 files
total: 993360 blocks 17025 files
/system/object (objfs ): 0 blocks 2147483530 files
total: 0 blocks 117 files
/usr (/dev/dsk/c0t0d0s6 ): 503774 blocks 299189 files
total: 6650604 blocks 420480 files
/dev/fd (fd ): 0 blocks 0 files
total: 0 blocks 31files
/var/run (swap ): 992608 blocks 16964 files
total: 992688 blocks 17025 files
/tmp (swap ): 992608 blocks 16964 files
total: 992688 blocks 17025 files
/opt (/dev/dsk/c0t0d0s5 ): 23914 blocks 6947 files
total: 27404 blocks 7168 files
/export/home (/dev/dsk/c0t0d0s7 ): 16810 blocks 7160 files
total: 18900 blocks 7168 files
检查文件大小
使用ls 命令可以检查文件的大小并对文件排序。使用find 命令可以查找超过大小限制的文
件。有关更多信息,请参见ls(1) 和find(1) 手册页。
注– 如果/var 目录中的空间不足,请不要象征性地将/var 目录链接至文件系统中具有更多
磁盘空间的目录。这种做法即使作为一种临时措施,也会导致某些Solaris 守护进程和实用
程序出现问题。
检查文件大小
第13 章• 管理磁盘使用(任务) 239
 如何显示文件大小
更改到要检查的文件所在的目录。
显示文件的大小。
$ ls [-lh] [-s]
-l 以长格式显示文件和目录的列表,以字节为单位显示大小。(请参见下面的示
例。)
-h 文件或目录大小大于1024 字节时,请以KB、MB、GB 或TB 来表示文件大小和目录
大小。此选项还可以修改-o、-n、-@ 以及-g 选项显示的输出,以使用新格式显示文
件或目录大小。有关更多信息,请参见ls(1) 手册页。
-s 显示文件和目录(以块为单位)的列表。
显示文件大小
以下示例表明,lastlog 和messages 文件比/var/adm 目录中的其他文件大。
$ cd /var/adm
$ ls -lh
total 148
drwxrwxr-x 5 adm adm 512 Nov 26 09:39 acct/
-rw------- 1uucp bin 0 Nov 26 09:25 aculog
drwxr-xr-x 2 adm adm 512 Nov 26 09:25 exacct/
-r--r--r-- 1root other 342K Nov 26 13:56 lastlog
drwxr-xr-x 2 adm adm 512 Nov 26 09:25 log/
-rw-r--r-- 1root 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- 1root bin 0 Nov 26 09:25 spellhist
drwxr-xr-x 2 root sys 512 Nov 26 09:25 streams/
1
2
示例13–4
检查文件大小
240 系统管理指南:高级管理• 2006 年7 月
-rw-r--r-- 1root 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
 如何查找大文件
更改到要搜索的目录。
以块为单位按从大到小的顺序显示文件大小。
 如果文件的字符或列不同,请使用以下命令按块大小从大到小的顺序对文件列表排序。
$ ls -l | sort +4rn | more
请注意,此命令按照第四个字段中的字符(从左侧开始)对列表中的文件排序。
 如果文件的字符或列相同,请使用以下命令按块大小从大到小的顺序对文件列表排序。
$ ls -s | sort -nr | more
请注意,此命令从最左侧的字符开始对列表中的文件排序。
查找大文件(按第五个字段的字符排序)
$ cd /var/adm
$ ls -l | sort +4rn | more
-r--r--r-- 1root 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
1
2
示例13–5
检查文件大小
第13 章• 管理磁盘使用(任务) 241
-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-- 1root 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
查找大文件(按最左侧的字符排序)
在以下示例中,lastlog 和messages 文件是/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/
示例13–6
检查文件大小
242 系统管理指南:高级管理• 2006 年7 月
2 sa/
2 passwd/
2 pacct1
2 log/
2 acct/
0 spellhist
0 aculog
total 144
 如何查找超过指定大小限制的文件
要查找并显示超过指定大小的文件的名称,请使用find 命令。
$ find directory -size +nnn
directory 表示要搜索的目录。
-size +nnn 512 字节块的数量。将列出超过此大小的文件。
查找超过指定大小限制的文件
以下示例显示如何在当前工作目录中查找大于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

示例13–7
检查文件大小
第13 章• 管理磁盘使用(任务) 243
./Mail/pagination
./Config/configPrintadmin.doc
./Config/configPrintsetup.doc
./Config/configMailappx.doc
./Config/configMailconcepts.doc
./snapshot.rs
检查目录大小
可以使用du 命令和选项来显示目录的大小。此外,还可以使用quot 命令来查找本地UFS 文
件系统中的用户帐户所使用的磁盘空间量。有关这些命令的更多信息,请参见du(1) 和
quot(1M) 手册页。
 如何显示目录、子目录和文件的大小
使用du 命令显示一个或多个目录、子目录和文件的大小。以512 字节块为单位显示大小。
$ du [-as] [directory... ]
du 显示您指定的每个目录的大小,其中包括目录下的每个子目录。
-a 显示每个文件和子目录的大小,以及指定目录中包含的总块数。
-s 显示指定目录中包含的总块数。
-h 以1024 字节块为单位显示每个目录的大小。
-H 以1000 字节块为单位显示每个目录的大小。
[directory... ] 表示要检查的一个或多个目录。命令行语法中的多个目录以空格分隔。
显示目录、子目录和文件的大小
以下示例显示两个目录的大小。
$ du -s /var/adm /var/spool/lp
130 /var/adm
40 /var/spool/lp

示例13–8
检查目录大小
244 系统管理指南:高级管理• 2006 年7 月
以下示例显示两个目录的大小,其中包括每个目录下的所有子目录和文件的大小。还显示
每个目录中包含的总块数。
$ du /var/adm /var/spool/lp
2 /var/adm/exacct
2 /var/adm/log
2 /var/adm/streams
2 /var/adm/acct/fiscal
2 /var/adm/acct/nite
2 /var/adm/acct/sum
8 /var/adm/acct
2 /var/adm/sa
2 /var/adm/sm.bin
258 /var/adm
4 /var/spool/lp/admins
2 /var/spool/lp/requests/printing.Eng.Sun.COM
4 /var/spool/lp/requests
4 /var/spool/lp/system
2 /var/spool/lp/fifos
24 /var/spool/lp
以下示例以1024 字节块为单位显示目录大小。
$ du -h /usr/share/audio
796K /usr/share/audio/samples/au
797K /usr/share/audio/samples
798K /usr/share/audio
检查目录大小
第13 章• 管理磁盘使用(任务) 245
 如何显示本地UFS 文件系统的用户拥有权
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《System
Administration Guide: Security Services》中的“Configuring RBAC (Task Map)”。
显示用户、目录或文件系统以及使用的1024 字节块数。
# quot [-a] [filesystem ...]
-a 列出每个已挂载UFS 文件系统的所有用户以及所用的1024 字节块数。
filesystem 表示UFS 文件系统。将显示该文件系统的用户以及所用块数。
注– quot 命令仅适用于本地UFS 文件系统。
显示本地UFS 文件系统的用户拥有权
在以下示例中,将显示根(/) 文件系统的用户。在后续的示例中,将显示所有已安装UFS 文
件系统的用户。
# quot /
/dev/rdsk/c0t0d0s0:
43340 root
3142 rimmer
47 uucp
35 lp
30 adm
4 bin
4 daemon
# quot -a
/dev/rdsk/c0t0d0s0 (/):
43340 root
3150 rimmer
1
2
示例13–9
检查目录大小
246 系统管理指南:高级管理• 2006 年7 月
47 uucp
35 lp
30 adm
4 bin
4 daemon
/dev/rdsk/c0t0d0s6 (/usr):
460651root
206632 bin
791uucp
46 lp
4 daemon
1adm
/dev/rdsk/c0t0d0s7 (/export/home):
9 root
查找并删除旧文件或非活动文件
清理负载较大的文件系统的工作包括查找并删除最近未使用的文件。使用ls 或find 命令可
以查找未使用的文件。有关更多信息,请参见ls(1) 和find(1) 手册页。
节省磁盘空间的其他方法包括清空临时目录(例如/var/tmp 或/var/spool 中的目录)以及
删除core 文件和崩溃转储文件。有关崩溃转储文件的更多信息,请参阅第24 章。
 如何列出最新文件
使用ls -t 命令列出文件,首先会显示最近创建或更改的文件。
$ ls -t [directory]
-t 先按最近的时间标记对文件排序。

查找并删除旧文件或非活动文件
第13 章• 管理磁盘使用(任务) 247
directory 表示要搜索的目录。
列出最新文件
以下示例显示如何使用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
示例13–10
查找并删除旧文件或非活动文件
248 系统管理指南:高级管理• 2006 年7 月
 如何查找并删除旧文件或非活动文件
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《System
Administration Guide: Security Services》中的“Configuring RBAC (Task Map)”。
查找在指定的天数内未被访问的文件并在一个文件中列出这些文件。
# find directory -type f[-atime +nnn] [-mtime +nnn] -print > filename &
directory 表示要搜索的目录。还会搜索此目录下面的子目录。
-atime +nnn 查找在您指定的天数内(nnn) 未被访问的文件。
-mtime +nnn 查找在您指定的天数内(nnn) 未被修改的文件。
filename 表示包含非活动文件列表的文件。
删除在前面的步骤中列出的非活动文件。
# 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
1
2
3
示例13–11
查找并删除旧文件或非活动文件
第13 章• 管理磁盘使用(任务) 249
/var/adm/vold.log
/var/adm/messages.1
/var/adm/messages.2
/var/adm/messages.3
# rm ‘cat /var/tmp/deadfiles‘
#
 如何清除临时目录
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《System
Administration Guide: Security Services》中的“Configuring RBAC (Task Map)”。
更改到要清除的目录。
# cd directory
注意– 在完成步骤3 之前,确保您处于正确的目录中。步骤3 将删除当前目录中的所有文
件。
删除当前目录中的文件和子目录。
# rm -r *
更改到包含不必要、临时或旧子目录和文件的其他目录。通过重复步骤3 删除这些子目录
和文件。
清除临时目录
以下示例显示如何清除mywork 目录以及如何验证是否已删除所有文件和子目录。
# cd mywork
# ls
filea.000
fileb.000
1
2
3
4
示例13–12
查找并删除旧文件或非活动文件
250 系统管理指南:高级管理• 2006 年7 月
filec.001
# rm -r *
# ls
#
 如何查找并删除core 文件
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《System
Administration Guide: Security Services》中的“Configuring RBAC (Task Map)”。
转到要搜索core 文件的目录。
查找并删除此目录及其子目录中的所有core 文件。
# find . -name core -exec rm {} \;
查找并删除core 文件
以下示例显示如何使用find 命令从jones 用户帐户中查找并删除core 文件。
# cd /home/jones
# find . -name core -exec rm {} \;
 如何删除崩溃转储文件
崩溃转储文件可能会很大。如果允许系统存储这些文件,除非必要,否则不要使其保留太
长时间。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《System
Administration Guide: Security Services》中的“Configuring RBAC (Task Map)”。
更改到存储崩溃转储文件的目录。
# cd /var/crash/system
其中system 表示创建崩溃转储文件的系统。
1
2
3
示例13–13
1
2
查找并删除旧文件或非活动文件
第13 章• 管理磁盘使用(任务) 251
注意– 在完成步骤3 之前,请确保您处于正确的目录中,步骤3 将删除当前目录中的所有文
件。
删除崩溃转储文件。
# rm *
验证是否已删除崩溃转储文件。
# ls
删除崩溃转储文件
以下示例显示如何从系统venus 中删除崩溃转储文件,以及如何验证是否已删除崩溃转储文
件。
# cd /var/crash/venus
# rm *
# ls
3
4
示例13–14
查找并删除旧文件或非活动文件
252 系统管理指南:高级管理• 2006 年7 月
管理配额(任务)
本章介绍如何设置和管理磁盘空间和inode 的配额。
有关与管理配额相关的信息,请参见以下内容:
 第255 页中的“设置配额(任务图)”
 第260 页中的“维护配额(任务图)”
什么是配额?
利用配额,系统管理员可以控制UFS 文件系统的大小。配额会限制磁盘空间量和inode 数
量,这些数量与各个用户可以获取的文件数量大致对应。因此,配额在用户起始目录驻留
的文件系统中特别有用。通常,建立配额对public 和/tmp 文件系统不会有明显的帮助。
使用配额
设置配额后,即可更改配额,以调整用户可以占用的磁盘空间量或inode 数量。此外,随着
系统需要的变化,还可以添加或删除配额。有关更改配额或配额可以超出的时间、禁用各
配额或从文件系统中删除配额的说明,请参见第262 页中的“更改和删除配额”。
此外,还可以监视配额状态。使用配额命令,管理员可以显示有关文件系统中配额的信
息,或搜索已超过配额的用户。有关介绍如何使用这些命令的过程,请参见第260 页中的
“检查配额”。
设置配额的软限制和硬限制
既可以设置软限制,也可以设置硬限制。系统不允许用户超过其硬限制。但是系统管理员
可能会设置软限制,用户可以临时性地超过该软限制。软限制必须低于硬限制。
14 第1 4 章
253
一旦用户超过软限制,配额计时器便开始计时。在配额计时器计时期间,用户可以使用高
于软限制的配额,但不能超过硬限制。一旦用户低于软限制,计时器就将复位。但当计时
器过期时,如果用户的使用配额一直在软限制以上,则会将软限制强制作为硬限制。缺省
情况下,软限制计时器设置为七天。
repquota 和quota 命令中的timeleft 字段显示了计时器的值。
例如,假定某用户的软限制为10,000 块,硬限制为12,000 块。如果该用户的块使用量超过
10,000 块并且七天计时器已过期,则在用户的使用量降到软限制以下之前,该用户不能在
该文件系统中分配更多磁盘块。
磁盘块与文件限制之间的区别
文件系统可为用户提供两种资源:用于数据的块和用于文件的inode。每个文件占用一个
inode。文件数据存储在数据块中。数据块通常由1KB的块组成。
假定不存在任何目录,则用户可以通过创建所有空文件而不使用任何块来超过其inode 配
额。用户也可以使用一个inode 超过其块配额,方法是创建一个足够大的文件来占用用户配
额中的所有数据块。
设置配额
设置配额包括以下常规步骤:
1. 向/etc/vfstab 文件项中添加一个配额选项,以确保每次重新引导系统时都会执行配
额。此外,在文件系统的顶层目录中创建一个quotas 文件。
2. 为一次使用创建配额后,将其作为样例进行复制即可设置其他用户配额。
3. 在启用配额之前,请先检查建议的配额与当前磁盘使用量之间的一致性,以确保没有冲
突。
4. 为一个或多个文件系统启用配额。
有关这些过程的特定信息,请参见第255 页中的“设置配额(任务图)”。
下表介绍了用于设置磁盘配额的命令。
表14–1用于设置配额的命令
命令任务手册页
edquota 针对每个用户设置inode 数量和磁盘
空间量的硬限制和软限制。
edquota(1M)
设置配额
254 系统管理指南:高级管理• 2006 年7 月
表14–1 用于设置配额的命令(续)
命令任务手册页
quotacheck 检查每个已挂载的UFS 文件系统,将
文件系统的当前磁盘使用量与文件系
统磁盘配额文件中存储的信息进行比
较。然后,解决不一致问题。
quotacheck(1M)
quotaon 为指定的文件系统激活配额。quotaon(1M)
quota 显示用户在已挂载文件系统中的磁盘
配额,以验证是否已正确设置配额。
quota(1M)
设置配额的原则
设置配额之前,需要确定要分配给每个用户的磁盘空间量和inode 数量。如果要确保始终不
超过文件系统总空间量,可根据用户数来划分文件系统空间。例如,如果三个用户共享100
MB的磁盘分片并且所需的磁盘空间相同,则可为每个用户分配33MB。
在并非所有用户都希望增加最大限制值的环境下,您可能需要单独设置各用户的配额,以
使配额总数大于文件系统的总大小。例如,如果三个用户共享100MB的磁盘分片,则可为
每个用户分配40MB。
使用edquota 命令为一个用户建立配额后,可以将此配额用作样例,为同一文件系统中的其
他用户设置相同配额。
在启用配额之前,请执行以下操作:
 首先,为配额配置UFS 文件系统。
 为每个用户建立配额,并运行quotacheck 命令检查当前磁盘使用量与配额文件之间的一
致性。
 定期运行quotacheck 命令,前提是不会经常重新引导系统。
使用quotaon 命令启用配额之前,不会执行使用edquota 命令设置的配额。如果已正确配置
了配额文件,则每次重新引导系统和挂载文件系统时,将自动启用配额。
设置配额(任务图)
任务说明参考
1. 针对配额配置文件系统。编辑/etc/vfstab 文件,以便在
每次挂载文件系统时激活配额。
此外,还应创建一个quotas 文
件。
第256 页中的“如何针对配额配
置文件系统”
 
 
以上文章转自于 : http://developers.sun.com.cn/
阅读(479) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~