Linux文件系統總結(7.4課上作業)

一、什么是文件系統

        文件系統是對一個存儲設備上的數據和元數據進行組織的機制。它使用文件和樹形目錄的抽象邏輯概念代替了硬盤和光盤等物理設備使用的數據塊的概念,用戶使用文件系統來保存數據而不必關心數據實際保存在硬盤(or光盤)的地址為多少數據塊上,只需要記住這個文件的所屬目錄和文件名。在寫入數據前,用戶也不必關系硬盤上的哪個塊地址沒有被使用,硬盤上的存儲空間管理功能由文件系統自動完成,用戶只需記住數據被寫入到了哪個文件中。

        文件系統通常使用硬盤和光盤這樣的存儲設備,并維護文件在設備中的物理位置。但是,實際上文件系統也可能僅僅是一種訪問數據的界面而已,實際的數據是通過網絡協議,如NFS,SMB等提供的或者內存上,甚至可能根本沒有對應的文件,如proc文件系統。

        嚴格地說,文件系統是一套實現了數據的存儲,分級組織,訪問和獲取等操作的抽象數據類型。


二、常見的文件系統:

  • Linux文件系統:

ext2,ext3,ext4,xfs,btr,reiserfs,jfs,swap

swap:交換分區:將磁盤當作內存使用

光盤:iso9660

  • windows:fat32(vfat),ntfs

  • unix:FFS,UFS,JFS2

  • 網絡文件系統:NFS,CIFS

  • 集群文件:GFS2,OCFS2

  • 分布式文件系統:ceph

moosefs,mogilegfs,GlusterFS,Lustre

  • 根據其是否支持“Journal”功能:

非日志型文件系統:ext2,vfat

日志型文件系統:ext3,ext4,xfs…

  • 文件系統的組成部分

內核中的模塊:ext4

用戶空間的管理工具:mkfs.ext4, mkfs.xfs, mkfs.vfat

  • Linux的虛擬文件系統:VFS

  • 查看支持的文件系統:# cat /proc/filesystems


三、創建文件系統:

        先創建一個環回設備用作臨時文件系統:

        使用dd命令創建一個指定大小的用0填充的文件,并用losetup命令將一個環回設備與此文件關聯起來,使其作為一個塊設備而不是常規文件。

# dd if=/dev/zero of=file.img bs=1k count=10000
記錄了10000+0 的讀入
記錄了10000+0 的寫出
10240000字節(10 MB)已復制,0.0116915 秒,876 MB/秒
# losetup /dev/loop0 file.img

  此時/dev目錄出現一個塊設備文件/dev/loop0

# ls /dev |grep loop0
loop0

        命令:

    1)mkfs

        用法:1)mkfs [options] [-t type] [fs-options] device [size]

                  2)mkfs.ext3

        選項:     

            [-b 塊大小] [-C 簇大小]

            [-i 為數據空間中每多少個字節創建一個inode索引節點;該大小不應該小于block的大小]

            [-N 為數據空間創建多少個inode]

            [-m 為管理人員預留的空間占據的百分比] 

            [-L 卷標] 

            [-O 啟用制定特性[,…]]

            [-t 文件系統類型] 

            [-U UUID] 

# mkfs -t ext3 -L LOOP /dev/loop0 
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 完成                            
文件系統標簽=LOOP
OS type: Linux
塊大小=1024 (log=0)
分塊大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
2512 inodes, 10000 blocks
500 blocks (5.00%) reserved for the super user
第一個數據塊=1
Maximum filesystem blocks=10485760
2 block groups
8192 blocks per group, 8192 fragments per group
1256 inodes per group
Superblock backups stored on blocks: 
        8193

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Creating journal (1024 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

2)mke2fs:ext系列文件系統的專用管理工具

    選項同mkfs

# mke2fs -t ext3 -L Loop /dev/loop0
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 完成                            
文件系統標簽=Loop
OS type: Linux
塊大小=1024 (log=0)
分塊大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
2512 inodes, 10000 blocks
500 blocks (5.00%) reserved for the super user
第一個數據塊=1
Maximum filesystem blocks=10485760
2 block groups
8192 blocks per group, 8192 fragments per group
1256 inodes per group
Superblock backups stored on blocks: 
        8193

Allocating group tables: 完成                            
正在寫入inode表: 完成                            
Creating journal (1024 blocks): 完成
Writing superblocks and filesystem accounting information: 完成

  

3)mkswap:創建一個交換空間

    選項:

     -c, –check               創建交換區前檢查壞塊

     -f, –force               允許交換區大于設備大小

     -p, –pagesize SIZE       指定頁大小為 SIZE 字節

     -L, –label LABEL          指定標簽為 LABEL

     -v, –swapversion NUM     指定交換空間版本號為 NUM

     -U, –uuid UUID           指定要使用的 UUID

     -V, –version             輸出版本信息并退出

     -h, –help                顯示此幫助并退出

# mkswap /dev/loop0
mkswap: /dev/loop0: warning: wiping old ext3 signature.
正在設置交換空間版本 1,大小 = 9996 KiB
無標簽,UUID=1d6c45f5-bcd0-44fd-a39b-ec9826a8e008

四、修改文件系統

(1)blkid 顯示分區的屬性信息

         blkid [option]… [device]

            -U UUID:根據指定的UUID來查找對應的設備

            -L LABEL:根據指定的LABEL來查找對應的設備

# blkid 
/dev/sda1: UUID="1ae50cbe-2f3d-4394-a8dd-38804695c18c" TYPE="xfs" 
/dev/sda2: UUID="fiizVI-1uF2-XfxN-qiZM-So42-8Hju-dx8mld" TYPE="LVM2_member" 
/dev/mapper/centos-root: UUID="98023b04-500a-451c-8db5-e9f77d4b8a7c" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="6de8f2e9-70ad-4956-884e-60d3dc632659" TYPE="swap" 
/dev/loop0: LABEL="point1" UUID="df4b5931-cde8-4842-8807-e7eec08608d2" TYPE="ext3" 
/dev/loop1: UUID="5156094a-a26e-46ce-aa18-57ea46d5900f" TYPE="ext2"

(2)e2label:管理ext系列文件系統的LABEL

            e2label DEVICE :查看設備的卷標

            e2label DEVICE [LABEL]:修改設備的卷標

# e2label /dev/loop0 POINT1 && e2label /dev/loop0
POINT1

(3)tune2fs:重新設定ext文件系統的可調整屬性的值

-l:查看指定文件系統的超級塊信息:super block

-L ’LABEL‘:修改卷標

-m #:修改預留給管理員的空間百分比

-j:將ext2升級為ext3

-O:文件系統屬性的打開或禁用

-o:調整文件系統的默認掛載選項

-U UUID:修改UUID號

        -i:設置相鄰兩次文件系統檢查的間隔時間

        -c:設置檢查前文件系統最大加載次數

(4)dumpe2fs:

-h:查看超級塊信息


五、掛載文件系統

        在linux中,將一個文件系統與一個存儲設備關聯起來的過程稱為掛載(mount)。

        使用mount命令將一個文件系統附著到當前文件系統層次結構中(根)。在進行掛載時,要提供文件系統類型,文件系統和一個掛載點。

        這里將loop0設備掛載到掛載點/mnt/point1。

# mkdir /mnt/point1
# mount -t ext3 /dev/loop0 /mnt/point1/
# ls /mnt/point1
lost+found

        此時還可以重復進行掛載,比如在point1中繼續創建新文件,與一個新的環回設備關聯,再在上面創建另一個文件系統并掛載(詳細信息略)

# dd if=/dev/zero of=/mnt/point1/file.img bs=1k count=1000
# losetup /dev/loop1 /mnt/point1/file.img 
# mkfs.ext3 /dev/loop1
# mkdir /mnt/point2
# mount -t ext2 /dev/loop1 /mnt/point2
# ls /mnt/point2
lost+found

可見Linux的文件系統和環回設備是多么強大,可按照此種方法在文件上用環回設備創建加密的文件系統。在需要的時候使用臨時環回設備掛載文件,有助于保護數據。


注:資料來源(上課筆記、Wiki、IBM devloperworks、Linux命令大全等)

原創文章,作者:lichenhan,如若轉載,請注明出處:http://www.www58058.com/23141

(1)
lichenhanlichenhan
上一篇 2016-07-10 12:16
下一篇 2016-07-10 12:17

相關推薦

  • 關于Raid的各種類型特點概要

    關于Raid需要了解掌握的要點

    Linux干貨 2017-11-26
  • 計算機的組成及其功能

    計算機由運算器,控制器、存儲器及輸入、輸出裝置五部分組成。 第一,運算器(Arithmetical and Logical Unit),也稱作算術邏輯單元,主要是對數據進行各種運算。 第二,控制器(Control Unit)是計算機的控制中心,協調各計算機各部分按照預先的目標和步驟有序的工作??刂破鲝拇鎯ζ髦兄饤l取出指令,分析每條指令規定的操作和所需數據的存…

    Linux干貨 2016-09-17
  • N24_小天 學習宣言

    每周安排時間看視頻,每天安排時間學習并跟進課程,認真記筆記,認真寫博客。多動手操作,堅持不斷。學習思維,提升自己解決問題的思路。多動手,多實踐。

    Linux干貨 2016-10-27
  • cp和ln命令簡述

    cp和軟ln命令簡述 cp          備注: 1.       該命令可以自動判斷你所復制的是文件還是目錄 2.       當源是一個文件,目標(目的…

    2017-08-19
  • N22-第一周作業

    1、描述計算機的組成及其功能    組成:        硬件:            CPU:運算器、控制器、寄存器、緩存     &nb…

    Linux干貨 2016-08-15
  • 馬哥教育網絡班21期+第7周課程練習

    1、創建一個10G分區,并格式為ext4文件系統; (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; [root@localhost ~]#mke2fs -t ext4 -b 2048 -m 2 -L &qu…

    Linux干貨 2016-08-15
欧美性久久久久