2021-05-12 14:32:11
Linux特殊目錄,絕對路徑和相對路徑
2020-06-16 16:35:08
1.特殊目錄“ . ”和“ .. ”
在每個目錄下, 都會固定存在兩個特殊目錄, 分別是.和..的目錄。
一個點代表的是當前目錄, 兩個點代表的是當前目錄的上層目錄。
注意: 在Linux下所有以點開始的檔案都是"隱藏檔案", 對於這類檔案, 只使用命令ls -l是看不到的, 必須要使用ls -la才可以看到,如下所示:
2.絕對路徑
Linux系統採用了目錄樹的檔案組織結構, 在Linux下每個目錄或檔案都可以從根目錄處開始尋找, 比如: /usr/bin目錄。
這種從根目錄開始的全路徑被稱為"絕對路徑", 絕對路徑一定是以 “/” 開頭的。
如何確認當前所在的目錄, 可以使用pwd命令檢視:
[root@gong ~]# cd /usr/local/
[root@ local]# pwd
/usr/local
3.相對路徑
相對路徑, 不以“/”開頭的路徑
相對路徑
[root@gong usr]# cd ./local/
[root@gong /etc/sysconfig]# cd ../ssh/
[root@gong /etc/ssh]# cd ../../bin
[root@gong ~]# useradd oldboy
[root@gong ~]# ls /home/oldboy/
[root@gong ~]# ls ~/
[root@gong ~]# ls ~/file1
[root@gong ~]# ls ~/zls/file1
4.cd命令常見用法
cd | 切換至當前使用者家目錄 |
---|---|
cd - | 切換上次所在目錄 |
cd ~ | 切換至當前使用者家目錄 |
cd . | 代表當前目錄,一般在拷貝、移動情況下使用 |
cd .. | 切換至當前目錄的上級目錄 |
5.建立目錄mkdir
-m | 建立目錄時,指定許可權(很少用,幾乎不用) |
---|---|
-p | 如果目錄已存在則不會報錯,遞回建立 |
-v | 列印出建立過程資訊 |
建立目錄
[root@gong ~]# mkdir dir1
建立目錄並給許可權
[root@gong ~]# mkdir -m777 dir2
遞回建立目錄
[root@gong ~]# mkdir -p dir3/dir4/dir5
建立目錄並顯示資訊
[root@gong ~]# mkdir -pv dir4/dir5/dir6
備註:rwx為7,read 讀,write寫,exec執行
最高許可權為777,目錄一般許可權為755,檔案一般許可權為644
例如:
條命令建出以下的目錄:
/home/zls
/home/abc
/home/abc/1
/home/abc/2
/home/abc/3
/home/abc/1/zls
/home/abc/2/zls
/home/abc/3/zls
/usr/local/abc
/data
/backup
/backup/abc
/abc
/abc/test
/abc/test/1
...
/abc/test/10
解答:
[root@gong ~]# mkdir /{home/{zls,abc/{1..3}/zls},usr/local/abc,data,backup/abc,abc/test/{1..10}} -pv
6.touch建立檔案
Touch
語法:touch[選項]... 檔名...
建立檔案,如果檔案存在,不會覆蓋內容,但是會修改建立時間
Linux中,一切皆檔案
範例:
[root@gong ~]# touch file
[root@gong ~]# touch file1 file2
[root@gong ~]# touch /home/zls/file3 file4
[root@gong ~]# touch file{5,6,7}
[root@gong ~]# touch file{10..100}
範例2:
[root@gong ~]# touch abc
[root@gong ~]# touch /oldboy/abc
Touch:cannot touch ‘/oldboy/abc’:no such file or directory
注意:
1.建立檔案,必須要建立在一個存在的目錄中
2.和建立目錄不同的是,建立相同的檔案不會報錯
3.建立相同的檔案,原始檔內容不會被覆蓋
4.在Linux當中一切皆檔案
7.tree樹狀顯示目錄檔案結構
-l | 指定層級(level) |
---|---|
-d | 只檢視目錄 |
如果沒有安裝,則需要先安裝:yum -y install tree
[root@gong ~]# tree 當前目錄的tree結構
[root@gong ~]# tree / /目錄下的所有檔案,目錄
[root@gong ~]# tree /home /home下的檔案,目錄
[root@gong ~]# tree -L 1 / /目錄下的一級目錄,開頭不是 . ,是指定的層級
[root@gong ~]# tree -L -d 2 /usr/local 只檢視/usr/local的二級目錄,不看檔案
8.複製命令cp
cp | 複製,拷貝過去時間會變 |
---|---|
-r | 遞回拷貝,拷貝目錄,連裡面的東西一並拷貝 |
-p | 保持原始檔的屬性 |
-a | 拷貝目錄並保持屬性,和-rp一樣 (用的最多) |
-v | 顯示複製的過程 |
-t | 交換目標和原始檔的位置(意義不大) |
-rp | 遞回拷貝並保持原始檔的屬性 |
語法:
cp [OPTION]... 原始檔 目標
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
[root@oldboyedu ~]# cp oldboy /usr/
cp: omitting directory ‘oldboy’
複製檔案的過程:
[root@oldboyedu ~]# cp -v 123 456 789 /opt/
‘123’ -> ‘/opt/123’
‘456’ -> ‘/opt/456’
‘789’ -> ‘/opt/789’
cp可以修改名字,指定的目錄不存在,即改名
[root@gong ~]# cp /etc/sysconfig/network-scripts/{ifcfg-eth0,eth00}
把網絡卡設定還是設定到這個路徑下,改名 eth00
[root@gong ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0{,.bak}
把網絡卡設定還是設定到這個路徑下,改名ifcfg-eth0.bak(加字尾)
備註:{,.bak}=ifcfg-eth0,ifcfg-eth0.bak
相關文章