① 關於linux文件系統的目錄樹結構
Linux操作系統中的主要目錄及目錄內容由文件系統層次結構標准(英語:Filesystem Hierarchy Standard,FHS)定義。
在FHS中,所有的文件和目錄都出現在根目錄"/"下,即使他們存儲在不同的物理設備中。但是請注意,這些目錄中的一些可能或可能不會在Linux系統上出現,這取決於系統是否含有某些子系統,例如 X Window系統 的安裝與否。
下面是FHS中所定義的一些目錄,和目錄的描述:
/bin 二進制可執行命令
/dev 設備特殊文件
/etc 系統管理和配置文件
/etc/rc.d 啟動的配置文件和腳本
/home 用戶主目錄的基點,比如用戶user的主目錄就是/home/user,可以用~user表示
/lib 標准程序設計庫,又叫動態鏈接共享庫,作用類似windows里的.dll文件
/sbin 系統管理命令,這里存放的是系統管理員使用的管理程序
/tmp 公用的臨時文件存儲點
/root 系統管理員的主目錄
/mnt 系統提供這個目錄是讓用戶臨時掛載其他的文件系統。
/lost+found 這個目錄平時是空的,系統非正常關機而留下「無家可歸」的文件(windows下叫什麼.chk)就在這里
/proc 虛擬的目錄,是系統內存的映射。可直接訪問這個目錄來獲取系統信息。
/var 某些大文件的溢出區,比方說各種服務的日誌文件
/usr 最龐大的目錄,要用到的應用程序和文件幾乎都在這個目錄。其中包含:
/usr/x11r6 存放x window的目錄
/usr/bin 眾多的應用程序
/usr/sbin 超級用戶的一些管理程序
/usr/doc linux文檔
/usr/include linux下開發和編譯應用程序所需要的頭文件
/usr/lib 常用的動態鏈接庫和軟體包的配置文件
/usr/man 幫助文檔
/usr/src 源代碼,linux內核的源代碼就放在/usr/src/linux里
/usr/local/bin 本地增加的命令
/usr/local/lib 本地增加的庫
② linux的文件系統是採用階層式的什麼結構
Linux下的文件系統為樹形結構,入口為/ 樹形結構下的文件目錄: 無論哪個版本的Linux系統,都有這些目錄,這些目錄應該是標準的。各個Linux發行版本會存在一些小小的差異,但總體來說,還是大體差不多。
1、用戶主目錄
當注冊進入系統時,主目錄就是當前工作目錄。主目錄往往位於/home目錄之下,並且與注冊名相同,例如,/home/mengqc。通常主目錄包含子目錄、數據文件,以及用於注冊環境的配置文件。
2、絕對路徑和相對路徑
什麼情況下使用絕對路徑名,什麼情況下使用相對路徑名,取決於哪種方式涉及到的目錄更少。路徑短,不僅鍵盤輸入少,而且節省系統搜索路徑的時間,提高執行效率。
③ 【文件系統】目錄結構及文件基本操作
Linux目錄結構和Windows目錄結構從實現機制來看是完全不同的:一種不同體現在目錄與存儲介質(磁碟,內存,DVD等)的關繫上, Windows一直是以存儲介質為主的 ,主要以盤符(C盤,D盤...)及分區來實現文件管理,然後下一層才是目錄,所以目錄就顯得不是那麼重要了,除系統文件意外的用戶文件放在任何地方任何目錄都是沒有多大關系的。 UNIX/Linux恰好相反,UNIX是以目錄為主的,Linux也繼承了這一優良特性 。Linux是以樹形目錄結構的形式來構建整個系統的,可以理解為一個用戶可操作系統的骨架。無論是目錄結構還是操作系統內核都是存儲在磁碟上的,但從邏輯上來說Linux的磁碟是「掛在」目錄上的,每一個目錄不僅能使用本地磁碟分區的文件系統,也可以使用網路上的文件系統,比如利用網路文件系統(NFS)載入某個特定目錄等。
Linux的目錄結構雖然復雜,但是它其中大部分目錄結構是規定好了的,是符合FHS標準的,當你掌握好後,你的一切操作都會變得盡然有序。
FHS(英文:Filesystem Hierarchy Standard 中文:文件系統層次結構標准),多數Linux版本採用這種文件組織形式。FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄,同時還給出了例外處理與矛盾處理。
FHS定義了兩層規范:
FHS詳細規范可參考: FHS_2.3 標准文檔
最直觀的查看系統目錄機構的方法是通過 tree 命令:
FHS是根據以往無數Linux用戶和開發者的經驗總結出來的,並且會持續更新,FHS依據文件系統使用的平凡與否以及是否允許用戶隨意改動(注意,不是不能,是能否隨意),將目錄定義為四種交互作用的形態,如下表所示:
使用 cd 命令可以切換目錄,在Linux裡面使用 . 表示當前目錄, .. 表示上一級目錄(以 . 開頭的文件都是隱藏文件,所以這兩個目錄都是隱藏的,可以通過 ls -a 命令查看隱藏文件), - 表示上一次所在目錄, ~ 通常表示當前用戶的「home」目錄,使用 pwd 可以獲取當前所在絕對路徑。
相對路徑實際山並沒有加上當前目錄的那個「.」,而是直接以目錄名開頭,因為usr目錄是當前目錄的子目錄,;如果是當前目錄的上一級目錄,則需要使用「..」。
提示:在進行目錄切換過程中,請多次使用 Tab 鍵自動補全,可避免輸入錯誤,連續按兩次 Tab 可以顯示出全部候選結果
rename 是先使用第二個參數的通配符匹配所有後綴為 .txt 的文件,然後使用第一個參數提供的正則表達式將匹配的這些文件的 .txt 後綴替換成 .c ,這一點可以參考 sed 命令。
標准輸入輸出:當我們執行一個shell命令行時通常會自動打開三個標准文件:標准輸入文件(stdin),默認對應終端的鍵盤;標准輸出文件(stdout)和標准錯誤輸出文件(stderr),這兩個文件都對應被重定向到終端的屏幕。進程從標准輸入文件中得到的輸入數據,將正常輸出數據輸出到標准輸出文件,而將錯誤信息送到標准錯誤文件中。
在Linux下編輯文件通常會直接使用專門的命令行編輯器(比如:emacs,vim,nano)。