第四章 文件管理
阿新 • • 發佈:2017-11-25
字母 margin ble 可讀的 use 應用 方式 訪問 字符
文件管理
文件系統
文件中兩類數據
文件命名規則
文件體系結構
文件類型
文件通配符
文件系統:
(將01010機器組織用戶可讀的文件)
- 文件和目錄被組織成一個單根倒置樹結構
- 文件系統從根目錄下開始,用“/”表示
- 根文件系統(rootfs):root filesystem
- 文件名稱區分大小寫(不是Linux系統對大小寫敏感,而是文件系統對大小寫敏感)
- 以.開頭的文件為隱藏文件
- 路徑分隔符 /
文件有兩類數據:
- 元數據:metadata,文件的屬性信息。
- 數據:data,文件的內容。
文件名規則:
- 文件名最長255個字節
- 包括路徑在內文件名稱最長4095個字節
- 藍色-->目錄 綠色-->可執行文件 紅色-->壓縮文件 淺藍色-->鏈接文件 (相當於Windows的快捷方式) 灰色-->其他文件
- 除了斜杠和NUL,所有字符都有效.但使用特殊字符的目錄名和文件不推薦使用,有些字符需要用引號來引用它們。
- 標準Linux文件系統(如ext4),文件名稱大小寫敏感。例如:MAIL,Mail,mail, mAiL
文件體系結構:
- /boot:引導文件存放目錄,內核文件(vmlinuz)、引導加載器(bootloader, grub)都存放於此目錄
- /bin:供所有用戶使用的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序
- /sbin:管理類的基本命令;不能關聯至獨立分區,OS啟動即會用到的程序
- /lib:啟動時程序依賴的基本共享庫文件以及內核模塊文件(/lib/modules)
- /lib64:專用於x86_64系統上的輔助共享庫文件存放位置
- /etc:配置文件目錄
- /home/USERNAME:普通用戶家目錄
- /root:管理員的家目錄
- /media:便攜式移動設備掛載點
- /mnt:臨時文件系統掛載點
- /dev:設備文件及特殊文件存儲位置
- b: block device,隨機訪問
- c: character device,線性訪問
- /opt:第三方應用程序的安裝位置
- /srv:系統上運行的服務用到的數據
- /tmp:臨時文件存儲位置
- /usr: universal shared, read-only data
- bin: 保證系統擁有完整功能而提供的應用程序
- sbin:
- lib:32位使用
- lib64:只存在64位系統
- include: C程序的頭文件(header files)
- share:結構化獨立的數據,例如doc, man等
- local:第三方應用程序的安裝位置
- bin, sbin, lib, lib64, etc, share
- /var: variable data files
- u cache: 應用程序緩存數據目錄
- u lib: 應用程序狀態信息數據
- u local:專用於為/usr/local下的應用程序存儲可變數據;
- u lock: 鎖文件
- u log: 日誌目錄及文件
- u opt: 專用於為/opt下的應用程序存儲可變數據;
- u run: 運行中的進程相關數據,通常用於存儲進程pid文件
- u spool: 應用程序數據池
- u tmp: 保存系統兩次重啟之間產生的臨時數據
- /proc: 用於輸出內核與進程信息相關的虛擬文件系統(對應內存中數據)
- /sys:用於輸出當前系統上硬件設備相關信息虛擬文件系統(和硬件相關)
- /selinux: security enhanced Linux,selinux相關的安全策略等信息的存儲位置
- /lost+found:和文件系統有關,默認的ext系列的掛載點下面都有
Linux下的文件類型:
- -:普通文件
- d: 目錄文件
- b: 塊設備
- c: 字符設備
- l: 符號鏈接文件
- p: 管道文件pipe
- s: 套接字文件socket
文件通配符:
(匹配文件名稱)
- *匹配零個或多個字符
- ?匹配任何單個字符
- ~ 當前用戶家目錄
- ~sunan 用戶sunan家目錄
- ~+ 當前工作目錄
- ~-前一個工作目錄
- [0-9]匹配數字範圍
- [a-z]:小寫字母
- [A-Z]:大寫字母
- [sunan]匹配列表中的任何的一個字符
- [^sunan]匹配列表中的所有字符以外的字符
預定義的字符類:man 7 glob
- [:digit:]:任意數字,相當於0-9
- [:lower:]:任意小寫字母,相當於a-z
- [:upper:]: 任意大寫字母,相當於A-Z
- [:alpha:]: 任意大小寫字母
- [:alnum:]:任意數字或字母
- [:blank:]:水平空白字符
- [:space:]:水平或垂直空白字符
- [:punct:]:標點符號
- [:print:]:可打印字符
- [:cntrl:]:控制(非打印)字符
- [:graph:]:圖形字符
- [:xdigit:]:十六進制字符
第四章 文件管理