>PATH說簡單點就是一個字符串變量(該字符串內容是一個命令的絕對路徑),當輸入命令的時候LINUX會去查找PATH裏面記錄的路徑。centos
PATH這個變量包含了一系列由冒號分隔開的目錄,系統就從這些目錄裏尋找可執行文件。若是你輸入的可執行文件(例如ls、rm)不在這些目錄中,系統就沒法執行它(除非你輸入這個命令的完整路徑,如/bin/ls)。安全
# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 默認
當一個命令在PATH中存在的時候,無需使用其絕對路徑,eg:rm、ls、cd等等。bash
# PATH=$PATH:/tmp/ # echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/
注: 以上只是臨時增長一個變量。若是想要永久添加變量還須要執行如下命令:less
# vi /etc/profile 編輯配置文件,在該文件內容最後一行添加PATH=$PATH:/tmp/
eg2: 刪除環境變量
方法1:ssh
# PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 讓PATH等於其默認值便可! # echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 默認
方法2:post
# vi /etc/profile 編輯該配置文件,在內容中刪除「PATH=$PATH:/tmp/」便可!
cp=copy
語法: cp [選項] [源文件] [目標文件]
選項:
-r 拷貝目錄
-i 安全選項,相似於rm命令,若是遇到一個存在的文件,會詢問是否覆蓋。centos系統默認cp=cp -i。
注: 當目標目錄已存在的時候,cp命令會把源目錄放到目標目錄下面;當目標目錄不存在的時候,cp命令會把源目錄重命名後放到目標目錄的位置!spa
例如我想把 test1 拷貝成 test2,這樣便可cp test1 test2;code
例如我想把 test1 拷到 test2,但test2存在,這樣test22會被放到test21下面;文檔
!$ 表示上一個命令的最後一個參數;字符串
在對目錄文件進行編輯的時候,命令末尾加"/";對非目錄文件進行編輯的時候沒必要加!
# mkdir dira dirb 建立目錄dira和dirb # ls anaconda-ks.cfg dira dirb install.log install.log.syslog # mv dira dirc 移動目錄dira到dirc目錄(該目錄不存在)下 # ls anaconda-ks.cfg dirb dirc install.log install.log.syslog 目標文件dirc爲目錄,而且目標目錄不存在,至關於把dira重命名爲dirc
2)目標文件是目錄,並且目標文件存在(=移動)
# mv dirc dirb 移動目錄dirc到目錄dirb(兩個目錄均存在) # ls anaconda-ks.cfg dirb install.log install.log.syslog # ls dirb dirc 目標文件dirc爲目錄,且目標目錄存在,則會把dirc移動到dira目錄裏
3)目標文件不是目錄不存在 (=重命名--把源文件命名爲目標文件的名字)
# touch filed 建立文件filed # ls anaconda-ks.cfg dirb filed install.log install.log.syslog # mv filed filee 把源文件filed移動到filee # ls anaconda-ks.cfg dirb filee install.log install.log.syslog 目標文件filee不是目錄且不存在,至關於把filed文件重命名爲filee
4)目標文件不是目錄存在
①移動至某目錄下(=移動)
# mv filee dirb 移動文件filee到dirb下 # ls anaconda-ks.cfg dirb install.log install.log.syslog # ls dirb dirc filee 目標文件不是目錄,且存在則會把源文件移動
②移動至另外一個非目錄目標文件 (=刪除源文件)
[root@3 dir1]# ls dir2 file1 file2 [root@3 dir1]# mv file2 file1 移動非目錄文件file2到非目錄文件file2 mv:是否覆蓋"file1"? y [root@3 dir1]# ls dir2 file1 移動非目錄文件file2到非目錄文件file1,至關於刪除文件file2(源文件)
mv bash mvtest/1 將文件bash移動到目錄mvtest下並改名爲1
mv test/ test1/ 將目錄test改名爲test1
PS :(與cp命令相同,若是目標目錄存在,則會把原目錄放到目標目錄下,若是目標目錄不存在,則把原目錄改名爲目標目錄名字)
mv mvtest.txt mvtest2.txt 將文件mvtest改名爲mvtest2
# echo 'aaaaa'>dirb/filee 將「aaaaa」寫入filee文件 # echo 'ccccc'>>dirb/filee 將「ccccc」寫入filee文件 # cat dirb/dilee aaaaa ccccc # cat -n dirb/dilee 1 aaaaa 2 ccccc
注: 「>>」和「>」都是從新定向的做用,即把前面輸出的東西輸入到後面的文件中,只不過「>>」是追加的意思,而使用「>」時,若是文件中有內容會把內容刪除,「>>」則不會。
2)-A 顯示全部東西出來,包括特殊字符
eg:
# cat -A dirb/filee aaaaa$ ccccc$ 在此"$"是結束符號
# tac dirb/filee ccccc aaaaa
# head /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin # head -n3 !$ head -n3 /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin
# tail /etc/passwd ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:998:996:User for polkitd:/:/sbin/nologin tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin # tail -n3 /etc/passwd postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin