上一章Unix和Linux教程请查看: Linux使用带SED的正则表达式介绍
文件系统是分区或磁盘上文件的逻辑集合,分区是信息的容器,如果需要可以跨整个硬盘驱动器。
我们的硬盘驱动器可以有各种分区,这些分区通常只包含一个文件系统,例如一个文件系统包含/文件系统,另一个文件系统包含/home文件系统。
每个分区一个文件系统允许对不同的文件系统进行逻辑维护和管理。Unix中的所有东西都被认为是一个文件,包括物理设备如dvd – rom、USB设备和软盘驱动器。
1、目录结构
Unix使用分层的文件系统结构,很像一个倒置的树,根(/)在文件系统的基础上,所有其他目录从那里展开,Unix文件系统是具有以下属性的文件和目录的集合:
- 它有一个根目录(/)其中包含其他文件和目录。
- 每个文件或目录都由其名称、所在目录和惟一标识符(通常称为inode)惟一标识。
- 按照惯例根目录的inode编号为2,而丢失+找到目录的inode编号为3。不使用Inode数字0和1,可以通过在ls命令中指定-i选项来查看文件inode编号。
- 它是自包含的。一个文件系统和另一个文件系统之间没有依赖关系。
这些目录有特定的用途,通常保存着相同类型的信息,以便轻松地定位文件。下面是Unix主要版本中存在的目录:
编号 | 目录 & 描述 |
1 | / 这是根目录,应该只包含文件结构顶层所需的目录 |
2 | /bin 这是可执行文件所在的位置。所有用户都可以使用这些文件 |
3 | /dev 这些是设备驱动程序 |
4 | /etc 管理目录命令、配置文件、磁盘配置文件、有效的用户列表、组、以太网、主机、发送关键消息的地方 |
5 | /lib 包含共享库文件,有时还包含其他与内核相关的文件 |
6 | /boot 包含用于引导系统的文件 |
7 | /home 包含用户和其他帐户的主目录 |
8 | /mnt 用于安装其他临时文件系统,例如用于CD-ROM驱动器的cdrom和用于软盘驱动器的软盘 |
9 | /proc 包含由进程号或系统动态的其他信息标记为文件的所有进程 |
10 | /tmp 保存系统引导之间使用的临时文件 |
11 | /usr 用于各种用途,可由许多用户使用包括管理命令、共享文件、库文件等 |
12 | /var 通常包含可变长度的文件,如日志和打印文件,以及可能包含可变数据量的任何其他类型的文件 |
13 | /sbin 包含二进制(可执行)文件,通常用于系统管理。例如fdisk和ifconfig utlities |
14 | /kernel 包含内核文件 |
2、在文件系统中导航
了解了文件系统的基础知识之后,就可以开始导航到所需的文件了。以下命令用于导航系统:
编号 | 命令 & 描述 |
1 | cat filename 显示一个文件内容 |
2 | cd dirname 移到标识的目录 |
3 | cp file1 file2 将一个文件/目录复制到指定位置 |
4 | file filename 标识文件类型(二进制、文本等) |
5 | find filename dir 查找一个文件/目录 |
6 | head filename 显示文件的开头 |
7 | less filename 从头到尾浏览文件 |
8 | ls dirname 显示指定目录的内容 |
9 | mkdir dirname 创建指定的目录 |
10 | more filename 从头到尾浏览一个文件 |
11 | mv file1 file2 移动文件/目录的位置或重命名该文件/目录 |
12 | pwd 显示用户所在的当前目录 |
13 | rm filename 删除一个文件 |
14 | rmdir dirname 删除一个目录 |
15 | tail filename 显示文件的结尾 |
16 | touch filename 创建空白文件或修改现有文件或其属性 |
17 | whereis filename 显示文件的位置 |
18 | which filename 显示文件的位置,如果它在你的路径中 |
3、df命令
管理分区空间的第一种方法是使用df (disk free)命令。命令df -k(磁盘空闲)以千字节为单位显示磁盘空间使用情况如下所示:
$df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/xy/x 0 0 0 0% /
/devices 0 0 0 0% /devices
$
一些目录例如/devices,在kbytes、used和avail列中显示0,在capacity中显示0%。这些文件系统是特殊的(或虚拟的)文件系统,尽管它们位于/下的磁盘上,但是它们本身并不消耗磁盘空间。在所有Unix系统上,df -k输出通常是相同的。以下是它通常包含的内容
编号 | 字段 & 描述 |
1 | Filesystem 物理文件系统名称 |
2 | kbytes 存储介质上可用的总千字节空间 |
3 | used 使用的总千字节空间(文件) |
4 | avail 可用的总千字节数 |
5 | capacity 文件使用的总空间百分比 |
6 | Mounted on 文件系统安装在什么上面 |
4、du命令
du(磁盘使用情况)命令使你能够指定目录来显示特定目录上的磁盘空间使用情况。如果你想确定一个特定目录占用了多少空间,这个命令非常有用。下面的命令显示每个目录使用的块的数量。单个块可能占用512字节或1千字节,具体取决于你的系统。
$du /etc
$du -h /etc
5、挂载文件系统
必须挂载文件系统以便系统能够使用,要查看系统上当前挂载(可用)的内容,请使用以下命令:
$ mount
/dev/abc 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 iso /dev/cdrom /mnt/cdrom
这假设你的CD-ROM设备名为/dev/cdrom,并且你希望将它挂载到/mnt/cdrom。有关更详细的信息,请参阅挂载手册页,或在命令行中键入mount -h以获得帮助信息。挂载之后可以使用cd命令通过刚才创建的挂载点来导航新可用的文件系统。
6、卸载文件系统
要从系统中卸载(删除)文件系统,请使用umount命令标识挂载点或设备。例如要卸载cdrom使用以下命令:
$ umount /dev/cdrom
mount命令使您能够访问文件系统,但是在大多数现代Unix系统中,automount函数使这个过程对用户不可见不需要任何干预。
7、用户和组配额
用户和组限额提供了一种机制,通过这种机制单个用户或特定组中的所有用户使用的空间量可以限制为管理员定义的值。
如果磁盘块的空间量或数量开始超过管理员定义的限制,则限额在两个范围内操作,允许用户采取某些操作:
- 软限制——如果用户超出了所定义的限制,则有一段宽限期允许用户释放一些空间。
- 硬限制—当达到硬限制时,无论宽限期如何,都不能再分配文件或块。
有许多命令可以管理配额:
编号 | 命令 & 描述 |
1 | quota 显示组用户的磁盘使用情况和限制 |
2 | edquota 这是一个配额编辑器。可以使用此命令编辑用户或组配额 |
3 | quotacheck 扫描文件系统以查看磁盘使用情况,创建、检查和修复配额文件 |
4 | setquota 这是一个命令行配额编辑器 |
5 | quotaon 这向系统宣布应该在一个或多个文件系统上启用磁盘配额 |
6 | quotaoff 这向系统宣布应该禁用一个或多个文件系统的磁盘配额 |
7 | repquota 这将打印指定文件系统的磁盘使用情况和配额的摘要 |
评论前必须登录!
注册