目錄
FHS
文件路徑導航
ls命令
tree命令
stat命令
touch命令
命令行管理文件
mkdir命令
cp命令
mv命令
rm和rmdir命令
軟鏈接
硬鏈接
軟連接硬鏈接區別
shell擴展匹配文件
FHS
FHS采用樹形結構組織文件,定義了系統中每個區域的用途、所需要的最小構成的文件和目錄,同時還給出了例外處理與矛盾處理。
FHS定義了兩層規范:
-
定義了/下面的各個目錄應該要放什么文件數據。例如/etc應該要放置設置文件,/bin與/sbin則應該要放置可執行文件等等。
-
針對/usr及/var這兩個目錄的子目錄來定義。例如/var/log放置系統登錄文件、/usr/share放置共享數據等等。
文件路徑導航
- 顯示當前工作目錄
pwd
- 切換路徑
cd
- 切換到上一次所在目錄
cd -
- 切換到家目錄
cd
#或
cd ~
-
上一級目錄
-
用
..
表示
- 在變量定義文件的路徑時,盡量使用絕對路徑
ls命令
- -1:以單列格式展示
- -R:遞歸查看子目錄中文件
- -l:長列表格式查看文件詳細信息
- ls命令默認按文件名先后順序正向排序,使用-r選項可以反向排序,-t按時間排序
- -d:只查看對象本身
tree命令
安裝tree工具
yum install -y tree
使用tree
tree /etc/yum
- 控制查看深度
tree -L 2 /home
stat命令
查看文件的元數據屬性
stat /etc/fstab
touch命令
如果文件不存在,則創建文件。當使用-c選項時,如果文件不存在,則不會創建文件。
其余選項可通過touch --help
查看
命令行管理文件
mkdir命令
創建目錄。用-p選項可以創建多層目錄
cp命令
- 復制單個文件到目標位置
- 復制并重命名
cp /etc/hosts ./hosts-1
注意:
-
若當前目錄下有同名文件,不會提示,直接覆蓋。
-
復制多個文件時,目標只能是目錄
- -r:復制目錄
-
復制多個目錄,目標必須是已經存在的目錄
-
當前目錄下有同名目錄,則將源目錄放到相同目錄下面,而不是覆蓋當前目錄
mv命令
- 移動單個文件
mv hosts-1 ../lab1
移動多個文件,目標位置只能是目錄
- 重命名
mv hosts hosts-new
- 移動單個或多個目錄
#移動單個
mv etc ../lab1#移動多個
mv home/ yum/ yum-1/ ../lab1
rm和rmdir命令
- 刪除文件
rm hosts-new
-f選項可直接刪除
- rmdir可刪除空目錄,但無法刪除非空目錄
-r選項可遞歸刪除目錄,-fr:遞歸強制刪除目錄
軟鏈接
- 軟鏈接: 類似于windows中快捷方式,也是一種文件;用于存放源文件的路徑(位置+名字),應用最多.
查看鏈接文件
ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 Mar 7 2024 /etc/rc.local -> rc.d/rc.local
rc.d/rc.local的位置在/etc/rc.d/rc.local 可以打開/etc/rc.local文件查看到
-
ln
(link)創建軟連接或硬鏈接,默認創建硬鏈接. -
創建軟連接 :
ln -s
源文件 軟鏈接文件
#準備新的環境 new目錄
mkdir -p /dir0/new
cd /dir0/new/
#創建源文件
touch test.txt
[root@boot new]# ll
total 0
-rw-r--r--. 1 root root 0 Nov 17 14:01 test.txt
#創建軟連接
[root@boot new]# ln -s test.txt stest.txt
[root@boot new]# ll
total 0
lrwxrwxrwx. 1 root root 8 Nov 17 14:06 stext.txt -> test.txt#可以發現軟連接指向源文件
-rw-r--r--. 1 root root 0 Nov 17 14:01 test.txt
#從源文件位置寫入內容
[root@boot new]# echo 'aaa' >> test.txt
[root@boot new]# cat stext.txt
aaa
[root@boot new]# cat test.txt
aaa
#從軟連接位置寫入內容
[root@boot new]# echo 'bbb' >> stext.txt
[root@boot new]# cat stext.txt
aaa
bbb
[root@boot new]# cat test.txt
aaa
bbb
#建議使用絕對路徑創建軟連接
#創建絕對路徑的軟連接
ln -s /dir0/new/test.txt stest.txt
#因為這樣鏈接文件即使移動后能被找到,可以移動stest.txt試試
如果源文件被刪除或改名或移動走,軟連接會如何? 答:會紅色閃爍
硬鏈接
- 硬鏈接: 在同一個分區中,不同的文件的inode號碼相同了,這些文件互為硬鏈接,很少使用.
硬鏈接
#創建新的實驗文件ytest.txt
[root@boot new]# touch ytest.txt
#給新文件創建硬鏈接
[root@boot new]# ln ytest.txt ytest.txt_head
[root@boot new]# ll
#可以發現硬鏈接并沒有顯示l,我們可以發現ytest.txt與ytest.txt_head硬鏈接數量變為2了
total 4
-rw-r--r--. 1 root root 8 Nov 17 14:07 test.txt
-rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt
-rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt_head
#可以通過ll -i 查看,發現兩個文件inode是相同的
[root@boot new]# ll -i
total 4
13662 -rw-r--r--. 1 root root 8 Nov 17 14:07 test.txt
13664 -rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt
13664 -rw-r--r--. 2 root root 0 Nov 17 14:18 ytest.txt_head
#再通過兩個文件中分別加入內容是與軟鏈接的效果一致的
軟連接硬鏈接區別
-
解釋
-
軟連接(符號鏈接) softlink/symlink,類似于windows快捷方式,存放源文件的位置。
-
硬鏈接: 同一個分區中inode號碼相同的文件,互為硬鏈接。
-
創建
-
軟連接通過ln -s創建
-
硬鏈接通過ln創建。
-
特點
-
軟鏈接是比較常用的,可以給文件,目錄創建。
-
硬鏈接只能給文件創建,不能跨分區,無法給目錄創建硬鏈接,較少使用。