一個(gè)新的磁盤盤需要經(jīng)過分區(qū)、格式化(創(chuàng)建文件系統(tǒng)),掛載之后才能正常使用。關(guān)于磁盤的分區(qū)表有兩種格式:MBR(Master Boot Record)和GPT(GUID Partition Table)
????MBR:?
????也稱為主引導(dǎo)扇區(qū),是計(jì)算機(jī)開機(jī)后訪問硬盤時(shí)必須讀取的首個(gè)扇區(qū),也就是0柱面0磁頭1扇區(qū),MBR由bootload(446字節(jié))、分區(qū)表(64字節(jié))、MBR結(jié)束標(biāo)志(2字節(jié))共512字節(jié)組成。最大支持2TB的分區(qū)。MBR格式的分區(qū)表支持3個(gè)主分區(qū)和1個(gè)擴(kuò)展分區(qū)。
????GPT:
????為了支持容量大于2TB的分區(qū),引入了GPT分區(qū)表格式,最大支持18EB
????
fdisk?: 磁盤分區(qū)工具
??????fdisk <disk>
????????d: 刪除一個(gè)分區(qū)
????????l: 列出系統(tǒng)支持的分區(qū)類型
????????m:?打印幫助
????????n: 增加一個(gè)新分區(qū)?
????????p: 打印分區(qū)表
????????q: 不保存退出
????????w:?保存退出
????????t: 改變分區(qū)ID
????
2.??partprobe(centos 5),kpartx,partx(centos 6):
????? ? partprobe <disk> :????通知OS系統(tǒng)磁盤分區(qū)表改變
????????partx -a <disk> :????? ?增加磁盤分區(qū)或讀取所有磁盤分區(qū) ??
????????partx -l <disk>:????? ? ?列出磁盤所有分區(qū)?
? ? ????kpartx -af <disk> :????強(qiáng)制增加磁盤分區(qū)映射
????????kpartx -l <disk> :??????列出增加的磁盤分區(qū)映射? ?
3. ?mke2fs , mkfs?: ? 格式化磁盤(創(chuàng)建文件系統(tǒng)ext2,ext3,ext4)
????????mke2fs的配置文件/etc/mke2fs.conf,使用用此命令加載的默認(rèn)參數(shù)。
????????mke2fs = mkfs -t ext2 = mkfs.ext2
????????mke2fs:
????????????????-t : ?文件系統(tǒng)類型(ext2 ?| ?ext3 ?| ?ext4 )
????????????????-j : ?相當(dāng)于 -t ext3
????????????????-L Label: 設(shè)置卷標(biāo)
????????????????-b ( 1024 | 2048 | 4096): 指定塊大小
????????????????-i num: num個(gè)字節(jié)預(yù)留一個(gè)inode
????????????????-N num:? 直接指定預(yù)留多少個(gè)inode
????????????????-n:????不創(chuàng)建文件系統(tǒng),但是顯示創(chuàng)建過程中執(zhí)行的操作
????????????????-I num:????Inode大小
????????????????-m num:? 預(yù)留管理員的空間的百分比,默認(rèn)為5
????????????????-U UUID: ??使用自定義的UUID
????????????????-c:????在創(chuàng)建文件系統(tǒng)之前,檢查磁盤上壞的block
????????????????-F:????強(qiáng)制創(chuàng)建文件系統(tǒng)
????????????????-g:????自定義每個(gè)block-group有多少個(gè)blocks
????????????????-G:????自定義block-group的數(shù)量
? ? ? ? ? ? ? ? -O [^]feature:????指定分區(qū)特性
????????????????????? ? feature:(默認(rèn)sparse_super,filetype,resize_inode,dir_index,ext_attr)
????????????????????????????dir_index:????使用b-trees hash加速大目錄查詢速度。
????????????????????????????extend:????加速大文件系統(tǒng)訪問(large file)
????????????????????????????filetype:????存儲(chǔ)文件類型信息
????????????????????????????flex_bg:????允許block-group信息放置在block的任意位置
????????????????????????????has_journal:????創(chuàng)建ext3日志(同-j)
????????????????????????????journal_dev:????創(chuàng)建外部的ext3日志替代ext2文件系統(tǒng)
????????????????????????????large_file:????文件系統(tǒng)支持大于2G的文件
????????????????????????????resize_inode:????為block-group增長(zhǎng)提供預(yù)留空間
????????????????????????????sparse_super:????創(chuàng)建包含super-block備份的文件系統(tǒng)
????????????????????????????uninit_bg:????加速文件系統(tǒng)創(chuàng)建(僅在ext4下支持)
? ??????????????-q:????用于在腳本中靜默執(zhí)行格式化
????? # mke2fs /dev/sdb1
????mke2fs 1.41.12 (17-May-2010)
????warning: 252 blocks unused.
????Filesystem label=
????OS type: Linux
????Block size=4096 (log=2)
????Fragment size=4096 (log=2)
????Stride=0 blocks, Stripe width=0 blocks
????328320 inodes, 1310720 blocks
????65548 blocks (5.00%) reserved for the super user
????First data block=0
????Maximum filesystem blocks=1342177280
????40 block groups
????32768 blocks per group, 32768 fragments per group
????8208 inodes per group
????Superblock backups stored on blocks:?
????? ? ? ? 32768, 98304, 163840, 229376, 294912, 819200, 884736
????
????Writing inode tables: done ? ? ? ? ? ? ? ? ? ? ? ? ? ?
????Writing superblocks and filesystem accounting information: done
????
????This filesystem will be automatically checked every 39 mounts or
????180 days, whichever comes first. ?Use tune2fs -c or -i to override.
????????????????
4. ?e2label
????????e2label ?<partition>: 查看卷標(biāo)
????????e2label ?<partition> Label: ?設(shè)置定卷標(biāo)
????????# e2label /dev/sdb1 data
5. ?blkid?
????????blkid <partition>:????查看分區(qū)類型和UUID
????# blkid /dev/sdb1
????/dev/sdb1: UUID="85ea6a34-0de2-47e8-83ee-589f79adb88a" TYPE="ext2"?
????
6. ?dumpe2fs?: 查看文件系統(tǒng)(ext2 , ext3 , ext4)信息
????????-h:????僅顯示super-block信息?
????? #dumpe2fs -h /dev/sdb1
????dumpe2fs 1.41.12 (17-May-2010)
????Usage: dumpe2fs [-bfhixV] [-o superblock=<num>] [-o blocksize=<num>] device
????[root@test ~]# dumpe2fs -h /dev/sdb1
????dumpe2fs 1.41.12 (17-May-2010)
????Filesystem volume name: ? <none>
????Last mounted on: ? ? ? ? ?<not available>
????Filesystem UUID: ? ? ? ? ?a9771ea8-9719-4ecf-a6f2-c8b417a4878f
????Filesystem magic number: ?0xEF53
????Filesystem revision #: ? ?1 (dynamic)
????Filesystem features: ? ? ?ext_attr resize_inode dir_index filetype sparse_super ????large_file
????Filesystem flags: ? ? ? ? signed_directory_hash?
????Default mount options: ? ?(none)
????Filesystem state: ? ? ? ? clean
????Errors behavior: ? ? ? ? ?Continue
????Filesystem OS type: ? ? ? Linux
????Inode count: ? ? ? ? ? ? ?328320
????Block count: ? ? ? ? ? ? ?1310720
????Reserved block count: ? ? 65548
????Free blocks: ? ? ? ? ? ? ?1287546
????Free inodes: ? ? ? ? ? ? ?328309
????First block: ? ? ? ? ? ? ?0
????Block size: ? ? ? ? ? ? ? 4096
????Fragment size: ? ? ? ? ? ?4096
????Reserved GDT blocks: ? ? ?319
????Blocks per group: ? ? ? ? 32768
????Fragments per group: ? ? ?32768
????Inodes per group: ? ? ? ? 8208
????Inode blocks per group: ? 513
????Filesystem created: ? ? ? Fri Aug 22 13:35:10 2014
????Last mount time: ? ? ? ? ?n/a
????Last write time: ? ? ? ? ?Fri Aug 22 13:35:11 2014
????Mount count: ? ? ? ? ? ? ?0
????Maximum mount count: ? ? ?20
????Last checked: ? ? ? ? ? ? Fri Aug 22 13:35:10 2014
????Check interval: ? ? ? ? ? 15552000 (6 months)
????Next check after: ? ? ? ? Wed Feb 18 13:35:10 2015
????Reserved blocks uid: ? ? ?0 (user root)
????Reserved blocks gid: ? ? ?0 (group root)
????First inode: ? ? ? ? ? ? ?11
????Inode size: ? ? ? ? ? ? ? 256
????Required extra isize: ? ? 28
????Desired extra isize: ? ? ?28
????Default directory hash: ? half_md4
????Directory Hash Seed: ? ? ?a46fce3a-c1f4-417c-941b-c23c01a3f555
7.?tune2fs:調(diào)整文件系統(tǒng)參數(shù)(針對(duì)ext2,ext3,ext4)
? ??????-f:????強(qiáng)制tune2fs完成操作,即使有錯(cuò)誤出現(xiàn)。
????????-l:????列出super-block信息
????????-L label:????設(shè)定卷標(biāo)
????????-m:????預(yù)留管理員的空間百分比,默認(rèn)為5%
????????-j:????如果原來的文件系統(tǒng)類型為ext2,可以通過-j提升為ext3
????????-o [^]mount-options[...]: 設(shè)定其默認(rèn)掛載選項(xiàng)
????????????mount-options:(tune2fs支持的mout-options)
????????????????debug:????????對(duì)文件系統(tǒng)啟用debug code.
????????????????bsdgroups:?? ?
????????????????user_xattr:? ?啟用用戶定義的擴(kuò)展屬性
????????????????acl:????????? 啟用POSIX訪問控制列表
????????????????uid16:????????禁用32位UID和GID,用于兼容老的內(nèi)核?
????????????????journal_data:? 在啟用了日志的分區(qū)上,元數(shù)據(jù)寫入日志區(qū)優(yōu)先于數(shù)據(jù)寫入文件系統(tǒng)
????????????????journal_data_ordered: 在啟用了日志的分區(qū)上,數(shù)據(jù)寫入文件系統(tǒng)優(yōu)先于元寫??????????????????????????????????????????入日志區(qū)
????????????????journal_data_writeback: ? 在啟用了日志的分區(qū)上,當(dāng)元數(shù)據(jù)寫入日志區(qū)后,數(shù)據(jù) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?可能被寫入文件系統(tǒng),it may allow old data to ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?appear in ?files after a crash and journal recovery
????????????????nobarrier:????僅ext4分區(qū)支持
????????????????block_validity: ?讀寫文件系統(tǒng)時(shí),額外的檢查被執(zhí)行,僅ext4分區(qū)支持
????????????????discard: ?僅ext4分區(qū)支持
????????????????nodelalloc:? ?僅ext4分區(qū)支持
????????-O [^]feature[...]:?????? 調(diào)整分區(qū)特性,同mke2fs -O選項(xiàng)
8.?fsck:?用于檢查和修復(fù)linux文件系統(tǒng)
????-t:? 要檢查的文件系統(tǒng)類型
????-A: 嘗試檢查所有/etc/fstab文件中所有文件系統(tǒng)
????-C:? 顯示檢查和修復(fù)進(jìn)度條
????-M: ?不檢查已掛載的文件系統(tǒng)
????-N:?不執(zhí)行,只顯示將要做什么
????-P:? 當(dāng)使用了-A時(shí),同時(shí)檢查根文件系統(tǒng)和其它文件系統(tǒng)
????-R:?當(dāng)使用了-A時(shí),跳過根文件系統(tǒng)檢查
????-a:? 自動(dòng)修復(fù)文件系統(tǒng)
????-r:? 交互式修復(fù)文件系統(tǒng)
????
9.?e2fsck:?用于檢查ext2,ext3,ext4文件系統(tǒng)
?????-f:????強(qiáng)制檢查
?????-F:? ? 在開始檢查之前,刷新分區(qū)的buffer cache
?????-y:????自動(dòng)回答yes
10.?mount:?掛載文件系統(tǒng)
????-r:????只讀掛載
????-w:????讀寫掛載
????-L: ? 掛載有些卷標(biāo)的分區(qū)
????-u:????掛載有些uuid的分區(qū)
????-t:????掛載的文件系統(tǒng)類型
????-a:????自動(dòng)掛載所有
? ? -n: ? ?不更新/etc/mtab文件
????--bind dir1 dir2: 綁定dir1到dir2,可以從dir2訪問dir1的文件
????-o options: 指定掛載選項(xiàng)
????????async: 異步I/O
????????sync:? 同步I/O
????????atime/noatime: 更新訪問時(shí)間
????????auto/noauto: 可以使用-a選項(xiàng)
????????defaults: 默認(rèn)選項(xiàng)包括(rw,suid,dev,exec,auto,nouser,aysnc,relatime)
????????dev/nodev: 允許使用字符和塊設(shè)備
????????diratime/nodiratime: 更新目錄inode訪問次數(shù)
????????dirsync:
????????exec/noexec: 允許執(zhí)行二進(jìn)制文件
????????group:? ?允許普通用戶掛載文件系統(tǒng),如果這個(gè)用戶屬于group
????????user/nouser: 允許普通用戶掛載文件系統(tǒng),此選項(xiàng)隱含(noexec,nodev,nosuid)
????????users: 允許每個(gè)用戶掛載文件系統(tǒng),此選項(xiàng)隱含(noexec,nodev,nosuid)
????????iversion/noiversion: 每次inode被修改,i_version域被增加
????????mand/nomand: 允許強(qiáng)制鎖
????????_netdev: 阻止系統(tǒng)嘗試掛載網(wǎng)絡(luò)文件系統(tǒng),直到系統(tǒng)的網(wǎng)絡(luò)準(zhǔn)備就緒
????????nofail: 如果設(shè)備不存在,不報(bào)告錯(cuò)誤
????????relatime/norelatime: 類似于atime/noatime
????????strictatime/nostrictatime:
????????suid/nosuid: 允許設(shè)置suid sgid
????????owner: ?如果用戶是設(shè)備的owner,允許他掛載文件系統(tǒng)
????????remount: 重新掛載文件系統(tǒng)
????????ro: 只讀掛載
????????_rnewdev:和_netdev一樣,除了在執(zhí)行rc.sysinit時(shí)通過“fsck -a"檢查文件系統(tǒng)
????????rw: 讀寫掛載
????mount執(zhí)行后的退出狀態(tài)碼:
????????0: success
????????1:?incorrect invocation or permission
????????2:?system error(out of memory,cannot fork,no more loop devices)
????????4:?internal mount bug
????????8:?user interrupt
????????16:problems writing or locking /etc/mtab
????????32:mount failure
????????64:some mount succeeded
????
????umount /dev/sdb1卸載文件系統(tǒng)
????umount /media?
????????
11.?fuser:?查看占用文件或socket的進(jìn)程:
? ? # fuser -v /media
? ? ? ? ? ? ? ? ? ? ?????USER ? ? ? ?PID ACCESS COMMAND
????/media: ? ? ? ? ? ? ?root ? ? ?13156 ..c.. bash
????
????ACCESS列:表示訪問此進(jìn)程的類型
????????c: 當(dāng)前目錄
????????e: 可執(zhí)行程序正在執(zhí)行
????????f: 打開文件
????????F: 打開文件寫模式
????????r: root目錄
????????m: mmap'ed file or shared library
????# fuser -km /media ? 殺死占用/media的進(jìn)程
12.?df:?查看文件系統(tǒng)空間使用率
????-h: 以K,M,G形式顯示
????-i:?顯示inode使用率
????-P:以POSIX格式顯示
????# df -h?
????Filesystem ? ? ? ? ? ? ? ? ?Size ?Used Avail Use% Mounted on
????/dev/mapper/vg_test-lv_root ?36G ?1.8G ? 32G ? 6% /
????? ? ? ? ? ? ? ? ? ? ? ? ? ? ?36G ?1.8G ? 32G ? 6% /
????tmpfs ? ? ? ? ? ? ? ? ? ? ? 939M ? ? 0 ?939M ? 0% /dev/shm
????/dev/sda1 ? ? ? ? ? ? ? ? ? 485M ? 37M ?423M ? 9% /boot
????/dev/sdb1 ? ? ? ? ? ? ? ? ? 5.0G ? 10M ?4.7G ? 1% /media
13.?du:?評(píng)估文件文件占用的磁盤空間
? ? # du -hs /root
? ? 55M ? ? /var
14.?開機(jī)自動(dòng)掛載文件/etc/fstab
????# /etc/fstab
????# Created by anaconda on Wed Jul 23 15:22:36 2014
????#
????# 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/vg_test-lv_root / ? ? ? ? ? ? ? ? ? ? ? ext4 ? ?defaults ? ? ? ?1 1
????UUID=590c416b-9d27-4fe1-af01-fc802a7a200c /boot ? ? ext4 ? ?defaults ? ? ? ?1 2
????/dev/mapper/vg_test-lv_swap swap ? ? ? ? ? ? ? ? ? ?swap ? ?defaults ? ? ? ?0 0
????tmpfs ? ? ? ? ? ? ? ? ? ? ? /dev/shm ? ? ? ? ? ? ? ?tmpfs ? defaults ? ? ? ?0 0
????devpts ? ? ? ? ? ? ? ? ? ? ?/dev/pts ? ? ? ? ? ? ? ?devpts ?gid=5,mode=620 ?0 0
????sysfs ? ? ? ? ? ? ? ? ? ? ? /sys ? ? ? ? ? ? ? ? ? ?sysfs ? defaults ? ? ? ?0 0
????proc ? ? ? ? ? ? ? ? ? ? ? ?/proc ? ? ? ? ? ? ? ? ? proc ? ?defaults ? ? ? ?0 0
????
????第一列:要掛載的設(shè)備(設(shè)備文件,卷標(biāo),UUID)
????第二列:掛載點(diǎn)
????第三列:文件系統(tǒng)類型
????第四列:掛載選項(xiàng)
????第五列:轉(zhuǎn)儲(chǔ)頻率
????????????0:從不備份
????????????1:每日備份
????????????2:每隔一日備份
????第六列:自檢次序
????????????0:不自檢
????????????1: 首先自檢,通常只被/使用
????????????2:/自檢之后自檢
? ??
15. ?dd: convert and copy a file
????dd if=input_file of=output_file
????dd if=input_file of=output_file bs=#[b|k|m|g] count=#
????dd if=/dev/cdrom of=/tmp/centos.iso
????制作ISO文件
????dd if=/dev/sdb of=/tmp/outfile bs=512 count=1
????復(fù)制整個(gè)硬盤
????
????dd if=/dev/zero of=/dev/sdb bs=500 count=1
????刪除磁盤前500個(gè)字節(jié)
16. ?ln: 創(chuàng)建鏈接文件
????????硬鏈接:
????????????不能跨分區(qū)
????????????不能對(duì)目錄創(chuàng)建硬鏈接
????????????會(huì)改變文件被鏈接的次數(shù)
????????????與原文件指向同一個(gè)inode
????????符號(hào)鏈接:
????????????可以跨分區(qū)
????????????可以和原文件不同一個(gè)inode
????????????可以對(duì)目錄創(chuàng)建符號(hào)鏈接
????????????不會(huì)改變文件的被鏈接次數(shù)
17. ?壓縮工具: zip/unzip , gzip/gunzip , bzip2/bunzip2 , xz/unxz
? ? ?zip: zip用于壓縮文件、節(jié)省磁盤空間、把目錄打包成.zip文件;對(duì)于文本文件壓縮比例為2:1到3:1,zip默認(rèn)使用的壓縮算法是deflation
?????命令格式:
?????zip options archive inpath inpath ...
???? archive:壓縮之后的目的文件,格式為xxx.zip
???? inpath: 目錄或是文件路徑
? ? ?options:
????????-r: 遞歸查找子目錄
????????-u: 更新archive中已存在的文件,增加新的文件
????????-f:?更新archive中已存在的文件,但是不增加新文件
????????-d: 刪除已存在的archive,創(chuàng)建新的archive文件
????????-U: 創(chuàng)建新的archive文件,結(jié)合-O選項(xiàng),復(fù)制老的archive文件作為副本
????????-z: 增加備注信息
????????
?????zip結(jié)合管道使用:
????????find /root/ -name "*.sh" -print | zip -r bash.zip -@?
????????查找/root目錄下所有以sh為后綴的文件,歸檔為bash.zip文件(-@代表inpath)
????????zip -r - . | ls -l
????????-作為代替archive文件用于將archive文件寫到標(biāo)準(zhǔn)輸出stdout
????????tar cf - . | zip backup -
????????-也可以作為inpath,tar備份當(dāng)前目錄,把輸出結(jié)果傳遞給zip作歸檔
????????tar cf - . | zip | dd of=/dev/nrst0 obs=16k
????????等同于
????????tar cf - . | zip - - | dd of=/dev/nrst0 obs=16k
????????tar歸檔當(dāng)前目錄,zip使用tar歸檔之的文件作為輸入,然后把壓縮結(jié)果寫入到磁帶
???? unzip :解壓縮zip格式的文件
????????-d: 指定解縮目錄
????????-l: 列出archive文件中的所有文件清單
????????-v: 類似于-l,顯示更詳細(xì)的信息
????????-f: 僅解壓比磁盤上的文件更新的文件
? ? ????-u: 類似于-f,并創(chuàng)建磁盤上沒有文件
????????-p:?解壓文件作為標(biāo)準(zhǔn)輸出stdout
????????-t: 解壓縮文件測(cè)試
????????-z: 查看壓縮文件備注信息
???? gzip:壓縮文件之后會(huì)刪除原文件,壓縮后的格式為xx.gz
????????-c: 壓縮文件作為標(biāo)準(zhǔn)輸出stdout,可以使用重定向保留原文件
????????-d: 相當(dāng)于gunzip,zcat解壓
????????-f: 強(qiáng)制壓縮和解壓
????????-l: 查看壓縮文件列表
????????-q: 靜默模式,常用于腳本
????????-t: 檢查壓縮文件的完整性
????????-#: 1-9指定壓縮比
???? bzip2: 壓縮文件之后會(huì)刪除原來的文件,壓縮后的格式為xx.bz2
????????-c: 壓縮或解壓縮到標(biāo)準(zhǔn)輸出stdout
????????-d: 相當(dāng)于bunzip2,bzcat
????????-t: 檢查壓縮文件的完整性
????????-f: 強(qiáng)制覆蓋輸出文件
????????-k:壓縮后保留原文件
????????-s: 壓縮、解壓縮、檢查完整性時(shí)減少內(nèi)存使用率
????????
???? xz:?
????????-z: 缺省選項(xiàng),壓縮
????????-d: 相當(dāng)于unxz,xzcat解壓
????????-t: 檢查壓縮文件完整性
????????-l: 查看壓縮文件列表
????????-k: 壓縮后保留原文件
????????-c: 壓縮或解壓到標(biāo)準(zhǔn)輸出stdout
????????-#: 0-9指定壓縮比例
18.?歸檔工具: tar
????tar命令格式:
????tar [options] [file]
????????options:
????????????-c: 創(chuàng)建歸檔文件
????????????-x: 提取歸檔文件
????????????-t: 列出歸檔文件內(nèi)容
????????????-C: 改變目錄
????????????-f: 指定歸檔文件名
????????????-j: 使用bzip2
????????????-J:使用xz
????????????-z: 使用gzip
????
?????tar -jcf file.tar.bz2 file?
?????把文件file歸檔成bz2格式
?????tar -jxf file.tar.bz2
?????展開bz2文件
?????tar -Jcf file.tar.xz file
? ? ?把文件file歸檔成xz格式
???? tar -Jxf file.tar.xz
? ? ?展開xz文件
?????tar -zcf file.tar.gz file
? ? ?把文件file歸檔成gz格式
???? tar -zxf file.tar.gz
?????展開gz文件
總結(jié)
以上是生活随笔為你收集整理的linux 文件系统及磁盘管理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。