文件系統與目錄結構
文件系統結構
Linux下的文件類型 :
例:查看文件類型
PWD
顯示當前shell CWD的絕對路徑
-P 顯示真實物理路徑
-L 顯示連接路徑(默認)
basename :基名
dirname :目錄名
例:顯示當前工作目錄
例: 獲取/etc/sysconfig/的基名
例: 取/etc/sysconfig/的路徑名
cd
使用絕對或相對路徑:
cd /home/wang/ cd home/wang
cd ..: 切換至父目錄
cd 切換至當前用戶主目錄
cd - 切換至以前的工作目錄
例:切換到用戶家目錄
例:切換到父目錄
例:切換到/etc/sysconfig目錄下
例:切換到上一次所在的目錄
ls
列出目錄內容
例: 顯示當前目錄下所有文件
例: 顯示目錄內容的額外信息
或者
例: 遞歸顯示目錄內容
例:組合應用
stat
查看文件狀態
例: 查看issue文件的狀態,注意三個時間戳
通配符
touch
用來生成空文件,如果此文件存在,將刷新此文件的時間戳
例:創建空文件test.sh
cp
複製文件和目錄
注意:cp是cp - i的別名
直接複製不在詢問:\cp
常用選項:
練習題
每天將/etc/目錄下所有文件,備份到/data獨立的子目錄下,並要求子目錄格式爲backupYYY-mm-dd,備份過程可見
創建/data/rootdir目錄,並複製/root下所有文件到該目錄內,要求保留原有權限
三種方法:
例:將/etc/issue文件複製到/data/下改名爲issue.bak
例:複製文件/data/issue.bak並重命名爲/data/issue.bak.1
例:文件夾不能複製到文件裏面,會報錯
cp - a :
cp -v :保留過程
cp - R/r:遞歸處理,將指定目錄下的所有文件與子目錄一併處理;
例:複製/etc目錄下所有文件及其子目錄到當前目錄,並重命名爲etc_bak
MV
移動和重命名文件
用來對文件或目錄重新命名,或者將文件從一個目錄移到另一個目錄中;可以用來將源文件移至一個目標文件中,或將一組文件移至一個目標目錄中;如果目標文件不是目錄文件,則源文件名(只能有一個)會變爲此目標文件名,並覆蓋己存在的同名文件。如果源文件和目標文件在同一個目錄下,mv的作用就是改文件名。當目標文件是目錄文件時,源文件或目錄參數可以有多個,則所有的源文件都會被移至目標文件中。所有移到該目錄下的文件都將保留以前的文件名。
注意事項:移動並不是複製,mv與cp的結果不同,mv好像文件“搬家”,文件個數並未增加。而cp對文件進行復制,文件個數增加了。
常用選項:
例:將 fstab文件移動到/tmp下,(本目錄的fstab不在了)
例: 移動整個文件夾
例: 把rootdir文件夾名字重命名爲dir
rm
刪除
常用選項:
rm 是 rm-i 的別名,不再詢問:\rm
例:
先清除垃圾文件,騰出磁盤空間:
rename
批量修改文件
例:把txt文件都加上bak後綴並備份下來
解譯:找到所有以 f 開頭的文件,發現有f 開頭的txt文件,就替換成txt.bak
目錄操作:
tree
顯示目錄樹
常用選項:
例:查看/boot目錄結構
tree - d:只顯示目錄不顯示文件
mkdir
創建目錄,文件夾
常用選項
例: 創建dir3 目錄
mkdir - p:子目錄和父目錄一起創建
例:
rmdir
刪除空目錄
常用選項
例: 不能刪空目錄
rmdir - p : 遞歸刪除父空目錄
例:
rm -r :遞歸刪除目錄樹
索引節點
inode
包含文件系統所有文件列表
inode表結構:
目錄:
inode表:
ls - i :可以看出節點編號
cp和inode
rm和inode
mv和inode
硬鏈接
給同一個文件名起多個名稱
例:
符號(或軟)鏈接
例:
例: 把 /usr/sbin/apachectl文件在當前目錄下創建軟連接文件爲apachectl
理論:硬鏈接和軟鏈接的區別
2.1.本質:
硬:本質是同一個文件
軟:本質不是同一個文件
2.跨分區
3.inode
4.鏈接數
5.文件夾
6.相對路徑
7.刪除原文件
8.文件類型
file
確定文件內容
常用選項
file -b :不顯示文件名稱
例:
file -L : 查看對應軟鏈接對應文件的文件類型
例: