網(wǎng)站首頁 編程語言 正文
一、簡介
文件系統(tǒng)就是分區(qū)或磁盤上的所有文件的邏輯集合。?
文件系統(tǒng)不僅包含著文件中的數(shù)據(jù)而且還有文件系統(tǒng)的結(jié)構(gòu),所有Linux 用戶和程序看到的文件、目錄、軟連接及文件保護(hù)信息等都存儲在其中。?
不同Linux發(fā)行版本之間的文件系統(tǒng)差別很少,主要表現(xiàn)在系統(tǒng)管理的特色工具以及軟件包管理方式的不同,文件目錄結(jié)構(gòu)基本上都是一樣的。
文件系統(tǒng)有多種類型
- ext2 : 早期linux中常用的文件系統(tǒng);
- ext3 : ext2的升級版,帶日志功能;
- RAMFS : 內(nèi)存文件系統(tǒng),速度很快;
- iso9660:光盤或光盤鏡像;
- NFS : 網(wǎng)絡(luò)文件系統(tǒng),由SUN發(fā)明,主要用于遠(yuǎn)程文件共享;
- MS-DOS : MS-DOS文件系統(tǒng);
- FAT : Windows XP 操作系統(tǒng)采用的文件系統(tǒng);
- NTFS : Windows NT/XP 操作系統(tǒng)采用的文件系統(tǒng)。
二、分區(qū)與目錄
文件系統(tǒng)位于磁盤分區(qū)中;一個(gè)硬盤可以有多個(gè)分區(qū),也可以只有一個(gè)分區(qū);一個(gè)分區(qū)只能包含一個(gè)文件系統(tǒng)。?
Linux文件系統(tǒng)與Windows有較大的差別。Windows的文件結(jié)構(gòu)是多個(gè)并列的樹狀結(jié)構(gòu),最頂部的是不同的磁盤(分區(qū)),如 C、D、E、F等。Linux的文件結(jié)構(gòu)是單個(gè)的樹狀結(jié)構(gòu),根目錄是“/”,其他目錄都要位于根目錄下。?
每次安裝系統(tǒng)的時(shí)候我們都會進(jìn)行分區(qū),
Linux下磁盤分區(qū)和目錄的關(guān)系
- 任何一個(gè)分區(qū)都必須對應(yīng)到某個(gè)目錄上,才能進(jìn)行讀寫操作,稱為“掛載”。
- 被掛載的目錄可以是根目錄,也可以是其他二級、三級目錄,任何目錄都可以是掛載點(diǎn)。
- 目錄是邏輯上的區(qū)分。分區(qū)是物理上的區(qū)分。
- 根目錄是所有Linux的文件和目錄所在的地方,需要掛載上一個(gè)磁盤分區(qū)。
下圖是常見的目錄和分區(qū)的對應(yīng)關(guān)系:
為什么要分區(qū),如何分區(qū)?
- 可以把不同資料,分別放入不同分區(qū)中管理,降低風(fēng)險(xiǎn)。
- 大硬盤搜索范圍大,效率低。
- /home、/var、/usr、/local 經(jīng)常是單獨(dú)分區(qū),因?yàn)榻?jīng)常會操作,容易產(chǎn)生碎片。
為了便于定位和查找,Linux中的每個(gè)目錄一般都存放特定類型的文件,
各種Linux發(fā)行版本的常見目錄
- / :?根目錄,只能包含目錄,不能包含具體文件。
- /bin:?bin是Binary的縮寫,存放可執(zhí)行文件。很多命令就對應(yīng)/bin目錄下的某個(gè)程序,例如 ls、cp、mkdir。/bin目錄對所有用戶有效。
- /dev:?dev是Device(設(shè)備)的縮寫,硬件驅(qū)動程序。例如聲卡、磁盤驅(qū)動等,還有如 /dev/null、/dev/console、/dev/zero、/dev/full 等文件。
- /etc:?主要包含系統(tǒng)管理所需要的配置文件和用戶、用戶組配置文件。
- /lib:?主要包含共享庫文件,類似于Windows下的DLL;有時(shí)也會包含內(nèi)核相關(guān)文件。
- /boot:?系統(tǒng)啟動文件,例如Linux內(nèi)核、引導(dǎo)程序等。
- /home:?用戶工作目錄(主目錄),每個(gè)用戶都會分配一個(gè)目錄。
- /mnt:?臨時(shí)掛載文件系統(tǒng)。這個(gè)目錄一般是用于存放掛載儲存設(shè)備的掛載目錄的,例如掛載CD-ROM的/mnt/cdrom目錄,然后進(jìn)入該目錄就可以查看光驅(qū)里的內(nèi)容了。
- /proc:這個(gè)目錄是一個(gè)虛擬的目錄,它是系統(tǒng)內(nèi)存的映射,我們可以通過直接訪問這個(gè)目錄來獲取系統(tǒng)信息。這個(gè)目錄的內(nèi)容不在硬盤上而是在內(nèi)存里,我們也可以直接修改里面的某些文件。
- /tmp:?臨時(shí)文件目錄,系統(tǒng)重啟后不會被保存。
- /lost+found:這個(gè)目錄一般情況下是空的,當(dāng)系統(tǒng)非法關(guān)機(jī)后,這里就存放了一些文件。
- /run:是一個(gè)臨時(shí)文件系統(tǒng),存儲系統(tǒng)啟動以來的信息。當(dāng)系統(tǒng)重啟時(shí),這個(gè)目錄下的文件應(yīng)該被刪掉或清除。如果你的系統(tǒng)上有 /var/run 目錄,應(yīng)該讓它指向 run。
-
/usr:?這是一個(gè)非常重要的目錄,用戶的很多應(yīng)用程序和文件都放在這個(gè)目錄下,類似于windows下的program files目錄。user目下的文件比較混雜,包含了管理命令、共享文件、庫文件等,可以被很多用戶使用。
/usr/bin:系統(tǒng)用戶使用的應(yīng)用程序。
/usr/sbin:超級用戶使用的比較高級的管理程序和系統(tǒng)守護(hù)程序。
/usr/src:內(nèi)核源代碼默認(rèn)的放置目錄。
- /var:?這個(gè)目錄中存放著在不斷擴(kuò)充著的東西,主要包含一些可變長度的文件,會經(jīng)常對數(shù)據(jù)進(jìn)行讀寫,例如日志文件和打印隊(duì)列里的文件。
- /sbin:?s就是Super User的意思,和 /bin 類似,主要包含可執(zhí)行文件,不過一般是系統(tǒng)管理所需要的,不是所有用戶都需要。
- /media:linux系統(tǒng)會自動識別一些設(shè)備,例如U盤、光驅(qū)等等,當(dāng)識別后,linux會把識別的設(shè)備掛載到這個(gè)目錄下。
- /opt: 這是給主機(jī)額外安裝軟件所擺放的目錄。比如你安裝一個(gè)ORACLE數(shù)據(jù)庫則就可以放到這個(gè)目錄下。默認(rèn)是空的。
- /root:該目錄為系統(tǒng)管理員,也稱作超級權(quán)限者的用戶主目錄。
- /srv: 該目錄存放一些服務(wù)啟動之后需要提取的數(shù)據(jù)。
在 Linux 系統(tǒng)中,有幾個(gè)目錄是比較重要的,平時(shí)需要注意不要誤刪除或者隨意更改內(nèi)部文件。
- /etc: 上邊也提到了,這個(gè)是系統(tǒng)中的配置文件,如果你更改了該目錄下的某個(gè)文件可能會導(dǎo)致系統(tǒng)不能啟動。
-
/bin, /sbin, /usr/bin, /usr/sbin: 這是系統(tǒng)預(yù)設(shè)的執(zhí)行文件的放置目錄,比如 ls 就是在/bin/ls 目錄下的。?
值得提出的是,/bin, /usr/bin 是給系統(tǒng)用戶使用的指令(除root外的通用戶),而/sbin, /usr/sbin 則是給root使用的指令。 - /var: 這是一個(gè)非常重要的目錄,系統(tǒng)上跑了很多程序,那么每個(gè)程序都會有相應(yīng)的日志產(chǎn)生,而這些日志就被記錄到這個(gè)目錄下,具體在/var/log 目錄下,另外mail的預(yù)設(shè)放置也是在這里。
三、常用文件管理命令
你可以通過下面的命令來管理文件:
- cat?filename:?查看文件內(nèi)容。
- cd?dirname:?改變所在目錄。
- cp?file1 file2:?復(fù)制文件或目錄。
- file?filename:?查看文件類型(binary, text, etc)。
- find?filename dir:?搜索文件或目錄。
- head?filename:?顯示文件的開頭,與tail命令相對。
- less?filename:?查看文件的全部內(nèi)容,可以分頁顯示,比more命令要強(qiáng)大。
- ls?dirname:?遍歷目錄下的文件或目錄。
- mkdir?dirname:?創(chuàng)建目錄。
- more?filename:?查看文件的全部內(nèi)容,可以分頁顯示。
- mv?file1 file2:?移動文件或重命名。
- pwd:?顯示用戶當(dāng)前所在目錄。
- rm?filename:?刪除文件。
- rmdir?dirname:?刪除目錄。
- tail?filename:?顯示文件的結(jié)尾,與head命令相對。
- touch?filename:?文件不存在時(shí)創(chuàng)建一個(gè)空文件,存在時(shí)修改文件時(shí)間戳。
- whereis?filename:?查看文件所在位置。
- which?filename:?如果文件在環(huán)境變量PATH中有定義,那么顯示文件位置。
四、用戶和群組配額
用戶和群組配額可以讓管理員為每個(gè)用戶或群組分配固定的磁盤空間。?
管理員有兩種方式來分配磁盤空間:
- 軟限制:如果用戶超過指定的空間,會有一個(gè)寬限期,等待用戶釋放空間。
- 硬限制:沒有寬限期,超出指定空間立即禁止操作。
下面的命令可以用來管理配額:
- quota:?顯示磁盤使用情況以及每個(gè)用戶組的配額。
- edquota:?編輯用戶和群組的配額。
- quotacheck:?查看文件系統(tǒng)的磁盤使用情況,創(chuàng)建、檢查并修復(fù)配額文件。
- setquota:?設(shè)置配額。
- quotaon:?開啟用戶或群組的配額功能。
- quotaoff:?關(guān)閉用戶或群組的配額功能。
- repquota:?打印指定文件系統(tǒng)的配額。
原文鏈接:https://www.cnblogs.com/springsnow/p/12192626.html
相關(guān)推薦
- 2023-11-14 Docker 拉取結(jié)果為“等待連接時(shí)請求取消(等待標(biāo)頭時(shí)超出客戶端超時(shí));Error respons
- 2022-09-03 Redis實(shí)現(xiàn)Session共享與單點(diǎn)登錄_Redis
- 2022-11-30 深入理解Golang?channel的應(yīng)用_Golang
- 2022-04-09 IDEA中命令行安裝git報(bào)錯(cuò):error: failed to push some refs to
- 2022-11-21 Python?Flask框架開發(fā)之運(yùn)用SocketIO實(shí)現(xiàn)WebSSH方法詳解_python
- 2022-04-08 C++中成員函數(shù)和友元函數(shù)的使用及區(qū)別詳解_C 語言
- 2023-03-21 C#中寫入和讀取TXT文件問題_C#教程
- 2022-08-18 Android新建水平節(jié)點(diǎn)進(jìn)度條示例_Android
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支