一、描述Linux發行版的系統目錄名稱命名規則以及用途。
(1)目錄命名規則
Linux文件系統分層標準(Filesystem Hierarchical standard,FHS)定義了Linux目錄樹的結構,它命名一組標準目錄並指定它們的用途。
在同一路徑下兩個目錄或者文件的名稱不能相同
目錄名或者文件名的總長度不能超過255個字符。
包括路徑在內文件名稱最長不超過4095個字節。
除了「/」與NUL,全部字符都有效,但使用特殊字符的目錄名和文件名不推薦使用,有些字符須要用引號來引用他們。
標準linux文件系統(如ext4)文件名稱區分大小寫,以點 「.」開頭的文件爲隱藏文件。
(2)目錄的用途
/(根文件系統):根文件系統是文件系統的頂級目錄。它必須包含在掛載其它文件系統以前引導Linux系統所需的全部文件。系統啓動後,將把全部其它文件系統按照標準的、定義明確的掛載點做爲根文件系統的子目錄掛在。
/bin:該目錄包含用戶可執行文件。
/boot:不是根的組成部分,包含引導Linux計算機所須要的靜態引導加載程序、內核可執行文件和配置文件。
/dev:該目錄包含鏈接到系統的每一個硬件設備的設備文件。這些不是設備驅動程序,而是表明計算機上每一個設備的文件,以便於訪問這些設備。
/etc:包含主機的各類系統配置文件。
/home:不是根的組成部分。用戶文件的主存儲目錄,每一個用戶一般在該目錄下有一個子目錄,一些組織可能會選擇其它位置做爲用戶的主目錄。某些服務或者服務器應用程序也可使用不一樣的位置做爲主目錄,例如:Apache Web服務器使用/var/www。能夠查看 /etc/passwd文件以查看這些用戶的主目錄位置,使用中央文件服務器安裝的系統也可能將這些遠程主目錄放在除/home以外的掛載點。
/lib包含引導系統所需的共享庫文件。、
/media: 不是根的組成部分。安裝外部可移動媒體設備,例如可能鏈接到主機的U盤。
/mnt:不是根的組成部分。管理員修復或者處理文件系統時可使用的常規文件系統(如不可移動介質)的臨時掛載點。
/opt:不是根的組成部分。能夠在此處找到供應商提供的應用程序等可選文件。
/proc:虛擬文件。此虛擬文件系統用於公開對內部內核信息和可編輯調整參數的訪問。
/root:是root用戶的家目錄。
/sbin:系統二進制文件,用於系統管理的可執行文件。
/selinux:僞文件系統僅在啓用SElinux時使用,激活後,此文件系統包含關鍵的SElinux工具和文件。
/sys:虛擬文件。此虛擬文件系統包含有關USB和PCI總線以及每一個附加設備信息。
/tmp:不是根的組成部分。臨時目錄,由操做系統和許多程序用於存儲臨時文件,用戶也能夠臨時存儲文件,注意:此處存儲的文件可能隨時被刪除,不會另行通知。
/usr:不是根的組成部分。這是可共享的只讀文件,包括可執行的二進制文件和庫、man【ual】文件和其它類型文檔。
/usr/local:不是根的組成部分。一般是shell程序或編譯程序及其它支持的配置文件,是在局部編寫的,並由系統管理員或主機的其它用戶使用。
/var:不是根的組成部分。可變數據文件存儲在此處,包括日誌文件、mysql和其它數據庫文件、web服務器數據文件、電子郵件收件箱等內容。
二、描述文件的元數據信息有哪些,分別表示什麼含義,如何查看?如何修改文件的時間戳信息?
文件的元數據是指文件的屬性、大小、建立的時間、訪問時間、屬主與屬組等信息。用stat命令能夠查看文件的元數據,如圖:
node
File:表明文件名
Size:大小
Blocks:8表明8個數據塊
IO Block:4096 普通文件
Device:設備名稱
Inode:Inode節點號
Links:連接數
Access:訪問權限
Uid:屬主及屬主Uid
Gid:屬組及屬組的Gid
Context:
Access:訪問時間
Modify:修改時間
Change:改變時間
修改文件的時間戳用touch命令來進行修改。
touch [-acfm][-d<日期時間>][-r<參考文件或目錄>] [-t<日期時間>][--help][--version][文件或目錄…]mysql
選項:
a:改變檔案的讀取時間記錄。
c:假如目的檔案不存在,不會創建新的檔案。與 --no-create 的效果同樣。
d 設定時間與日期,可使用各類不一樣的格式。
f:不使用,是爲了與其餘 unix 系統的相容性而保留。
r 使用參考檔的時間記錄,與 --file 的效果同樣。
m 改變檔案的修改時間記錄。
t 設定檔案的時間記錄,格式與 date 指令相同。
--no-create 不會創建新檔案。
--help 列出指令格式。
--version 列出版本訊息。
不適用任何參數,直接執行touch w.txt,若文件不存在則新建文件,若文件存在在更新文件時間戳。linux
執行touch -a w.txt 修改文件的訪問時間。web
執行touch -m w.txt 修改文件的修改時間。sql
三、總結軟鏈接和硬鏈接區別,並用實例操做說明。
硬連接:新建的文件是已經存在的文件的一個別名,當原文件刪除時,新建的文件仍然可使用
軟連接:也稱爲符號連接,新建的文件以「路徑」的形式來表示另外一個文件。
硬連接和原來的文件沒有什麼區別,並且共享一個 inode 號(文件在文件系統上的惟一標識);而軟連接不共享 inode,也能夠說是個特殊的 inode,因此和原來的 inode 有區別。
軟連接的原始路徑必定是相對於軟鏈接的路徑。軟連接刪除須要注意,rm -rf w.txt /(後面的/加與不加刪除的不同,不加則刪除軟連接自己,若加/刪除軟連接的內容)
硬連接不支持跨分區,硬連接不支持對目錄進行建立,軟連接支持對目錄建立。建立一個硬連接,文件的連接數會增加,建立一個軟連接文件的連接數不會改變。軟硬連接的文件類型不一樣,軟連接的文件類型爲連接文件爲l。
使用ln命令進行軟硬連接的建立。
ln [參數][源文件或目錄][目標文件或目錄]
選項:
-b 刪除,覆蓋之前創建的連接
-d 容許超級用戶製做目錄的硬連接
-f 強制執行
-i 交互模式,文件存在則提示用戶是否覆蓋
-n 把符號連接視爲通常目錄
-s 軟連接(符號連接)
-v 顯示詳細的處理過程
使用s選項創建的是軟連接,如圖:shell
不用選項創建的連接爲硬連接,如圖:數據庫
若是跨分區建立硬連接會有以下提示:vim
四、Linux上的文件管理類命令都有哪些,其經常使用的使用方法及其相關示例演示。
cd命令
功能:改變文件路徑
用法:cd [選項] [參數]
選項:
-p 若是要切換到的目標目錄是一個符號鏈接,直接切換到符號鏈接指向的目標目錄
-L 若是要切換的目標目錄是一個符號的鏈接,直接切換到字符鏈接名錶明的目錄,而非符號鏈接所指向的目標目錄。服務器
ls命令
功能:列出當前目錄內的文件
用法:ls [參數] [目錄名]
選項:
-a 顯示全部文件,包含隱藏文件
-A 顯示全部文件,包含隱藏文件,但不包含.及..
-l 顯示爲long format(長格式),列出文件的類型、權限、連接數、owner、group、大 小,時間,名字
-d 不展開目錄,只顯示目錄自身,通常與-l配合使用以顯示目錄自身的屬性信息(只顯示當前目錄的內容)
-1 數字1,成列顯示內容
atime 訪問時間
mtime 數據修改時間 (寫入,修改數據mtime改變,mtime改變ctime必改變)
ctime 元數據修改時間 (修改權限的時候只有ctime改變)
示例:ide
stat命令
功能:查看文件的元數據
用法:stat(選項)(參數)
選項:
-L支持符號連接
-f顯示文件系統的信息
-t以簡潔的方式輸出
--help顯示幫助信息
--version顯示工具版本信息
touch命令
功能:建立新文件或者修改時間戳
用法:touch [選項] 文件
選項:
-a:只修改文件的access time
-m:只修改文件的modify time
-c:不建立不存在的文件(當touch後操做多個文件時,不存在的文件將不會被建立)
-d:使用指定的日期時間,而非如今的時間,可使用各類不一樣的格式。
-t:將時間修改成參數指定的日期,如:07081556表明7月8號15點56分
-r file:使用指定file文件的時間戳(access,modify)更新文件的時間戳(access,modify)
示例:
cp命令
功能:用來將一個或多個源文件或者目錄複製到指定的目的文件或目錄。
用法:cp[選項][ 參數]
選項:
-a:此參數的效果和同時指定"-dpR"參數相同
-d:當複製符號鏈接時,把目標文件或目錄也創建爲符號鏈接,並指向與源文件或目錄鏈接的原始文件或目錄
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件以前先詢問用戶;
-l:對源文件創建硬鏈接,而非複製文件
-p:保留源文件或目錄的屬性
-R/r:遞歸處理,將指定目錄下的全部文件與子目錄一併處理
-s:對源文件創建符號鏈接,而非複製文件
-u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才複製文件
-S:在備份文件時,用指定的後綴「SUFFIX」代替文件的默認後綴
-b:覆蓋已存在的文件目標前將目標文件備份
-v:詳細顯示命令執行的操做。
示例:
mv命令
功能:是move的縮寫,能夠用來移動文件或者將文件更名(move (rename) files),是Linux系統下經常使用的命令,常常用來備份文件或者目錄。
用法:mv [選項] 源文件或目錄 目標文件或目錄
選項:
-b :若需覆蓋文件,則覆蓋前先行備份
-f :force 強制的意思,若是目標文件已經存在,不會詢問而直接覆蓋
-i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋
-u :若目標文件已經存在,且 source 比較新,纔會更新(update)
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用於移動多個源文件到一個目錄的狀況,此時目標目錄在前,源文件在後。
rm命令
功能:刪除一個目錄中的一個或多個文件或目錄,它也能夠將某個目錄及其下的全部文件及子目錄均刪除
用法:rm [選項] 文件
選項:
-f, --force 忽略不存在的文件,從不給出提示
-i, --interactive 進行交互式刪除
-r, -R, --recursive 指示rm將參數中列出的所有目錄和子目錄均遞歸地刪除
-v, --verbose 詳細顯示進行的步驟
--help 顯示此幫助信息並退出
--version 輸出版本信息並退出
示例:
五、複製/etc/profile至/tmp/目錄,用查找替換命令刪除/tmp/profile文件中的 行首的空白字符
使用cp /etc/profile /tmp/profile 將該文件拷貝到/tmp目錄中
使用vim profile 文件打開
在底線命令模式執行查找替換命令:%s/^\s+//g
六、在vim中設置tab縮進爲4個字符/etc/vimrc設置可對全部用戶進行tab縮進,在~/.vimrc可對本用戶進行設置。Vim /etc/vimrc打開該文本,在文本里面輸入set tabstop=4,而後保存退出。