linux文件系統(tǒng)怎么管理
Linux文件管理從用戶的層面介紹了Linux管理文件的方式。Linux有一個樹狀結(jié)構(gòu)來組織文件。樹的頂端為根目錄(/),節(jié)點為目錄,而末端的葉子為包含數(shù)據(jù)的文件。當我們給出一個文件的完整路徑時,我們從根目錄出發(fā),經(jīng)過沿途各個目錄,最終到達文件。那么linux文件系統(tǒng)怎么管理?下面跟著學(xué)習(xí)啦小編一起來了解一下吧。
linux文件系統(tǒng)管理方法
在linux中所有的東西都是文件
Linux文件系統(tǒng)的組織方式稱做Filesystem Hierarchy Standard(文件系統(tǒng)分層標準,簡稱FHS),即采用層次式的樹狀目錄結(jié)構(gòu)。在此結(jié)構(gòu)的最上層是根目錄"/"(斜杠),然后在此根目錄下是其他的目錄和子目錄
Linux與DOS及Windows一樣,采用"路徑"來表示文件或目錄在文件系統(tǒng)中所處的層次。路徑由以"/"為分隔符的多個目錄名字符串組成,分為絕對路徑和相對路徑。所謂絕對路徑是指由根目錄"/"為起點來表示系統(tǒng)中某個文件或目錄的位置的方法。例如如果用絕對路徑表示圖中第4層目錄中的bin目錄,應(yīng)為"/usr/local/bin"。相對路徑則是以當前目錄為起點,表示系統(tǒng)中某個文件或目錄在文件系統(tǒng)中的位置的方法。若當前工作目錄是"/home",則用相對路徑表示圖中第4層目錄中的bin目錄,應(yīng)為"hls/bin"或"./hls/bin",其中"./"表示當前目錄,通常可以省略。
Linux文件系統(tǒng)的組織與Windows操作系統(tǒng)不同。對于在Linux下使用的設(shè)備,不需要像Windows那樣創(chuàng)建驅(qū)動器盤符,Linux會將包括本地磁盤、網(wǎng)絡(luò)文件系統(tǒng)、CD-ROM和U盤等所有設(shè)備識別為設(shè)備文件,并嵌入到Linux文件系統(tǒng)中來進行管理。一個設(shè)備文件不占用文件系統(tǒng)的任何空間,僅僅是訪問某個設(shè)備驅(qū)動程序的入口。Linux 系統(tǒng)中有兩類特殊文件:面向字符的特殊文件和面向塊(block)的特殊文件。前者允許I/O操作以字符的形式進行,而后者通過內(nèi)存緩沖區(qū)來使數(shù)據(jù)的讀寫操作以數(shù)據(jù)塊的方式實現(xiàn)。當對設(shè)備文件進行I/O操作時,該操作會被轉(zhuǎn)給相應(yīng)的設(shè)備驅(qū)動程序。一個設(shè)備文件是用主設(shè)備號(指出設(shè)備類型)和從設(shè)備號(指出是該類型中的第幾個設(shè)備)來表示的,可以通過mknod命令進行創(chuàng)建。軟盤、光盤和硬盤等典型設(shè)備文件在Linux系統(tǒng)中的表示方法。
典型設(shè)備文件在Linux系統(tǒng)中的表示方法
Linux文件名最長可允許256個字符,可以包括數(shù)字、字符,以及"."、"-"、"_"等符號。Linux文件名不像DOS或Windows由主文件名和擴展文件名兩部分組成,Linux中沒有擴展名的概念。Linux環(huán)境下,文件名對大小寫敏感(Case Sensitive),例如test.txt與Test.txt會被識別成兩個不同的文件,而DOS或Windows平臺是不進行大小寫區(qū)分的。
文件系統(tǒng)的構(gòu)成
/usr/bin、/bin : -------------存放所有用戶可以執(zhí)行的命令
/usr/sbin、/sbin : -----------存放只有root可以執(zhí)行的命令
/home :--------------------用戶缺省宿主目錄
/proc :---------------------虛擬文件系統(tǒng),存放當前內(nèi)存鏡像
/dev :----------------------存放設(shè)備文件
/lib :-----------------------存放系統(tǒng)程序運行所需的共享庫
/lost+foud :---------------存放一些系統(tǒng)出錯的檢查結(jié)果
/tmp :---------------------存放臨時文件
/etc :-----------------------系統(tǒng)配置文件
/var :----------------------包含經(jīng)常發(fā)生變動的文件,如:郵件、日志文件、計劃任務(wù)等
/usr :----------------------存放所有命令、庫、手冊頁等 類似于windows C盤下的WINDOWS目錄
/mnt :----------------------臨時文件系統(tǒng)的安裝點
/boot :---------------------內(nèi)核文件及自舉程序文件保存位置
用windows下我們習(xí)慣把安裝的程序放在Program files目錄下,在linux下面習(xí)慣放在/user/local下。
查看文件命令
查看分區(qū)使用情況:df
查看文件、目錄大小:du
檢測修復(fù)文件系統(tǒng): fsck、e2fsck
(單用戶模式執(zhí)行)
判斷文件類型:file
df 查看linux磁盤分區(qū)情況
在windows下查看我們硬盤的分區(qū)很簡單,打開“我的電腦”就知道有幾個盤,鼠標放到盤符上就顯示磁盤的大小,那么在linux下如何查看呢,其實也非常簡單,一個命令的事兒
[root@bogon ~]# df -h
Filesystem 容量 已用 可用 已用% 掛載點
/dev/sda1 9.7G 3.3G 5.9G 37% /
none 506M 0 506M 0% /dev/shm
/dev/sda2 2.9G 37M 2.7G 2% /hzh
/dev/sda5 6.2G 47M 5.9G 1% /web
du 查看文件、目錄的大小
windows下查看文件、目錄的大小右鍵--屬性,linux我們使用du命令進行查看。
root@fnngj-H24X:/hzh# du -h test.test ------查看文件的大小
4.0K test.test
root@fnngj-H24X:/# du -sh /etc ------查看目錄的大小
7.1M /etc
file判斷文件類型
我們知道linux下的文件不是同過后綴名來確定類型的,如果剛好某個文件沒有定義后綴名,我們可以通過file命令來查看后綴名。
root@fnngj-H24X:/hzh# file test.test
test.test: ASCII text
添加磁盤、分區(qū)、格式化、掛載
這是我們在玩linux服務(wù)器時會遇到的一個問題,根據(jù)初期的規(guī)劃,你linux上了一塊500GB的硬盤,過了一段時間,不夠用了。怎么辦?換一個1TB的硬盤,把系統(tǒng)重裝一下,把原來的數(shù)據(jù)拷貝到新硬盤上。這種方式可以,但太笨。直接在原系統(tǒng)上加一塊硬盤不就行了。我們現(xiàn)在需要知道的就是如何讓新加的這塊硬盤給我們工作。
設(shè)置---根據(jù)圖片的提示添加一塊新的虛擬硬盤,嗯!這就是虛擬機的好處,可以幫我們模擬添加多塊硬盤。呵呵
劃分分區(qū)(fdisk)
創(chuàng)建文件系統(tǒng)(mkfs)
嘗試掛載(mount)
寫入配置文件(/etc/fstab)
查看新添加分區(qū)的硬盤信息:
[root@bogon ~]# dmesg | grep sdb sdb是我們添加的第二塊硬盤
SCSI device sdb: 20971520 512-byte hdwr sectors (10737 MB)
sdb: cache data unavailable
sdb: assuming drive cache: write through
SCSI device sdb: 20971520 512-byte hdwr sectors (10737 MB)
sdb: cache data unavailable
sdb: assuming drive cache: write through
sdb: unknown partition table
Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0
如果敲入dmesg | grep sdb命令沒有任何信息,那問題就大了,你的系統(tǒng)沒有識別新添加胡硬盤。
對硬盤進行分區(qū)
下面先看一下我們添加的第二塊硬盤的一些信息。
[root@bogon ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
sdb中b表示第二塊硬盤,如果想看我們第一塊硬盤的信息,可以輸入sda
[root@bogon ~]# fdisk -l /dev/sda
Disk /dev/sda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 1275 10241406 83 Linux
/dev/sda2 1276 1657 3068415 83 Linux
/dev/sda3 1658 1788 1052257+ 82 Linux swap
/dev/sda4 1789 2610 6602715 5 Extended
/dev/sda5 1789 2610 6602683+ 83 Linux
下面開始真正的對硬盤進行分區(qū)
[root@bogon ~]# fdisk /dev/sdb
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): m ----- 按m可以獲得幫助信息
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition -----刪除分區(qū)
l list known partition types
m print this menu
n add a new partition -----添加一個新的分區(qū)
o create a new empty DOS partition table
p print the partition table -----顯示分區(qū)表
q quit without saving changes -----不保存退出
s create a new empty Sun disklabel
t change a partition's system id -----改變文件系統(tǒng)類型
u change display/entry units
v verify the partition table
w write table to disk and exit ----- 保存退出
x extra functionality (experts only)
------------------------------------------------------添加第一個主分區(qū)--------------------------
Command (m for help): p ----- 顯示分區(qū)表
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
Command (m for help): n ----- 添加新分區(qū)
Command action
e extended e是擴展分區(qū)
p primary partition (1-4) ----p是主分區(qū),我們最多可以添加4個主分區(qū)
p ----- 按p表示我們要劃分主分區(qū)
Partition number (1-4): 1 -----給主分區(qū)的一個編號1
First cylinder (1-1305, default 1): -----這1到1305是指扇面,這個比較麻煩,不選擇直接回車
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): +5120M ---- 這個地方我們要指定分區(qū)的大小,我們可以通過字節(jié)的方式來指定,國為我的硬盤是10G,我劃分5G出來。
Command (m for help): p ----- 現(xiàn)在再來查看分區(qū)表
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 623 5004216 83 Linux ----- 劃分的第一個主分區(qū)信息出來了
-----------------------------------------------------添加第二個主分區(qū)---------------------------------
Command (m for help): n ----- 按n繼續(xù)劃分分區(qū)
Command action
e extended
p primary partition (1-4)
p -----p再劃一個主分區(qū)
Partition number (1-4): 2 ----- 這里輸入2表示第二個主分區(qū)
First cylinder (624-1305, default 624):
Using default value 624
Last cylinder or +size or +sizeM or +sizeK (624-1305, default 1305): ----- 我們要把剩余空間都給2,這里直接回車
Using default value 1305
Command (m for help): p ----- 再來查看分區(qū)表
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 623 5004216 83 Linux
/dev/sdb2 624 1305 5478165 83 Linux ----- 劃分的兩個分區(qū)都出來了
指定磁盤的格式
接下來要指這文件系統(tǒng)的類型,現(xiàn)在的window分FAT32和NTFS是兩種比較常見的分區(qū),那linux下面磁盤支持的格式就非常多了
注:下面的操作不要退出fdisk模式
Command (m for help): t ----給分區(qū)指定表格
Partition number (1-4): 1 ----我們選編號為1的主分區(qū)
Hex code (type L to list codes): L ---- 這里我們不知道編號,可用L來查看所有的分區(qū)格式
83 Linux -----這個也就是我們剛劃分的兩個主分區(qū)的格式。
Hex code (type L to list codes): 83 ---- 如果不想改變原有格式直接輸入83回車
刪除分區(qū)
如果這時你發(fā)現(xiàn)自己的分區(qū)劃分的不合理,想刪除某一個分區(qū),重新劃分。
注:下面的操作不要退出fdisk模式
Command (m for help): d ----刪除分區(qū)
Partition number (1-4): 2 ----這里選擇刪除第2個分區(qū)
Command (m for help): P
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 63 506016 83 Linux ---- 我們劃分的兩個分區(qū)只剩一個了
保存退出
當我們把分區(qū)分好以后,需要保存退出才能保存我們劃分的分區(qū)。其它非正常退出都不能保存我們劃好的分區(qū)。
注:此處才是我們要退出fdisk模式的時候^_^
Command (m for help): w --w是保存退出,q是不保存退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
磁盤格式話
ok!分區(qū)已經(jīng)完畢,下面是不是應(yīng)該對硬盤進行一下格式化了
[root@bogon ~]# mk -- 輸入mk,按兩下tab鍵,你會看到linux下面有許多分區(qū)命令
mkafmmap mkdosfs mkfs.ext2 mkisofs mktemp
mkbootdisk mke2fs mkfs.ext3 mklost+found mkxauth
mkcfm mkfifo mkfs.msdos mkmanifest mkzftree
mkcramfs mkfontdir mkfs.vfat mknod mkzonedb
mkdict mkfontscale mkhtmlindex mkSimNodeDir
mkdir mkfs mkhybrid mksock
mkdirhier mkfs.cramfs mkinitrd mkswap
windwos下我們在格式化的時候,可以指定FAT32和NTFS,那么linux下流行的格式為ext2和ext3 ,這里我們對劃分好的第1個分區(qū)進行格式化,選用ext3的格式
[root@bogon ~]# mkfs.ext3 /dev/sdb1
mke2fs 1.35 (28-Feb-2004)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
626496 inodes, 1251054 blocks
62552 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1283457024
39 block groups
32768 blocks per group, 32768 fragments per group
16064 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 25 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
掛載分區(qū)
OK!現(xiàn)在硬盤分區(qū)也分好了,也進行了格式化,下面要使用這個分區(qū)了。在使用的時候我們需要對其進行掛載。就像前面我講的掛在光盤一樣。使用mount命令。
[root@bogon /]# mkdir /newsdb -----我們在根目錄下創(chuàng)建一個做掛載點的目錄/newsdb
[root@bogon /]# mount /dev/sdb1 /newsdb/ ---- 然后把格式化好的第1個分區(qū)/dev/sdb1 掛載到/newsdb目錄下
[root@bogon /]# df -h
Filesystem 容量 已用 可用 已用% 掛載點
/dev/sda1 9.7G 3.3G 5.9G 37% /
none 506M 0 506M 0% /dev/shm
/dev/sda2 2.9G 37M 2.7G 2% /hzh
/dev/sda5 6.2G 47M 5.9G 1% /web
/dev/sdb1 4.7G 42M 4.5G 1% /newsdb
看過“ linux文件系統(tǒng)怎么管理 ”的人還看了:
1.怎么修改Linux文件系統(tǒng)的權(quán)限
3.linux文件系統(tǒng)怎樣初始化步驟