佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Linux系統(tǒng)中的文件類(lèi)型及文件擴(kuò)展名詳解

Linux系統(tǒng)中的文件類(lèi)型及文件擴(kuò)展名詳解

熱門(mén)標(biāo)簽:解決方案 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 外呼系統(tǒng) 服務(wù)器配置 硅谷的囚徒呼叫中心 家政服務(wù)網(wǎng)絡(luò) 美團(tuán) 電話機(jī)器人搭建

Linux文件類(lèi)型和Linux文件的文件名所代表的意義是兩個(gè)不同的概念。我們通過(guò)一般應(yīng)用程序而創(chuàng)建的比如file.txt、file.tar.gz ,這些文件雖然要用不同的程序來(lái)打開(kāi),但放在Linux文件類(lèi)型中衡量的話,大多是常規(guī)文件(也被稱(chēng)為普通文件)。

一. 文件類(lèi)型

Linux文件類(lèi)型常見(jiàn)的有:普通文件、目錄文件、字符設(shè)備文件和塊設(shè)備文件、符號(hào)鏈接文件等,現(xiàn)在我們進(jìn)行一個(gè)簡(jiǎn)要的說(shuō)明。

1. 普通文件 

我們用 ls -lh 來(lái)查看某個(gè)文件的屬性,可以看到有類(lèi)似-rwxrwxrwx,值得注意的是第一個(gè)符號(hào)是 - ,這樣的文件在Linux中就是普通文件。這些文件一般是用一些相關(guān)的應(yīng)用程序創(chuàng)建,比如圖像工具、文檔工具、歸檔工具... .... 或 cp工具等。這類(lèi)文件的刪除方式是用rm 命令。 另外,依照文件的內(nèi)容,又大略可以分為:

1>. 純文本檔(ASCII):

這是Linux系統(tǒng)中最多的一種文件類(lèi)型,稱(chēng)為純文本檔是因?yàn)閮?nèi)容為我們?nèi)祟?lèi)可以直接讀到的數(shù)據(jù),例如數(shù)字、字母等等。 幾乎只要我們可以用來(lái)做為設(shè)定的文件都屬于這一種文件類(lèi)型。 舉例來(lái)說(shuō),你可以用命令: cat ~/.bashrc 來(lái)看到該文件的內(nèi)容。 (cat 是將一個(gè)文件內(nèi)容讀出來(lái)的指令).

2>. 二進(jìn)制文件(binary):

Linux系統(tǒng)其實(shí)僅認(rèn)識(shí)且可以執(zhí)行二進(jìn)制文件(binary file)。Linux當(dāng)中的可執(zhí)行文件(scripts, 文字型批處理文件不算)就是這種格式的文件。 剛剛使用的命令cat就是一個(gè)binary file。

3>. 數(shù)據(jù)格式文件(data): 

有些程序在運(yùn)作的過(guò)程當(dāng)中會(huì)讀取某些特定格式的文件,那些特定格式的文件可以被稱(chēng)為數(shù)據(jù)文件 (data file)。舉例來(lái)說(shuō),我們的Linux在使用者登錄時(shí),都會(huì)將登錄的數(shù)據(jù)記錄在 /var/log/wtmp那個(gè)文件內(nèi),該文件是一個(gè)data file,他能夠透過(guò)last這個(gè)指令讀出來(lái)! 但是使用cat時(shí),會(huì)讀出亂碼~因?yàn)樗菍儆谝环N特殊格式的文件?

2. 目錄文件

當(dāng)我們?cè)谀硞€(gè)目錄下執(zhí)行,看到有類(lèi)似 drwxr-xr-x ,這樣的文件就是目錄,目錄在Linux是一個(gè)比較特殊的文件。注意它的第一個(gè)字符是d。創(chuàng)建目錄的命令可以用 mkdir 命令,或cp命令,cp可以把一個(gè)目錄復(fù)制為另一個(gè)目錄。刪除用rm 或rmdir命令。 

3. 字符設(shè)備或塊設(shè)備文件 

如時(shí)您進(jìn)入/dev目錄,列一下文件,會(huì)看到類(lèi)似如下的:


復(fù)制代碼
代碼如下:

[root@localhost ~]# ls -al /dev/tty/p> p>crw-rw-rw- 1 root tty 5, 0 11-03 15:11 /dev/tty/p> p>[root@localhost ~]# ls -la /dev/sda1/p> p>brw-r----- 1 root disk 8, 1 11-03 07:11 /dev/sda1

我們看到/dev/tty的屬性是 crw-rw-rw- ,注意前面第一個(gè)字符是 c ,這表示字符設(shè)備文件。比如貓等串口設(shè)備。我們看到 /dev/sda1 的屬性是 brw-r----- ,注意前面的第一個(gè)字符是b,這表示塊設(shè)備,比如硬盤(pán),光驅(qū)等設(shè)備。

這個(gè)種類(lèi)的文件,是用mknode來(lái)創(chuàng)建,用rm來(lái)刪除。目前在最新的Linux發(fā)行版本中,我們一般不用自己來(lái)創(chuàng)建設(shè)備文件。因?yàn)檫@些文件是和內(nèi)核相關(guān)聯(lián)的。

與系統(tǒng)周邊及儲(chǔ)存等相關(guān)的一些文件, 通常都集中在/dev這個(gè)目錄之下!通常又分為兩種:

區(qū)塊(block)設(shè)備檔 :

就是一些儲(chǔ)存數(shù)據(jù), 以提供系統(tǒng)隨機(jī)存取的接口設(shè)備,舉例來(lái)說(shuō),硬盤(pán)與軟盤(pán)等就是啦! 你可以隨機(jī)的在硬盤(pán)的不同區(qū)塊讀寫(xiě),這種裝置就是成組設(shè)備!你可以自行查一下/dev/sda看看, 會(huì)發(fā)現(xiàn)第一個(gè)屬性為[ b ]!

字符(character)設(shè)備文件:

亦即是一些串行端口的接口設(shè)備, 例如鍵盤(pán)、鼠標(biāo)等等!這些設(shè)備的特色就是一次性讀取的,不能夠截?cái)噍敵觥?nbsp;舉例來(lái)說(shuō),你不可能讓鼠標(biāo)跳到另一個(gè)畫(huà)面,而是滑動(dòng)到另一個(gè)地方!第一個(gè)屬性為 [ c ]。

4. 數(shù)據(jù)接口文件(sockets): 

數(shù)據(jù)接口文件(或者:套接口文件),這種類(lèi)型的文件通常被用在網(wǎng)絡(luò)上的數(shù)據(jù)承接了。我們可以啟動(dòng)一個(gè)程序來(lái)監(jiān)聽(tīng)客戶端的要求, 而客戶端就可以透過(guò)這個(gè)socket來(lái)進(jìn)行數(shù)據(jù)的溝通了。第一個(gè)屬性為 [ s ], 最常在/var/run這個(gè)目錄中看到這種文件類(lèi)型了。

例如:當(dāng)我們啟動(dòng)MySQL服務(wù)器時(shí),會(huì)產(chǎn)生一個(gè)mysql.sock的文件。


復(fù)制代碼
代碼如下:

[root@localhost ~]# ls -lh /var/lib/mysql/mysql.sock /p> p>srwxrwxrwx 1 mysql mysql 0 04-19 11:12 /var/lib/mysql/mysql.sock

注意這個(gè)文件的屬性的第一個(gè)字符是 s。

5. 符號(hào)鏈接文件: 

當(dāng)我們查看文件屬性時(shí),會(huì)看到有類(lèi)似 lrwxrwxrwx,注意第一個(gè)字符是l,這類(lèi)文件是鏈接文件。是通過(guò)ln -s 源文件名 新文件名 。上面是一個(gè)例子,表示setup.log是install.log的軟鏈接文件。怎么理解呢?這和Windows操作系統(tǒng)中的快捷方式有點(diǎn)相似。

符號(hào)鏈接文件的創(chuàng)建方法舉例:


復(fù)制代碼
代碼如下:

[root@localhost test]# ls -lh log2012.log/p> p>-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log/p> p>[root@localhost test]# ln -s log2012.log linklog.log/p> p>[root@localhost test]# ls -lh *.log/p> p>lrwxrwxrwx 1 root root 11 11-22 06:58 linklog.log -> log2012.log/p> p>-rw-r--r-- 1 root root 296K 11-13 06:03 log2012.log

6. 數(shù)據(jù)輸送文件(FIFO,pipe):

FIFO也是一種特殊的文件類(lèi)型,他主要的目的在解決多個(gè)程序同時(shí)存取一個(gè)文件所造成的錯(cuò)誤問(wèn)題。 FIFO是first-in-first-out的縮寫(xiě)。第一個(gè)屬性為[p] 。

二. Linux文件擴(kuò)展名

1. 擴(kuò)展名類(lèi)型

基本上,Linux的文件是沒(méi)有所謂的擴(kuò)展名的,一個(gè)Linux文件能不能被執(zhí)行,與他的第一欄的十個(gè)屬性有關(guān), 與檔名根本一點(diǎn)關(guān)系也沒(méi)有。這個(gè)觀念跟Windows的情況不相同喔!在Windows底下, 能被執(zhí)行的文件擴(kuò)展名通常是 .com .exe .bat等等,而在Linux底下,只要你的權(quán)限當(dāng)中具有x的話,例如[ -rwx-r-xr-x ] 即代表這個(gè)文件可以被執(zhí)行。

不過(guò),可以被執(zhí)行跟可以執(zhí)行成功是不一樣的~舉例來(lái)說(shuō),在root家目錄下的install.log 是一個(gè)純文本檔,如果經(jīng)由修改權(quán)限成為 -rwxrwxrwx 后,這個(gè)文件能夠真的執(zhí)行成功嗎? 當(dāng)然不行~因?yàn)樗膬?nèi)容根本就沒(méi)有可以執(zhí)行的數(shù)據(jù)。所以說(shuō),這個(gè)x代表這個(gè)文件具有可執(zhí)行的能力, 但是能不能執(zhí)行成功,當(dāng)然就得要看該文件的內(nèi)容.

雖然如此,不過(guò)我們?nèi)匀幌M梢越逵蓴U(kuò)展名來(lái)了解該文件是什么東西,所以,通常我們還是會(huì)以適當(dāng)?shù)臄U(kuò)展名來(lái)表示該文件是什么種類(lèi)的。底下有數(shù)種常用的擴(kuò)展名:

*.sh : 腳本或批處理文件 (scripts),因?yàn)榕幚砦募槭褂胹hell寫(xiě)成的,所以擴(kuò)展名就編成 .sh 

*Z, *.tar, *.tar.gz, *.zip, *.tgz: 經(jīng)過(guò)打包的壓縮文件。這是因?yàn)閴嚎s軟件分別為 gunzip, tar 等等的,由于不同的壓縮軟件,而取其相關(guān)的擴(kuò)展名!

*.html, *.php:網(wǎng)頁(yè)相關(guān)文件,分別代表 HTML 語(yǔ)法與 PHP 語(yǔ)法的網(wǎng)頁(yè)文件。 .html 的文件可使用網(wǎng)頁(yè)瀏覽器來(lái)直接開(kāi)啟,至于 .php 的文件, 則可以透過(guò) client 端的瀏覽器來(lái) server 端瀏覽,以得到運(yùn)算后的網(wǎng)頁(yè)結(jié)果。

基本上,Linux系統(tǒng)上的文件名真的只是讓你了解該文件可能的用途而已,真正的執(zhí)行與否仍然需要權(quán)限的規(guī)范才行。例如雖然有一個(gè)文件為可執(zhí)行文件,如常見(jiàn)的/bin/ls這個(gè)顯示文件屬性的指令,不過(guò),如果這個(gè)文件的權(quán)限被修改成無(wú)法執(zhí)行時(shí),那么ls就變成不能執(zhí)行。

上述的這種問(wèn)題最常發(fā)生在文件傳送的過(guò)程中。例如你在網(wǎng)絡(luò)上下載一個(gè)可執(zhí)行文件,但是偏偏在你的 Linux系統(tǒng)中就是無(wú)法執(zhí)行!呵呵!那么就是可能文件的屬性被改變了。不要懷疑,從網(wǎng)絡(luò)上傳送到你的 Linux系統(tǒng)中,文件的屬性與權(quán)限確實(shí)是會(huì)被改變的。

2. Linux文件名長(zhǎng)度限制:

在Linux底下,使用預(yù)設(shè)的Ext2/Ext3文件系統(tǒng)時(shí),針對(duì)文件名長(zhǎng)度限制為:

單一文件或目錄的最大容許文件名為 255 個(gè)字符

包含完整路徑名稱(chēng)及目錄 (/) 之完整檔名為 4096 個(gè)字符

是相當(dāng)長(zhǎng)的檔名!我們希望Linux的文件名可以一看就知道該文件在干嘛的, 所以檔名通常是很長(zhǎng)很長(zhǎng)。

3. Linux文件名的字符的限制:

由于Linux在文字接口下的一些指令操作關(guān)系,一般來(lái)說(shuō),你在設(shè)定Linux底下的文件名時(shí), 最好可以避免一些特殊字符比較好!例如底下這些:

* ? >  ;  ! [ ] | \&;' " ` ( ) { }

因?yàn)檫@些符號(hào)在文字接口下,是有特殊意義的。另外,文件名的開(kāi)頭為小數(shù)點(diǎn)“.”時(shí), 代表這個(gè)文件為隱藏文件!同時(shí),由于指令下達(dá)當(dāng)中,常常會(huì)使用到 -option 之類(lèi)的選項(xiàng), 所以你最好也避免將文件檔名的開(kāi)頭以 - 或 + 來(lái)命名。

標(biāo)簽:韶關(guān) 北海 防城港 烏蘭察布 南昌 臨沂 撫州 邢臺(tái)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux系統(tǒng)中的文件類(lèi)型及文件擴(kuò)展名詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    阳山县| 修水县| 寿宁县| 衡南县| 双辽市| 定西市| 广南县| 日土县| 溧阳市| 舒兰市| 廊坊市| 陇西县| 玉溪市| 铜山县| 镇康县| 洛南县| 乡城县| 新平| 丹阳市| 新泰市| 南木林县| 连州市| 安溪县| 正蓝旗| 河北省| 枣阳市| 西藏| 资阳市| 灵寿县| 辉县市| 木里| 外汇| 隆昌县| 沂水县| 临安市| 鄂托克前旗| 汕头市| 鄯善县| 睢宁县| 达尔| 绍兴市|