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 +0800Linux中檔案副檔名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
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视频教程》
以上是linux有哪些文件類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!