磁盘分区与文件系统
磁盘分区
- 分区只是针对64Bytes的分区表进行设置
为什么分区
- 安全性(考虑重装window是C盘的情况)
- 提高读取性能
Linux下磁盘分区的重要性
-
mount(挂载)
目录树的结构与磁盘内的数据对应
-
分区方法
目录配置
FHS标准
可分享的(shareable) | 不可分享的(unshareable) | |
---|---|---|
不变的(static) | /usr(软件放置处) | /etc(配置文件) |
/opt(第三方协力软件) | /boot(开机与核心档) | |
可变动的(variable) | /var/mail(使用者邮件信息) | /var/run(程序相关) |
/var/spool/news(新闻群组) | /var/lock(程序相关) |
root@youname-PC:/mnt/hgfs# tree / -L 1
/
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib32 -> usr/lib32
├── lib64 -> usr/lib64
├── libx32 -> usr/libx32
├── lost+found
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var
-
在FHS标注下只有三个目录应该放置什么数据
- /(root)
- /usr(unix software resource)
- /var(variable)/
其他目录
/bin
系统有很多放置可执行文件的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。 在/bin下面的指令可以被root与一般 帐号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常 用的指令。
\boot
> 这个目录主要在放置==开机==会使用到的文件,包括Linux核心文件以及开机菜 单与开机所需配置文件等等。 Linux kernel常用的文件名为:vmlinuz,如果 使用的是grub2这个开机管理程序, 则还会存在/boot/grub2/
/dev
在Linux系统上,任何设备与周边设备都是以文件的型态存在于这个目录当 中的。 你只要通过存取这个目录下面的某个文件,就等于存取某个设备. 比较重要的文件有/dev/null, /dev/zero, /dev/tty, /dev/loop, /dev/sd
/etc
系统主要的配置文件几乎都放置在这个目录内,例如人员的帐号密码档、 各种服务的启始档等等。一般来说,这个目录下的各文件属性是可以让一般 使用者查阅的, 但是只有root有权力修改。FHS建议不要放置可可执行文件 (binary)在这个目录中喔。比较重要的文件有: /etc/modprobe.d/, /etc/passwd, /etc/fstab, /etc/issue 等等。另外 FHS 还规范几个重要的目录 最好要存在 /etc/ 目录下:/etc/opt(必要):这个目录在放置第三方协力 软件 /opt 的相关配置文件 /etc/X11/(建议):与 X Window 有关的各种配 置文件都在这里,尤其是 xorg.conf 这个 X Server 的配置文件。 /etc/sgml/ (建议):与 SGML 格式有关的各项配置文件 /etc/xml/(建议):与 XML 格式有关的各项配置文件
/lib
系统的函数库非常的多,而/lib放置的则是在开机时会用到的函数库, 以及 在/bin或/sbin下面的指令会调用的函数库而已。 什么是函数库呢?你可以将 他想成是“外挂”,某些指令必须要有这些“外挂”才能够顺利完成程序的执行 之意。 另外 FSH 还要求下面的目录必须要存在:/lib/modules/:这个目录 主要放置可抽换式的核心相关模块(驱动程序)
/media
media是“媒体”的英文,顾名思义,这个/media下面放置的就是可移除的设备。 包括软盘、光盘、DVD等等设备都暂时挂载于此。常见的文件名 有:/media/floppy, /media/cdrom等等。
/mnt
如果你想要暂时挂载某些额外的设备,一般建议你可以放置到这个目录中。 在远古时期,这个目录的用途与/media相同。只是有了/media之后,这个目录就用来暂时挂载用了。
/opt
这个是给第三方协力软件放置的目录。举例来说,KDE这个桌面管理系统是一个独立的计划,不过他可以安装到Linux系 统中,因此KDE的软件就建议放置到此目录下了。 另外,如果你想要自行安装额外的软件(非原本的distribution提供的),那么也能够将你的软件安 装到这里来。 不过,以前的Linux系统中,我们还是习惯放置在/usr/local目录。
/run
早期的 FHS 规定系统开机后所产生的各项信息应该要放置到 /var/run 目录 下,新版的 FHS 则规范到 /run 下面。
/sbin -> usr/sbin
里面包括了开机、修复、还原系统所需要的指令。 至于某些服务器软件程序,一般则放置到/usr/sbin/当中。至于本机自行安装的软件所产生的系统可执行文件(system binary), 则放置到/usr/local/sbin/ 当中了。常见的指令包括:fdisk, fsck, ifconfig, mkfs等等。
/srv
srv可以视为“service”的缩写,是一些网络服务启动之后,这些服务所需要 取用的数据目录。 常见的服务例如WWW, FTP等等。举例来说,WWW服 务器需要的网页数据就可以放置在/srv/www/里面。 不过,系统的服务数据 如果尚未要提供给网际网络任何人浏览的话,默认还是建议放置到 /var/lib 下面即可
/tmp
这是让一般使用者或者是正在执行的程序暂时放置文件的地方。 这个目录 是任何人都能够存取的,所以你需要定期的清理一下。当然,重要数据不可 放置在此目录啊! 因为FHS甚至建议在开机时,应该要将/tmp下的数据都删除
/usr
-
默认软件全在这里
-
/bin
所有一般用户能够使用的指令都放在这里!目前新的 CentOS 7 已经将 全部的使用者指令放置于此,而使用链接文件的方式将 /bin 链接至此! 也就是说, /usr/bin 与 /bin 是一模一样
-
/lib
-
/local
系统管理员在本机自行安装自己下载的软件(非distribution默认提供 者),建议安装到此目录, 这样会比较便于管理。举例来说,你的 distribution提供的软件较旧,你想安装较新的软件但又不想移除旧版, 此时你可以将新版软件安装于/usr/local/目录下
-
/sbin
-
/share
主要放置只读架构的数据文件,当然也包括共享文件。在这个目录下放 置的数据几乎是不分硬件架构均可读取的数据, 因为几乎都是文字文 件嘛!在此目录下常见的还有这些次目录:/usr/share/man:线上说明 文档 /usr/share/doc:软件杂项的文件说明 /usr/share/zoneinfo:与时 区有关的时区文件
-
/game
-
/include
c/c++等程序语言的文件开始(header)与包含档(include)放置处, 当我们以tarball方式 (*.tar.gz 的方式安装软件)安装某些数据时,会 使用到里头的许多包
- /src
一般源代码建议放置到这里,src有source的意思。至于核心源代码则 建议放置到/usr/src/linux/目录
/var
- /lib
程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下 各自的软件应该要有各自的目录。 举例来说,MySQL的数据库放置 到/var/lib/mysql/而rpm的数据库则放到/var/lib/rpm
-
/lock
-
/log
登录文件放置位置
- /spool
/home
使用者文件夹
- /proc
个目录本身是一个“虚拟文件系统(virtual filesystem)”.他放置的数 据都是在内存当中, 例如系统核心、行程信息(process)、周边设备的 状态及网络状态等等。因为这个目录下的数据都是在内存当中, 所以本身 不占任何硬盘空间啊!比较重要的文件例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。
- /sys
这个目录其实跟/proc非常类似,也是一个虚拟的文件系统,主要也是记录 核心与系统硬件信息较相关的信息。 包括目前已载入的核心模块与核心侦 测到的硬件设备信息等等。这个目录同样不占硬盘容量
文件系统
磁盘与容量
df:列出文件系统的整体磁盘使用量
用法:df [选项]... [文件]...
-a, --all include pseudo, duplicate, inaccessible file systems
-B, --block-size=SIZE scale sizes by SIZE before printing them; e.g.,
'-BM' prints sizes in units of 1,048,576 bytes;
see SIZE format below
-h, --human-readable print sizes in powers of 1024 (e.g., 1023M)
-H, --si print sizes in powers of 1000 (e.g., 1.1G)
-i, --inodes 显示inode 信息而非块使用量
-k 即--block-size=1K
-l, --local 只显示本机的文件系统
--no-sync 取得使用量数据前不进行同步动作(默认)
--output[=FIELD_LIST] use the output format defined by FIELD_LIST,
or print all fields if FIELD_LIST is omitted.
-P, --portability use the POSIX output format
--sync invoke sync before getting usage info
--total elide all entries insignificant to available space,
and produce a grand total
-t, --type=TYPE limit listing to file systems of type TYPE
-T, --print-type print file system type
-x, --exclude-type=TYPE limit listing to file systems not of type TYPE
-v (ignored)
--help 显示此帮助信息并退出
--version 显示版本信息并退出
-
du: 评估文件系统的磁盘使用量
用法:du [选项]... [文件]... 或:du [选项]... --files0-from=F Summarize disk usage of the set of FILEs, recursively for directories. -a, --all 列出所有的文件与目录容量,因为默认仅统计目录下面的文件量 --apparent-size print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like -H equivalent to --dereference-args (-D) -h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G) --inodes list inode usage information instead of block usage -S, --separate-dirs 不包含子目录 --si like -h, but use powers of 1000 not 1024 -s, --summarize display only a total for each argument