linux 檔案系統管理三部曲之一:磁盤磁區
linux 檔案系統管理三部曲之二:創建檔案系統
上面說明了,硬碟的劃分和格式化,那么怎么使用,還沒說,這里說一下,怎么使用創建好的檔案系統,
使用檔案系統
只要把檔案系統“掛載”到某個目錄上,就可以通過這個目錄訪問檔案系統了,
-
這個目錄就叫做:掛載點(mount_point):用于作為另一個檔案系統的訪問入口,
掛載點的目錄要滿足的條件:
1,事先存在
2,為被使用過的,并且不會被其他行程使用
3,掛載點下,原有的檔案,掛載后會被隱藏
-
這個“掛”上去的動作,就是
mount命令, -
把掛載點,摘下來的動作,就是
umount命令,
umount命令用法:
umount device|dir
注意:如果某個用戶的某個行程在使用這個掛載點,則無法umout,直到使用這個掛載點的行程退出,
比如,某個用戶,cd進入到了掛載點,這時系統管理員執行umount命令,則顯示如下:
# umount /mnt
umount: /mnt: target is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
1,查看哪個用戶的哪個行程在使用掛載點
-
lsof mount_point]# lsof /mnt lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs Output information may be incomplete. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 5482 root cwd DIR 8,17 1024 2 /mnt -
fuser -v mount_point# fuser -v /mnt USER PID ACCESS COMMAND /mnt: root kernel mount /mnt root 5482 ..c.. bash
2,殺死使用掛載點的所以行程:fuser -km mount_point
# fuser -km /mnt/
/mnt: 5482c
mount命令用法
直接執行mount命令,顯示出當前系統的掛載情況,注意,在centOS7下,顯示的內容比較多,里面比CentOS6多了cgroup的掛載資訊,
1,基本用法
-
語法:
mount [-fnrsvw][-t vfstype] [-o options] device dir# mount /dev/sdb1 /mnt -
以只讀方式掛載:
-r -
以可讀寫方式掛載:
-w -
掛載時不更新/etc/mtab檔案:
-n/etc/mtab檔案里,保存了當前的掛載情況,每掛載一個檔案系統,就在此檔案追加一行,卸載檔案系統后,就洗掉追加的行,當/etc目錄下的檔案不可以寫入時,可以使用此選項,但,在CentOS7上即使指定了-n,也更新了/etc/mtab檔案,
-
指定要掛載設備的檔案系統型別:
-t一般可以省略,mount目錄會自動根據blkid命令的結果,找到要掛載設備的檔案系統型別,
-
不指定設備檔案,而是通過指定卷標,來掛載:
-L# e2label /dev/sdb1 m1 # blkid /dev/sdb1 /dev/sdb1: LABEL="m1" UUID="4752177b-e026-483d-b166-19229b64e4c3" TYPE="ext2" # mount -L m1 /mnt -
不指定設備檔案,而是通過指定UUID,來掛載:
-U# mount -U 4752177b-e026-483d-b166-19229b64e4c3 /mnt
2,掛載選項(-o options):下面是-o后面的選項的具體值,
-
sync/async:當寫入到磁盤時,是馬上就寫到磁盤上,還是先不急,等會一起寫入到磁盤的選項,
sync:馬上寫入到磁盤
async:稍等一會再寫入磁盤,所以,async的性能好!
-
atime/noatime:檔案或目錄在被訪問后,是否更新其訪問時間戳
-
diratime/nodiratime:目錄在被訪問后,是否更新其訪問時間戳
-
remount:當想增加掛載選項時,但又不想卸載檔案系統,使用此選項自動重新掛載檔案系統,并讓新的掛載選項生效,
比如,掛載的時候,指定的是只讀選項,但想改成可讀寫,就可以用下面的用法,/mnt/t1是掛載點,
mount -o remount rw /mnt/t1 -
acl:使facl功能有效,也就是setfacl功能生效,
-
ro:只讀
-
rw:讀寫
-
dev/nodev:此檔案系統上是否允許識別(interpret )設備檔案,即使是nodev,也可以使用mknod命令創建設備檔案,
-
exec/noexec:是否允許在此檔案系統上運行程式
-
suid/nosuid:是否允許程式檔案上的suid和sgid特殊權限生效,
-
relatime/norelatime:是否允許根據modify time或change time去更新 access time,
-
defaults:當不只讀options時,實際是:rw, suid, dev, exec, auto, nouser, and async被啟用了,
3,系結目錄到掛載點,
mount命令不僅可以掛載設備檔案到掛載點,還可以掛載別的目錄到掛載點,使用--bind
# mount --bind /etc /mnt
4,查看掛載了哪些設備
mountcat /etc/mtabcat /proc/mounts
5,掛載光碟
一般光碟的設備檔案是/dev/cdrom或/dev/dvd
# mount -r /dev/cdrom /mnt
6,掛載u盤
和掛載磁區沒什么區別,只是需要先找到u盤對應的設備檔案,可以通過檔案的大小去判斷哪個設備檔案是u盤,
7,掛載本地回環檔案(ios檔案,img檔案等)
# mount -o loop /tmp/ttylinux.so /mnt
啟用swap磁區
-
啟用:
swapon [option] device-a:定義在/etc/fstab檔案中的所有設備
# fdisk -l /dev/sdb6 Disk /dev/sdb6: 26 MB, 26214400 bytes, 51200 sectors # mkswap /dev/sdb6 mkswap: /dev/sdb6: warning: wiping old swap signature. Setting up swapspace version 1, size = 25596 KiB no label, UUID=a4dc9e83-5e28-49e1-9aa0-6e7059fcb227 # free -m total used free shared buff/cache available Mem: 3789 631 2547 21 610 2872 Swap: 3967 0 3967 # swapon /dev/sdb6 # free -m total used free shared buff/cache available Mem: 3789 631 2547 21 610 2872 Swap: 3992 0 3992 # swapoff /dev/sdb6 # free -m total used free shared buff/cache available Mem: 3789 631 2546 21 610 2871 Swap: 3967 0 3967 -
禁用:
swapoff [option] device-a:定義在/etc/fstab檔案中的所有設備
根下哪些目錄是和根目錄在同一個磁區,哪些目錄可以是在獨立的磁區呢?
一般usr,var,home目錄可以不和根目錄在同一個磁區,其他的大部分必須和根目錄在同一個磁區,
那么問題來了,既然usr等目錄不是和根目錄在同一個磁區,那么它們是怎么在系統開機后自動掛載上去呢?
在/etc/fstab檔案里定義的設備檔案,開機后會自動掛載,
-
解讀/etc/fstab檔案中各個列的含義
-
第一列:設備檔案,或UUID,或LABLE
-
第二列:掛載點
swap型別的檔案系統的掛載點不是目錄,直接是【swap】
-
第三列:檔案系統型別
-
第四列:掛載選項
如果有多個掛載選項,用逗號分隔,例如:defaults,acl,noexec
-
第五列:備份頻率
0:從不備份
1:每天備份
2:隔天備份
-
第六列:自檢次序
0:不自檢
1:第一個自檢,通常只能是根檔案系統可以使用1.
2:第二個自檢,可以把根檔案系統以外的檔案系統設定成2.
...
# cat /etc/fstab # # /etc/fstab # Created by anaconda on Fri Nov 29 16:44:28 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/centos-root / xfs defaults 0 0 UUID=3d3b316a-529e-484a-9895-e785fdde5365 /boot xfs defaults 0 0 /dev/mapper/centos-home /home xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 -
mount -a目錄會自動把/etc/fstab檔案里定義的設備,全部掛載
下面的一行,是自己追加的,
/dev/sdb5 /mnt/t2 ext3 defaults,acl 0 0
顯示檔案系統的空間使用狀況:df
-
顯示所有檔案系統的空間使用狀況:
df# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/centos-root 38815216 18982084 19833132 49% / devtmpfs 1923436 0 1923436 0% /dev tmpfs 1940308 9712 1930596 1% /run tmpfs 1940308 0 1940308 0% /sys/fs/cgroup /dev/mapper/centos-home 18950144 1842644 17107500 10% /home tmpfs 388064 4 388060 1% /run/user/42 tmpfs 388064 32 388032 1% /run/user/1000 /dev/sda1 1038336 182380 855956 18% /boot /dev/sdb5 45478 827 42091 2% /mnt/t2 -
顯示所有檔案系統的空間使用狀況:
df -l# df -l Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/centos-root 38815216 18982116 19833100 49% / devtmpfs 1923436 0 1923436 0% /dev tmpfs 1940308 9712 1930596 1% /run tmpfs 1940308 0 1940308 0% /sys/fs/cgroup /dev/mapper/centos-home 18950144 1842644 17107500 10% /home tmpfs 388064 4 388060 1% /run/user/42 tmpfs 388064 32 388032 1% /run/user/1000 /dev/sda1 1038336 182380 855956 18% /boot /dev/sdb5 45478 827 42091 2% /mnt/t2 -
顯示檔案系統的空間使用狀況(適合閱讀):
df -h# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 38G 19G 19G 49% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 9.5M 1.9G 1% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-home 19G 1.8G 17G 10% /home tmpfs 379M 4.0K 379M 1% /run/user/42 tmpfs 379M 32K 379M 1% /run/user/1000 /dev/sda1 1014M 179M 836M 18% /boot /dev/sdb5 45M 827K 42M 2% /mnt/t2 -
顯示所有檔案系統的inode的使用狀況:
df -i# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/centos-root 19417088 416785 19000303 3% / devtmpfs 480859 403 480456 1% /dev tmpfs 485077 751 484326 1% /run tmpfs 485077 16 485061 1% /sys/fs/cgroup /dev/mapper/centos-home 9480192 912 9479280 1% /home tmpfs 485077 6 485071 1% /run/user/42 tmpfs 485077 19 485058 1% /run/user/1000 /dev/sda1 524288 341 523947 1% /boot /dev/sdb5 12824 11 12813 1% /mnt/t2
顯示目錄下所有檔案所占用的空間:du
-
顯示目錄下每個檔案所占用的空間:
du# du /home/ys/bin/ 56 /home/ys/bin/ 52 /home/ys/sbin/ -
顯示目錄下所有檔案所占用的空間:
du -s-h:人類可讀,
# du -s /etc/ 42732 /etc/ # du -sh /etc/ 42M /etc/
復制,剪切,洗掉檔案操作,對檔案系統的影響
- 復制:等于新建檔案
- 洗掉:把block標記為未使用,把inode標記為未使用,把inode和block位圖示記為未使用,所以速度很快,
- 剪切:
如果在同一個檔案系統的話,僅改變路徑,inode不變,
如果不在同一個檔案系統的話,先復制資料到目標檔案系統,并洗掉原來檔案,
練習:
1,創建一個20G的檔案系統,塊大小為2048,卷標為TEST,要求此磁區開機后自動掛載到/testing目錄,且啟用acl功能
-
創建20G磁區(fdisk)
-
創建檔案系統:
mke2fs -t ext4 -b 2048 -L 'TEST' /dev/sd7 -
編輯/etc/fstab檔案
LABEL=‘TEST’ /testing ext4 defaults, acl 0 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/144225.html
標籤:Linux
下一篇:Linux入門(一)
