《Linux就该这么学》 第6章 存储结构与磁盘划分

《Linux就该这么学》 第6章 存储结构与磁盘划分
《Linux就该这么学》 第6章 存储结构与磁盘划分
《Linux就该这么学》 第6章 存储结构与磁盘划分
《Linux就该这么学》 第6章 存储结构与磁盘划分
《Linux就该这么学》 第6章 存储结构与磁盘划分
《Linux就该这么学》 第6章 存储结构与磁盘划分
《Linux就该这么学》 第6章 存储结构与磁盘划分
《Linux就该这么学》 第6章 存储结构与磁盘划分
《Linux就该这么学》 第6章 存储结构与磁盘划分

6.1 一切从“/”开始Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。另外,Linux系统中的文件和目录名称是严格区分大小写的。例如,root、rOOt、Root、rooT均代表不同的目录,并且文件名称中不得包含斜杠(/)。Linux系统中的文件存储结构如图6-1所示。

表6-1 Linux系统中常见的目录名称以及相应内容
目录名称
应放置文件的内容
/boot
开机所需文件—内核、开机菜单以及所需配置文件等
/dev
以文件形式存放任何设备与接口
/etc
配置文件
/home
用户主目录
/bin
存放单用户模式下还可以操作的命令
/lib
开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数
/sbin
开机过程中需要的命令
/media
用于挂载设备文件的目录
/opt
放置第三方的软件
/root
系统管理员的家目录
/srv
一些网络服务的数据文件目录
/tmp
任何人均可使用的“共享”临时目录
/proc
虚拟文件系统,例如系统内核、进程、外部设备及网络状态等
/usr/local
用户自行安装的软件
/usr/sbin
Linux系统开机时不会使用到的软件/命令/脚本
/usr/share
帮助与说明文件,也可放置共享文件
/var
主要存放经常变化的文件,如日志
/lost+found
当文件系统发生错误时,将一些丢失的文件片段存放在这里

找到一个文件的方法:
绝对路径与相对路径
绝对路径(absolute path):
[root@linuxprobe proc]# cat /home/wwwroot/index.html
相对路径(relative path):
[root@linuxprobe proc]# cd /home/wwwroot
[root@linuxprobe wwwroot]# cat index.html
6.2 物理设备的命名规则

udev服务 管理硬件设备
在Linux系统中一切都是文件,硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等;这对于陌生的设备来说特别方便。另外,udev设备管理器的服务会一直以守护进程的形式运行并侦听内核发出的信号来管理/dev目录下的设备文件。Linux系统中常见的硬件设备的文件名称如表6-2所示。
表6-2 常见的硬件设备及其文件名称
硬件设备
文件名称
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
由于现在的IDE设备已经很少见了,所以一般的硬盘设备都会是以“/dev/sd”开头的。而一台主机上可以有多块硬盘,因此系统采用a~p来代表16块不同的硬盘(默认从a开始分配),而且硬盘的分区编号也很有讲究:
主分区或扩展分区的编号从1开始,到4结束;
逻辑分区从编号5开始。

现在,问题来了—第一个扇区最多只能创建出4个分区?于是为了解决分区个数不够的问题,可以将第一个扇区的分区表中16字节(原本要写入主分区信息)的空间(称之为扩展分区)拿出来指向另外一个分区。也就是说,扩展分区其实并不是一个真正的分区,而更像是一个占用16字节分区表空间的指针—一个指向另外一个分区的指针。这样一来,用户一般会选择使用3个主分区加1个扩展分区的方法,然后在扩展分区中创建出数个逻辑分区,从而来满足多分区(大于4个)的需求。当然,就目前来讲大家只要明白为什么主分区不能超过4个就足够了。主分区、扩展分区、逻辑分区可以像图6-4那样来规划。
所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。

图6-4 硬盘分区的规划这

是第三块IDE设备(比较少见了)中的编号为8的逻辑分6.3 文件系统与数据资料

Ext3:是一款日志文件系统,能够在系统异常宕机时避免文件系统资料丢失,并能自动修复数据的不一致与错误。然而,当硬盘容量较大时,所需的修复时间也会很长,而且也不能百分之百地保证资料不会丢失。它会把整个磁盘的每个写入动作的细节都预先记录下来,以便在发生异常宕机后能回溯追踪到被中断的部分,然后尝试进行修复。
Ext4:Ext3的改进版本,作为RHEL 6系统中的默认文件管理系统,它支持的存储容量高达1EB(1EB=1,073,741,824GB),且能够有无限多的子目录。另外,Ext4文件系统能够批量分配block块,从而极大地提高了读写效率。
XFS:是一种高性能的日志文件系统,而且是RHEL 7中默认的文件管理系统,它的优势在发生意外宕机后尤其明显,即可以快速地恢复可能被破坏的文件,而且强大的日志功能只用花费极低的计算和存储性能。并且它最大可支持的存储容量为18EB,这几乎满足了所有需求。

使用一个硬盘的步骤:
分区: fdisk l 查看 n 添加新的分区 p 查看分区 d 删除分区 w 保存退出 q 不保存退出
格式化:mkfs
挂载:将设备文件与某个目录相关联的动作,就叫做挂载。

6.4 挂载设备

6.4.1 mount 命令
mount 挂载命令 mount 设备文件绝对路径 目录名称
umount 卸载命令 umount 设备文件绝对路径/目录名称
/etc/fstab 可以使挂载永久生效
挂载信息的格式:
设备的绝对路径 挂载目录 文件系统的格式 权限 是否备份 是否自检
是否备份 0/1 不备份/备份
是否自检 0/1 不自检/自检
-a 挂载所有在/etc/fstab中定义的文件系统
-t 指定文件系统的类型

6.5 添加硬盘设备

给虚拟机添加硬盘设备
在虚拟机中模拟添加了硬盘设备后就应该能看到抽象成的硬盘设备文件了。按照前文讲解的udev服务命名规则,第二个被识别的SCSI设备应该会被保存为/dev/sdb,进行分区操作,例如从中取出一个2GB的分区设备以供后面的操作使用。

为新添加硬盘分区

1、fdisk命令
fdisk命令用于管理磁盘分区,格式为“fdisk [磁盘名称]”。 它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”
m 查看全部可用的参数
n 添加新的分区
d 删除某个分区信息
l 列出所有可用的分区类型
t 改变某个分区的类型
p 查看分区表信息
w 保存并退出
q 不保存直接退出

[root@linuxprobe 桌面]# ls -l /dev/sdb
brw-rw----. 1 root disk 8, 16 5月 11 22:11 /dev/sdb
[root@linuxprobe 桌面]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x72211de0 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x72211de0

设备 Boot Start End Blocks Id System

命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@linuxprobe 桌面]# ls -l /dev/sdb
brw-rw----. 1 root disk 8, 16 5月 11 22:30 /dev/sdb
[root@linuxprobe 桌面]# ls -l /dev/sdb1
brw-rw----. 1 root disk 8, 17 5月 11 22:30 /dev/sdb1

p:主分区 e:扩展分区
敲错可以

查看是否挂在上,若没有,则使用partprobe 将 分区信息 同步给 内核
[root@linuxprobe 桌面]# file /dev/sdb1
/dev/sdb1: block special

[root@linuxprobe ]# file /dev/sdb1
/dev/sdb1: cannot open (No such file or directory)
[root@linuxprobe ]# partprobe
[root@linuxprobe ]# partprobe
[root@linuxprobe ]# file /dev/sdb1
/dev/sdb1: block special

格式化:
mkfs.
[root@linurobe 桌面]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for themk super user
第一个数据块=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376

Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (8192 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

挂载:将分区并格式化后的空间挂载给创建的目录 /guazai
[root@linuxprobe 桌面]# mkdir /guazai
[root@linuxprobe 桌面]# mount /dev/sdb1 /guazai
[root@linuxprobe 桌面]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 985M 0 985M 0% /dev
tmpfs 994M 140K 994M 1% /dev/shm
tmpfs 994M 8.8M 986M 1% /run
tmpfs 994M 0 994M 0% /sys/fs/cgroup
/dev/sda1 497M 119M 379M 24% /boot
/dev/sr0 3.5G 3.5G 0 100% /run/media/root/RHEL-7.0 Server.x86_64
/dev/sdb1 976M 2.6M 907M 1% /guazai

编辑 /etc/fstab 文件,将挂载的信息 写入fstab文件,是挂载信息永久生效。
[root@linuxprobe 桌面]# vim /etc/fstab
#

/etc/fstab

Created by anaconda on Mon Apr 22 15:33:10 2019

#

Accessible filesystems, by reference, are maintained under '/dev/disk'

See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=476aa953-9954-4170-bfc7-69ec6cedad75 /boot xfs defaults 1 2
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sdb1 /guazai ext4 defaults 0 0

mount 查看所有挂在信息
[root@linuxprobe 桌面]# mount
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=1008536k,nr_inodes=252134,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,seclabel,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/rhel-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=33,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
sunrpc on /proc/fs/nfsd type nfsd (rw,relatime)
/dev/sdb1 on /guazai type ext4 (rw,relatime,seclabel,data=ordered)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
gvfsd-fuse on /run/user/0/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sr0 on /run/media/root/RHEL-7.0 Server.x86_64 type iso9660 (ro,nosuid,nodev,relatime,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2)

df -h 查看挂载信息
[root@linuxprobe 桌面]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 18G 3.0G 15G 17% /
devtmpfs 985M 0 985M 0% /dev
tmpfs 994M 84K 994M 1% /dev/shm
tmpfs 994M 8.9M 986M 1% /run
tmpfs 994M 0 994M 0% /sys/fs/cgroup
/dev/sdb1 976M 2.6M 907M 1% /guazai
/dev/sda1 497M 119M 379M 24% /boot
/dev/sr0 3.5G 3.5G 0 100% /run/media/root/RHEL-7.0 Server.x86_64

6.6 添加交换分区

交换分区 SWAP 添加交换分区
在对/dev/sdb存储设备进行分区操作前,有必要先说一下交换分区的划分建议:在生产环境中,交换分区的大小一般为真实物理内存的1.5~2倍,为了让大家更明显地感受交换分区空间的变化,f这里取出一个大小为5GB的主分区作为交换分区资源。在分区创建完毕后保存并退出即可:

查看当前内存的大小:
[root@linuxprobe 桌面]# free -m
total used free shared buffers cached
Mem: 1987 911 1076 9 0 315
-/+ buffers/cache: 594 1392
Swap: 2047 0 2047

为交换分区挂载分区
先创建分区,再挂载给交换分区
[root@linuxprobe 桌面]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e
分区号 (2-4,默认 2):
起始 扇区 (2099200-10485759,默认为 2099200):
将使用默认值 2099200
Last 扇区, +扇区 or +size{K,M,G} (2099200-10485759,默认为 10485759):+2G
分区 2 已设置为 Extended 类型,大小设为 2 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x62ee5293

设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 6293503 2097152 5 Extended

命令(输入 m 获取帮助):n
Partition type:
p primary (1 primary, 1 extended, 2 free)
l logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (2101248-6293503,默认为 2101248):
将使用默认值 2101248
Last 扇区, +扇区 or +size{K,M,G} (2101248-6293503,默认为 6293503):+1G
分区 5 已设置为 Linux 类型,大小设为 1 GiB

命令(输入 m 获取帮助):p

磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x62ee5293

设备 Boot Start End Blocks Id System
/dev/sdb1 2048 2099199 1048576 83 Linux
/dev/sdb2 2099200 6293503 2097152 5 Extended
/dev/sdb5 2101248 4198399 1048576 83 Linux

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
正在同步磁盘。

[root@linuxprobe 桌面]# ls -l /dev/sdb5
brw-rw----. 1 root disk 8, 21 5月 11 23:03 /dev/sdb5
[root@linuxprobe 桌面]# mkswap /dev/sdb5
正在设置交换空间版本 1,大小 = 1048572 KiB
无标签,UUID=b9bf2ff0-b7a0-4007-b6d9-227a0fc150eb
[root@linuxprobe 桌面]# cd ~
[root@linuxprobe ~]# free -m
total used free shared buffers cached
Mem: 1987 921 1066 9 1 316
-/+ buffers/cache: 603 1384
Swap: 2047 0 2047
[root@linuxprobe ~]# swapon /dev/sdb5
[root@linuxprobe ~]# free -m
total used free shared buffers cached
Mem: 1987 922 1065 9 1 316
-/+ buffers/cache: 604 1383
Swap: 3071 0 3071

将添加的swap分区的信息写入 fstab的文件,使永久生效。
[root@linuxprobe ~]# vim /etc/fstab
#

/etc/fstab

Created by anaconda on Mon Apr 22 15:33:10 2019

#

Accessible filesystems, by reference, are maintained under '/dev/disk'

See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=476aa953-9954-4170-bfc7-69ec6cedad75 /boot xfs defaults 1 2
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sdb1 /guazai ext4 defaults 0 0
/dev/sdb5 swap swap defaults 0 0

6.7 磁盘配额

quota 磁盘配额 -- 限制每个人能够使用的磁盘容量
iNode 限制文件个数 isoft 软限制 ihard 硬限制
block 限制每个人下载的容量 bsoft 软限制 bhard 硬限制
uquota
root管理员就需要使用磁盘容量配额服务来限制某位用户或某个用户组针对特定文件夹可以使用的最大硬盘空间或最大文件个数,一旦达到这个最大值就不再允许继续使用。可以使用quota命令进行磁盘容量配额管理,从而限制用户的硬盘可用容量或所能创建的最大文件个数。quota命令还有软限制和硬限制的功能。
限制配额,修改fstab文件
RHEL7 XFS 文件系统 参数 uquota
RHEL5/6 ext4 参数为usrquota
[root@localhost ~]# vim /etc/fstab
#

/etc/fstab

Created by anaconda on Mon Apr 22 15:33:10 2019

#

Accessible filesystems, by reference, are maintained under '/dev/disk'

See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#
/dev/mapper/rhel-root / xfs defaults 1 1
UUID=476aa953-9954-4170-bfc7-69ec6cedad75 /boot xfs defaults,uquota 1 2
/dev/mapper/rhel-swap swap swap defaults 0 0
/dev/sdb1 /guazai ext4 defaults 0 0
/dev/sdb5 swap swap defaults 0 0

  1. xfs_quota命令
    切换至linuxprobe用户,设置文件个数和容量限制。
    [root@localhost 桌面]# su - linuxprobe
    上一次登录:六 5月 4 13:24:31 CST 2019pts/1 上

[root@localhost 桌面]# id linuxprobe
uid=1000(linuxprobe) gid=1000(linuxprobe) 组=1000(linuxprobe)
[root@localhost 桌面]# xfs_quota -x -c 'limit bsoft=3m bhard=5m isoft=3 ihard=5 linuxprobe /boot '
(#-x为专家模式,更加高级功能,可以对文件个数做限制,-c非交互式的配置方法。)
[root@localhost linuxprobe]# xfs_quota -x -c report /boot
User quota on /boot (/dev/sda1)
Blocks
User ID Used Soft Hard Warn/Grace


root 95380 0 0 00 [--------]
linuxprobe 4096 2048 4096 00 [6 days]

[root@localhost /]# mount | grep quota
/dev/mapper/rhel-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/sdb6 on /newFS type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,usrquota)

[root@localhost 桌面]# chmod -Rf 777 /boot
[linuxprobe@llocalhost ~]$ exit
登出
文件个数收到限制:
[root@localhost 桌面]# su - linuxprobe
上一次登录:二 5月 14 18:47:36 CST 2019pts/0 上
[linuxprobe@localhost ~]$ cd /boot
[linuxprobe@localhost boot]$ touch a b c d
[linuxprobe@localhost boot]$ touch a b c d e
touch: 无法创建"e": 超出磁盘限额
[linuxprobe@localhost boot]$ ls
a
b
c
config-3.10.0-123.el7.x86_64
d
grub2
initramfs-0-rescue-8b2b70dcdeb74764b311056173259b74.img
initramfs-3.10.0-123.el7.x86_64.img
initramfs-3.10.0-123.el7.x86_64kdump.img
initrd-plymouth.img
linuxprobe
symvers-3.10.0-123.el7.x86_64.gz
System.map-3.10.0-123.el7.x86_64
vmlinuz-0-rescue-8b2b70dcdeb74764b311056173259b74
vmlinuz-3.10.0-123.el7.x86_64

[linuxprobe@localhost boot]$ rm -f a b c d
[linuxprobe@localhost boot]$ ls
config-3.10.0-123.el7.x86_64
grub2
initramfs-0-rescue-8b2b70dcdeb74764b311056173259b74.img
initramfs-3.10.0-123.el7.x86_64.img
initramfs-3.10.0-123.el7.x86_64kdump.img
initrd-plymouth.img
linuxprobe
symvers-3.10.0-123.el7.x86_64.gz
System.map-3.10.0-123.el7.x86_64
vmlinuz-0-rescue-8b2b70dcdeb74764b311056173259b74
vmlinuz-3.10.0-123.el7.x86_64

文件容量收到限制:
[linuxprobe@linuxprobe boot]$ dd if=/dev/zero of=peiexianzhi bs=3M count=1
记录了1+0 的读入
记录了1+0 的写出
3145728字节(3.1 MB)已复制,0.0060716 秒,518 MB/秒
[linuxprobe@localhost boot]$ dd if=/dev/zero of=peiexianzhi bs=3M count=1
记录了1+0 的读入
记录了1+0 的写出
3145728字节(3.1 MB)已复制,0.0150874 秒,208 MB/秒
[linuxprobe@localhost boot]$ dd if=/dev/zero of=peiexianzhi bs=6M count=1
dd: 写入"peiexianzhi" 出错: 超出磁盘限额
记录了1+0 的读入
记录了0+0 的写出
3145728字节(3.1 MB)已复制,0.0124628 秒,252 MB/秒

  1. edquota命令
    修改用户的磁盘配额:
    [root@linuxprobe ~]# edquota -u linuxprobe (-u 修改用户的磁盘配额)
    Disk quotas for user linuxprobe (uid 1000):
    Filesystem blocks soft hard inodes soft hard
    /dev/sda1 6144 3072 61440 1 3 6

实验:创建10M文件,可以创建成功
[linuxprobe@localhost boot]$ dd if=/dev/zero of=peiexianzhi bs=10M count=1
记录了1+0 的读入
记录了1+0 的写出
10485760字节(10 MB)已复制,0.144148 秒,72.7 MB/秒

当不需要磁盘配额时,使用edquota -u linuxprobe ,编辑配额,将其删除。
[root@localhost ~]# edquota -u linuxprobe

Disk quotas for user linuxprobe (uid 1000):
Filesystem blocks soft hard inodes soft hard

/dev/sda1 12288 3072 61440 2 3 5

:wq!
edquota: Bad block usage: /dev/sda1: Unknown space binary unit. Valid units are K, M, G, T.
edquota: Cannot read quotas from file.
6.8 软硬方式链接
ln软硬链接
软链接: Windows中的文件快捷方式 删除原始文件,则链接文件不可以再打开。
ln -s
硬链接:原始文件删除,新的链接文件仍然存在。ln

表6-6 ln命令中可用的参数以及作用
参数
作用
-s
创建“符号链接”(如果不带-s参数,则默认创建硬链接)
-f
强制创建文件或目录的链接
-i
覆盖前先询问
-v
显示创建链接的过程

[root@linuxprobe ~]# ln -s ip.txt ip11.txt
[root@linuxprobe ~]# ln ip.txt ip112.txt
[root@linuxprobe ~]# cat ip112.txt
192.168.1.110
192.168.1.120
192.168.1.130
[root@linuxprobe ~]# rm ip.txt
rm:是否删除普通文件 "ip.txt"?y
[root@linuxprobe ~]# cat ip11.txt
cat: ip11.txt: 没有那个文件或目录
[root@linuxprobe ~]# cat ip112.txt
192.168.1.110
192.168.1.120
192.168.1.130

[root@linuxprobe ~]# ln ip.txt ip1.txt
[root@linuxprobe ~]# ln ip.txt ip2.txt
[root@linuxprobe ~]# ln ip.txt ip3.txt
[root@linuxprobe ~]# ln ip.txt ip4.txt
[root@linuxprobe ~]# ln ip.txt ip5.txt
[root@linuxprobe ~]# ls -l ip.txt
-rw-r--r--. 6 root root 43 5月 12 00:11 ip.txt
多了5个inode文件
ip.txt 文件,各个参数的意义。。。。
-文件类型 一般文件
rw-r--r--
. -->+ 有facl权限
root root 文件所有者,文件所有组
6 是inode的文件个数,有多少个指针指向硬盘中的block块。。。
43 所使用文件,占用的实际大小
5月 12 00:11 Mtime 最后一次修改文件的时间
ip.txt 文件名称

磁盘配额时针对全部文件的不是某个文件。

分区-->格式化-->挂载
fdisk mkfs mount
mkswap
需要将分区挂载的信息写入 /etc/fstab文件中

删除已经创建并挂载给某个目录的分区,步骤:
1、umount /dev/sdb? 撤销挂载的硬盘分区
2、fdisk /dev/sdb
3、选择 -d 删除分区,存在多分区时,选择需要删除的那个
4、df -h 查看挂载信息,发现原来创建分区的挂载信息已经删除

swap分区扩容,
1、使用 swapon /dev/sdb?
移除 swapoff /dev/sdb?
2、使用fdisk /dev/sdb -n 新建分区
-d 删除分区

df -h 查看当前挂载信息的命令
du -sh 文件名称/目录名称 查看文件大小
yum ×××tall 是安装的单个软件包
yum group×××tall 是安装软件包组,自动分析软件包之间的依赖性

转载于:https://blog.51cto.com/13615251/2409369

猜你喜欢

转载自blog.csdn.net/weixin_33834679/article/details/93024374