溫馨提示×

溫馨提示×

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

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

Linux系統(tǒng)中的文件類型及文件擴(kuò)展名的介紹

發(fā)布時間:2021-08-20 21:55:06 來源:億速云 閱讀:125 作者:chen 欄目:系統(tǒng)運(yùn)維

這篇文章主要講解了“Linux系統(tǒng)中的文件類型及文件擴(kuò)展名的介紹”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Linux系統(tǒng)中的文件類型及文件擴(kuò)展名的介紹”吧!

一. 文件類型

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

1. 普通文件 

我們用 ls -lh 來查看某個文件的屬性,可以看到有類似-rwxrwxrwx,值得注意的是第一個符號是 - ,這樣的文件在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ù)字、字母等等。 幾乎只要我們可以用來做為設(shè)定的文件都屬于這一種文件類型。 舉例來說,你可以用命令: cat ~/.bashrc 來看到該文件的內(nèi)容。 (cat 是將一個文件內(nèi)容讀出來的指令).

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

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

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

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

2. 目錄文件

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

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

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

代碼如下:


[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- ,注意前面第一個字符是 c ,這表示字符設(shè)備文件。比如貓等串口設(shè)備。我們看到 /dev/sda1 的屬性是 brw-r----- ,注意前面的第一個字符是b,這表示塊設(shè)備,比如硬盤,光驅(qū)等設(shè)備。

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

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

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

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

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

亦即是一些串行端口的接口設(shè)備, 例如鍵盤、鼠標(biāo)等等!這些設(shè)備的特色就是一次性讀取的,不能夠截斷輸出。 舉例來說,你不可能讓鼠標(biāo)跳到另一個畫面,而是滑動到另一個地方!第一個屬性為 [ c ]。

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

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

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

代碼如下:


[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

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

5. 符號鏈接文件: 

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

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

代碼如下:


[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也是一種特殊的文件類型,他主要的目的在解決多個程序同時存取一個文件所造成的錯誤問題。 FIFO是first-in-first-out的縮寫。第一個屬性為[p] 。

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

1. 擴(kuò)展名類型

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

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

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

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

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

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

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

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

2. Linux文件名長度限制:

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

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

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

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

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

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

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

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

感謝各位的閱讀,以上就是“Linux系統(tǒng)中的文件類型及文件擴(kuò)展名的介紹”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Linux系統(tǒng)中的文件類型及文件擴(kuò)展名的介紹這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

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

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

AI