系統(tǒng)之家 - 系統(tǒng)光盤(pán)下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux文件類型和擴(kuò)展名

Linux文件類型和擴(kuò)展名的相關(guān)知識(shí)

時(shí)間:2014-12-31 14:21:38 作者:qipeng 來(lái)源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問(wèn): https://m.xitongzhijia.net/xtjc/20141231/33816.html 手機(jī)查看 評(píng)論

  我們都知道系統(tǒng)文件的類型是有很多種的,如果不了解文件類型就無(wú)法知道某些文件的具體作用,那么Linux系統(tǒng)的文件類型都有哪些呢?下面小編就給大家詳細(xì)介紹下Linux系統(tǒng)的文件類型及擴(kuò)展名的知識(shí)。

 Linux文件類型和擴(kuò)展名的相關(guān)知識(shí)

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

  一、文件類型

  Linux文件類型常見(jiàn)的有:普通文件、目錄文件、字符設(shè)備文件和塊設(shè)備文件、符號(hào)鏈接文件等(詳見(jiàn)系統(tǒng)之家Linux中使用file命令識(shí)別文件類型的方法),現(xiàn)在我們進(jìn)行一個(gè)簡(jiǎn)要的說(shuō)明。

  1. 普通文件

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

  1》。 純文本檔(ASCII):

  這是Linux系統(tǒng)中最多的一種文件類型,稱為純文本檔是因?yàn)閮?nèi)容為我們?nèi)祟惪梢灾苯幼x到的數(shù)據(jù),例如數(shù)字、字母等等。幾乎只要我們可以用來(lái)做為設(shè)定的文件都屬于這一種文件類型。 舉例來(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ì)讀取某些特定格式的文件,那些特定格式的文件可以被稱為數(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í)行,看到有類似 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ì)看到類似如下的:

  代碼如下:

 。踨oot@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è)種類的文件,是用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)噍敵。舉例來(lái)說(shuō),你不可能讓鼠標(biāo)跳到另一個(gè)畫(huà)面,而是滑動(dòng)到另一個(gè)地方!第一個(gè)屬性為 [ c ]。

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

  數(shù)據(jù)接口文件(或者:套接口文件),這種類型的文件通常被用在網(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è)目錄中看到這種文件類型了。

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

  代碼如下:

 。踨oot@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ì)看到有類似 lrwxrwxrwx,注意第一個(gè)字符是l,這類文件是鏈接文件。是通過(guò)ln -s 源文件名 新文件名 。上面是一個(gè)例子,表示setup.log是install.log的軟鏈接文件。怎么理解呢?這和Windows操作系統(tǒng)中的快捷方式有點(diǎn)相似。

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

  代碼如下:

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

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

  1. 擴(kuò)展名類型

  基本上,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)表示該文件是什么種類的。底下有數(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è)字符

  包含完整路徑名稱及目錄 (/) 之完整檔名為 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 之類的選項(xiàng), 所以你最好也避免將文件檔名的開(kāi)頭以 - 或 + 來(lái)命名。

  上面就是Linux文件類型和擴(kuò)展名的知識(shí)介紹了,文件的類型有很多,要想全部都掌握是比較困難的,我們只需記住一些比較常用的文件類型即可。

發(fā)表評(píng)論

0

沒(méi)有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解

立即評(píng)論

以上留言僅代表用戶個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門(mén)教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄