文件類型 (文件系統)

此頁由 Linux Wiki用戶Chenxing 於 2012年12月18日 (星期二) 07:57 的最後更改。 在linuxCook的工作基礎上。

出自Linux Wiki

提示:此文已超过 12 年(4387 天)未更新,如发现内容过时或有误,欢迎改进:)
Note.gif
同名條目:
文件類型還有其它含義,請參閱文件類型

Linux系統中,無論是常見的數據文件、可執行文件,還是一個目錄,甚至設備都以文件的形式存在。正因如此,文件在文件系統中的類型也是多樣的。

目錄

概述

文件類型縮寫及別稱

文件類型的縮寫、翻譯及別稱
文件類型 縮寫 英文 其他名稱
普通文件 - Regular file
目錄文件 d Directory file
塊特殊文件 b Block special file 塊設備文件
字符設備文件 c Character special file 字符設備文件
先進先出 p FIFO named pipe,命名管道
套接字文件 s Socket
符號鏈接 l Symbolic link 軟鏈接

各文件類型簡介

各文件類型的主要含義如下[1]

普通文件(Regular file)
普通意義上的文件,如數據文件、可執行文件等。
目錄文件(Directory file)
Linux中目錄也是一種文件。目錄文件包括了文件夾中所有文件的名字和在分區中的位置。目錄文件的權限意義也較特殊,參見文件權限
塊設備文件(Block special file)
一種提供帶緩衝的固定大小單元讀寫的設備文件。如硬盤設備(/dev/sda)及硬盤分區(/dev/hda1)等。
字符設備文件(Character special file)
此種類型文件提供無緩存的變長單元讀寫。一個設備如果不是塊設備,就是字符設備。
命名管道(named pipe或FIFO)
用於系統進程間通信的文件。
套接字文件(Socket)
進程之前通過網絡進行通信的文件。多數網絡連接都是用Socket建立的。
符號鏈接(Symbolic link)
此種文件僅是一個鏈接,詳情請參見符號鏈接


查看文件的類型

stat

stat命令用於查看一個文件有關文件系統的信息。[2]可以看到第一行最後就是文件類型。

$ stat /dev/xconsole
 File: “/dev/xconsole”
 Size: 0         	Blocks: 0          IO Block: 4096   先进先出
Device: dh/13d	Inode: 6817        Links: 1
Access: (0640/prw-r-----)  Uid: (    0/    root)   Gid: (    4/     adm)
Access: 2008-09-28 14:38:29.574820703 +0800
Modify: 2008-09-28 14:40:30.630821133 +0800
Change: 2008-09-28 14:40:30.630821133 +0800


ls

ls命令就可以給出文件的類型,用法是:

ls -l

顯示的結果中每行的第一個字符就是文件類型。

-rw-r--r-- 1 chenxing chenxing   903 2007-08-02 vga.wiki
drwxr-xr-x 2 chenxing chenxing  4096 09-28 19:52 wpbin
prw-r----- 1 root adm              0 09-28 14:40 xconsole
crw-rw-rw- 1 root root        1,   5 2008-09-28 zero
lrwxrwxrwx 1 root root             5 2008-09-28 root -> hda11
srw-rw-rw- 1 root root             0 09-28 14:38 log
brw-rw---- 1 root disk        3,   0 2008-09-28 hda

依據文件類型查找文件

find命令的-t參數可以用於查找指定類型的文件。

參考資料

  1. Advanced Programming in the UNIX® Environment: Second Edition, By W. Richard Stevens, Stephen A. Rago
  2. stat man page

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换