2.10 環境變量PATH 2.11 cp命令 2.12 mv命令 2.13 文檔查看cat/more/less/head/tail

環境變量PATH  

先介紹一個命令 which,它用於查看某個命令的所在路徑命令。linux

echo用來輸出$PATH的值。PATH前面的$是變量的前綴符號。安全

使用 ls2 來表明 ls

[root@cham2 ~]# ls /usr/bin/ls
/usr/bin/ls
[root@cham2 ~]# cp /usr/bin/ls   /tmp/ls2
[root@cham2 ~]# /tmp/ls2                         /tmp/ls2   和ls是同樣的
anaconda-ks.cfg
[root@cham2 ~]# ls
anaconda-ks.cfg

[root@cham2 ~]# ls2                                直接ls2不行,由於ls2並無在PATH的目錄裏面
-bash: ls2: 未找到命令

[root@cham2 ~]# PATH=$PATH:/tmp/        把它加上,從新賦值,加上/tmp/
[root@cham2 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/tmp/

[root@cham2 ~]# ls2                                   再運行ls2就能夠執行了
anaconda-ks.cfg

[root@cham2 ~]# which ls2                            咱們看一下
/tmp/ls2

 


打開一個新終端LS2又不能用了bash

由於/tmp自動退出了PATH的路徑。 若是想永久的把/tmp加入到/PATH的路徑下,
輸入命令#vi /etc/profile
而後在最後一行加入PATH=$PATH:/tmp/
而後保存退出。less

輸入圖片說明

想ls2不生效  刪除PATH環境變量下/tmp路徑

給PATH從新賦值一下 執行命令: #PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
而後把vi /etc/profile的最後一行添加PATH路徑刪除便可。spa

命令cp

一、命令語法:
cp [選項][來源文件][目的文件]命令行

二、命令描述:
cp是copy(即複製)的簡寫unix

三、命令選項:
-r: 若是要複製一個目錄,必須加-r選項,不然不能複製
-i:這是安全選項,若是遇到一個已存在的文件,會詢問是否覆蓋。日誌

**小知識**在用cp命令時,全部的目錄所有末尾加上"/"。cp目錄時,不會詢問你是否覆蓋,說明當目標目錄已經存在的時候,它會把原目錄直接放到目標目錄下面去。若是目標目錄不存在,它會把原目錄cp過來,並改變一個名字。code

如下是命令行:圖片

[root@cham2 ~]# cp copy   ^C
[root@cham2 ~]# cp /etc/passwd /tmp/1.txt                   拷貝文件     passwd到tmp/1.txt
[root@cham2 ~]# cp -r /tmp/chamlinux/ /tmp/cham     拷貝目錄與要加-r     拷貝目錄須要加「/」
[root@cham2 ~]# tree /tmp/chamlinux/
/tmp/chamlinux/
└── 2
    └── 2.txt

1 directory, 1 file
[root@cham2 ~]# ls /                                            
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@cham2 ~]# ls /tmp/
1.txt      ks-script-JG2UJk                                                          yum.log
cham       ls2
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 ~]# ls /tmp
1.txt      ks-script-JG2UJk                                                          yum.log
cham       ls2
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 ~]# cp -r /tmp/chamlinux/ /tmp/cham1/      chamlinux拷貝到cham1目錄
[root@cham2 ~]# tree !$                                                  *小知識*上一條命令的最後參數
tree /tmp/cham1/
/tmp/cham1/
└── 2
    └── 2.txt

1 directory, 1 file
[root@cham2 ~]# tree !$                                                     
tree /tmp/cham1/
/tmp/cham1/
└── 2
    └── 2.txt

1 directory, 1 file
[root@cham2 ~]# which cp                                              看一下 which cp
alias cp='cp -i'
    /usr/bin/cp
[root@cham2 ~]# which rm                                              -i是安全選項,詢問是否覆蓋或者是否刪除
alias rm='rm -i'
    /usr/bin/rm
[root@cham2 ~]# cp /etc/passwd /tmp/1.txt                     會詢問是否覆蓋
cp:是否覆蓋"/tmp/1.txt"? ^C
[root@cham2 ~]# /usr/bin/cp /etc/passwd /tmp/1.txt          這樣纔不會詢問
[root@cham2 ~]# tree /tmp/
1.txt
cham/
cham1/
chamlinux/
.font-unix/
.ICE-unix/
ks-script-JG2UJk
ls2
systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy/
.Test-unix/
.X11-unix/
.XIM-unix/
yum.log
[root@cham2 ~]# tree /tmp/cham1/
/tmp/cham1/
└── 2
    └── 2.txt

1 directory, 1 file
[root@cham2 ~]# cp -r /tmp/chamlinux/ /tmp/cham1/      拷貝目錄的時候不會問是否覆蓋

                                                                                         
[root@cham2 ~]# ls /tmp/cham1/                        看一下。當目標目錄已經存在的時候,會把源目錄放到                                                                              目標目錄下面去,若是目標目錄不存在的,會把源                                                                                    目錄拷貝過來並改個名字
2  chamlinux
[root@cham2 ~]# tree /tmp/cham1/
/tmp/cham1/
├── 2
│   └── 2.txt
└── chamlinux
    └── 2
        └── 2.txt

3 directories, 2 files
[root@cham2 ~]# cp -r /tmp/chamlinux/ /tmp/cham1/     由於chamlinx下面已經存在chamlinux

                                                                                          因此會存在是否覆蓋
cp:是否覆蓋"/tmp/cham1/chamlinux/2/2.txt"? n


 

命令mv

1.命令語法:
mv[選項][源文件或目錄][目標文件或目錄]

2.命令描述:
mv是move的簡寫,能夠移動文件或者 重命名文件(語法爲: mv [源文件名][修改後的文件名])

3.命令的幾種狀況:

  • 目標文件是目錄,但該目錄不存在。

  • 目標文件是目錄,且該目標存在。

  • 目標文件是文件,且文件不存在。

  • 目標文件是文件,但該文件存在。

  • 當目標文件是目錄時,其存在與否,執行後的結果不同。若是該目錄存在,則會把源文件或目錄移動到該目錄中。若是該目錄不存在,則會把源文件重命名爲給定的目標文件名。

  • 當目標文件是文件時,其存在與否,執行後的結果也是不同的。若是該文件存在,則會詢問是否覆蓋。若是該文件不存在,則會把源文件重命名爲給定的目標文件名。

命令行以下:

[root@cham2 ~]# mv move   ^C
[root@cham2 ~]# ls
anaconda-ks.cfg
[root@cham2 ~]# mv anaconda-ks.cfg  anaconda-ks.cfg.1        同一個目錄下是更名字
[root@cham2 ~]# ls
anaconda-ks.cfg.1
[root@cham2 ~]# cd /tmp/                                                     進入tmp
[root@cham2 tmp]# ls                                                     
1.txt  chamlinux         systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
cham   ks-script-JG2UJk  yum.log
cham1  ls2
[root@cham2 tmp]# mv 1.txt /root/2.txt                         移動1.txt到root/2.txt文件不存在,把源文件                                                                                         重命名爲給定的目標文件名    
[root@cham2 tmp]# ls /root/                                          看一下
2.txt  anaconda-ks.cfg.1
[root@cham2 tmp]# ls
cham       ks-script-JG2UJk                                                          yum.log
cham1      ls2
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 tmp]# mv ls2 cham/  
[root@cham2 tmp]# ls cham
2  ls2
[root@cham2 tmp]# touch ls2                 再建一個ls2    
[root@cham2 tmp]# mv ls2 cham/          若是該文件存在,則會詢問是否覆蓋
mv:是否覆蓋"cham/ls2"? n
[root@cham2 tmp]# which mv
alias mv='mv -i'
    /usr/bin/mv
[root@cham2 tmp]# /usr/bin/mv ls2 cham/
[root@cham2 tmp]# ls
cham   chamlinux         systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
cham1  ks-script-JG2UJk  yum.log
[root@cham2 tmp]# ls cham/
2  ls2
[root@cham2 tmp]# ls
cham   chamlinux         systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
cham1  ks-script-JG2UJk  yum.log
[root@cham2 tmp]# mv cham1/ cham/
[root@cham2 tmp]# mv cham/ cham2/
[root@cham2 tmp]# ls
cham2      ks-script-JG2UJk                                                          yum.log
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 tmp]# ls
cham2      ks-script-JG2UJk                                                          yum.log
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 tmp]# mv cham2/ chamlinux/
[root@cham2 tmp]# ls chamlinux/
2  cham2
[root@cham2 tmp]# mkdir -pv cham2
mkdir: 已建立目錄 "cham2"
[root@cham2 tmp]# ls
cham2      ks-script-JG2UJk                                                          yum.log
chamlinux  systemd-private-5ec76fd91759498b901e85cba2554a24-vmtoolsd.service-H1l4Cy
[root@cham2 tmp]# touch cham2/1.txt
[root@cham2 tmp]# tree cham2
cham2
└── 1.txt

0 directories, 1 file
[root@cham2 tmp]# tree chamlinux
chamlinux
├── 2
│   └── 2.txt
└── cham2
    ├── 2
    │   └── 2.txt
    ├── cham1
    │   ├── 2
    │   │   └── 2.txt
    │   └── chamlinux
    │       └── 2
    │           └── 2.txt
    └── ls2

7 directories, 5 files
[root@cham2 tmp]# mv cham2/ chamlinux/
mv:是否覆蓋"chamlinux/cham2"? y
mv: 沒法將"cham2/" 移動至"chamlinux/cham2": 文件已存在
[root@cham2 tmp]# 

命令cat

1.命令語法 cat [參數] 文件名

2.命令描述 用於查看一個文件的內容並將其顯示在屏幕上。(cat後面能夠不加任何選項,直接跟文件名。)

3.命令參數 -n :查看文件時,把行號也顯示在屏幕上。

 QQ截圖20171023103901.png

-A :顯示全部的內容,包括特殊字符。
QQ截圖20171023103815.png

命令tac

1.命令語法
tac 文件名

2.命令描述
命令tac是命令cat的反序寫法,也是把文件的內容顯示在屏幕上。
只不過是先顯示最後一行,而後顯示倒數第二行,最後才顯示第一行。

小知識: #wc -l 文件名 //查看一個文件的行數
QQ截圖20171023105036.png

命令more

1.命令語法 more 文件名

2.命令描述
命令more也用於查看一個文件的內容,後面直接跟文件名。
當文件內容太多的時候,一屏不能所有顯示時,用命令cat確定是看不了前面的內容的,這時可使用命令more。
當看完一屏後,按空格鍵能夠繼續看下一屏,看完全部內容後就會退出。
按Ctrl+D能夠向上翻屏,按Ctrl+F能夠向下翻屏(同空格)。
若是你想提早退出,按q便可。
QQ截圖20171023104819.png

命令less

1.命令語法
less 文件名

2.命令描述
命令less的做用和命令more同樣,後面直接跟文件名,但命令less比more功能要多一點。
按空格鍵能夠翻頁。
按j鍵能夠向下移動,按k鍵能夠向上移動。
在使用more和less查看某個文件時,你能夠按一下/鍵,並輸入一個字符串(如root),而後回車,這樣就能夠查找這個字符串了。
若是是查找多個字符串,能夠按n鍵顯示下一個。
另外,也能夠用?鍵代替/鍵來搜索字符串,惟一不一樣的是,/是在當前行向下搜索,而?是在當前行向上搜索。

命令head

1.命令語法
head 文件名

2.命令描述
命令head用於顯示文件的前10行,後面直接跟文件名。

3.命令參數
-n :顯示文件的前幾行(n表明行數,n也能夠省略)
QQ截圖20171023110801.png

命令tail

1.命令語法
tail 文件名

2.命令描述
和命令head相似,命令tail用於顯示文件的最後10行,後面直接跟文件名。

3.命令參數
-n :顯示文件的最後幾行(-n後面有無空格都可,且字母n也能夠省略)。
QQ截圖20171023111605.png -f :它能夠動態顯示文件的最後10行(通常用來查看日誌)。若是文件的內容在不斷的增長(動態增長的內容會所有顯示),使用-f選項很是方便和直觀。好比tail -f /var/log/messages能夠動態,實時地查看文件/var/log/messages中的內容。

相關文章
相關標籤/搜索