企业网站建设方案书 备案,佛山南海区建网站的公司,网站编写,基于dw的网站设计论文1、文件系统介绍1#xff09;、Linux 文件系统特性super block#xff08;超级块#xff09;记录整个文件系统的信息。包括 block 与 inode 的总量#xff0c;已经使用的 block 和 inode 的数量#xff0c;未使用的 block 和 inode 的数量#xff0c;block 与 inode 的大…1、文件系统介绍1、Linux 文件系统特性super block超级块记录整个文件系统的信息。包括 block 与 inode 的总量已经使用的 block 和 inode 的数量未使用的 block 和 inode 的数量block 与 inode 的大小文件系统的挂载时间最近一次的写入时间等。data block数据块也称作 block用来实际保存数据的柜子的隔板block 的大小1kb、2kb、4kb和数量在格式化后就已经决定不能改变除非重新格式化制作柜子的时候隔断大小就已经决定不能更改除非重新制作柜子。每个 block 只能保存一个文件数据要是文件数据小于一个 block 块那么这个 block 的剩余空间不能被其它文件使用要是文件数据大于一个 block 块则占用多个 block 块。Windows 中磁盘碎片整理工具的原理就是把一个文件占用的多个 block 块尽量整理到一起这样可以加快读写速度。inodei 节点柜子门上的标签用来记录文件的权限r、w、x文件的所有者和所属组文件的大小文件的状态改变时间ctime文件的最近一次读取时间atime文件的最近一次修改时间mtime文件的数据真正保存的 block 编号。每个文件需要占用一个 inode2、文件系统命令① df 命令用来查看硬盘分区空间使用情况df -h[roothepingfly 桌面]# df -hT 加个 -T 参数结果会多出 Type 这一列显示分区的文件系统类型
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda2 ext4 9.8G 3.0G 6.3G 33% /
tmpfs tmpfs 491M 80K 491M 1% /dev/shm
/dev/sda1 ext4 976M 34M 892M 4% /boot
/dev/sda3 ext4 4.8G 11M 4.6G 1% /home
/dev/sr0 iso9660 3.7G 3.7G 0 100% /media/CentOS_6.8_Final② du 命令我们经常用这个命令来查看目录大小因为用 ll 去查看目录大小不准确使用 ll 去查看目录带下一般都是 4k 或者 4k 的倍数因为使用 ll 它统计出来的实际上是目录中存的所有文件名的大小一个 block 占 4kb 如果一个 block 存不下就用两个 block 去存占 8kb。du [选项] [目录或文件名]选项 -a显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量。 -h 人性化显示 -s 统计总占用量而不列出子目录和子文件占用量[roothepingfly init]# du -hs /home/
104K /home/说明du 与 df 的区别du 是用于统计文件大小的统计文件大小是准确的df 是用于统计空间大小的统计的剩余空间是准确的。有时候会存在这两个统计不一致的情况原因是 df 统计的是空间临时文件、垃圾文件等都会占用空间df 就光统计文件大小所以这两个会存在差异情况。③ dumpe2fs 命令显示磁盘状态dumpe2fs /dev/sda3④ 判断文件类型file 文件名 判断文件类型type 命令名 判断命令类型[roothepingfly hgfs]# type mkdir 这个命令是外部命令
mkdir is /bin/mkdir
[roothepingfly hgfs]# type cd 这个命令是内置命令
cd is a shell builtin
[roothepingfly hgfs]# cd /home/hepingfly/
[roothepingfly hepingfly]# ll
总用量 8
-rw-r--r--. 1 root root 4 4月 18 00:07 abc
-rw-r--r--. 1 root root 0 4月 18 00:06 abc~
drwxr-xr-x. 2 root root 4096 4月 17 23:59 test
[roothepingfly hepingfly]# file test 表示这是一个目录
test: directory
[roothepingfly hepingfly]# file abc 表示这是一个文件
abc: ASCII text# 上面命令在你写 shell 脚本的时候可能会用到3、手工分区fdisk 命令fdisk -l查看系统所有硬盘及分区使用如下命令进行分区①『 fdisk /dev/sdb 』 进行磁盘分区在开始分区的时候还没有分区号sdb 表示第二块硬盘我之前只有一块硬盘现在我新添加一块硬盘要对这块硬盘进行分区所以写 /dev/sdb注意这个 sdb 后面不能跟数字因为数字是表示分区号我现在就是没有分区才要去分区的如果写分区号代表都有分区了那我还分什么区。假如你原来有两块硬盘现在新添加一块硬盘要对这个硬盘进行分区那么这里就要写 /dev/sdc 了你输入上面的命令就会开始分区了分区的时候会与系统进行交互。fdisk 交互指定说明命令说明a设置可引导标记b编辑 bsd 磁盘标签c设置 DOS 操作系统兼容标记d删除一个分区l显示已知的文件系统类型。82 为 Linux swap 分区83 为 Linux 分区m显示帮助菜单n新建分区o建立空白 DOS 分区表p打印分区列表q不保存退出s新建空白 SUN 磁盘标签t改变一个分区的系统 IDu改变显示记录单位v验证分区表w保存退出x附加功能②具体分区步骤见https://console.cloud.tencent.com/cos5/bucket/setting?typefilelistbucketNameshp-notes-1257820375path%252Fshp-linux%252F®ionap-chengdu这个里面 1~ 18 个截图建议把截图弄出来放到 word 中看更方便③分区完成之后要进行格式化格式化建立文件系统mkfs -t ext4 /dev/sdb1mkfs -t ext4 /dev/sdb5说明ext4 表示 linux 的文件系统上面我在分区的时候分了一个主分区一个扩展分区一个逻辑分区扩展分区不能存储数据也不能格式化逻辑分区分区号是从 5 开始的所以把 sdb1 和 sdb5 格式化后建立文件系统才能使用④ 建立挂载点mkdir /disk1mkdir /disk5所有的分区都是要挂载之后才能使用的⑤ 挂载mount /dev/sdb1 /disk1mount /dev/sdb5 /disk5⑥ 查看mount 查看所有已挂载的分区和光盘fdisk -l 查看系统分区df -h 查看磁盘空间使用情况4、自动挂载我们只允许对固定设备做自动挂载不允许对光盘或者 U 盘等移动硬盘做自动挂载。因为你如果对移动设备做了自动挂载但是系统启动的时候你如果忘了插入光盘或者 U 盘那么系统就会直接崩溃因为它找不到这个设备。如何自动挂载通过修改分区自动挂载文件实现。vim /etc/fstab 注意这个文件直接参与系统启动如果修改错误系统启动报错vim /etc/fstab
UUIDadec8353-015d-4846-9f00-d4f16630ec3a / ext4 defaults 1 1
UUID1b8318b7-046d-4694-b723-afa92e96888e /boot ext4 defaults 1 2
UUIDf20a6373-1d80-4fcc-9d8d-a7c2be91d11f /home ext4 defaults 1 2
UUIDcc8c66fd-21d7-42ee-8a6f-3d62c71e09b0 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid5,mode620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0解释下上面的内容第一列设备文件名第二列挂载点第三列文件系统第四列挂载选项第五列是否可以被备份 0 不备份 1每天备份 2不定期备份建议写 1第六列是否检测磁盘 fsck 0 : 不检测 1启动时检测 2启动后检测建议写 2自动挂载示例vim /etc/fstab
/dev/sdb1 /disk1 ext4 defaults 1 2
/dev/sdb5 /disk5 ext4 defaults 1 2# 这样我就是实现了 sdb1 和 sdb5 这两个分区开机自动挂载说明其实在上面我们也看到了第一列有 UUID 其实也可以使用 UUID 去进行挂载。其实使用 UUID 去挂载还会有好处好处就是当硬盘增加了新的分区或者分区的顺序改变再或者内核升级后仍然能够保证分区能够正确的加载而不至于造成启动障碍。使用 UUID 挂载只需要把第一列的设备文件名换成查询到的分区 UUID 即可其他列和使用设备文件名挂载一样。如何查询分区对应的 UUIDls -l /dev/disk/by-uuid/[roothepingfly disk1]# ls -l /dev/disk/by-uuid/
总用量 0
lrwxrwxrwx. 1 root root 10 4月 23 21:30 1b8318b7-046d-4694-b723-afa92e96888e - ../../sda1
lrwxrwxrwx. 1 root root 10 4月 23 21:30 3731f19b-ecd4-4ac5-ad41-303c894ed742 - ../../sdb5
lrwxrwxrwx. 1 root root 10 4月 23 21:30 6aedc6ac-d2e1-465e-a824-07b4b9d10ae5 - ../../sdb1
lrwxrwxrwx. 1 root root 10 4月 23 21:30 adec8353-015d-4846-9f00-d4f16630ec3a - ../../sda2
lrwxrwxrwx. 1 root root 10 4月 23 21:30 cc8c66fd-21d7-42ee-8a6f-3d62c71e09b0 - ../../sda5
lrwxrwxrwx. 1 root root 10 4月 23 21:30 f20a6373-1d80-4fcc-9d8d-a7c2be91d11f - ../../sda3# 使用上面的命令可以看到每个分区对应的 UUID测试mount -a 重新挂载所有内容再输入 mount 命令查看是否挂载成功。或者重启也行。5、parted 命令分区我们 Linux 系统中有两种常见的分区表MBR 分区表和 GPT 分区表。MBR 分区表 支持最大分区是 2TB 最多支持 4 个主分区或 3 个主分区 1 个扩展分区GPT 分区表支持最大 18EB 的分区1EB 1024PB 1024 * 1024TB最多支持 128 个分区其中 1 个系统保留分区127 个用户自定义分区一般我们使用 fdisk 命令进行分区的时候都是对 MBR 分区表进行分区但是这种分区表支持的硬盘最大 2TB也就是说你硬盘容量如果大于 2TB 使用 MBR 分区表后面的都不会识别了。所以如果你硬盘容量超过 2TB就需要使用 parted 命令进行分区。另外你使用 parted 命令分完区之后就不会存在什么主分区、扩展分区、逻辑分区了因为我们说之所以存在主分区、扩展分区、逻辑分区就是因为 MBR 分区表最多支持 4 个主分区所以我们想突破 4 个主分区的限制就弄出了扩展分区和逻辑分区那么现在 GPT 分区表已经支持 128 个分区了所以就不需要这些主分区、扩展分区、逻辑分区了都是主分区。