首頁 > 軟體

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

IT145.com E-mail:sddin#qq.com