linux文件系統(tǒng)怎么管理
Linux文件管理從用戶的層面介紹了Linux管理文件的方式。Linux有一個(gè)樹狀結(jié)構(gòu)來(lái)組織文件。樹的頂端為根目錄(/),節(jié)點(diǎn)為目錄,而末端的葉子為包含數(shù)據(jù)的文件。當(dāng)我們給出一個(gè)文件的完整路徑時(shí),我們從根目錄出發(fā),經(jīng)過沿途各個(gè)目錄,最終到達(dá)文件。那么linux文件系統(tǒng)怎么管理?下面跟著學(xué)習(xí)啦小編一起來(lái)了解一下吧。
linux文件系統(tǒng)管理方法
在linux中所有的東西都是文件
Linux文件系統(tǒng)的組織方式稱做Filesystem Hierarchy Standard(文件系統(tǒng)分層標(biāo)準(zhǔn),簡(jiǎn)稱FHS),即采用層次式的樹狀目錄結(jié)構(gòu)。在此結(jié)構(gòu)的最上層是根目錄"/"(斜杠),然后在此根目錄下是其他的目錄和子目錄
Linux與DOS及Windows一樣,采用"路徑"來(lái)表示文件或目錄在文件系統(tǒng)中所處的層次。路徑由以"/"為分隔符的多個(gè)目錄名字符串組成,分為絕對(duì)路徑和相對(duì)路徑。所謂絕對(duì)路徑是指由根目錄"/"為起點(diǎn)來(lái)表示系統(tǒng)中某個(gè)文件或目錄的位置的方法。例如如果用絕對(duì)路徑表示圖中第4層目錄中的bin目錄,應(yīng)為"/usr/local/bin"。相對(duì)路徑則是以當(dāng)前目錄為起點(diǎn),表示系統(tǒng)中某個(gè)文件或目錄在文件系統(tǒng)中的位置的方法。若當(dāng)前工作目錄是"/home",則用相對(duì)路徑表示圖中第4層目錄中的bin目錄,應(yīng)為"hls/bin"或"./hls/bin",其中"./"表示當(dāng)前目錄,通??梢允÷?。
Linux文件系統(tǒng)的組織與Windows操作系統(tǒng)不同。對(duì)于在Linux下使用的設(shè)備,不需要像Windows那樣創(chuàng)建驅(qū)動(dòng)器盤符,Linux會(huì)將包括本地磁盤、網(wǎng)絡(luò)文件系統(tǒng)、CD-ROM和U盤等所有設(shè)備識(shí)別為設(shè)備文件,并嵌入到Linux文件系統(tǒng)中來(lái)進(jìn)行管理。一個(gè)設(shè)備文件不占用文件系統(tǒng)的任何空間,僅僅是訪問某個(gè)設(shè)備驅(qū)動(dòng)程序的入口。Linux 系統(tǒng)中有兩類特殊文件:面向字符的特殊文件和面向塊(block)的特殊文件。前者允許I/O操作以字符的形式進(jìn)行,而后者通過內(nèi)存緩沖區(qū)來(lái)使數(shù)據(jù)的讀寫操作以數(shù)據(jù)塊的方式實(shí)現(xiàn)。當(dāng)對(duì)設(shè)備文件進(jìn)行I/O操作時(shí),該操作會(huì)被轉(zhuǎn)給相應(yīng)的設(shè)備驅(qū)動(dòng)程序。一個(gè)設(shè)備文件是用主設(shè)備號(hào)(指出設(shè)備類型)和從設(shè)備號(hào)(指出是該類型中的第幾個(gè)設(shè)備)來(lái)表示的,可以通過mknod命令進(jìn)行創(chuàng)建。軟盤、光盤和硬盤等典型設(shè)備文件在Linux系統(tǒng)中的表示方法。
典型設(shè)備文件在Linux系統(tǒng)中的表示方法
Linux文件名最長(zhǎng)可允許256個(gè)字符,可以包括數(shù)字、字符,以及"."、"-"、"_"等符號(hào)。Linux文件名不像DOS或Windows由主文件名和擴(kuò)展文件名兩部分組成,Linux中沒有擴(kuò)展名的概念。Linux環(huán)境下,文件名對(duì)大小寫敏感(Case Sensitive),例如test.txt與Test.txt會(huì)被識(shí)別成兩個(gè)不同的文件,而DOS或Windows平臺(tái)是不進(jìn)行大小寫區(qū)分的。
文件系統(tǒng)的構(gòu)成
/usr/bin、/bin : -------------存放所有用戶可以執(zhí)行的命令
/usr/sbin、/sbin : -----------存放只有root可以執(zhí)行的命令
/home :--------------------用戶缺省宿主目錄
/proc :---------------------虛擬文件系統(tǒng),存放當(dāng)前內(nèi)存鏡像
/dev :----------------------存放設(shè)備文件
/lib :-----------------------存放系統(tǒng)程序運(yùn)行所需的共享庫(kù)
/lost+foud :---------------存放一些系統(tǒng)出錯(cuò)的檢查結(jié)果
/tmp :---------------------存放臨時(shí)文件
/etc :-----------------------系統(tǒng)配置文件
/var :----------------------包含經(jīng)常發(fā)生變動(dòng)的文件,如:郵件、日志文件、計(jì)劃任務(wù)等
/usr :----------------------存放所有命令、庫(kù)、手冊(cè)頁(yè)等 類似于windows C盤下的WINDOWS目錄
/mnt :----------------------臨時(shí)文件系統(tǒng)的安裝點(diǎn)
/boot :---------------------內(nèi)核文件及自舉程序文件保存位置
用windows下我們習(xí)慣把安裝的程序放在Program files目錄下,在linux下面習(xí)慣放在/user/local下。
查看文件命令
查看分區(qū)使用情況:df
查看文件、目錄大?。篸u
檢測(cè)修復(fù)文件系統(tǒng): fsck、e2fsck
(單用戶模式執(zhí)行)
判斷文件類型:file
df 查看linux磁盤分區(qū)情況
在windows下查看我們硬盤的分區(qū)很簡(jiǎn)單,打開“我的電腦”就知道有幾個(gè)盤,鼠標(biāo)放到盤符上就顯示磁盤的大小,那么在linux下如何查看呢,其實(shí)也非常簡(jiǎn)單,一個(gè)命令的事兒
[root@bogon ~]# df -h
Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
/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命令進(jìn)行查看。
root@fnngj-H24X:/hzh# du -h test.test ------查看文件的大小
4.0K test.test
root@fnngj-H24X:/# du -sh /etc ------查看目錄的大小
7.1M /etc
file判斷文件類型
我們知道linux下的文件不是同過后綴名來(lái)確定類型的,如果剛好某個(gè)文件沒有定義后綴名,我們可以通過file命令來(lái)查看后綴名。
root@fnngj-H24X:/hzh# file test.test
test.test: ASCII text
添加磁盤、分區(qū)、格式化、掛載
這是我們?cè)谕鎙inux服務(wù)器時(shí)會(huì)遇到的一個(gè)問題,根據(jù)初期的規(guī)劃,你linux上了一塊500GB的硬盤,過了一段時(shí)間,不夠用了。怎么辦?換一個(gè)1TB的硬盤,把系統(tǒng)重裝一下,把原來(lái)的數(shù)據(jù)拷貝到新硬盤上。這種方式可以,但太笨。直接在原系統(tǒng)上加一塊硬盤不就行了。我們現(xiàn)在需要知道的就是如何讓新加的這塊硬盤給我們工作。
設(shè)置---根據(jù)圖片的提示添加一塊新的虛擬硬盤,嗯!這就是虛擬機(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)沒有識(shí)別新添加胡硬盤。
對(duì)硬盤進(jìn)行分區(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
下面開始真正的對(duì)硬盤進(jìn)行分區(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 -----添加一個(gè)新的分區(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)
------------------------------------------------------添加第一個(gè)主分區(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是擴(kuò)展分區(qū)
p primary partition (1-4) ----p是主分區(qū),我們最多可以添加4個(gè)主分區(qū)
p ----- 按p表示我們要?jiǎng)澐种鞣謪^(qū)
Partition number (1-4): 1 -----給主分區(qū)的一個(gè)編號(hào)1
First cylinder (1-1305, default 1): -----這1到1305是指扇面,這個(gè)比較麻煩,不選擇直接回車
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305): +5120M ---- 這個(gè)地方我們要指定分區(qū)的大小,我們可以通過字節(jié)的方式來(lái)指定,國(guó)為我的硬盤是10G,我劃分5G出來(lái)。
Command (m for help): p ----- 現(xiàn)在再來(lái)查看分區(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 ----- 劃分的第一個(gè)主分區(qū)信息出來(lái)了
-----------------------------------------------------添加第二個(gè)主分區(qū)---------------------------------
Command (m for help): n ----- 按n繼續(xù)劃分分區(qū)
Command action
e extended
p primary partition (1-4)
p -----p再劃一個(gè)主分區(qū)
Partition number (1-4): 2 ----- 這里輸入2表示第二個(gè)主分區(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 ----- 再來(lái)查看分區(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 ----- 劃分的兩個(gè)分區(qū)都出來(lái)了
指定磁盤的格式
接下來(lái)要指這文件系統(tǒng)的類型,現(xiàn)在的window分FAT32和NTFS是兩種比較常見的分區(qū),那linux下面磁盤支持的格式就非常多了
注:下面的操作不要退出fdisk模式
Command (m for help): t ----給分區(qū)指定表格
Partition number (1-4): 1 ----我們選編號(hào)為1的主分區(qū)
Hex code (type L to list codes): L ---- 這里我們不知道編號(hào),可用L來(lái)查看所有的分區(qū)格式
83 Linux -----這個(gè)也就是我們剛劃分的兩個(gè)主分區(qū)的格式。
Hex code (type L to list codes): 83 ---- 如果不想改變?cè)懈袷街苯虞斎?3回車
刪除分區(qū)
如果這時(shí)你發(fā)現(xiàn)自己的分區(qū)劃分的不合理,想刪除某一個(gè)分區(qū),重新劃分。
注:下面的操作不要退出fdisk模式
Command (m for help): d ----刪除分區(qū)
Partition number (1-4): 2 ----這里選擇刪除第2個(gè)分區(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 ---- 我們劃分的兩個(gè)分區(qū)只剩一個(gè)了
保存退出
當(dāng)我們把分區(qū)分好以后,需要保存退出才能保存我們劃分的分區(qū)。其它非正常退出都不能保存我們劃好的分區(qū)。
注:此處才是我們要退出fdisk模式的時(shí)候^_^
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)該對(duì)硬盤進(jìn)行一下格式化了
[root@bogon ~]# mk -- 輸入mk,按兩下tab鍵,你會(huì)看到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下我們?cè)诟袷交臅r(shí)候,可以指定FAT32和NTFS,那么linux下流行的格式為ext2和ext3 ,這里我們對(duì)劃分好的第1個(gè)分區(qū)進(jìn)行格式化,選用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ū)也分好了,也進(jìn)行了格式化,下面要使用這個(gè)分區(qū)了。在使用的時(shí)候我們需要對(duì)其進(jìn)行掛載。就像前面我講的掛在光盤一樣。使用mount命令。
[root@bogon /]# mkdir /newsdb -----我們?cè)诟夸浵聞?chuàng)建一個(gè)做掛載點(diǎn)的目錄/newsdb
[root@bogon /]# mount /dev/sdb1 /newsdb/ ---- 然后把格式化好的第1個(gè)分區(qū)/dev/sdb1 掛載到/newsdb目錄下
[root@bogon /]# df -h
Filesystem 容量 已用 可用 已用% 掛載點(diǎn)
/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)怎樣初始化步驟