一、Linux的目錄結構 : Windows是以存儲介質為主的,主要以盤符及分區來實現文件的管理,然後之下才是目錄。但Linux的磁碟從邏輯上來說是掛載在目錄上的,每個目錄不僅能使用本地磁碟分區的文件系統,也可以使用網路文件系統NFS伺服器載入某特定目錄等。本質上來說,無論是目錄結構還是操作系統內核 ...
一、Linux的目錄結構:
Windows是以存儲介質為主的,主要以盤符及分區來實現文件的管理,然後之下才是目錄。但Linux的磁碟從邏輯上來說是掛載在目錄上的,每個目錄不僅能使用本地磁碟分區的文件系統,也可以使用網路文件系統NFS伺服器載入某特定目錄等。本質上來說,無論是目錄結構還是操作系統內核,其實都是存儲在磁碟上的。
1.FHS標準
Filesystem Hierarchy Standard, 文件系統層次結構標準。FHS定義了兩層規範,
1. /下的各個目錄應該放什麼文件數據,比如/etc防止設置文件,/bin與/sbin放置可執行文件等。
2. 對/usr及/var兩個子目錄的定義。比如/var/log放置系統登錄文件,/usr/share放置共用數據等。
FHS文檔
或者直接執行以下命令:
tree /
目錄定義為四種交互作用形態
Notes: 目錄本身也是文件
ls -a
查看隱藏文件
-表示上一次所在目錄, ~表示當前用戶的home目錄,pwd獲取當前所在路徑(絕對路徑)。
相對路徑以"."為起點,如果是在/目錄下,可以省略"."。
二、Linux文件的基本操作
touch命令主要是用來更改已有文件的時間戳的,但不加參數的情況下,只指定文件名,則為創建空白文件,不會覆蓋已有同名文件。
mkdir可以創建一個空目錄,也可以指定創建的目錄的許可權屬性。-p
參數,同時創建父目錄,如果該父目錄不存在。
cp複製文件或者目錄到指定目錄,如果是複製目錄的話,最好加上-r或-R
參數,表示遞歸複製。
rm刪除文件,如果是只讀文件的話,可以加上-f
參數,強制刪除。刪除目錄則需要加上-r或-R
參數。
mv移動文件, mv 源目錄文件 目的目錄
, 重命名文件,mv 舊的文件名 新的文件名
。
rename批量重命名,需要用perl的正則表達式。
查看文件:
執行Shell命令時,自動打開stdin, stdout, stderr
。
cat正序顯示文件內容,tac倒序顯示,加參數-n
表示行號,nl添加行號並列印。幾個參數:
-b: 指定添加行號的方式:
-b a: 無論是否為空行,同樣列出行號,同cat -n
-b t: 只列出非空行編號,預設為這種
-n: 設置行號的樣式,主要有三種:
-n ln: 行號在左端顯示
-n rn: 右端顯示,且不加0
-n rz: 右端顯示,且加0
-w: 行號欄位占用的位數,預設六位
more和less
命令分頁查看文件,more
命令,只能向一個方向滾動,less
基於more
和vi
。打開文件後,用Enter
鍵向下滾動一行,Space
鍵向下滾動一屏,h
顯示幫助,q
退出。
head和tail
命令只查看頭10行和末10行,也可以用-n
命令指定行數。tail
還有個參數-f
可以實現不斷地讀取某個文件的內容並且顯示,可以實現動態查看日誌,起到監視作用。
file
可以查看文件的類型。
本文原載於實驗樓