《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 是安裝軟件包組,自動分析軟件包之間的依賴性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章