1. 程式人生 > >第二周第一次課

第二周第一次課

第二周第一次課

2.6 相對和絕對路徑

任何一個文件都是從根開始的路徑,比如之前我們配置的網卡的路徑

[root@MOMOCO-01 ~]# ls /etc/sysconfig/network-scripts/ifcfg-ens33

/etc/sysconfig/network-scripts/ifcfg-ens33【這個就是網卡的配置路徑】

還有

[root@MOMOCO-01 ~]# ls /root/anaconda-ks.cfg

/root/anaconda-ks.cfg

[root@MOMOCO-01 ~]# ls /etc/hostname

/etc/hostname

[root@MOMOCO-01 ~]# ls /root/.ssh/authorized_keys

/root/.ssh/authorized_keys

2.6.1絕對路徑

上面幾個紅色的都是以根開頭的,這些都是絕對路徑。絕對路徑都是以根開頭的。

[root@MOMOCO-01 sysconfig]# cat /root/.ssh/authorized_keys

##putty-momoco-01

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAyPtQmcyh0xy+eGYKwTObBqgSGdiBBgVcMSV35xQvwUXsH37TFbIwjh/I4Xir6LWelAdhju0OThqWjRn/svl2bvU1ZGdeWztbkSiPPMRsieEywS4ejrHrsK4cTa5cvbiHlhAlhcCvPKaYBNumMGTe7u68wU8/zXi6GAvliTZNRkpcmjVwqd5zNIWoReQT/suZlkTsAtwmOKUQpZlQoRjjCQ9QBm6vASzt/1+krhHmzYVstes6zCV/u+6jw5mhzH5cw2UURgsxOBA4ZivlkcszVhI+MBRXNZtVkJPQOf7yEwRb4ZMaRpg4jC+R4ClsZoRrjajnQyQdNuv3a82OM1sFeQ== rsa-key-20171213

【無論你在那個路徑下你都可以用絕對路徑找到你要找的東西】

2.6.2相對路徑

他是相對你所在目錄下的路徑

[root@MOMOCO-01 ~]# pwd

/root

【查看你當前所在什麽目錄下】

例如

[root@MOMOCO-01 ~]# ls .ssh/authorized_keys

.ssh/authorized_keys

[root@MOMOCO-01 ~]# cd /etc/sysconfig/

【進入一個目錄】

[root@MOMOCO-01 sysconfig]# ls network-scripts/ifcfg-ens33

network-scripts/ifcfg-ens33

【這些綠色沒有以根開頭的路徑就是相對當前目錄下的路徑】



2.7 CD命令

2.7.1 cd -

[root@MOMOCO-01 sysconfig]# cd -

/root

[root@MOMOCO-01 ~]# cd -

/etc/sysconfig

[root@MOMOCO-01 sysconfig]# cd -

/root

[root@MOMOCO-01 ~]# cd -

/etc/sysconfig

cd -【來回交替我們上一次所在的目錄】

2.7.2 cd和cd ~

[root@MOMOCO-01 ~]# cd

[root@MOMOCO-01 ~]# pwd

/root

[root@MOMOCO-01 ~]# cd /etc/

[root@MOMOCO-01 etc]# cd ~

[root@MOMOCO-01 ~]# pwd

/root

【如果我們直接cd或者cd ~就會進入到當前用戶的家目錄

2.7.3 cd ..

[root@MOMOCO-01 /]# cd /etc/sysconfig/

[root@MOMOCO-01 sysconfig]# pwd

/etc/sysconfig

[root@MOMOCO-01 sysconfig]# cd ..

[root@MOMOCO-01 etc]# pwd

/etc

[root@MOMOCO-01 etc]# cd ..

[root@MOMOCO-01 /]# pwd

/

【cd ..返回我們所在當前目錄的上一級目錄】

[root@MOMOCO-01 /]# cd

[root@MOMOCO-01 ~]# pwd

/root

[root@MOMOCO-01 ~]# cd ..

[root@MOMOCO-01 /]# pwd

/

[root@MOMOCO-01 /]# cd ..

[root@MOMOCO-01 /]# pwd

/

【我們頂級目錄就是根,你一直cd ..最多只能到根目錄】

2.7.4 man cd

還有一些他的選項你可以用[root@MOMOCO-01 /]# man cd查看,在這裏我們就不做過多的介紹,介紹這幾個常用的。如果你英語不好你可以下載一個有道雲翻譯,直接復制他就會幫你翻譯。平時沒事多看看英語對你的英語能力會有所提升的。



2.8創建和刪除目錄mkdir rmdir

2.8.1mkdir 全稱:make directories【創建目錄】

[root@MOMOCO-01 /]# mkdir /tmp/gyb01

[root@MOMOCO-01 /]# ls -ld /tmp/gyb01/

drwxr-xr-x. 2 root root 6 12月 17 13:43 /tmp/gyb01/

[root@MOMOCO-01 /]# date

2017年 12月 17日 星期日 13:43:56 CST

【mkdir是用來創建一個目錄的,你可以看時間這個目錄是剛剛創建的】

[root@MOMOCO-01 /]# mkdir /tmp/gyb01/1/2

mkdir: 無法創建目錄"/tmp/gyb01/1/2": 沒有那個文件或目錄

[root@MOMOCO-01 /]# ls -l /tmp/gyb01/

總用量 0

【因為gyb01目錄下沒有1目錄所以不能創建2目錄,我們可以用什麽目錄一塊創建嗎?如下:】

[root@MOMOCO-01 /]# mkdir -p /tmp/gyb01/1/2

[root@MOMOCO-01 /]# ls -l /tmp/gyb01

總用量 0

drwxr-xr-x. 3 root root 15 12月 17 13:54 1

[root@MOMOCO-01 /]# ls -l /tmp/gyb01/1

總用量 0

drwxr-xr-x. 2 root root 6 12月 17 13:54 2

【我們使用-p選項就可以級聯串的創建目錄了】

[root@MOMOCO-01 /]# mkdir -pv /tmp/gyb01/2/3/4

mkdir: 已創建目錄 "/tmp/gyb01/2"

mkdir: 已創建目錄 "/tmp/gyb01/2/3"

mkdir: 已創建目錄 "/tmp/gyb01/2/3/4"

【-v選項就是可視化的創建目錄】

2.8.2 rmdir 全稱:remove empty directories【刪除空目錄】

[root@MOMOCO-01 /]# rmdir /tmp/gyb01/2

rmdir: 刪除 "/tmp/gyb01/2" 失敗: 目錄非空

[root@MOMOCO-01 /]# rmdir /tmp/gyb01/2/3

rmdir: 刪除 "/tmp/gyb01/2/3" 失敗: 目錄非空

[root@MOMOCO-01 /]# rmdir /tmp/gyb01/2/3/4

[root@MOMOCO-01 /]# touch /tmp/gyb01/2/3/1.txt

【創建一個空文件】

[root@MOMOCO-01 /]# tree /tmp/gyb01/

/tmp/gyb01/

├── 1

│ └── 2

└── 2

└── 3

└── 1.txt


4 directories, 1 file

[root@MOMOCO-01 /]# rmdir /tmp/gyb01/2/3/

rmdir: 刪除 "/tmp/gyb01/2/3/" 失敗: 目錄非空

[root@MOMOCO-01 /]# rmdir /tmp/gyb01/2/3/1.txt

rmdir: 刪除 "/tmp/gyb01/2/3/1.txt" 失敗: 不是目錄

【從上面的操作中我們能看出來rmdir只能刪除一個空目錄,他也不可以刪除一個文件。】

[root@MOMOCO-01 /]# tree /tmp/gyb01/

/tmp/gyb01/

├── 1

│ └── 2

└── 2

└── 3

└── 1.txt

[root@MOMOCO-01 /]# rmdir -p /tmp/gyb01/1/2

rmdir: 刪除目錄 "/tmp/gyb01" 失敗: 目錄非空

[root@MOMOCO-01 /]# tree /tmp/gyb01/

tree /tmp/gyb01/

/tmp/gyb01/

└── 2

└── 3

└── 1.txt


2 directories, 1 file

【從上面的操作中我們可以看出雖然我們沒有成功但是我們還是刪除了gyb01下的1和2目錄,其他的沒有刪除是因為gyb01下還有其它的目錄文件。如果你想刪除的目錄和其他的目錄都是空目錄他會給你都刪除,這個命令非常危險一般我們是不會用的。刪除目錄我們還有其他命令rm。】



2.9 rm命令

2.9.1 rm 全稱:remove【刪除目錄或文件】

[root@MOMOCO-01 /]# rm /tmp/gyb01/2/3/1.txt

rm:是否刪除普通空文件 "/tmp/gyb01/2/3/1.txt"?n

【按n取消,按y確定】

[root@MOMOCO-01 /]# touch /tmp/gyb01/2/3/2.txt

[root@MOMOCO-01 /]# !tree

tree /tmp/gyb01/

/tmp/gyb01/

└── 2

└── 3

├── 1.txt

└── 2.txt


2 directories, 2 files

【!tree代表上一次最近的我使用以tree開通的命令】

[root@MOMOCO-01 /]# rm /tmp/gyb01/2/3/*.txt

rm:是否刪除普通空文件 "/tmp/gyb01/2/3/1.txt"?n

rm:是否刪除普通空文件 "/tmp/gyb01/2/3/2.txt"?n

【*代表統配符】

[root@MOMOCO-01 /]# rm -f /tmp/gyb01/2/3/*.txt

【加上-f選項就是強制的刪除這些文件,不做任何提示。】

[root@MOMOCO-01 /]# !tree

tree /tmp/gyb01/

/tmp/gyb01/

└── 2

└── 3


2 directories, 0 files

[root@MOMOCO-01 /]# history

1 passwd

2 init 6

3 root

4 gyb.1234

5 init 0

6 13 18:23:12 2017

7 ping www.qq.com

8 ifconfig

.........

【顯示出來我們之前使用過的命令】

[root@MOMOCO-01 /]# !tree

tree /tmp/gyb01/

/tmp/gyb01/

└── 2

├── 1.txt

└── 3

└── 2.txt


2 directories, 2 files

[root@MOMOCO-01 /]# rm /tmp/gyb01/2/3

rm: 無法刪除"/tmp/gyb01/2/3": 是一個目錄

【他會提示你不能刪除目錄】

[root@MOMOCO-01 /]# rm -r /tmp/gyb01/2/3

rm:是否進入目錄"/tmp/gyb01/2/3"? y

rm:是否刪除普通空文件 "/tmp/gyb01/2/3/2.txt"?n

rm:是否刪除目錄 "/tmp/gyb01/2/3"?n

【-r選項是用來刪除一個目錄的,這樣刪除太麻煩了。】

[root@MOMOCO-01 /]# rm -rf /tmp/gyb01/2/3

【-f強制刪除目錄,不做任何的提示。】

[root@MOMOCO-01 /]# !tree

tree /tmp/gyb01/

/tmp/gyb01/

└── 2

└── 1.txt


1 directory, 1 file

[root@MOMOCO-01 /]# rm -rfv /tmp/gyb01/2/

已刪除"/tmp/gyb01/2/1.txt"

已刪除目錄:"/tmp/gyb01/2/"

【-v可視化的刪除目錄】

小知識:

[root@MOMOCO-01 /]# rm -rfv /tmp/gyb01/2/

[root@MOMOCO-01 /]# rm -rv /tmp/gyb01/2/

rm: 無法刪除"/tmp/gyb01/2/": 沒有那個文件或目錄

[root@MOMOCO-01 /]# rm -rfv /tmp/gyb01/2/

【這個目錄我們剛剛已經刪除掉了。你再次運行是什麽都不提示,不是因為成功了,而是-f選項起到的作用他的意思就是是什麽都不管】





第二周第一次課