完美介紹linux環境變數與部分命令_unix linux

來源:互聯網
上載者:User

linux環境變數介紹

環境變數:bash shell用一個稱作“環境變數(environment variables)”的特性來儲存有關shell會話和工作環境的資訊,它允許你在記憶體中儲存資料,以便運行在shell上的程式和指令碼訪問,這些資料可以用來識別使用者、賬戶、系統、shell特性以及任何其他你需要儲存的資料。

shell中的環境變數有全域環境變數和局部環境變數,通過KV(variable=value)的形式聲明一個局部變數,export這個局部變數,則升級成為全域環境變數。

關於linux的設定,有很多方法,可能大家會有所混淆。例如:

1、你知道/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc 的區別嗎?

2、Linux 中 rc.local、init.d、init 、rc.d等檔案的作用和區別是什嗎?

看到這些,不免有些頭大,今天就簡單的整理一下!

複製代碼 代碼如下:

/etc/profile、/etc/bashrc、~/.bash_profile、~/.bashrc
/etc/profile:此檔案為系統的每個使用者佈建環境資訊,當使用者第一次登入時,該檔案被執行並從/etc/profile.d目錄的設定檔中搜集shell的設定。
/etc/bashrc:為每一個運行bash shell的使用者執行此檔案.當bash shell被開啟時,該檔案被讀取。
~/.bash_profile:每個使用者都可使用該檔案輸入專用於自己使用的shell資訊,當使用者登入時,該檔案僅僅執行一次!預設情況下,他設定一些環境變數,執行使用者的.bashrc檔案。
~/.bashrc:該檔案包含專用於你的bash shell的bash資訊,當登入時以及每次開啟新的shell時,該 該檔案被讀取。

區別:

/etc/profile,/etc/bashrc 是系統全域環境變數設定 ~/.profile,~/.bashrc使用者目錄下的私人環境變數設定

讀取環境變數一般有三步:

複製代碼 代碼如下:

 一、讀入的是全域環境變數設定的文檔/etc/profile,然後根據其內容讀取額外的設定的文檔,如 /etc/profile.d和/etc/inputrc  
 二、根據不同使用者帳號,去其他目錄讀取~/.bash_profile,如果這讀取不了就讀取~/.bash_login,這個也讀取不了才會讀取 ~/.profile,這三個文檔設定基本上是一樣的,讀取有優先關係
 三、最後再根據使用者帳號讀取~/.bashrc

~/.profile與~/.bashrc相同點:

 都具有個人化定製功能  ~/.profile可以設定本使用者專有的路徑,環境變數,等,它只能登入的時候執行一次  ~/.bashrc也是某使用者專有設定文檔,可以設定路徑,命令別名,每次shell script的執行都會使用它一次

rc.local、init.d、init 、rc.d

複製代碼 代碼如下:

init 檔案名稱,指的是系統啟動的第一個指令碼
init.d 目錄名,目錄內放的是各個服務的啟動指令碼,比如sshd、httpd等
rcX.d 目錄名,後面的X代表著每個運行層級。目錄內有每個服務在init.d內啟動指令碼的連結檔案,根據連結檔案的名字來的啟動狀態。K開頭表示不啟動服務,S打頭表示啟動服務,X取值0~6(rc.d,rc,rc0.d,rc6.d等等)
rc.local 連結檔案,指到/etc/rc.d/rc.local。是系統初始化及服務均啟動完畢後,最後執行的一個指令碼,一些簡單的指令碼可以放到其中

linux部分命令介紹

netstat

Netstat 命令用於顯示各種網路相關資訊,如網路連接,路由表,介面狀態 (Interface Statistics),masquerade 串連,多播成員 (Multicast Memberships) 等等。

常見參數-a (all)顯示所有選項,預設不顯示LISTEN相關-t (tcp)僅顯示tcp相關選項-u (udp)僅顯示udp相關選項-n 拒絕顯示別名,能顯示數位全部轉化成數字。-l 僅列出有在 Listen (監聽) 的服務狀態-p 顯示建立相關連結的程式名-r 顯示路由資訊,路由表-e 顯示擴充資訊,例如uid等-s 按各個協議進行統計-c 每隔一個固定時間,執行該netstat命令。提示:LISTEN和LISTENING的狀態只有用-a或者-l才能看到

ll 命令

ll 命令列出的資訊更加詳細,有時間,是否可讀寫等資訊 。

ll會列出該檔案下的所有檔案資訊,包括隱藏的檔案,而ls -l只列出顯式檔案,說明這兩個命令還是不等同的!

ps命令

該命令用於將某個時間點的進程運行情況選取下來並輸出,process之意,它的常用參數如下:

-A :所有的進程均顯示出來-a :不與terminal有關的所有進程-u :有效使用者的相關進程-x :一般與a參數一起使用,可列出較完整的資訊-l :較長,較詳細地將PID的資訊列出

其實我們只要記住ps一般使用的命令參數搭配即可,它們並不多,如下:

ps aux # 查看系統所有的進程資料ps ax # 查看不與terminal有關的所有進程ps -lA # 查看系統所有的進程資料ps axjf # 查看連同一部分進程樹狀態

kill命令

該命令用於向某個工作(%jobnumber)或者是某個PID(數字)傳送一個訊號,它通常與ps和jobs命令一起使用,它的基本文法如下:

kill -signal PID

signal的常用參數如下:

註:最前面的數字為訊號的代號,使用時可以用代號代替相應的訊號。

1:SIGHUP,啟動被終止的進程2:SIGINT,相當於輸入ctrl+c,中斷一個程式的進行9:SIGKILL,強制中斷一個進程的進行15:SIGTERM,以正常的結束進程方式來終止進程17:SIGSTOP,相當於輸入ctrl+z,暫停一個進程的進行

例如: 以正常的結束進程方式來終於第一個後台工作,可用jobs命令查看後台中的第一個背景工作處理序

kill -SIGTERM %1

重新改動進程ID為PID的進程,PID可用ps命令通過管道命令加上grep命令進行篩選獲得

kill -SIGHUP PID

wget

1、使用wget下載單個檔案

wget http://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.6.3.tgz

2、使用wget -O下載並以不同的檔案名稱儲存

wget -O haorooms.zip http://www.haorooms.com/download.php?id=1080 

3、使用wget –limit -rate限速下載 當你執行wget的時候,它預設會佔用全部可能的寬頻下載。但是當你準備下載一個大檔案,而你還需要下載其它檔案時就有必要限速了。

wget –limit-rate=300k http://cn.wordpress.org/wordpress-3.1-zh_CN.zip 

4、使用wget -c斷點續傳 使用wget -c重新啟動下載中斷的檔案:

wget -c http://www.haorooms.com/haorooms-3.1-zh_CN.zip 

對於我們下載大檔案時突然由於網路等原因中斷非常有協助,我們可以繼續接著下載而不是重新下載一個檔案。需要繼續中斷的下載時可以使用-c參數。

5、使用wget -b後台下載 對於下載非常大的檔案的時候,我們可以使用參數-b進行後台下載。

wget -b http://www.haorooms.com/haorooms-3.1-zh_CN.zipContinuing in background, pid 1840. Output will be written to `wget-log'. 

你可以使用以下命令來察看下載進度

tail -f wget-log

tail 命令

tail 命令從指定點開始將檔案寫到標準輸出.使用tail命令的-f選項可以方便的查閱正在改變的記錄檔,tail -f filename會把filename裡最尾部的內容顯示在螢幕上,並且不但重新整理,使你看到最新的檔案內容.

1.命令格式;

tail[必要參數][選擇參數][檔案]

2.命令功能:

用於顯示指定檔案末尾內容,不指定檔案時,作為輸入資訊進行處理。常用查看記錄檔。

3.命令參數:

-f 迴圈讀取-q 不顯示處理資訊-v 顯示詳細的處理資訊-c<數目> 顯示的位元組數-n<行數> 顯示行數--pid=PID 與-f合用,表示在進程ID,PID死掉之後結束. -q, --quiet, --silent 從不輸出給出檔案名稱的首部 -s, --sleep-interval=S 與-f合用,表示在每次反覆的間隔休眠S秒

下面的命令是顯示檔案末尾5行

tail -n 5 log2014.log

curl命令

可以查看網站,也可以下載檔案!

在Linux中curl是一個利用URL規則在命令列下工作的檔案傳輸工具,可以說是一款很強大的http命令列工具。它支援檔案的上傳和下載,是綜合傳輸工具,但按傳統,習慣稱url為下載工具。

文法:

curl [option] [url]

常見參數:

-A/--user-agent <string>    設定使用者代理程式發送給伺服器-b/--cookie <name=string/file> cookie字串或檔案讀取位置-c/--cookie-jar <file>     操作結束後把cookie寫入到這個檔案中-C/--continue-at <offset>   斷點續轉-D/--dump-header <file>    把header資訊寫入到該檔案中-e/--referer         來源網址-f/--fail           串連失敗時不顯示http錯誤-o/--output         把輸出寫到該檔案中-O/--remote-name      把輸出寫到該檔案中,保留遠程檔案的檔案名稱-r/--range <range>      檢索來自HTTP/1.1或FTP伺服器位元組範圍-s/--silent         靜音。不輸出任何東西-T/--upload-file <file>     上傳檔案-u/--user <user[:password]>  設定伺服器的使用者和密碼-w/--write-out [format]    什麼輸出完成後-x/--proxy <host[:port]>    在給定的連接埠上使用HTTP代理-#/--progress-bar      進度條顯示當前的傳送狀態

小結

關於環境變數與命令就介紹到這,其實linux命令還有很多,上面的命令是我經常用到的,給有需要的朋友參考。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.