国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

Linux學習筆記(14)文件系統管理

2024-06-28 13:21:57
字體:
來源:轉載
供稿:網友
linux學習筆記(14)文件系統管理1 回顧分區與系統(1)分區類型

Linux的分區一般包括主分區,擴展分區和邏輯分區。其中:

主分區最多只能分4個;

擴展分區只能有一個,也算作主分區的一種,即主分區加擴展分區最多有4個。但擴展分區不能存儲數據和格式化,必須再劃分成邏輯分區才能使用;

邏輯分區是由擴展分區劃分出來的。如果是IDE硬盤,Linux最多支持59個邏輯分區,如果是SCSI硬盤,Linux最多只能支持11個邏輯分區。

(2)文件系統

Linux中常見的文件系統包括ext2,ext3,ext4。

ext2是ext文件系統的升級版本,RedHat Linux7.2版本以前的系統默認都是ext2文件系統。1993年發布,最大支持16TB的分區和最大2TB的文件。

ext3是ext2文件系統的升級版本,最大的區別在于增加了日志功能,可以在系統突然停止時提供系統文件系統的可靠性。支持最大16TB的分區和最大2TB的文件。

ext4是ext3的升級版本。ext4在性能、伸縮性和可靠性方面進行了大量改進。ext4的變化有向下兼容了ext3,最大支持1EB文件系統和16TB文件,無線數量子目錄,Extents連續數據塊概念,多塊分配,延遲分配,持久預分配,快速fsck,日志校驗,無日志模式,在線碎片整理,iNode增強,默認啟動barrier等。

2 文件系統常用命令(1)df,du,fsck及dumpe2fs命令

1)df是文件系統查看命令,其格式為:

df [選項] [掛載點]

其中,-a選項表示顯示所有文件系統信息,包括特殊文件系統如/PRoc,/syfs等,-h選項表示使用習慣單位顯示容量如KB、MB、GB等,-T表示顯示文件系統的文件類型,-m選項表示以MB為單位顯示容量,-k選項表示以KB為單位顯示容量,默認就是以KB為單位。

例:查看本機的文件系統:

[root@localhost ~]# df -ThFilesystem     Type     Size  Used   Avail  Use%  Mounted on/dev/sda5      ext4    14G  2.0G   11G  16%    /tmpfs          tmpfs  504M     0  504M   0%  /dev/shm/dev/sda1      ext4   291M   32M  244M  12%  /boot/dev/sda2      ext4   4.0G  136M  3.7G    4%   /home

2)du命令用于統計目錄或文件的大小,其格式為:

du [選項] [目錄或文件名]

其中,-a選項表示顯示每個子文件的磁盤占用量,默認只統計子目錄的磁盤統計量,-h選項表示使用習慣單位顯示磁盤占用量,-s選項表示統計總占用量,而不是列出子目錄和子文件的占用量。

注:ls命令只會統計目錄下的第一級子目錄及文件的占用空間。

例:使用ls命令和du命令分別統計/etc目錄的大小:

[root@localhost ~]# du -sh /etc/27M     /etc/[root@localhost ~]# ls -ld /etc/drwxr-xr-x. 103 root root 12288 1月  31 05:00 /etc/

3)df與du命令的區別

df命令時從文件系統考慮的,不僅考慮文件的占用空間,還要統計被命令或程序占用的空間。最常見的就是文件已經刪除,但是程序并沒有釋放空間。

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

例:分別使用df和du顯示根目錄"/"的大小:

[root@localhost ~]# df -h /Filesystem      Size  Used   Avail  Use%  Mounted on/dev/sda5      14G  2.0G   11G   16%   /[root@localhost ~]# du -sh /du: 無法訪問"/proc/1597/task/1597/fd/4": 沒有那個文件或目錄du: 無法訪問"/proc/1597/task/1597/fdinfo/4": 沒有那個文件或目錄du: 無法訪問"/proc/1597/fd/4": 沒有那個文件或目錄du: 無法訪問"/proc/1597/fdinfo/4": 沒有那個文件或目錄1.9G    /

4)fsck是文件系統的修復命令,其格式為:

fsck [選項] 分區設備文件名

其中,-a選項表示不同顯示用戶提示,自動修復文件系統,-y選項表示自動修復,和-a的作用一致,不過有些文件系統只支持-y。

5)dumpe2fs命令用于顯示磁盤狀態命令,其格式為:

dumpe2fs 分區設備文件名

例:查看/dev/sda1的磁盤狀態,使用-h選項僅顯示超級塊信息:

[root@localhost ~]# dumpe2fs -h /dev/sda1dumpe2fs 1.41.12 (17-May-2010)Filesystem volume name:   <none>Last mounted on:          /bootFilesystem UUID:          0b5697a3-9081-4b75-bf4c-71b4891d5e86Filesystem magic number:  0xEF53Filesystem revision #:    1 (dynamic)Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isizeFilesystem flags:         signed_directory_hashDefault mount options:    user_xattr aclFilesystem state:         clean…………
(2)掛載命令

1)查詢與自動掛載

mount命令用于查詢系統中已經掛載的設備,如顯示系統已掛載的設備:

[root@localhost ~]# mount/dev/sda5 on / type ext4 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")/dev/sda1 on /boot type ext4 (rw)/dev/sda2 on /home type ext4 (rw)none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

加上-l選項表示顯示卷標名稱。加上-a選項則表示依據配置文件/etc/fstab的內容,自動掛載。

2)掛載命令格式為:

mount [-t 文件系統] [-L卷標名] [-o 特殊選項] 設備文件名 掛載點

其中,-t選項表示加入文件系統類型來指定掛載的類型,可以為ext3、ext4(針對于Linux)、iso9660(光盤)、fat(win16)、vfat(win32)等文件系統;

-L選項為卷標名,表示掛載指定卷標的分區,而不是安裝設備文件名掛載;

-o選項為特殊選項,可以指定掛載的額外選項,常見的選項有

參數

說明

atime/noatime

更新訪問時間/不更新。訪問分區文件時,是否更新文件的訪問時間,默認為更新

async/sync

異步/同步,默認為異步

auto/noauto

自動/手動,mount –a命令執行時,是否會自動安裝/etc/fstab文件內容掛載,默認為自動

defaults

定義默認值,相當于rw,suid,dwv,exec,auto,nouser,async這七個選項

exec/noexec

執行/不執行,設定是否允許在文件系統中執行可執行文件,默認是exec允許

remount

重新掛載已經掛載的文件系統,一般用于指定修改特殊全鄉

rw/ro

讀寫/只讀,文件系統掛載時,是否具有讀寫權限,默認是rw

suid/nosuid

具有/不具有SUID權限,設定文件系統是否具有SUID和SGID的權限,默認是具有

user/nouser

允許/不允許普通用戶掛載,設定文件系統是否允許普通用戶掛載,默認是不允許,只有root可以掛載分區

usrquota

寫入代表文件系統支持用戶磁盤配額。默認不支持

grpquota

寫入代表文件系統支持組磁盤配額,默認不支持

例:重新掛載/home分區,并使用noexec權限,嘗試運行shell腳本helloworld.sh:

[root@localhost ~]# mount -o remount,noexec /home[root@localhost ~]# cd /home/[root@localhost home]# vi helloWord.sh[root@localhost home]# chmod 755 helloword.sh[root@localhost home]# ./helloword.sh-bash: ./helloword.sh: 權限不夠[root@localhost home]# ll總用量 20-rwxr-xr-x. 1 root root    31 1月  31 06:12 helloword.sh[root@localhost home]# cp helloword.sh /root/[root@localhost home]# /root/helloword.shhello world![root@localhost home]# mount -o remount,exec /home

可見在/home下設置noexec權限后無法執行shell腳本,而在其他默認的分區中如/root是可以執行的。注意最后要修改回來,否則會影響系統啟動。

(3)掛載光盤和U盤

1)掛載光盤

首先在Vmware虛擬機設置中選中掛載的光盤鏡像,然后確保“設備狀態”處于“已連接”,如下圖所示:

其次,在/mnt目錄下創建cdrom掛載點,然后掛載光盤,最后顯示光盤內容,具體過程如下:

[root@localhost ~]# mkdir /mnt/cdrom/                  #建立掛載點[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/        #掛載光盤mount: block device /dev/sr0 is write-protected, mounting read-only[root@localhost ~]# ls /mnt/cdrom/CentOS_BuildTag Packages    RPM-GPG-KEY-CentOS-Security-6EULA     RELEASE-NOTES-en-US.html    RPM-GPG-KEY-CentOS-Testing-6GPL       repodata                    TRANS.TBLimages           RPM-GPG-KEY-CentOS-6isolinux         RPM-GPG-KEY-CentOS-Debug-6[root@localhost ~]# umount /mnt/cdrom/               #最后卸載掛載點

注:掛載點卸載命令umount的格式為:umount 設備文件名或掛載點。

2)掛載U盤

光標定位到Vmware虛擬機中,然后插入U盤。這樣做U盤將被Linux識別,而不是被Windows識別。

首先使用fdisk命令查看U盤的設備文件名,具體命令為:fdisk –l。

其次掛載U盤:mount –t vfat /dev/sdb1 /mnt/usb

注意:U盤為FAT16文件系統,Linux的掛載文件系統格式為fat,若為FAT32,則Linux對應的掛載文件系統格式為vfat。Linux默認是不支持NTFS文件系統的移動硬盤。

(4)支持NTFS的文件系統

若要在Linux中掛載NTFS的文件系統,可以利用第三方軟件ntfs-3g。其下載地址為:http://www.tuxera.com/community/ntfs-3g-download/。

安裝編譯的過程如下:

①解壓縮:tar -xzvf ntfs-3g-ntfsprogs-2014.2.15.tar.gz

②進入壓縮包:cd ntfs-3g-ntfsprogs-2014.2.15

③編譯器準備,無需指定安裝目錄,將被安裝到默認的位置中:./confgure④編譯:make

⑤編譯安裝:make install

安裝好之后,插入移動硬盤(和U盤的插入方法一樣),然后進行掛載:

mount –t ntfs-3g 分區設備文件名 掛載點

3 fdisk分區(1)fdisk命令的分區過程

①使用VMware新建硬盤:

在“虛擬機設置”中,選中“硬盤”,點擊“添加”,隨后選擇默認即可添加新硬盤。注意:添加硬盤在系統尚未啟動時進行。

②打開虛擬機,使用命令:fdisk –l查看新添加的硬盤:

[root@localhost ~]# fdisk -lDisk /dev/sdb: 10.7 GB, 10737418240 bytes255 heads, 63 sectors/track, 1305 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000

③使用fdisk /dev/sdb命令為新硬盤進行分區,fdisk交互指令說明如下表:

命令

說明

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

附加功能(僅專家)

新建/dev/sdb1主分區,/dev/sbd2擴展分區,/dev/sdb5邏輯分區。

#新建主分區,并分配2G硬盤空間Command (m for help): nCommand action   e   extended   p   primary partition (1-4)pPartition number (1-4): 1First cylinder (1-1305, default 1):Using default value 1Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): +2G#新建擴展分區,并分配剩余的硬盤空間Command (m for help): nCommand action   e   extended   p   primary partition (1-4)ePartition number (1-4): 2First cylinder (263-1305, default 263):Using default value 263Last cylinder, +cylinders or +size{K,M,G} (263-1305, default 1305):Using default value 1305#新建邏輯分區,其硬盤空間大小為擴展分區的硬盤空間Command (m for help): nCommand action   l   logical (5 or over)   p   primary partition (1-4)lFirst cylinder (263-1305, default 263):Using default value 263Last cylinder, +cylinders or +size{K,M,G} (263-1305, default 1305):Using default value 1305#使用w命令保存并退出Command (m for help): wThe partition table has been altered! Calling ioctl() to re-read partition table.Syncing disks.

④建立好分區后,使用partprobe命令重新讀取分區表信息,顯示正常報警。

[root@localhost ~]# partprobeWarning: WARNING: the kernel failed to re-read the partition table on /dev/sda (設備或資源忙).  As a result, it may not reflect all of your changes until after reboot.Warning: 無法以讀寫方式打開 /dev/sr0 (只讀文件系統)。/dev/sr0 已按照只讀方式打開。Warning: 無法以讀寫方式打開 /dev/sr0 (只讀文件系統)。/dev/sr0 已按照只讀方式打開。Error: 無效的分區表 - /dev/sr0 出現遞歸分區。

⑤格式化分區,寫入文件系統,采用:mkfs –t ext4 /dev/sdb1,/dev/sdb5同樣處理。

[root@localhost ~]# mkfs -t ext4 /dev/sdb1mke2fs 1.41.12 (17-May-2010)文件系統標簽=操作系統:Linux塊大小=4096 (log=2)分塊大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks131648 inodes, 526120 blocks26306 blocks (5.00%) reserved for the super user第一個數據塊=0Maximum filesystem blocks=54106521617 block groups32768 blocks per group, 32768 fragments per group7744 inodes per groupSuperblock backups stored on blocks:        32768, 98304, 163840, 229376, 294912正在寫入inode表: 完成                           Creating journal (16384 blocks): 完成Writing superblocks and filesystem accounting information: 完成 This filesystem will be automatically checked every 32 mounts or180 days, whichever comes first.  Use tune2fs -c or -i to override.

⑥建立分區掛載點并掛載。在根分區下創建disk1和disk5目錄分別作為/devsdb1和/dev/sdb5的掛載點

[root@localhost ~]# mkdir /disk1 /disk5[root@localhost ~]# mount /dev/sdb1 /disk1[root@localhost ~]# mount /dev/sdb5 /disk5

⑦使用df或mount命令查看掛載

[root@localhost ~]# df -hFilesystem      Size  Used Avail Use% Mounted on/dev/sda5        14G  2.0G   11G  16% /tmpfs           504M     0  504M   0% /dev/shm/dev/sda1       291M   32M  244M  12% /boot/dev/sda2       4.0G  136M  3.7G   4% /home/dev/sdb1       2.0G   68M  1.9G   4% /disk1/dev/sdb5       7.9G  146M  7.4G   2% /disk5
(2)分區自動掛載

以上的分區為手動掛載,系統重啟之后需重新掛載,所以需要設置自動掛載。主要是設置/etc/fstab文件

UUID=9288c490-0161-471c-b63a-6e56699065d5 /        ext4    defaults   1 1UUID=0b5697a3-9081-4b75-bf4c-71b4891d5e86 /boot    ext4    defaults   1 2UUID=fe5a8908-97e6-4670-a114-8bcc43af1bc2 /home    ext4    defaults   1 2UUID=3ae64e9d-7321-478b-b35f-14df91638287 swap    swap    defaults   0 0tmpfs                   /dev/shm        tmpfs   defaults        0 0devpts                  /dev/pts         devpts  gid=5,mode=620  0 0sysfs                   /sys              sysfs   defaults        0 0proc                    /proc            proc    defaults        0 0

fstab共有六個字段,其中:

第一個字段為分區設備文件名或UUID(硬盤通用唯一標識碼);

第二個字段為掛載點;

第三個字段為文件系統名稱;

第四個字段為掛載參數,與mount –o選項的參數含義一樣;

第五個字段為指定分區是否被dump備份,0表示不備份,1表示每天備份,2表示不定期備份。注:每個分區目錄均有備份目錄lost+found;

第六個字段為指定分區是否被fsck檢測,0表示不檢測,其他數字代表檢測的優先級。

因此,將新建的分區/dev/sdb1和/dev/sdb5寫入fstab中進行自動掛載:

/dev/sdb1             /disk1                  ext4    defaults        1 2/dev/sdb5             /disk5                  ext4    defaults        1 2
(3)fstab文件修復

如果在/etc/fstab文件中輸入的內容有誤,則系統在重啟時將報錯,此時需要對其進行修復。

例:對/dev/sdb5分區進行自動掛載設置時,誤輸入/dev/sdb,即

/dev/sdb /disk5 ext4 defaults 1 2

系統在重啟時,出現找不到指定分區的報錯如下:

此時,輸入密碼重新修改/etc/fstab文件,由于該文件是只讀文件,因此,需要先將其所在的根分區重新掛載為讀寫權限,即:

mount –o remount,rw /

隨后將輸入的fstab文件修改過來,然后進行重啟。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 随州市| 乐平市| 石河子市| 峨山| 江山市| 金乡县| 平原县| 讷河市| 南充市| 文登市| 曲阜市| 安宁市| 西林县| 高安市| 镇平县| 洛阳市| 岢岚县| 盈江县| 江西省| 黑河市| 景洪市| 仪征市| 沅江市| 西乌珠穆沁旗| 天气| 潢川县| 万年县| 隆昌县| 绿春县| 安陆市| 兰溪市| 巴彦淖尔市| 拜城县| 乌鲁木齐市| 朔州市| 儋州市| 遵义市| 青川县| 北流市| 天峨县| 漳浦县|