溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux CentOS文件和目錄的詳細(xì)介紹

發(fā)布時(shí)間:2020-06-06 14:26:58 來(lái)源:億速云 閱讀:1164 作者:Leah 欄目:系統(tǒng)運(yùn)維

    本文以linux CentOS操作系統(tǒng)為例,為大家分析linux CentOS系統(tǒng)根目錄的文件和目錄,閱讀完整文相信大家對(duì)CentOS的文件和目錄有了一定的認(rèn)識(shí)。

    Linux使用樹狀的目錄結(jié)構(gòu)組織文件,簡(jiǎn)單來(lái)說(shuō)就是在一個(gè)目錄中放置子目錄和文件,子目錄中可以繼續(xù)放置子目錄和文件,以此類推,形似一棵樹的分支。Linux的這種文件結(jié)構(gòu)的起始點(diǎn)為“根目錄”,就是“/”,是一切文件的起點(diǎn)。FHS(文件系統(tǒng)層次標(biāo)準(zhǔn))定義了在根目錄下的主要目錄和每個(gè)目錄內(nèi)應(yīng)該放置的文件。請(qǐng)注意在Linux中,“文件”是一種很寬泛的概念,一切皆文件。所以不管是目錄還是設(shè)備,都是一種文件,或者說(shuō),只要是在系統(tǒng)中可以看到的都是文件。

    一、文件類型

    用戶可以通過(guò)“l(fā)s -al 目錄”顯示文件類型。通過(guò)ls -al 顯示出來(lái)每行每個(gè)文件或者目錄信息的第一字符,來(lái)判斷文件類型。

    第一字符為[d],代表是一個(gè)目錄。

    第一字符為[-],代表是一個(gè)文件。

    名稱為 . ,代表當(dāng)前目錄;為..,代表當(dāng)前目錄的上一級(jí)目錄(這和Windows相同)

    文件名以.開始,如下圖中的.bash_logout代表是一個(gè)隱藏文件或目錄。

    linux CentOS文件和目錄的詳細(xì)介紹 


    相比Windows下的文件,Linux的文件類型,除了常規(guī)文件(純文本文件、二進(jìn)制文件、數(shù)據(jù)文件等)外,還有以下文件:

    輸入命令 ls -al /dev (顯示/dev下的所有文件的詳細(xì)信息)

    區(qū)塊設(shè)備文件:第一個(gè)屬性字符為[b],一般是代表一些存儲(chǔ)設(shè)備。如sda代表第一塊SATA或者SCSI硬盤,hda代表第一塊IDE硬盤。

    字符設(shè)備文件:第一個(gè)屬性字符為[c],一般是一些串行端口的接口設(shè)備,如鼠標(biāo)鍵盤。

    鏈接文件:第一個(gè)屬性字符為[l]的文件,它又區(qū)分為軟鏈接和硬鏈接。

            

    linux CentOS文件和目錄的詳細(xì)介紹

    數(shù)據(jù)接口文件:第一屬性字符為[s],這種類型的文件通常被用在網(wǎng)絡(luò)上的交換數(shù)據(jù)。

    (輸入命令 ls -al /run | grep  ^s 

    linux CentOS文件和目錄的詳細(xì)介紹

    數(shù)據(jù)輸送文件(FIFO,pipe):一種特殊的文件類型,主要用來(lái)解決多個(gè)程序同時(shí)讀寫一個(gè)文件所造成的錯(cuò)誤問(wèn)題,F(xiàn)IFO是先進(jìn)先出(first in first out)的縮寫,即管道。

    2、文件擴(kuò)展名

    基本上,Linux沒有所謂擴(kuò)展名的概念,這一點(diǎn)和Windows有很大差別。在Windows下,.com .exe .bat 通常代表可執(zhí)行文件,還有.dll等類型文件。但在Linux下,一個(gè)文件是否能被執(zhí)行,它主要由兩方面決定:一是它的內(nèi)容是否是可執(zhí)行代碼,二是用戶否具有可執(zhí)行權(quán)限。跟它是否有擴(kuò)展名、擴(kuò)展名為什么無(wú)關(guān)。

    當(dāng)然Linux也通過(guò)一些特定的擴(kuò)展名來(lái)區(qū)分一些特殊類型的文件,

    *.sh:代表腳本或批處理文件

    *.Z,*.tar *.tar.gz *.zip *.tga:代表經(jīng)過(guò)打包的壓縮文件

    *.html *.php:網(wǎng)頁(yè)文件。

    3、文件名的限制

    單一文件或目錄最大容許文件名為255個(gè)字符,英文最大255個(gè)字符長(zhǎng)度,漢字大約128個(gè)之間。

    由于有些特殊字符在命令模式有特殊意義,所以* ? < . ; & ! { } | \ ' '" ` ( ) { } 等字符不能在文件名中存在。

    4、目錄配置依據(jù)(FHS)

    由于Linux開源,為了保證規(guī)范,Linux逐漸形成了的軟件開發(fā)商、操作系統(tǒng)制作者、以及想要維護(hù)系統(tǒng)的使者,都能夠遵循的目標(biāo)配置依據(jù)FHS(文件系統(tǒng)層次化標(biāo)準(zhǔn)).

    事實(shí)上,F(xiàn)HS針對(duì)目錄樹架構(gòu)僅定義出三層目錄下面應(yīng)該放置什么數(shù)據(jù)而已,分別是:

     / (root, 根目錄):與開機(jī)系統(tǒng)有關(guān);

     根目錄是整個(gè)系統(tǒng)最重要的一個(gè)目錄,因?yàn)椴坏械哪夸浂际怯筛夸浹苌鰜?lái)的,同時(shí)根目錄也與開機(jī)/還原/系統(tǒng)修復(fù)等動(dòng)作有關(guān)。 由于系統(tǒng)開機(jī)時(shí)需要特定的開機(jī)軟件、核心文件、開機(jī)所需程序、函數(shù)庫(kù)等等文件數(shù)據(jù),若系統(tǒng)出現(xiàn)錯(cuò)誤時(shí),根目錄也必須要包含有能夠修復(fù)文件系統(tǒng)的程序才行。 因?yàn)楦夸浭沁@么的重要,所以在FHS的要求方面,他希望根目錄不要放在非常大的分區(qū)內(nèi), 因?yàn)樵酱蟮姆謪^(qū)你會(huì)放入越多的數(shù)據(jù),如此一來(lái)根目錄所在分區(qū)就可能會(huì)有較多發(fā)生錯(cuò)誤的機(jī)會(huì)。因此FHS標(biāo)準(zhǔn)建議:根目錄(/)所在分區(qū)應(yīng)該越小越好, 且應(yīng)用程序所安裝的軟件最好不要與根目錄放在同一個(gè)分區(qū)內(nèi),保持根目錄越小越好。 如此不但性能較佳,根目錄所在的文件系統(tǒng)也較不容易發(fā)生問(wèn)題。

     /usr (unix software resource):與軟件安裝/執(zhí)行有關(guān);

     /var (variable):與系統(tǒng)運(yùn)行過(guò)程有關(guān)。

    根目錄(/)FHS要求必須要存在的目錄

    linux CentOS文件和目錄的詳細(xì)介紹

    根目錄(/)FHS建議可以存在的目錄

    /home:是系統(tǒng)默認(rèn)的使用者主文件夾(home directory)。在用戶新增一個(gè)一般使用者帳號(hào)時(shí), 默認(rèn)的使用者主文件夾都會(huì)規(guī)范到這里來(lái)。比較重要的是,主文件夾有兩種代號(hào)喔:~:代表目前這個(gè)使用者的主文件夾 ~fromheart :則代表fromheart 的主文件夾。

    /lib<qual>:用來(lái)存放與 /lib 不同的格式的二進(jìn)制函數(shù)庫(kù),例如支持 64 位的 /lib64 函數(shù)庫(kù)等

    /root:系統(tǒng)管理員(root)的主文件夾。之所以放在這里,是因?yàn)槿绻M(jìn)入單用戶維護(hù)模式而僅掛載根目錄時(shí),該目錄就能夠擁有root的主文件夾,所以用戶會(huì)希望root的主文件夾與根目錄放置在同一個(gè)分區(qū)中。

    

    /usr/下FHS要求必須要存在的目錄

    /usr/bin/:所有一般用戶能夠使用的指令都放在這里!目前新的 CentOS 7 已經(jīng)將全部的使用者指令放置于此,而使用鏈接文件的方式將 /bin 鏈接至此!也就是說(shuō), /usr/bin 與 /bin 是一模一樣了!另外,F(xiàn)HS 要求在此目錄下不應(yīng)該有子目錄。

    /usr/lib/: 基本上,與 /lib 功能相同,所以 /lib 就是鏈接到此目錄中的。

    /usr/local/:系統(tǒng)管理員在本機(jī)自行安裝自己下載的軟件(非distribution默認(rèn)提供者),建議安裝到此目錄, 這樣會(huì)比較便于管理。

    /usr/sbin/:非系統(tǒng)正常運(yùn)行所需要的系統(tǒng)指令。最常見的就是某些網(wǎng)絡(luò)服務(wù)器軟件的服務(wù)指令(daemon),不過(guò)基本功能與 /sbin 也差不多, 因此目前 /sbin 就是鏈接到此目錄中的。

    /usr/share/:主要放置只讀架構(gòu)的數(shù)據(jù)文件,當(dāng)然也包括共享文件。在這個(gè)目錄下放置的數(shù)據(jù)幾乎是不分硬件架構(gòu)均可讀取的數(shù)據(jù), 因?yàn)閹缀醵际俏淖治募?,在此目錄下常見的還有這些次目錄:/usr/share/man:線上說(shuō)明文檔;/usr/share/doc:軟件雜項(xiàng)的文件說(shuō)明 /usr/share/zoneinfo:與時(shí)區(qū)有關(guān)的時(shí)區(qū)文件

    

    /usr下FHS建議可以存在的目錄

    /usr/games/: 與游戲比較相關(guān)的數(shù)據(jù)放置處。

    /usr/include/:c/c++等程序語(yǔ)言的文件。

    /usr/libexec/:某些不被一般使用者慣用的可執(zhí)行文件或腳本(script)等等,都會(huì)放置在此目錄中。例如大部分的 X 窗口下面的操作指令, 很多都是放在此目錄下的。

    /usr/lib<qual>/: 與 /lib<qual>/功能相同,因此目前 /lib<qual> 就是鏈接到此目錄中。

    /usr/src/:一般源代碼建議放置到這里。至于核心源代碼則建議放置到/usr/src/linux/目錄下。


    /var/下FHS要求必須要存在的目錄

    /var/cache/: 應(yīng)用程序本身運(yùn)行過(guò)程中會(huì)產(chǎn)生的一些暫存盤;

    /var/lib/:程序本身執(zhí)行的過(guò)程中,需要使用到的數(shù)據(jù)文件放置的目錄。在此目錄下各自的軟件應(yīng)該要有各自的目錄。 舉例來(lái)說(shuō),MySQL的數(shù)據(jù)庫(kù)放置到/var/lib/mysql/而rpm的數(shù)據(jù)庫(kù)則放到/var/lib/rpm去!

    /var/lock/:某些設(shè)備或者是文件資源一次只能被一個(gè)應(yīng)用程序所使用,如果同時(shí)有兩個(gè)程序使用該設(shè)備時(shí), 就可能產(chǎn)生一些錯(cuò)誤的狀況,因此就得要將該設(shè)備上鎖(lock),以確保該設(shè)備只會(huì)給單一軟件所使用。        

    /var/log/:日志文件目錄,里面比較重要的文件如/var/log/messages, /var/log/wtmp(記錄登陸者的信息)等。

    /var/mail/:放置個(gè)人電子郵件信箱的目錄,不過(guò)這個(gè)目錄也被放置到/var/spool/mail/目錄中! 通常這兩個(gè)目錄是互為鏈接文件。

    /var/run/:某些程序或者是服務(wù)啟動(dòng)后,會(huì)將他們的PID放置在這個(gè)目錄下。與 /run 相同,這個(gè)目錄鏈接到 /run去了!

    /var/spool/:這個(gè)目錄通常放置一些隊(duì)列數(shù)據(jù)。

     

    其他重要目錄

     /lost+found:這個(gè)目錄是使用標(biāo)準(zhǔn)的ext2/ext3/ext4文件系統(tǒng)格式才會(huì)產(chǎn)生的一個(gè)目錄,目的在于當(dāng)文件系統(tǒng)發(fā)生錯(cuò)誤時(shí), 將一些遺失的片段放置到這個(gè)目錄下。不過(guò)如果使用的是 xfs 文件系統(tǒng)的話,就不會(huì)存在這個(gè)目錄了!

    /proc:這個(gè)目錄本身是一個(gè)“虛擬文件系統(tǒng)(virtual filesystem)”。他放置的數(shù)據(jù)都是在內(nèi)存當(dāng)中, 例如系統(tǒng)核心、行程信息(process)、周邊設(shè)備的狀態(tài)及網(wǎng)絡(luò)狀態(tài)等等。因?yàn)檫@個(gè)目錄下的數(shù)據(jù)都是在內(nèi)存當(dāng)中, 所以本身不占任何硬盤空間??!比較重要的文件例如:/proc/cpuinfo, /proc/dma,/proc/interrupts, /proc/ioports, /proc/net/* 等等。

    /sys:這個(gè)目錄其實(shí)跟/proc非常類似,也是一個(gè)虛擬的文件系統(tǒng),主要也是記錄核心與系統(tǒng)硬件信息較相關(guān)的信息。 包括目前已載入的核心模塊與核心偵測(cè)到的硬件設(shè)備信息等等。這個(gè)目錄同樣不占硬盤容量。

     關(guān)于CentOS文件和目錄的說(shuō)明就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI