文件系统是分区或磁盘上文件的逻辑集合。分区是信息的容器,并且可以根据需要跨越整个硬盘驱动器。
您的硬盘驱动器可以具有各种分区,这些分区通常仅包含一个文件系统,例如,一个包含/ file system的文件系统或另一个包含/ home file system的文件系统。
每个分区一个文件系统允许对不同文件系统进行逻辑维护和管理。
Unix中的所有内容都被认为是文件,包括物理设备,例如DVD-ROM,USB设备和软盘驱动器。
目录结构
Unix使用分层的文件系统结构,就像倒置的树一样,在文件系统的基础上带有根(/),所有其他目录都从那里展开。
Unix文件系统是具有以下属性的文件和目录的集合-
- 它具有包含其他文件和目录的根目录(/)。
- 每个文件或目录均由其名称,其所在目录以及唯一的标识符(通常称为inode)唯一标识。
- 按照惯例,根目录的索引节点号为2,而lost + found目录的索引节点号为3。不使用索引号0和1。文件inode编号可以通过指定可见-i选项来ls命令。
- 它是独立的。一个文件系统与另一个文件系统之间没有依赖关系。
这些目录具有特定的用途,并且通常包含相同类型的信息,以便于查找文件。以下是Unix主要版本上存在的目录-
序号 | 目录和说明 |
---|---|
1 | / 这是根目录,应仅包含文件结构顶层所需的目录 |
2 | /bin 这是可执行文件所在的位置。这些文件可供所有用户使用 |
3 | /dev 这些是设备驱动程序 |
4 | /etc 主管目录命令,配置文件,磁盘配置文件,有效的用户列表,组,以太网,主机以及向其发送关键消息的位置 |
5 | / lib 包含共享库文件,有时还包含其他与内核相关的文件 |
6 | /boot 包含用于引导系统的文件 |
7 | /home 包含用户和其他帐户的主目录 |
8 | /mnt 用于安装其他临时文件系统,如CD-ROM和软驱的CD-ROM驱动器和软盘驱动器分别 |
9 | /proc 包含通过进程号或系统动态的其他信息标记为文件的所有进程 |
10 | /tmp 存放系统引导之间使用的临时文件 |
11 | /usr 用于其他目的,可供许多用户使用。包括管理命令,共享文件,库文件和其他 |
12 | /var 通常包含长度可变的文件,例如日志和打印文件,以及可能包含可变数据量的任何其他类型的文件 |
13 | /sbin 包含二进制(可执行)文件,通常用于系统管理。例如,fdisk*和ifconfig*实用程序 |
14 | /kernel 包含内核文件 |
浏览文件系统
既然您了解了文件系统的基础知识,就可以开始导航到所需的文件了。以下命令用于导航系统-
序号 | 命令与说明 |
---|---|
1个 | cat 文件名显示文件名 |
2 | cd 目录名将您移至已识别目录 |
3 | cp file1 file2将一个文件/目录复制到指定位置 |
4 | file 文件名标识文件类型(二进制,文本等) |
5 | find 文件名目录查找文件/目录 |
6 | head 文件名显示文件的开头 |
7 | less 文件名从头到尾浏览文件 |
8 | ls 目录名显示指定目录的内容 |
9 | mkdir 目录名创建指定的目录 |
10 | more 文件名从头到尾浏览文件 |
11 | mv file1 file2移动文件/目录的位置或重命名文件/目录 |
12 | pwd显示用户所在的当前目录 |
13 | rm 文件名删除文件 |
14 | rmdir 目录名删除目录 |
15 | tail 文件名显示文件结尾 |
16 | touch 文件名创建一个空白文件或修改现有文件或其属性 |
17 | whereis 文件名显示文件的位置 |
18 | which 文件名显示文件的位置(如果它在PATH中) |
您可以使用帮助手册来检查此处提到的每个命令的完整语法。
df命令
管理分区空间的第一种方法是使用df(无磁盘)命令。命令df -k(无磁盘)显示磁盘空间使用情况(以千字节为单位),如下所示-
$df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vzfs 10485760 7836644 2649116 75% /
/devices 0 0 0 0% /devices
$
某些目录(例如/ devices)在已使用和可用列的千字节中显示0,在容量中显示0%。这些是特殊的(或虚拟)文件系统,尽管它们位于/下的磁盘上,但它们本身并不占用磁盘空间。
在所有Unix系统上,df -k输出通常是相同的。这通常包括-
序号 | 列和说明 |
---|---|
1个 | Filesystem 物理文件系统名称 |
2 | kbytes 存储介质上可用的总千字节空间 |
3 | used 已使用的总千字节空间(按文件) |
4 | avail 可用总千字节 |
5 | capacity 文件使用的总空间百分比 |
6 | Mounted on 文件系统挂载在什么上 |
您可以使用-h(人类可读)选项以一种格式显示输出,该格式以易于理解的符号显示大小。
du Command
在杜(磁盘使用率)命令,可以指定目录,以显示在特定目录的磁盘空间使用情况。
如果要确定特定目录占用的空间,此命令很有用。以下命令显示每个目录占用的块数。单个块可能需要512字节或1千字节,具体取决于您的系统。
$du /etc
10 /etc/cron.d
126 /etc/default
6 /etc/dfs
...
$
该-h选项使输出更容易理解-
$du -h /etc
5k /etc/cron.d
63k /etc/default
3k /etc/dfs
...
$
挂载文件系统
必须挂载文件系统才能被系统使用。要查看系统上当前已挂载(可用)的内容,请使用以下命令-
$ mount
/dev/vzfs on / type reiserfs (rw,usrquota,grpquota)
proc on /proc type proc (rw,nodiratime)
devpts on /dev/pts type devpts (rw)
$
根据Unix约定,/ mnt目录是临时挂载(例如CDROM驱动器,远程网络驱动器和软盘驱动器)所在的位置。如果需要挂载文件系统,则可以使用具有以下语法的mount命令-
mount -t file_system_type device_to_mount directory_to_mount_to
例如,如果要将CD-ROM挂载到目录/ mnt / cdrom,则可以输入-
$ mount -t iso9660 /dev/cdrom /mnt/cdrom
这假定您的CD-ROM设备名为/ dev / cdrom,并且您要将其安装到/ mnt / cdrom。有关更多特定信息,请参考mount手册页,或在命令行中输入mount -h获取帮助信息。
挂载后,可以使用cd命令在刚创建的挂载点上导航新可用的文件系统。
卸载文件系统
要从系统中卸载(删除)文件系统,请通过识别安装点或设备来使用umount命令。
例如,要卸载cdrom,请使用以下命令-
$ umount /dev/cdrom
使用mount命令可以访问文件系统,但是在大多数现代Unix系统上,自动挂载功能使该过程对用户不可见,并且不需要干预。
用户和组配额
用户和组配额提供了一种机制,通过该机制,可以将单个用户或特定组内所有用户使用的空间量限制为管理员定义的值。
配额围绕两个限制运行,如果空间或磁盘块数量开始超过管理员定义的限制,则允许用户采取某些措施-
- 软限制-如果用户超出定义的限制,则有一个宽限期,允许用户释放一些空间。
- 硬限制-达到硬限制时,无论宽限期如何,都无法分配其他文件或块。
有许多命令可以管理配额-
序号 | 命令与说明 |
---|---|
1个 | quota 显示磁盘使用情况和组用户的限制 |
2 | edquota 这是一个配额编辑器。可以使用此命令编辑用户或组配额 |
3 | quotacheck 扫描文件系统中的磁盘使用情况,创建,检查和修复配额文件 |
4 | setquota 这是命令行配额编辑器 |
5 | quotaon 这向系统宣布应该在一个或多个文件系统上启用磁盘配额 |
6 | quotaoff 这向系统宣布应该为一个或多个文件系统禁用磁盘配额 |
7 | repquota 这将显示指定文件系统的光盘使用情况和配额的摘要。 |