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

2.10 環境變量PATH

在linux中,PATH環境變量保存了一系列用戶在輸入的時候搜索命令。PATH變量的值有多個絕對路徑,用:分割。在這些路徑下面的命令能夠直接敲出來,省略掉目錄路徑。每一個用戶都有特定的PATH環境變量(由系統級的PATH變量初始化)linux

查看用戶環境變量:vim

1: echo $PATHbash

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/binless

2: env | grep PATH編輯器

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/binspa

修改環境變量PATH方法:.net

修改方法一:日誌

export PATH=$PATH:/tmp 或 PATH=$PATH:/遞歸

//配置完後能夠經過echo $PATH查看配置結果。ip

生效方法:當即生效

有效期限:臨時改變,只能在當前的終端窗口中有效,當前窗口關閉後就會恢復原有的path配置

用戶侷限:僅對當前用戶

修改方法二:

經過修改.bashrc文件:

vim ~/.bashrc 

//在最後一行添上:

export PATH=$PATH:/tmp

生效方法:(有如下兩種)

一、關閉當前終端窗口,從新打開一個新終端窗口就能生效

二、輸入「source ~/.bashrc」命令,當即生效

有效期限:永久有效

用戶侷限:僅對當前用戶

修改方法三:

經過修改profile文件:

vim /etc/profile

/export PATH //找到設置PATH的行,添加

export PATH=$PATH:/tmp

生效方法:系統重啓

有效期限:永久有效

用戶侷限:對全部用戶

修改方法四:

經過修改environment文件:

vim /etc/environment

加入PATH路徑

PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin:/tmp:/root/bin

生效方法:系統重啓

有效期限:永久有效

用戶侷限:對全部用戶

2.11 cp命令

cp命令用來將一個或多個源文件或者目錄複製到指定的目的文件或目錄。它能夠將單個源文件複製成一個指定文件名的具體的文件或一個已經存在的目錄下。cp命令還支持同時複製多個文件,當一次複製多個文件時,目標文件參數必須是一個已經存在的目錄,不然將出現錯誤。

語法:

cp 選項 參數

選項:

-a:此參數的效果和同時指定"-dpR"參數相同;

-d:當複製符號鏈接時,把目標文件或目錄也創建爲符號鏈接,並指向與源文件或目錄鏈接的原始文件或目錄; -f:強行復制文件或目錄,不論目標文件或目錄是否已存在;

-i:覆蓋既有文件以前先詢問用戶;

-l:對源文件創建硬鏈接,而非複製文件;

-p:保留源文件或目錄的屬性;

-R/r:遞歸處理,將指定目錄下的全部文件與子目錄一併處理;

-s:對源文件創建符號鏈接,而非複製文件;

-u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才複製文件;

-S:在備份文件時,把目標目錄中存在的相同名字文件加上指定後綴保留;

-b:覆蓋已存在的文件目標前將目標文件備份;

-v:詳細顯示命令執行的操做。

參數:

源文件:指定源文件列表。默認狀況下,cp命令不能複製目錄,若是要複製目錄,則必須使用-R選項;

目標文件:指定目標文件。當「源文件」爲多個文件時,要求「目標文件」爲指定的目錄。

實例:

當目標目錄中存在相同名字文件時,把目標目錄中的同名文件備份名加上指定的後綴

[root@localhost ~]# cp 1.txt zhang/

[root@localhost ~]# cp -v -S.bak 1.txt zhang/

cp:是否覆蓋"zhang/1.txt"? y

"1.txt" -> "zhang/1.txt" (備份:"zhang/1.txt.bak")

[root@localhost ~]# ls zhang/

1.txt 1.txt.bak

which cp能夠看到cp命令是‘cp -i’的別名,因此當目標文件存在相同名字文件時會提示是否覆蓋。

cp目錄到目標目錄時,若是沒有此目錄會把源目錄更名成目標目錄,若是此目標目錄存在則會把源目錄放倒此目錄下面

 

2.12 mv命令

mv命令用來對文件或目錄從新命名,或者將文件從一個目錄移到另外一個目錄中。source表示源文件或目錄,target表示目標文件或目錄。若是將一個文件移到一個已經存在的目標文件中,則目標文件的內容將被覆蓋。

mv命令能夠用來將源文件移至一個目標文件中,或將一組文件移至一個目標目錄中。源文件被移至目標文件有兩種不一樣的結果:

1: 若是目標文件是到某一目錄文件的路徑,源文件會被移到此目錄下,且文件名不變。

2: 若是目標文件不是目錄文件,則源文件名(只能有一個)會變爲此目標文件名,並覆蓋己存在的同名文件。若是源文件和目標文件在同一個目錄下,mv的做用就是改文件名。當目標文件是目錄文件時,源文件或目錄參數能夠有多個,則全部的源文件都會被移至目標文件中。全部移到該目錄下的文件都將保留之前的文件名。

注意事項:mv與cp的結果不一樣,mv好像文件「搬家」,文件個數並未增長。而cp對文件進行復制,文件個數增長了。

語法:

mv 選項 參數

選項:

--backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份;

-b:當文件存在時,覆蓋前,爲其建立一個備份;

-f:若目標文件或目錄與現有的文件或目錄重複,則直接覆蓋現有的文件或目錄;

-i:交互式操做,覆蓋前先行詢問用戶,若是源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入」y」,表示將覆蓋目標文件;輸入」n」,表示取消對源文件的移動。這樣能夠避免誤將文件覆蓋。

--strip-trailing-slashes:刪除源文件中的斜槓「/」;

-S<後綴>:爲備份文件指定後綴,而不使用默認的後綴;

--target-directory=<目錄>:指定源文件要移動到目標目錄;

-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操做。

參數:

源文件:源文件列表

目標文件:若是「目標文件」是文件名則在移動文件的同時,將其更名爲「目標文件」;若是「目標文件」是目錄名則將源文件移動到「目標文件」下。

實例:

cd /root/

mkdir zhang

mv --target-directory=/tmp/test/ /root/zhang/

#把root下的zhang目錄移動到/tmp/test/,加了此選項後,源文件與目標文件位置調換。

which mv 能夠看到mv是命令‘mv -i’的別名,默認當目標文件存在相同名字時會提示是否覆蓋

mv移動目錄時,當目標目錄中存在同名目錄,若是此同名目錄爲空能夠移動覆蓋,

若是同名目錄不爲空則不能移動。

2.13 文檔查看cat/more/less/head/tail

linux下查看文件內容命令有:

cat      由第一行開始顯示內容,並將全部內容輸出

tac      從最後一行倒序顯示內容,並將全部內容輸出

more    根據窗口大小,一頁一頁的顯示文件內容

less     和more相似,但其優勢能夠往前翻頁,並且能夠進行搜索字符

head    只顯示頭幾行

tail     只顯示最後幾行

nl       相似於cat -n,顯示時輸出行號

1.cat 與 tac

cat的功能是將文件從第一行開始連續的將內容輸出在屏幕上。可是cat並不經常使用,緣由是當文件大,行數比較多時,屏幕沒法所有容下時,只能看到一部份內容。

cat語法:cat [-n]  文件名 (-n : 顯示時,連行號一塊兒輸出)

cat [-A] 文件名 (-A:顯示所有字符,例如每行的結尾符$)

cat file >>file2 把file的內容追加劇定向到file2

cat -b 忽略對空白行的編號

cat -s 將連續的空白行合併爲一行

tac的功能是將文件從最後一行開始倒過來將內容數據輸出到屏幕上。咱們能夠發現,tac其實是cat反過來寫。這個命令也不經常使用。

tac語法:tac 文件名。

2.more和less(經常使用)

more的功能是將文件從第一行開始,根據輸出窗口的大小,適當的輸出文件內容。當一頁沒法所有輸出時,能夠用「回車鍵」向下翻行,用「空格鍵」向下翻頁。退出查看頁面,請按「q」鍵。另外,more還能夠配合管道符「|」(pipe)使用,例如:ls -al | more

more的語法:more 文件名

Enter 向下n行,須要定義,默認爲1行;  

空格鍵 向下滾動一屏; 

Ctrl b 返回上一屏; 

= 輸出當前行的行號; 

:f 輸出文件名和當前行的行號; 

v 調用vi編輯器; 

! 命令 調用Shell,並執行命令; 

q 退出more

選項:

-<數字>:指定每屏顯示的行數;

-c:不進行滾屏操做。每次刷新這個屏幕;

+<數字>:從指定數字的行開始顯示。

實例:

more -c -10 /etc/passwd 鎖定屏幕每翻一屏只顯示10行

more +10 /etc/passwd 從第10行開始顯示

less的功能和more類似,可是使用more沒法向前翻頁,只能向後翻。

less可使用【pageup】和【pagedown】鍵進行前翻頁和後翻頁,這樣看起來更方便。

less的語法:less 文件名

less還有一個功能,能夠在文件中進行搜索你想找的內容,假設你想在passwd文件中查找有沒有root字符串,那麼你能夠這樣來作:

[root@redhat etc]# less passwd

而後輸入:

方式一:/root

回車

此時若是有root字符串,linux會把該字符已高亮方式顯示。

按n向下搜索

按N向上搜索

方式二:?root

回車

此時若是有root字符串,linux會把該字符已高亮方式顯示。

按n向上搜索

按N向下搜索

退出查看頁面,請按「q」鍵。

使用less查看文檔時,按g定位到行首,按G定位到行尾

3.head和tail

head和tail一般使用在只須要讀取文件的前幾行或者後幾行的狀況下使用。head的功能是顯示文件的前幾行內容

head的語法:head [-n number] 文件名 (number 顯示行數)

head /etc/passwd 顯示前10行

head -2 /etc/passwd 顯示前2行

head -n 2 /etc/passwd 顯示前2行

head -n -2 /etc/passwd 不顯示最後2行

tail的功能剛好和head相反,只顯示最後幾行內容

tail的語法:tail [-n number] 文件名

tail /etc/passwd 顯示後10行

tail -n 2 /etc/passwd 顯示後2行

tail -n -2 /etc/passwd 顯示後2行

tail -2 /etc/passwd . 顯示後2行

tail -n +10 /etc/passwd 從第10行開始顯示

下面的範例,結合了 head 與 tail 的指令,顯示檔案的第 11 行到第 20 行:

head -20 /etc/passwd |tail -10

head -20 /etc/passwd |tail -n +11

tail有一個很好用的參數 " -f ",動態循環讀取最後幾行,通常用於查看日誌

tail -f /var/log/xx.log

4.nl

nl的功能和cat -n同樣,一樣是從第一行輸出所有內容,而且把行號顯示出來

nl的語法:nl 文件名

nl /etc/passwd

相關文章
相關標籤/搜索