1. 程式人生 > >Linux文件系統管理

Linux文件系統管理

-h err 空間 nod new table sgid 文件 alter

分區類型:

MBR:最大支持2T硬盤,最多支持4個主分區

GPT:最大支持容量18EB(EB=1024PB,PB=1024TB),單個分區最大支持1EB容量,理論上支持無限個磁盤分區

文件系統:

ext4: ext4向下兼容於ext3與ext2;子目錄最高可達64000,使用“dir_nlink”功能後可以達到更高(雖然父目錄的link count會停止增加)。為了避免性能受到大量目錄的影響,ext4默認打開Htree(一種特殊的B樹)索引功能。該功能已經實現於Linux核心2.6.23版

df 查看掛載點和磁盤使用量

-a 顯示所有文件系統信息

-h 使用常用單位顯示容量,如MB、GB、TB

-i 顯示Inode信息

-T 顯示文件系統類型

du 統計目錄或文件大小

-a 顯示每個文件而非目錄的磁盤占用量

-h 使用常用單位顯示磁盤占用量

-s 統計總占用量而非子目錄和子文件的占用量

dudf的區別

df是從文件系統考慮的,不光要考慮文件占用的空間,還要統計被命令或程序占用的空間

du是面向文件的,只計算文件或目錄占用的空間

fsck 文件系統修復(適用於ext文件系統)

-a 不用顯示用戶提示,自動修復文件系統

-y 自動修復,和-a一致,不過有些文件系統只支持-y

xfs_repair 文件系統修復(適用於xfs文件系統)修復前,建議使用xfs_metadump備份元數據

-n 檢查文件系統是否損壞,損壞將會列出要執行的操作

修復失敗方法(慎重):

-L 清空日誌,可能丟失部分數據,然後執行xfs_repair

dumpe2fs 顯示磁盤狀態(適用於ext文件系統)

xfs_info 顯示磁盤狀態(適用於xfs文件系統)

mount 掛載文件系統

–a 依據/etc/fstab/的內容,自動掛載

-t 加入文件系統類型來指定掛載的類型,可以ext3、ext4、iso9660等文件系統

-o 可以指定掛載的額外選項

atime/noatime 更新訪問時間/不更新訪問時間。訪問分區文件時,是否更新文件的訪問時間,默認更新
async/syna 異步/同步,默認為異步
auto/noauto 自動/手動,mount –a執行時,是否自動安裝/etc/fstab/文件內容掛載,默認為自動
defaults 定義默認值,相當於rw,suid,dev,exec,auto,nouser,async這七個選項
exec/noexec 執行/不執行,設定是否允許在文件系統中執行可執行文件,默認是exec允許
remount 重新掛載已經掛載的文件系統,一般用於指定修改特殊權限
rw/ro 讀寫/只讀,文件系統掛載時,是否具有讀寫權限,默認是w
suid/nosuid 具有/不具有suid權限,設定文件系統是否具有suid和sgid的權限,默認有
user/nouser 允許/不允許普通用戶掛載,設定文件系統是否允許普通用戶掛載,默認不允許,只有root可以掛載分區
usrquota 寫入代表文件系統支持用戶磁盤配額,默認不支持
grpquota 寫入代表文件系統支持組磁盤配額,默認不支持

例:mount -o remount,noexec /home 不允許在文件系統中執行可執行文件(不要選根分區,我的centos7 /home不知道為什麽不能掛,直接掛根分區試試,成功後啥命令都無法執行了)

技術分享圖片

掛載光盤步驟:

mkdir /mnt/cdrom

mount /dev/sr0 /mnt/cdrom

卸載光盤:(註:不能在cdrom目錄卸載光盤,否則會提示目標忙)

umount /dev/sr0或

umount /mnt/cdrom

掛載U盤步驟

fdisk –l 先查看U盤設備名

mkdir /mnt/upan

[root@centos ~]# mount -t vfat /dev/sdb2 /mnt/upan

卸載U盤:(註:不能在upan目錄卸載U盤,否則會提示目標忙)

umount /dev/sdb2

支持NTFS文件系統-NTFS_3G

NTFS_3G安裝:(安裝源碼包必裝gcc)

下載NTFS_3G及其依賴的fuse-2.9.3

先安裝fuse-2.9.3

tar xzvf fuse-2.9.3.tar.gz

cd fuse-2.9.3

./configure&&make&&make install

安裝NTFS_3G

tar xzvf ntfs-3g-1.328.tgz

cd ntfs-3g-1.328

./configure&&make&&make install

mount -t ntfs-3g /dev/sdb4 /mnt/ntfs 掛載NTFS硬盤

fdisk -l 列出所有可用分區類型

fdisk /dev/sdb 為硬盤分區

a 設置可引導標記
b 編輯bsd磁盤標簽
c 設置dos操作系統兼容標記
d 刪除一個分區
l 顯示已知的文件系統類型,82為swap分區,83為Linux分區
m 顯示幫助
n 新建分區
o 建立空白dos分區表
p 顯示分區列表
q 不保存退出
s 新建空白SUN磁盤標簽
t 改變一個分區的系統ID
u 改變顯示記錄單位
v 驗證分區表
w 保存退出
x 附加功能(僅專家)

partprobe 讓內核同步分區信息

mkfs -t ext4 /dev/sdb1 格式化為ext4分區

/etc/fstab文件:

UUID=fd370686-828c-49bf-ba6c-c000d0a47ecc /boot xfs defaults 0 0

第一字段:分區設備文件名或UUID(硬盤通用唯一識別碼)

第二字段:掛載點

第三字段:文件系統名稱

第四字段:掛載參數

第五字段:指定分區是否被dump備份,0不備份,1每天備份,2不定期備份

第六字段:指定分區是否被fsck檢測,0代表不檢測,其他數字代表檢測的優先級,1的優先級比2的優先級高

修改此文件後可以根據mount -a來檢測錯誤

當開機提示分區找不到時,可輸入root用戶密碼,然後執行mount -o remount,rw /

技術分享圖片

然後編輯/etc/fstab改正錯誤,執行mount -a檢測錯誤

free 查看內存和swap分區使用情況

cached(緩存):是指讀取出來的數據保存在內存中,當再次讀取時,直接從內存讀取,加速數據的讀取

buffer(緩沖):是指寫入數據時,先把分散的寫入操作保存在內存中,當達到一定程度在集中寫入硬盤,減少磁盤碎片和硬盤反復尋道,加速數據寫入過程

增加swap分區:

[root@centos ~]# fdisk /dev/sdb

命令(輸入 m 獲取幫助):n

Select (default p): e #先創建邏輯分區,在創建擴展分區

分區號 (2-4,默認 2):2

起始 扇區 (1050624-4194303,默認為 1050624):

Last 扇區, +扇區 or +size{K,M,G} (1050624-4194303,默認為 4194303):+1024M

命令(輸入 m 獲取幫助):n

Select (default p): l #創建擴展分區

起始 扇區 (1052672-3147775,默認為 1052672):

Last 扇區, +扇區 or +size{K,M,G} (1052672-3147775,默認為 3147775):+512M

命令(輸入 m 獲取幫助):t #把分區文件系統更改為82 swap

分區號 (1,2,5,默認 5):5

Hex 代碼(輸入 L 列出所有代碼):82

命令(輸入 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@centos ~]# partprobe

[root@centos ~]# mkswap /dev/sdb5 #格式化

[root@centos ~]# swapon /dev/sdb5 #加入swap分區

[root@centos ~]# swapoff /dev/sdb5 #取消swap分區

[root@centos ~]# vim /etc/fstab #swap分區開機自動掛載

/dev/sdb5 swap swap defaults 0 0

Linux文件系統管理