Linux文件结构与文件系统
文件结构
/文件系统结构的起始位置,称为根
|–bin 存放了所有用户都可使用的命令
|–boot 系统启动时计算机读取的文件,不轻易更改
|–dev 硬件设备的存储目录
|–etc 存放与系统设置相关的文件
|–home 存放普通用户的家目录,普通用户之间不能互相进入对方的家目录
|–lib 共享的函数库
|–misc 空目录,供管理员存放杂物
|–proc 系统和行与执行程序之间的信息
|–root root用户的家目录
|–sbin 存放管理员专用目录
|–tmp 供任何用户存放临时文件的目录
|–usr 存放系统命令
|–var 存放经常变动的文件,例如日志文件和临时文件
|/media media是媒体这个/media底下放置的就是可移除的装置。 包括软碟、光碟、DVD等等装置都暂时挂载于此。 常见的档名有:/media/floppy, /media/cdrom等等。
/mnt 如果妳想要暂时挂载某些额外的装置,一般建议妳可以放置到这个目录中。在古早时候,这个目录的用途与/media相同啦
文件系统
• Ext3
一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数
据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百
分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以
便在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复。
• Ext4
Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达
1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批
量分配block块,从而极大地提高了读写效率。
• XFS
一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发
生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用
花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需
求。
Linux硬件
命名规则
硬件设备 文件名称
IDE设备 /dev/hd[a-d]
SCSI/SATA/U盘 /dev/sd[a-p]
软驱 /dev/fd[0-1]
打印机 /dev/lp[0-15]
光驱 /dev/cdrom
鼠标 /dev/mouse
磁带机 /dev/st0或/dev/ht0
•主分区或扩展分区的编号从1开始,到4结束;
•逻辑分区从编号5开始。
挂载硬件设备
含义
就像windows中使用u盘,插到usb接口,文件自动挂在到G盘
然而linux中的硬件设备并不会像windows中的u盘一样,需要用户手动挂载,才可以看文件中的内容
临时挂载
1.挂载mount 源目录 目的目录.开机后消失
[root@localhost ~]# mount /dev/cdrom ./cd
2.查看
(1)直接进入目录查看
(2)mount | grep 目的目录
[root@localhost ~]# mount | grep ./cd
/dev/sr0 on /root/cd type iso9660 (ro,relatime)
3.取消挂载 unmount 源目录
[root@localhost ~]# umount ./cd
开机挂载
1.进入开机挂载文件/etc/fastab
2.在文件的最后一行以与上面相同的方式写配置信息
字段 意义
设备文件 一般为设备的路径+设备名称,也可以写唯一识别码(UUID,Universally Unique Identifier)
挂载目录 指定要挂载到的目录,需在挂载前创建好
格式类型 指定文件系统的格式,比如Ext3、Ext4、XFS、SWAP、iso9660(此为光盘设备)等
权限选项 若设置为defaults,则默认权限为:rw, suid, dev, exec, auto, nouser, async
是否备份 若为1则开机后使用dump进行磁盘备份,为0则不备份
是否自检 若为1则开机后自动进行磁盘自检,为0则不自检
3.查看开机挂载情况
[root@localhost cd]# mount -a
mount: /dev/sr0 写保护,将以只读方式挂载
硬盘知识
1.硬盘分区与格式化:(windows可以 我的电脑 管理 磁盘管理 来查看)
(1)硬盘分区的好处:便于查看和管理文件,病毒一般不会跨分区感染,更安全。
(2)硬盘分区的种类:主分区和扩展分区,扩展分区下又有很多的逻辑分区。
<1>一个主分区作为扩展分区再来细分他。主分区+扩展分区<=4
<2>扩展分区不能存储信息,只能包含逻辑分区
(3)格式化好处:我们看到的文件顺序是逻辑顺序,在磁盘上并不是这样存储的,在磁盘上是散乱的存储。每个分区都有一个分区列表,用来表示哪几个分区组合起来就是一个文件整体。
(4)格式化原理:分区以后继续更加精细的分并且制定文件系统。每个分区都被分成等大小的数据块(Block),每块4KB(默认,还有1,2)大小。一个10k的数据可以这样存储。最后一个块只占用了2k,且不能再存储其他数据
2.硬盘分区与格式化
(1)分区
<1>添加第二块硬盘并且查看
虚拟机属性->添加->硬盘->下一步到头 重启(回复快照后添加的多余的硬盘消失)
[root@localhost ~]# ll /dev/sd?
brw-rw----. 1 root disk 8, 0 2月 26 11:12 /dev/sda
brw-rw----. 1 root disk 8, 16 2月 26 11:12 /dev/sdb
<2>分区 fdisk 设备名
fdisk [选项] <磁盘> 更改分区表
fdisk [选项] -l <磁盘> 列出分区表
fdisk -s <分区> 给出分区大小(块数)
开始分区:
m 查看全部可用的参数
n 添加新的分区
d 删除某个分区信息
l 列出所有可用的分区类型
t 改变某个分区的类型
p 查看分区信息
w 保存并退出
q 不保存直接退出
[root@localhost ~]# fdisk /dev/sdb
添加分区 a
制定主分区还是扩展分区 默认
指定分区号 默认
指定起始位置 默认
指定结尾分区 指定分区大小,以快为单位或大小为单位,一个块是512kb。数字/+多少G/M/K
保存 w
查看 p
最常用就是 n创建,w保存,p查看
(2)格式化指定文件系统,mkfs.磁盘格式 分区文件
[root@localhost ~]# mkfs.xfs /dev/sdb2
(3)更新partprobe查看分区表lsblk
[root@localhost ~]# partprobe
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
[root@localhost ~]# lsblk
3.挂载
(1)临时挂载
(2)开机启动挂载,通常挂载在/mnt下的某个目录下
<1>通过文件位置挂载
<2>通过设备的唯一标识符UUID挂载
a.获取UUID
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="53b33ce5-8be8-48b3-8f5b-cbed038c51c2" TYPE="xfs"
b.UUID充当挂载源。模仿/boot的挂载
/dev/mapper/centos-root / xfs defaults 0 0
UUID=497a90e4-11bc-41e5-a889-27103b59443d /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
UUID=496e4c08-d5f7-45bb-bfb5-8f51c23efa2e /mnt/sdb xfs defaults 0 0
~
~
c.查看lsblk,显示挂载情况。df -h 显示当前所有磁盘被占据的情况。如果加位置会显示哪个位置所在的磁盘被占据的情况。du -sh也可以查看
[root@localhost mnt]# du -sh ./sdb/
0 ./sdb/
[root@localhost mnt]# df -h ./sdb/
文件系统 容量 已用 可用 已用% 挂载点
/dev/sdb1 20G 33M 20G 1% /mnt/sdb
虚拟内存知识
什么是虚拟内存
查看
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 972 133 695 7 144 675
Swap: 2047 0 2047
计算机可以把数据分为几类:最最常用的放在CPU缓存里,最常用的放在内存里,不常用的放在硬盘里,这些设备的读取效率依次递减,这样可以有效提升资源使用率。
而虚拟内存,就是放入硬盘的这部分东西组成的一个逻辑概念.在WINDOWS里面,它是通用一个交换文件来实现的.而在LINUX系统,它则是一个固定的分区.
对于WINDOWS系统来说,这个文件的存在,等于增加了内存的容量.只不过,这部分容量,用起来很慢(因为硬盘是机械设备).在逻辑上,这部分硬盘空间,充当了内存的角色,所以叫虚拟内存.
设置虚拟内存
1.添加一块没有挂载的分区.
2.修改分区的类型,修改为swap类型。普通分区需要格式化,这个交换分区设置为linux swap文件系统。
fdisk中t修改文件类型,swap对应82.
3.关闭原本的系统的虚拟内存。先查看所在位置/dev/fstab查看swap分区的位置
[root@localhost ~]# swapoff /dev/mapper/centos-swap
4…把这个分区/dev/sdb1作为虚拟内存
[root@localhost ~]# mkswap /dev/sdb1
[root@localhost ~]# swapon /dev/sdb1
[root@localhost ~]# free -m
5.挂载
UUID=497a90e4-11bc-41e5-a889-27103b59443d /boot xfs defaults 0 0
#/dev/mapper/centos-swap swap swap defaults 0 0
UUID=b8eca538-d5f3-480c-9b72-7a71a3b77c06 swap swap defaults 0 0#虚拟内存
UUID=40cf5357-5f78-484f-a8e7-a67cc9168339 /mnt/sdb2 xfs defaults 0 0#第二块硬盘
磁盘容量配额,也可以用(我用不了不知道为什么)
软限制:当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使
用。
• 硬限制:当达到硬限制时会提示用户,且强制终止用户的操作
1.为普通磁盘分区添加配额功default后面加上,uquota
2。限制xfs_quota -x -c ‘limit bsoft=3m bhard=6m isoft=3 ihard=6 eagle’ /newFS
分别表示 软限制文件大小,硬限制文件大小,软限制文件数量,应限制文件数量, 用户,分区位置。
3.查看分区被限制 xfs_quota -x -c report 分区
[root@localhost ~]# vi /etc/fstab
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=2f1fac57-2ddf-46d6-be6d-49b82acaa541 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb1 /newFS xfs defaults,uquota 0 0
/dev/sdb2 swap swap defaults 0 0
[root@localhost ~]# xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 eagle' /newFS
[root@localhost ~]# xfs_quota -x -c report /newFS/
软硬链接
1.软硬链接的区别
(1)在文件系统中,一个文件在物理结构上并不是连续的。实际上是文件名作为一个指针指向文件的内容。
软连接就是一个新的文件名指向原本的文件名。(windows中的快捷方式)
硬链接就是一个新的文件名指向原本的文件内容。
(2)文件删除实际上是释放文件名的指向,文件内容会记录指向自己的指针,如果指针个数为0,则文件内容的空间被释放了。
因此,如果删掉了原本的文件,软链接无法找的文件了,而硬链接可以
2.链接方式 ln 参数 源文件 目的文件
参数 作用
-s
创建“符号链接”(如果不带-s参数,则
默认创建硬链接)
-f 强制创建文件或目录的链接
-i 覆盖前先询问
-v 显示创建链接的过程
[root@localhost sdb]# ln -s 1 2
[root@localhost sdb]# ln 1 3
[root@localhost sdb]# ll
总用量 0
-rw-r--r--. 2 root root 0 2月 26 12:59 1
lrwxrwxrwx. 1 root root 1 2月 26 13:01 2 -> 1
-rw-r--r--. 2 root root 0 2月 26 12:59 3
-rw-r--r--. 1 root root 0 2月 26 12:31 test.txt
[root@localhost sdb]# ln 1 ..
更多推荐
Linux初入14 文件系统
发布评论