Unix文件系统:文件与权限深度解析
1. Unix文件系统基础
在Unix系统中,文件系统的一些特性与其他系统有所不同。首先,由于使用随机访问文件定位系统调用的现有软件都需要更新,这使得相关操作并非易事。为避免大规模升级,大多数供应商允许在新系统中使用旧的32位大小,只要不超过2GB的限制即可。
当创建Unix文件系统时,出于性能考虑,通常会预留一定比例(约10%)的空间供以root身份运行的进程使用。此外,文件系统本身需要空间用于inode表,还可能存在只有磁盘控制器硬件才能访问的特殊底层块。因此,磁盘的有效容量通常只有磁盘供应商所标注大小的80%左右。
部分系统提供了减少预留空间的命令。在BSD和商业Unix系统中,可查看tunefs(8)的手册页;在GNU/Linux系统中,则可查看tune2fs(8)的手册页。
ulimit是一个内置的shell命令,用于控制系统资源限制。使用–a选项可以打印出所有资源的值。以下是一个示例:
$ ulimit -a Show the current user process limits ... file size (blocks) unlimited ...不过,由于本地管理策略的不同,你的系统可能会有不同的结果。在一些Unix站点,还启用了磁盘配额(详情可查看quota(1)的手册页),这进一步限制了单个用户可占用