您好,登錄后才能下訂單哦!
小編給大家分享一下linux中有幾種文件類型,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
linux中有七種文件類型:1、普通文件類型;2、目錄文件類型;3、塊設備文件類型;4、字符設備類型;5、套接字文件類型;6、管道文件類型;7、鏈接文件類型。
本教程操作環境:linux5.9.8系統、Dell G3電腦。
普通文件類型
最常使用的一類文件,其特點是不包含有文件系統信息的結構信息。通常用戶所接觸到的文件,比如圖形文件、數據文件、文檔文件以及聲音文件都屬于這種文件,這種類型的文件是按照其內部結構又可分為純文本文件(ASCII)、二進制文件(binary)、數據格式的文件(data)、各種壓縮文件。
純文本文件(ASCII):這是Unix系統中最多的一種文件類型,之所以稱為純文本文件,是因為內容可以直接讀到的數據,例如數字、字母等等。設 置文件幾乎都屬于這種文件類型。舉例來說,使用命令“cat ~/.bashrc”就可以看到該文件的內容(cat是將文件內容讀出來)。
二進制文件(binary):系統其實僅認識且可以執行二進制文件(binary file)。Linux中的可執行文件(腳本,文本方式的批處理文件不算)就是這種格式的。舉例來說,命令cat就是一個二進制文件。
數據格式的文件(data):有些程序在運行過程中,會讀取某些特定格式的文件,那些特定格式的文件可以稱為數據文件(data file)。舉例來說,Linux在用戶登入時,都會將登錄數據記錄在 /var/log/wtmp文件內,該文件是一個數據文件,它能通過last命令讀出來。但使用cat時,會讀出亂碼。因為它是屬于一種特殊格式的文件。
目錄文件類型
用于存放文件名以及其相關信息的文件,是內核組織文件系統的基本節點。目錄文件可以包含下一級文件目錄或者普通文件,在Linux中,目錄文件是一種文件。
能用 # cd 命令進入的。
塊設備文件類型
塊設備文件 : 就是存儲數據以供系統存取的接口設備,簡單而言就是硬盤。例如一號硬盤的代碼是 /dev/hda1等文件。
字符設備類型
字符設備文件:即串行端口的接口設備,例如鍵盤、鼠標等等。
套接字文件類型
這類文件通常用在網絡數據連接。可以啟動一個程序來監聽客戶端的要求,客戶端就可以通過套接字來進行數據通信。
管道文件類型
是一種很特殊的文件,主要用于不同進程的信息傳遞。當兩個進程需要進行數據或者信息傳遞時,可以使用通道文件,一個進程將需要傳遞的數據或者信息寫入管道的一端,另一進程從管道的另一端取得所需要的數據或者信息,通常管道是建立在調整緩存中。
鏈接文件類型
是一種特殊文件,指向一個真實存在的文件鏈接,類似于Windows下的快捷方式,鏈接文件的不同,又可分為硬鏈接文件和符號鏈接文件。
①ls-l/ls-ld 或者ll [ls-l —查看文件 ls-ld —查看路徑 ll ----跟ls -l 一樣]
ll anaconda-ks.cfg //看第一個字符 -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 //查看文件的詳細屬性(其中包括文件時間屬性) 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
windows里通過擴展名來區分文件類型的。linux里文件擴展名和文件類型沒有關系。但為了容易區分和兼容用戶使用windows的習慣,我們還是會用擴展名來表示文件類型。舉例如下:
● 源碼.tar、.tar.gz、.tgz、.zip、.tar.bz表示壓縮文件,創建命令一般為tar,gzip,zip等。
● .sh表示shell腳本文件,通過shell語言開發的程序。
● .pl表示perl語言文件,通過perl語言開發的程序。
● .py表示python語言文件,通過python語言開發的程序。
● .html、.htm、.php、.jsp、.do表示網頁語言的文件。
● .conf表示系統服務的配置文件。
● .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 索引節點編號:544365
文件類型 :文件類型是’-’,表示這是一個普通文件
文件權限:rw-r–r-- 表示文件可讀、可寫、可執行,文件所歸屬的用戶組可讀可執行,其他用戶可讀可執行
硬鏈接個數 表示a.txt這個文件沒有其他的硬鏈接,因為連接數是1,就是他本身
文件屬主 表示這個文件所屬的用戶,這里的意思是a.txt文件被root用戶擁有,是第一個root
文件屬組 表示這個文件所屬的用戶組,這里表示a.txt文件屬于root用戶組,是第二個root
文件大小 文件大小是3個字節
文件修改時間 這里的時間是該文件最后被更新(包括文件創建、內容更新、文件名更新等)的時間可用如下命令查看文件的修改、訪問、創建時間
[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 ----------訪問時間 Modify: 2018-01-28 20:55:27.181876154 +0800 ----------修改時間 Change: 2018-01-28 20:55:27.181876154 +0800 ----------創建時間
索引節點inode
硬盤分區,格式化、創建文件系統
被格式化的磁盤分為兩部分:第一部分是Inode 第二部分是block
block是用來存儲實際數據用的,例如:照片、視頻等普通文件數據
inode是用來存儲這些數據的屬性的(也就是ls-l的結果)
inode包含的屬性信息有文件大小、屬主、歸屬的用戶組、讀寫權限、問價類型、修改時間,還有指向文件實體指針的功能(inode節點----block的對應關系),但是唯獨不包含文件名
訪問一個文件【通過文件名找到inode---->block 】
查看inode 大小
[root@localhost ~]# dumpe2fs /dev/sda1|grep -i "Inode size" dumpe2fs 1.41.12 (17-May-2010) Inode size: 128
看完了這篇文章,相信你對“linux中有幾種文件類型”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。