環境變量與經常使用命令

環境變量PATH

 

變量說明:linux

PATH這個變量包含了一系列由冒號分隔開的目錄,系統就從這些目錄裏尋找可執行文件。若是你輸入的可執行文件(例如ls、rm)不在這些目錄中,系統就沒法執行它(除非你輸入這個命令的完整路徑,如/bin/ls)。安全

 PATH=$PATH:/tmp/     將/tmp/加入到環境變量PATH中,tmp下的命令可直接使用而不用使用絕對路徑(暫時性)bash

/etc/profile  :系統開機或者打開終端都會加載這個文件,可將PATH=$PATH:/tmp/寫入該文件最後一行,即每次開機或打開終端/tmp/都會加入環境變量中less

去掉加入path的/tmp/:spa

上邊提到了 alias,也提到了絕對路徑的/bin/ls ,而後你意識到沒有,爲何咱們輸入不少命令時是直接打出了命令,而沒有去使用這些命令的絕對路徑?這是由於環境變量 PATH 在起做用。請輸入 echo $PATH,這裏的 echo 其實就是打印的意思,而 PATH 前面的$表示後面接的是變量。文檔

由於/bin 在 PATH 的設定中,因此天然就能夠找到 ls 了。若是你將 ls 移動到 /root 底下的話,而後你本身自己也在/root 底下,可是當執行 ls 的時候,他就是不理你?怎麼辦?這是由於 PATH 沒有/root 這個目錄,而你又將 ls 移動到 /root 底下了,天然系統就找不到可執行文件了,所以就會告訴你「command not found!」。字符串

mv 用來移動目錄或者文件,還能夠重命名test

那麼該怎麼克服這種問題呢?有兩個方法,一種方法是直接將/root 這個路徑加入 $PATH 當中!如何增長?可使用命令 PATH=$PATH:/root :變量

另外一種方法就是使用絕對路徑:file

cp命令

cp(copy),格式爲 cp [選項] [ 來源文件 ] [目的文件] ,例如我想把 test1 拷貝成 test2,這樣便可cp test1 test2,如下介紹幾個經常使用的選項:
-r : 若是要拷貝一個目錄,必需要加-r 選項,不然是拷貝不了目錄的, 和 rm 相似。

-i : 這是安全選項,和 rm 相似,若是遇到一個存在的文件,會問是否覆蓋。在 Redhat/CentOS 系統中,咱們使用的 cp 實際上是 cp –i

下面簡單作一個小試驗,很快你就會明白-i 選項的做用:

例子中的 touch 看字面意思就是「摸一下」,沒錯,若是有這個文件,則會改變文件的訪問時間,若是沒有這個文件就會建立這個文件。前面說過「echo」用來打印,在這裏 echo 的內容「abc」和「def」並無顯示在屏幕上,而是分別寫進了文件 111 和 222, 起寫入做用的就是這個大於號「>」在 linux 中這叫作重定向,即把前面產生的輸出寫入到後面的文件中。而「cat」命令則是讀一個文件,並把讀出的內容打印到當前屏幕上。

/usr/bin/cp /etc/passwd /tmp/1.txt   直接使用絕對路徑cp不會出現cp下的詢問選項,因cp=cp –i。

!$ 表示上一個命令的最後一個參數:

cp -i ~ /.bash/  /tmp/bash/ 因爲/tmp底下已經存在bash了,加上-i選項後,則在覆蓋前會詢問使用者是否肯定

PS :(複製目錄時不會詢問是否覆蓋,在複製目錄時,當目標目錄已經存在的時候,它會把原目錄放到目標目錄下面,若是目標目錄不存在,它會把原目錄複製過來並更更名字)

mv命令

mv(move),格式爲「mv [ 選項 ] [源文件] [目標文件]」,移動和重命名, 下面幾個經常使用的選項。

-i : 和 cp 的-i 同樣,當目標文件存在時會問用戶是否要覆蓋。在 Redhat/CentOS 系統中,咱們使用的mv 實際上是 mv –i

該命令有幾種狀況:
(1) 目標文件是目錄,並且目標文件不存在;
(2) 目標文件是目錄,並且目標文件存在;
(3) 目標文件不是目錄不存在;
(4) 目標文件不是目錄存在;

 

目標文件是目錄,存在和不存在,移動的結果是不同的,若是存在,則會把源文件移動到目標文件目錄中。不存在的話移動完後,目標文件是一個文件。例子:

(1)  目標文件爲目錄,而且目標目錄不存在,至關於把 dira/ 重命名爲 dirc/。「」(目錄記得加「/」)

(2)  目標文件爲目錄,且目標目錄存在,則會把 dirc 移動到 dirb 目錄裏。

(3)目標文件不是目錄,且不存在,則會重命名文件。

mv bash mvtest/1 將文件bash移動到目錄mvtest下並改名爲1

mv test/   test1/ 將目錄test改名爲test1

PS :(與cp命令相同,若是目標目錄存在,則會把原目錄放到目標目錄下,若是目標目錄不存在,則把原目錄改名爲目標目錄名字)

mv mvtest.txt mvtest2.txt   將文件mvtest改名爲mvtest2

 

文檔查看cat_more_less_head_tail

命令: cat

 

這是比較經常使用的一個命令,即查看一個文件的內容並顯示在屏幕上, 後面能夠不加任何選項直接跟文件名,兩個經常使用的選項:

-n: 查看文件時,把行號也顯示到屏幕上。

上例中出現了一個「>>」這個符號跟前面介紹的「>」的做用都是重定向,即把前面輸出的東西輸入到後邊的文件中,只是「>>」是追加的意思,而用「>」若是文件中有內容則會刪除文件中內容,而「>>」則不會。

-A: 顯示全部東西出來,包括特殊字符。

命令: tac


和「cat」 同樣,用來把文件的內容顯示在屏幕上,只不過是先顯示最後一行,而後是倒數第二行,最後顯示的是第一行。

命令: more

more 也是用來查看一個文件的內容,後面直接跟文件名,當文件內容太多,一屏幕不能佔下,而用cat 確定是看不了前面的內容的,那麼使用 more 就能夠解決這個問題。當看完一屏後按空格鍵繼續看下一屏。當看完全部內容後就會退出。若是想提早退出,只需按 q 鍵便可。

(空格鍵:表明向下翻一頁

                                   Enter:表明向下翻一行

                                   /字符串:表明在這個顯示內容中,向下搜尋字符串這個關鍵詞

                                   :f    :馬上顯示出文件名以及目前顯示的行數

                                   q     :表明馬上離開more,再也不顯示該檔案內容

                                   ctrl+b      :表明往回翻頁,不過這動做只對檔案有用)

命令: less

 

做用跟 more 同樣,後面直接跟文件名,但比 more 好在能夠上翻,下翻。空格鍵一樣能夠翻頁,而按j 鍵能夠向下移動(按一下就向下移動一行),按 k 鍵向上移動。也可使用快捷鍵 Ctrl b 和 Ctrl f 分別實現上翻頁和下翻頁。在使用 more 和 less 查看某個文件時,你能夠按一下「/」鍵,而後輸入一個字符串,如「root」,而後回車,這樣就能夠查找這個字符串了。若是是多個該字符串能夠按 n 鍵顯示下一個。另外也能夠不按「/」而是按「?」後邊一樣跟要搜索的字符串來搜索,惟一不一樣的是, 「/」是在當前行向下搜索,而「?」是在當前行向上搜索。按 G 能夠快速到文本最末端,而後按 g 能夠快速返回到文件首部。若是想中途退出,按 q 鍵便可。

(空格鍵:向下翻動一頁

                                                         pagedown:向下翻動一頁

                                                         pageup:向上翻動一頁

                                                         ctrl+b      :表明往回翻頁

                                                         ctrl+f      :表明往下翻頁

                                                         /字符串:向下搜尋字符串的功能

                                                         ?字符串:向上搜尋字符串的功能

                                                         n      :重複前一個搜尋(與/或?有關)

                                                         N      :反向的重複前一個搜尋

                                                         g      :定位到頁首

                                                         G     :定位到頁尾

                                                        q      :離開less這個程序)

命令: head

 

head 後直接跟文件名,則顯示文件的前十行。若是加-n 選項則顯示文件前 n 行。

-n 後能夠有空格也能夠無空格。

head -n -100 後面100行的數據不打印,只打印前面幾行

命令: tail

 

和 head 同樣,後面直接跟文件名,則顯示文件最後十行。若是加-n 選項則顯示文件最後 n 行。

tail -n +100 只列出100行之後的數據

 

-f: 動態顯示文件的最後十行,若是文件是不斷增長的,則用-f 選項。如: tail -f /var/log/messages 該選項特別經常使用,請熟記。表示持續偵測後面所接的檔案名,要等到按下ctrl+c纔會結束tail的偵測。

 

wc –l test.txt 能夠查看文件的行數

相關文章
相關標籤/搜索