[toc] 1.特殊目錄“ . ”和“ .. ” 在每個目錄下, 都會固定存在兩個特殊目錄, 分別是.和..的目錄。 一個點代表的是當前目錄, 兩個點代表的是當前目錄的上層目錄。 註意: 在Linux下所有以點開始的文件都是"隱藏文件", 對於這類文件, 只使用命令ls l是看不到的, 必 須要使用 ...
目錄
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