文件系統是Linux的十分基礎的知識,同時也是學習Linux必不可少的知識。本文將簡單的介紹一下Linux的文件系統,主要包括FHS文件層級結構、Linux的文件類型及對應的顏色標識、man幫助手冊頁以及命令編輯特性的快捷鍵的介紹。這僅僅是屬于自己的一個總結,以后會對深入學習Linux有一定的幫助吧。
如有不對之處還請幫忙指出。
FHS文件層級結構
FHS(Filesystem Hierarchy Standard)文件系統目錄標準始于1993年8月。
FHS的作用:
1.軟件用戶可以預測已安裝文件和文件夾的位置;
2.用戶可以預測已安裝文件和文件夾的位置
FHS文檔的使用者主要可以分為三類:
1.創建與FHS兼容并在與FHS兼容發行版中運行應用程序 的獨立軟件提供商
2.提供與FHS兼容系統的操作系統的創建者;
3.理解和維護系統的FHS兼容性的用戶。
FHS文檔適用于有限的范圍:
1.本地文件的本地放置位置是一個因地制宜的事情,FHS不會試圖強制系統管理員放置在指定位置。
2.當文件放置位置需要多個組織,如本地網站、發行版、應用程序、文檔等等之間協調時,FHS會列出問題。
FHS文件層級結構標準:
/:根目錄萬物起源。
/root:管理員的家目錄
/bin:所有用戶可用的基本命令程序文件,包含系統啟動和運行所必需的二進制程 序;
/sbin:供系統管理使用的工具程序。此目錄包含“系統”二進制文件。它們是完成 重大系統任務的程序,通常為超級用戶保留。
/boot:系統啟動的相關文件,引導加載器必須用到的各靜態文件。
/dev:包含設備節點的特殊目錄,存儲特殊文件或設備文件:字符設備(線性設備)、塊設備(隨機設備)。在這個目錄里,內核維護著它支持的設備
etc:包含所有系統程序的配置文件,且只能為靜態;它也包含yixieshell腳本,在啟動系統時,這些腳本會運行每個系統服務。這個目錄中的任何文件應該是可讀文本文件。 如/etc/crontab:定義自動運行的任務;/etc/fstab:包含存儲設備的列表,以及與它們相關的掛載點;/etc/passwd:包含用戶帳號列表。
/home:普通用戶家目錄集中位置,在通常的配置環境下,系統會在此目錄下,給每個用戶分配一個目錄。普通只能在它們自己的目錄下創建文件。
/lib(64):包含核心系統程序所需的庫文件,為系統啟動或根目錄系統上的應用程序提供共享庫,以及為內核提供內核模塊;如:/lib/libc.so.*:動態連接的C庫;/lib/ld*:運行時鏈接器/加載器;/lib/modules:用于存儲內核模塊的目錄。
/media:此目錄包含可移除媒體(便攜式)設備掛載點,如USB驅動器,CD-ROM等。這些設備連接到計算機之后,會自動地掛在到這個目錄節點下。
/mnt:其它文件系統的臨時掛載點。
/opt:此目錄被用來安裝“可選的”軟件,主要是用來存儲可能安裝在系統中的商業軟件產品。
/srv:當前主機為服務提供的數據。
/tmp:存儲臨時文件的目錄,可供所用用戶執行寫入操作,有特殊權限。
/proc:從存儲在硬盤文件的意義來說,它不是真正的文件系統,法爾它是由內核維護的虛擬文件系統。目錄下包含的文件是可讀的,它們會告訴你內核是怎樣監管計算機的。
/usr:Linux系統資源管理、全局共享的只讀數據路徑,它包含普通用戶所需要的所有程序和文件;如/usr/bin:包含系統安裝的可執行程序;/usr/lib:包含由/usr/bin目錄中的程序所用的共享庫;/usr/local:通常由源碼編譯的程序會安裝在/usr/local/bin目錄下。新安裝的Linux系統中,會存在這個目錄,但卻是空目錄,直到系統管理員安裝本地應用程序或安裝第三方程序;/usr/sbin:包含許多系統管理程序;/usr/share:包含許多由/usr/bin目錄中程序使用的共享數據,包括默認的配置文件,圖標,桌面背景,音頻文件。
/var:此目錄是可能需要改動文件存儲的地方。各種數據庫,假脫機文件,用戶郵件等,都駐扎在這里。 如/var/log:此目錄包括日志文件,各種系統活動的記錄。這個文件非常重要,并且要時刻檢測它們,這其中最重要的文件是/var/log/messages。
Linux文件類型及對應的顏色標識:
字符表示 |
顏色 |
文件類型 |
— |
白色 |
普通可執行文件 |
d |
藍色 |
目錄文件 |
B |
黃色 |
塊設備文件 |
C |
黃色 |
字符設備文件 |
L |
淺綠色 |
鏈接文件 |
P |
暗黃色 |
管道文件 |
s |
粉紅色 |
套接字(socket)文件 |
注意:還有一些綠色為可執行文件,紅色為壓縮文件(rmp)
man幫助手冊頁
man手冊保存在/usr/share/man目錄下,每一節的描述如下:
man 1:用戶程序可以公開訪問的命令的描述手冊頁都包含在此章。絕大多數用 戶需要用到的程序文檔都在這里。
man 2:系統調用手冊頁,描述了所有的系統調用(請求內核的操作)如:open,
write之類的。
man 3:庫函數和子程序,描述了不直接調用內核服務的庫例程,如printf,
fread等。
man 4:特殊文件章節,有關驅動程序的功能和系統中對網絡的支持,即這里包含 在/dev下的設備文件和對網絡協議支持的內核接口的描述。
man 5:文件的格式,這里包括各種頭文件,程序輸出文件和系統文件。
man 6:本章介紹游戲的演示和一般簡單的程序。
man 7:雜項手冊頁,包含一些難以分類的手冊,附件還有一些變量都在這。如 environ全局變量。
man 8:記錄系統管理員用于系統操作和維護的系統管理程序其他偶爾被用戶用到的 程序也記錄在這里。
man 9:與內核有關的其它文件。
在shell中輸入man+數字+命令/函數即可查看相關的函數和命令,下面是man常用的命令:
man -f command 顯示man程序的所有手冊 例如:man -f kill ;
man n command 顯示指定章節的手冊 ;
man -a command 顯示所有章節的手冊 ;
man -w command 顯示手冊所在的路徑;
man -aw command 結合-a參數顯示所有章節的手冊路徑;
手冊頁一般由以下幾部分組成:NAME:命令名稱; SYNOPSIS:命令的語法格式; DESCRIPTION:對命令功能的描述; OPEIONS:說明該命令所提供的選項和參數; EXAMPLES:對命令如何使用給出的例子 FILES 該手冊頁的默認位置; AUTHOR:該軟件的作者; REPORTING BUGS:告訴用戶將他們發現的BUGS通過郵件發送給開發者; COPYRIGHT:版權信息。
在手冊頁的最下面一行,可以輸入少量的命令(這些命令很重要,其實和Vi下面編輯程序的快捷鍵很一致的),命令如下:
j:向下滾動一行; k:向上滾動一行; g:跳轉到手冊的第一行;
G:跳轉到手冊的最后一行;n:同方向查找的下一次匹配,可多次使用;
/String + Enter:在手冊頁中查找第一個Sting;
N:反方向查找的下一次匹配,可多次使用;
h:獲得手冊頁的幫助 也可以使用如:ctrl+f,ctrl+b來翻一整屏;
q:退出手冊頁。
命令編輯特性快捷鍵
Ctrl+a:跳轉至命令行行首
Ctrl+e:跳轉至命令行行尾
Ctrl+u:刪除行首至光標所在處之間的所有字符;
Ctrl+k:刪除光標所在處至行尾的所有字符;
Ctrl+l:清屏,相當于clear
Ctrl-A:相當于HOME 鍵,用于將光標定位到本行最前面
Ctrl-E:相當于End 鍵,即將光標移動到本行末尾
Ctrl-B:相當于左箭頭鍵,用于將光標向左移動一格
Ctrl-F:相當于右箭頭鍵,用于將光標向右移動一格
Ctrl-D:相當于Del 鍵,即刪除光標所在處的字符
Ctrl-K:用于刪除從光標處開始到結尾處的所有字符
Ctrl-L:清屏,相當于clear 命令
Ctrl-R:進入歷史命令查找狀態,然后你輸入幾個關鍵字符,就可以找到你使用
過的命令
Ctrl-U:用于刪除從光標開始到行首的所有字符。一般在密碼或命令輸入錯誤時
常用
Ctrl-H:刪除光標左側的一個字符
Ctrl-W:用于刪除當前光標左側的一個單詞
Ctrl-P:相當于上箭頭鍵,即顯示上一個命令
Ctrl-N:相當于下箭頭鍵,即顯示下一個命令
Ctrl-T:用于顛倒光標所在處字符和前一個字符的位置。(目前不知道有什么作
用,哪位朋友知道?)
Ctrl-J:相當于回車鍵
Alt-.:用于提取歷史命令中的最后一個單詞。
Alt-BackSpace:用于刪除本行所有的內容,基本上和Ctrl-U 類似。
Alt-C:用于將當前光標處的字符變成大寫,同時本光標所在單詞的后續字符都變
成小寫。
Alt-L:用于將光標所在單詞及所在單詞的后續字符都變成小寫。
Alt-U:用于將光標所在單詞的光標所在處及之后的所有字符變成大寫。
原創文章,作者:lyx,如若轉載,請注明出處:http://www.www58058.com/52219