共計(jì) 4297 個(gè)字符,預(yù)計(jì)需要花費(fèi) 11 分鐘才能閱讀完成。
丸趣 TV 小編給大家分享一下 linux 中有幾種文件類型,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
linux 中有七種文件類型:1、普通文件類型;2、目錄文件類型;3、塊設(shè)備文件類型;4、字符設(shè)備類型;5、套接字文件類型;6、管道文件類型;7、鏈接文件類型。
本教程操作環(huán)境:linux5.9.8 系統(tǒng)、Dell G3 電腦。
在 Linux 系統(tǒng)下,有七種文件類型:
普通文件類型
最常使用的一類文件,其特點(diǎn)是不包含有文件系統(tǒng)信息的結(jié)構(gòu)信息。通常用戶所接觸到的文件,比如圖形文件、數(shù)據(jù)文件、文檔文件以及聲音文件都屬于這種文件,這種類型的文件是按照其內(nèi)部結(jié)構(gòu)又可分為純文本文件(ASCII)、二進(jìn)制文件(binary)、數(shù)據(jù)格式的文件(data)、各種壓縮文件。
純文本文件(ASCII):這是 Unix 系統(tǒng)中最多的一種文件類型,之所以稱為純文本文件,是因?yàn)閮?nèi)容可以直接讀到的數(shù)據(jù),例如數(shù)字、字母等等。設(shè) 置文件幾乎都屬于這種文件類型。舉例來(lái)說(shuō),使用命令“cat ~/.bashrc”就可以看到該文件的內(nèi)容(cat 是將文件內(nèi)容讀出來(lái))。
二進(jìn)制文件 (binary):系統(tǒng)其實(shí)僅認(rèn)識(shí)且可以執(zhí)行二進(jìn)制文件(binary file)。Linux 中的可執(zhí)行文件(腳本,文本方式的批處理文件不算) 就是這種格式的。舉例來(lái)說(shuō),命令 cat 就是一個(gè)二進(jìn)制文件。
數(shù)據(jù)格式的文件(data):有些程序在運(yùn)行過(guò)程中,會(huì)讀取某些特定格式的文件,那些特定格式的文件可以稱為數(shù)據(jù)文件(data file)。舉例來(lái)說(shuō),Linux 在用戶登入時(shí),都會(huì)將登錄數(shù)據(jù)記錄在 /var/log/wtmp 文件內(nèi),該文件是一個(gè)數(shù)據(jù)文件,它能通過(guò) last 命令讀出來(lái)。但使用 cat 時(shí),會(huì)讀出亂碼。因?yàn)樗菍儆谝环N特殊格式的文件。
目錄文件類型
用于存放文件名以及其相關(guān)信息的文件,是內(nèi)核組織文件系統(tǒng)的基本節(jié)點(diǎn)。目錄文件可以包含下一級(jí)文件目錄或者普通文件,在 Linux 中,目錄文件是一種文件。
能用 # cd 命令進(jìn)入的。
塊設(shè)備文件類型
塊設(shè)備文件:就是存儲(chǔ)數(shù)據(jù)以供系統(tǒng)存取的接口設(shè)備,簡(jiǎn)單而言就是硬盤。例如一號(hào)硬盤的代碼是 /dev/hda1 等文件。
字符設(shè)備類型
字符設(shè)備文件:即串行端口的接口設(shè)備,例如鍵盤、鼠標(biāo)等等。
套接字文件類型
這類文件通常用在網(wǎng)絡(luò)數(shù)據(jù)連接。可以啟動(dòng)一個(gè)程序來(lái)監(jiān)聽(tīng)客戶端的要求,客戶端就可以通過(guò)套接字來(lái)進(jìn)行數(shù)據(jù)通信。
管道文件類型
是一種很特殊的文件,主要用于不同進(jìn)程的信息傳遞。當(dāng)兩個(gè)進(jìn)程需要進(jìn)行數(shù)據(jù)或者信息傳遞時(shí),可以使用通道文件,一個(gè)進(jìn)程將需要傳遞的數(shù)據(jù)或者信息寫入管道的一端,另一進(jìn)程從管道的另一端取得所需要的數(shù)據(jù)或者信息,通常管道是建立在調(diào)整緩存中。
鏈接文件類型
是一種特殊文件,指向一個(gè)真實(shí)存在的文件鏈接,類似于 Windows 下的快捷方式,鏈接文件的不同,又可分為硬鏈接文件和符號(hào)鏈接文件。
查看文件類型的三種方法
①ls-l/ls-ld 或者 ll [ls-l —查看文件 ls-ld —查看路徑 ll —- 跟 ls -l 一樣]
ll anaconda-ks.cfg // 看第一個(gè)字符
-rw-------. 1 root root 2460 6 月 1 23:37 anaconda-ks.cfg
[root@localhost log]# ls -ld /etc
drwxr-xr-x. 81 root root 4096 Jan 29 03:25 /etc
②file 命令
[root@localhost data]# file a.txt
a.txt: ASCII text
③stat 命令
[root@localhost data]# stat a.txt // 查看文件的詳細(xì)屬性(其中包括文件時(shí)間屬性) File: `a.txt
Size: 3 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 544365 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-01-28 20:56:01.965885036 +0800
Modify: 2018-01-28 20:55:27.181876154 +0800
Change: 2018-01-28 20:55:27.181876154 +0800
Linux 中文件擴(kuò)展名
windows 里通過(guò)擴(kuò)展名來(lái)區(qū)分文件類型的。linux 里文件擴(kuò)展名和文件類型沒(méi)有關(guān)系。但為了容易區(qū)分和兼容用戶使用 windows 的習(xí)慣,我們還是會(huì)用擴(kuò)展名來(lái)表示文件類型。舉例如下:
● 源碼.tar、.tar.gz、.tgz、.zip、.tar.bz 表示壓縮文件,創(chuàng)建命令一般為 tar,gzip,zip 等。
● .sh 表示 shell 腳本文件,通過(guò) shell 語(yǔ)言開(kāi)發(fā)的程序。
● .pl 表示 perl 語(yǔ)言文件,通過(guò) perl 語(yǔ)言開(kāi)發(fā)的程序。
● .py 表示 python 語(yǔ)言文件,通過(guò) python 語(yǔ)言開(kāi)發(fā)的程序。
● .html、.htm、.php、.jsp、.do 表示網(wǎng)頁(yè)語(yǔ)言的文件。
● .conf 表示系統(tǒng)服務(wù)的配置文件。
● .rpm 表示 rpm 安裝包文件。
文件屬性
[root@localhost /]# ls -lhi
total 90K
12 dr-xr-xr-x. 2 root root 4.0K Jan 28 18:30 bin
2 dr-xr-xr-x. 5 root root 1.0K Aug 7 2016 boot
4 drwxr-xr-x. 18 root root 3.7K Jan 29 01:29 dev
652802 drwxr-xr-x. 81 root root 4.0K Jan 29 03:25 etc
130563 drwxr-xr-x. 3 root root 4.0K Jan 29 00:57 home
13 dr-xr-xr-x. 12 root root 4.0K Jan 28 18:30 lib
391685 dr-xr-xr-x. 9 root root 12K Jan 28 18:30 lib64
11 drwx------. 2 root root 16K Aug 7 2016 lost+found
130564 drwxr-xr-x. 2 root root 4.0K Sep 23 2011 media
391689 drwxr-xr-x. 2 root root 4.0K Sep 23 2011 mnt
130565 drwxr-xr-x. 3 root root 4.0K Aug 7 2016 opt
1 dr-xr-xr-x. 97 root root 0 Jan 29 2018 proc
391682 dr-xr-x---. 2 root root 4.0K Jan 28 21:08 root
130566 dr-xr-xr-x. 2 root root 12K Jan 28 18:30 sbin
1 drwxr-xr-x. 7 root root 0 Jan 29 2018 selinux
15 drwxr-xr-x. 2 root root 4.0K Sep 23 2011 srv
1 drwxr-xr-x. 13 root root 0 Jan 29 2018 sys
522242 drwxrwxrwt. 5 root root 4.0K Jan 29 05:15 tmp
522244 drwxr-xr-x. 14 root root 4.0K Jan 28 20:04 usr
261121 drwxr-xr-x. 20 root root 4.0K Aug 7 2016 var
544365 -rw-r–r–. 1 root root 3 Jan 28 20:55 a.txt
inode 索引節(jié)點(diǎn)編號(hào):544365
文件類型:文件類型是’-’, 表示這是一個(gè)普通文件
文件權(quán)限:rw-r–r– 表示文件可讀、可寫、可執(zhí)行,文件所歸屬的用戶組可讀可執(zhí)行,其他用戶可讀可執(zhí)行
硬鏈接個(gè)數(shù) 表示 a.txt 這個(gè)文件沒(méi)有其他的硬鏈接,因?yàn)檫B接數(shù)是 1,就是他本身
文件屬主 表示這個(gè)文件所屬的用戶,這里的意思是 a.txt 文件被 root 用戶擁有,是第一個(gè) root
文件屬組 表示這個(gè)文件所屬的用戶組,這里表示 a.txt 文件屬于 root 用戶組,是第二個(gè) root
文件大小 文件大小是 3 個(gè)字節(jié)
文件修改時(shí)間 這里的時(shí)間是該文件最后被更新(包括文件創(chuàng)建、內(nèi)容更新、文件名更新等)的時(shí)間可用如下命令查看文件的修改、訪問(wèn)、創(chuàng)建時(shí)間
[root@localhost data]# stat a.txt
File: `a.txt
Size: 3 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 544365 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-01-28 20:56:01.965885036 +0800 ---------- 訪問(wèn)時(shí)間
Modify: 2018-01-28 20:55:27.181876154 +0800 ---------- 修改時(shí)間
Change: 2018-01-28 20:55:27.181876154 +0800 ---------- 創(chuàng)建時(shí)間
索引節(jié)點(diǎn) inode
硬盤分區(qū),格式化、創(chuàng)建文件系統(tǒng)
被格式化的磁盤分為兩部分:第一部分是 Inode 第二部分是 block
block 是用來(lái)存儲(chǔ)實(shí)際數(shù)據(jù)用的,例如:照片、視頻等普通文件數(shù)據(jù)
inode 是用來(lái)存儲(chǔ)這些數(shù)據(jù)的屬性的(也就是 ls- l 的結(jié)果)
inode 包含的屬性信息有文件大小、屬主、歸屬的用戶組、讀寫權(quán)限、問(wèn)價(jià)類型、修改時(shí)間,還有指向文件實(shí)體指針的功能(inode 節(jié)點(diǎn) —-block 的對(duì)應(yīng)關(guān)系),但是唯獨(dú)不包含文件名
訪問(wèn)一個(gè)文件【通過(guò)文件名找到 inode—- block】
查看 inode 大小
[root@localhost ~]# dumpe2fs /dev/sda1|grep -i Inode size
dumpe2fs 1.41.12 (17-May-2010)
Inode size: 128
看完了這篇文章,相信你對(duì)“l(fā)inux 中有幾種文件類型”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!