久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      本篇文章給大家?guī)?lái)了linux操作系統(tǒng)基礎(chǔ)知識(shí),其中包括程序開(kāi)發(fā)環(huán)境、常用命令以及環(huán)境變量的相關(guān)知識(shí),希望對(duì)大家有幫助。

      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      1、Linux簡(jiǎn)介與程序開(kāi)發(fā)環(huán)境

      1.1 什么是Linux?

      Linux是一個(gè)可以自由發(fā)布的類(lèi)UNIX內(nèi)核實(shí)現(xiàn),它是一個(gè)操作系統(tǒng)的底層核心。Linux是由芬蘭赫爾辛基大學(xué)的Linus開(kāi)發(fā),期間得到了網(wǎng)上廣大UNIX程序員的幫助。它最初是受其教授的Minix(一個(gè)小型的類(lèi)UNIX系統(tǒng))啟發(fā)而開(kāi)發(fā)的程序,純屬個(gè)人的愛(ài)好,但是后來(lái)它自身逐步發(fā)展成為一個(gè)完整的系統(tǒng)

      要理解什么是Linux,首先要了解在Linux之前誕生的系統(tǒng)和應(yīng)用程序——UNIX和GNU軟件。

      1.1.1 什么是UNIX?

      UNIX操作系統(tǒng)最初是由貝爾實(shí)驗(yàn)室開(kāi)發(fā)的,當(dāng)時(shí)的貝爾實(shí)驗(yàn)室是電信巨頭AT&T(美國(guó)電報(bào)電話公司)旗下的一員。如今,它已經(jīng)成為一種非常流行的多用戶、多任務(wù)操作系統(tǒng)。UNIX操作系統(tǒng)可以運(yùn)行在大量不同種類(lèi)的硬件平臺(tái)上,其適用范圍從PC機(jī)到多處理器服務(wù)器和超級(jí)計(jì)算機(jī)。

      在UNIX上進(jìn)行程序開(kāi)發(fā)有些典型的風(fēng)格和特點(diǎn):

      1)簡(jiǎn)單性:許多很有用的UNIX工具是非常簡(jiǎn)單的?!靶《?jiǎn)單”是一種值得學(xué)習(xí)的技術(shù)。越大、越復(fù)雜的系統(tǒng)注定會(huì)包含越大、越復(fù)雜的錯(cuò)誤。

      2)集中性:讓一個(gè)程序很好地執(zhí)行一項(xiàng)任務(wù)好過(guò)把所有功能都堆在一起。功能臃腫的程序難于使用和維護(hù),單一目標(biāo)的程序更容易隨著更好的算法被開(kāi)發(fā)出來(lái)而得到改進(jìn)。在UNIX中,當(dāng)用戶出現(xiàn)新的需求時(shí),我們通常是把小工具組合起來(lái)完成更復(fù)雜的任務(wù),而不是試圖將一個(gè)用戶期望的所有功能放在一個(gè)大程序里。

      3)可重用的組件:將應(yīng)用程序的核心實(shí)現(xiàn)為庫(kù)。具有簡(jiǎn)單而靈活的編程接口的庫(kù)可以幫助其他人開(kāi)發(fā)出同類(lèi)程序,或者把這些技術(shù)應(yīng)用到新的應(yīng)用領(lǐng)域。

      1.1.2 GNU項(xiàng)目和自由軟件基金會(huì)

      有了操作系統(tǒng)內(nèi)核還不夠,Linux能夠發(fā)展到今天是無(wú)數(shù)人共同努力的結(jié)果。操作系統(tǒng)內(nèi)核本身僅僅是可用開(kāi)發(fā)系統(tǒng)的一小部分。一般的UNIX系統(tǒng)還包括提供系統(tǒng)服務(wù)和工具的應(yīng)用程序,對(duì)于Linux系統(tǒng),這些程序是由許多程序員編寫(xiě)并自由發(fā)布的。

      Linux社區(qū)支持自由軟件的概念,即軟件本身不應(yīng)受限,它們遵守GNU(GNU是GNU’s Not UNIX的遞歸縮寫(xiě))通用公共許可證(GPL)。

      自由軟件基金會(huì)(Free Software Foundation)是由Richard Stallman創(chuàng)立,其宗旨是:試圖創(chuàng)建一個(gè)與UNIX系統(tǒng)兼容,但并不受UNIX名字和源代碼私有權(quán)限制的操作系統(tǒng)和開(kāi)發(fā)環(huán)境。

      GNU項(xiàng)目已經(jīng)為軟件社區(qū)提供了許多UNIX系統(tǒng)上應(yīng)用程序的仿制品。例如大名鼎鼎的:

      GCC:GNU編譯器集,它包括GNU C編譯器。

      G++:G++編譯器,是GCC的一部分。

      GDB:源代碼級(jí)的調(diào)試器。

      GNU make

      bash:命令解釋器(shell的一種)

      有了這些可用的自由軟件,再加上Linux內(nèi)核,我們可以說(shuō):創(chuàng)建一個(gè)GNU的、自由的類(lèi)UNIX系統(tǒng)的目標(biāo)已經(jīng)通過(guò)Linux系統(tǒng)實(shí)現(xiàn)了。由于GNU軟件做出的貢獻(xiàn),現(xiàn)在許多人通常把Linux系統(tǒng)稱為GNU/Linux。

      1.2 程序開(kāi)發(fā)環(huán)境

      工欲善其事必先利其器,想要進(jìn)行Linux程序開(kāi)發(fā)需要先搭建開(kāi)發(fā)環(huán)境。

      1.2.1 Linux環(huán)境安裝

      進(jìn)行 Linux 開(kāi)發(fā)需要安裝一個(gè) linux 系統(tǒng)環(huán)境,一般使用 VMWare 安裝Ubuntu 系統(tǒng)進(jìn)行開(kāi)發(fā)。具體安裝過(guò)程大家可以參考以下帖子https://zhuanlan.zhihu.com/p/38797088這里我就不做過(guò)多介紹。

      1.2.2 SSH

      Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在應(yīng)用層基礎(chǔ)上的安全網(wǎng)絡(luò)協(xié)議。傳統(tǒng)的網(wǎng)絡(luò)服務(wù)程序,如 FTP、 Pop 和 Telnet 其本質(zhì)上都是不安全的;因?yàn)樗鼈冊(cè)诰W(wǎng)絡(luò)上用明文傳送數(shù)據(jù)、用戶帳號(hào)和用戶口令,很容易受到中間人攻擊方式的攻擊。
      SSH 分為客戶端 openssh-client 和服務(wù)器 openssh-server,我們需要在 ubuntu 系統(tǒng)下安裝 ssh 服務(wù)器,以便使用 ssh 客戶端登錄到系統(tǒng)。

      1)安裝ssh

      sudo apt update

      sudo apt install openssh-server

      2)啟動(dòng)ssh

      sudo service ssh start

      3)使用ip addr show命令查看 ubuntu 系統(tǒng) ip

      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      可以看出,當(dāng)前 ubuntu IP 地址為 192.168.176.148

      4)測(cè)試 ssh 登錄

      在 Ubuntu 上安裝完成 ssh 服務(wù)器后,接下來(lái)在 Windows 系統(tǒng)下使用 MobaXterm 進(jìn)行連接,測(cè)試 ssh 服務(wù)器是否安裝成功。 操作步驟如下:
      運(yùn)行 Xterm 軟件,選擇“Session”,如下圖所示:
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      點(diǎn)擊“SSH”并進(jìn)行設(shè)置,如下圖所示:
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      在該對(duì)話框中,選擇“協(xié)議”為“SSH”, “主機(jī)名”為 ubuntu 的 IP 地址,用戶名為當(dāng)前用戶名。端口號(hào)使用默認(rèn)值 22。 設(shè)置完成后,點(diǎn)擊"OK",出現(xiàn)如下命令行終端,表示已經(jīng)連接上虛擬機(jī)的ubuntu系統(tǒng)。
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      通過(guò)這種方法,確定主機(jī)和開(kāi)發(fā)板之間網(wǎng)絡(luò)通訊正常后,即可以登錄到開(kāi)發(fā)板上。

      5)安裝 Visual Studio Code

      Visual Studio Code(簡(jiǎn)稱 VSCode)是微軟出的一款免費(fèi)的編輯器,有 Windows、 Linux 和 macOS 三個(gè)版本,是一款跨平臺(tái)編輯器。 安裝過(guò)程大家可以自行搜索,這里主要介紹用于C/C++程序開(kāi)發(fā)的擴(kuò)展包,安裝步驟見(jiàn)下圖:
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      常用的有如下插件需要安裝:

      C/C++。

      C/C++ Snippets,即 C/C++重用代碼塊。

      C/C++ Advanced Lint,即 C/C++靜態(tài)檢測(cè) 。

      Code Runner,即代碼運(yùn)行。

      Include AutoComplete,即自動(dòng)頭文件包含。

      Rainbow Brackets,彩虹花括號(hào),有助于閱讀代碼。

      One Dark Pro, VSCode 的主題。

      GBKtoUTF8,將 GBK 轉(zhuǎn)換為 UTF8。

      ARM,即支持 ARM 匯編語(yǔ)法高亮顯示。

      Chinese(Simplified),即中文環(huán)境。

      vscode-icons, VSCode 圖標(biāo)插件,主要是資源管理器下各個(gè)文件夾的圖標(biāo)。

      compareit,比較插件,可以用于比較兩個(gè)文件的差異

      DeviceTree,設(shè)備樹(shù)語(yǔ)法插件。

      Markdown Preview Enhanced, markdown 預(yù)覽插件。

      Maridown pdf,將.md 文件轉(zhuǎn)換成其他格式。

      2、Linux常用命令

      Linux的命令有幾百個(gè),對(duì)于初學(xué)者來(lái)說(shuō),常用的并不多,并不需要全部掌握。在平時(shí)的學(xué)習(xí)和工作過(guò)程中,遇到了陌生的Linux命令,多查資料,日積月累,自然就記住了。下面為大家介紹Linux最基礎(chǔ)的17個(gè)命令。

      1、清屏

      clear

      2、查看服務(wù)器ip地址

      ip addr

      3、查看時(shí)間

      date

      4、目錄和文件

      文件系統(tǒng)像一棵樹(shù),樹(shù)干是/(根)目錄,樹(shù)枝是子目錄,樹(shù)枝后面還有樹(shù)枝(子目錄中還有子目錄),目錄的最后是文件。
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      目錄和文件的路徑分為絕對(duì)路徑和相對(duì)路徑,絕對(duì)路徑是從根(/)算起,例如/usr/etc/readme.txt。相對(duì)路徑是從當(dāng)前工作目錄算起,如果當(dāng)前工作目錄是/usr,etc/readme.txt等同于/usr/etc/readme.txt。此外,需要注意的是:一個(gè)圓點(diǎn).表示當(dāng)前工作目錄;兩個(gè)圓點(diǎn)…表示當(dāng)前工作目錄的上一級(jí)目錄。
      下面為大家簡(jiǎn)單介紹Linux系統(tǒng)目錄結(jié)構(gòu),為了避免諸多使用者對(duì) Linux 系統(tǒng)目錄結(jié)構(gòu)天馬行空,Linux 基金會(huì)發(fā)布了 FHS 標(biāo)準(zhǔn)。多數(shù) Linux 發(fā)行版系統(tǒng)都遵循這一標(biāo)準(zhǔn)。注:FHS(Filesystem Hierarchy Standard),文件系統(tǒng)層次化標(biāo)準(zhǔn),該標(biāo)準(zhǔn)規(guī)定了 Linux 系統(tǒng)中所有一級(jí)目錄以及部分二級(jí)目錄(/usr 和 /var)的用途。發(fā)布此標(biāo)準(zhǔn)的主要目的就是為了讓用戶清楚地了解每個(gè)目錄應(yīng)該存放什么類(lèi)型的文件。

      1)Linux 根目錄(/)

      FHS 認(rèn)為,Linux 系統(tǒng)的根目錄(/)最為重要,其原因有以下 2 點(diǎn):
      1. 所有目錄都是由根目錄衍生出來(lái)的;
      2. 根目錄與系統(tǒng)的開(kāi)機(jī)、修復(fù)、還原密切相關(guān);
      因此,根目錄必須包含開(kāi)機(jī)軟件、核心文件、開(kāi)機(jī)所需程序、函數(shù)庫(kù)、修復(fù)系統(tǒng)程序等文件,如下表所示。
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      2)Linux /usr目錄

      usr(注意不是 user),全稱為 Unix Software Resource,此目錄用于存儲(chǔ)系統(tǒng)軟件資源。FHS 建議開(kāi)發(fā)者,應(yīng)把軟件產(chǎn)品的數(shù)據(jù)合理的放置在 /usr 目錄下的各子目錄中,而不是為他們的產(chǎn)品創(chuàng)建單獨(dú)的目錄。
      Linux 系統(tǒng)中,所有系統(tǒng)默認(rèn)的軟件都存儲(chǔ)在 /usr 目錄下,/usr 目錄類(lèi)似 Windows 系統(tǒng)中 C:Windows + C:Program files 兩個(gè)目錄的綜合體。
      FHS 建議,/usr 目錄應(yīng)具備下表所示的子目錄。
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      3)Linux /var 目錄

      /var 目錄用于存儲(chǔ)動(dòng)態(tài)數(shù)據(jù),例如緩存、日志文件、軟件運(yùn)行過(guò)程中產(chǎn)生的文件等。通常,此目錄下建議包含如表 4 所示的這些子目錄。
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      5、查看當(dāng)前目錄

      pwd

      6、改變當(dāng)前工作目錄

      cd 目錄名

      示例:

      1)進(jìn)入/tmp目錄

      cd /tmp

      2)進(jìn)入上一級(jí)目錄

      cd ..

      3)進(jìn)入用戶的主目錄

      cd

      7、列出目錄和文件信息

      ls是list的縮寫(xiě),通過(guò) ls 命令不僅可以查看目錄和文件信息,還可以查看目錄和文件的權(quán)限、大小、主人和組等信息。
      選項(xiàng) -l 列出目錄和文件的詳細(xì)信息。
      示例:

      1)列出當(dāng)前工作目錄下全部的目錄和文件名信息

      ls
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      2)列出當(dāng)前工作目錄下全部的目錄和文件名詳細(xì)的信息

      ls -l
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      3)正則表達(dá)式

      正則表達(dá)式又稱規(guī)則表達(dá)式、通配符,目錄和文件名都支持正則表達(dá)式,正則表達(dá)式的規(guī)則比較多,在這里我們只需要掌握最常用的兩種:星號(hào) “*” 。

      星號(hào) “*” :匹配任意數(shù)量的字符。

      例如:ls open*.zip
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      8、創(chuàng)建目錄

      1)在當(dāng)前工作目錄下創(chuàng)建aaa目錄

      mkdir aaa

      2)在當(dāng)前工作目錄下創(chuàng)建aaa目錄,并在aaa目錄下創(chuàng)建bbb目錄

      mkdir aaa/bbb -p

      9、刪除目錄和文件

      rm [-rf]目錄或文件

      選項(xiàng)-r可以刪除目錄,如果沒(méi)有-r只能刪除文件。

      選項(xiàng)-f表示強(qiáng)制刪除,不需要確認(rèn)。

      1)刪除aaa目錄

      rm aaa -r

      2)強(qiáng)制刪除當(dāng)前工作目錄下的ccc.c文件

      rm -f ccc.c

      9、移動(dòng)目錄和文件

      mv 舊目錄或文件名 新目錄或文件名

      1)把當(dāng)前工作目錄中的 book.c 文件重命名為 book1.c

      mv book.c book1.c

      2)如果OPC/test3是一個(gè)已經(jīng)存在的目錄,以下命令將把當(dāng)前工作目錄下的 book.c 文件移動(dòng)到 OPC/test3 目錄中。

      mv book.c OPC/test3

      3)如果 OPC/test3目錄不存在,以下命令將把當(dāng)前工作目錄下的 book.c 文件改名為 OPC/test3。

      mv book.c OPC/test3

      10、復(fù)制目錄和文件

      cp [-r] 舊目錄或文件名 新目錄或文件名

      注:-r 是遞歸的意思,英文 recursion

      選項(xiàng)-r可以復(fù)制目錄,如果沒(méi)有選項(xiàng)-r只能復(fù)制文件。

      示例:

      1)把當(dāng)前工作目錄下的book1.c文件復(fù)制為book2.c

      cp book1.c book2.c

      2)把當(dāng)前工作目錄下的aaa目錄復(fù)制為bbb

      cp aaa bbb -r

      3)把當(dāng)前工作目錄下的book1.c文件復(fù)制為aaa/book1.c

      cp book1.c aaa/book1.c

      cp book1.c aaa/.

      以上兩個(gè)命令的效果相同。

      4)把當(dāng)前工作目錄下的aaa目錄復(fù)制為/tmp/aaa

      cp -r aaa /tmp/aaa

      cp -r aaa /tmp/.

      以上兩個(gè)命令的效果相同。

      11、判斷網(wǎng)絡(luò)是否連通

      ping -c 包的個(gè)數(shù) ip地址或域名

      ping用于確定本地主機(jī)是否能與另一臺(tái)主機(jī)成功交換數(shù)據(jù)包,判斷網(wǎng)絡(luò)是否通暢。

      1)向本地主機(jī)(127.0.0.1)ping五個(gè)包

      ping -c 5 127.0.0.1
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      2)向百度 www.baidu.com.cn 的服務(wù)器ping五個(gè)包

      ping -c 5 www.baidu.com.cn
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      可以看出百度的服務(wù)器是可以ping通的。

      3)向谷歌 www.google.com 的服務(wù)器ping五個(gè)包。

      ping -c 5 www.google.com
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      可以看出谷歌的服務(wù)器是ping不通的。

      12、顯示文本文件的內(nèi)容

      顯示文本文件的內(nèi)容有三個(gè)命令:cat、moretail

      1)cat 命令

      cat 文件名

      cat命令一次顯示整個(gè)文件的內(nèi)容。

      cat main.cpp

      2)more 命令

      more 文件名

      為了方便閱讀,more命令分頁(yè)顯示文件的內(nèi)容,按空格鍵顯示下一頁(yè),按b鍵顯上一頁(yè),按q鍵退出。

      3)tail 命令

      tail -f 文件名

      tail -f用于顯示文本文件的最后幾行,如果文件的內(nèi)容有增加,就實(shí)時(shí)的刷新。對(duì)程序員來(lái)說(shuō),tail -f極其重要,可以動(dòng)態(tài)顯示后臺(tái)服務(wù)程序的日志,用于調(diào)試和跟蹤程序的運(yùn)行。

      13、統(tǒng)計(jì)文本文件的行數(shù)、單詞數(shù)和字節(jié)數(shù)

      wc(word count)功能為統(tǒng)計(jì)指定的文件中字節(jié)數(shù)、字?jǐn)?shù)、行數(shù),并將統(tǒng)計(jì)結(jié)果輸出

      wc 文件名
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      14、搜索文件中的內(nèi)容

      grep "內(nèi)容" 文件名

      注意,如果內(nèi)容中沒(méi)有空格等特殊字符,可以不用雙引號(hào)括起來(lái)。

      示例:

      1)在main.cpp文件中搜索signal

      grep signal main.cpp
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      15、搜索文件

      1)find

      find 目錄名 -name 文件名

      參數(shù)說(shuō)明:
      目錄名:待搜索的目錄,搜索文件的時(shí)候,除了這個(gè)目錄名,還包括它的各級(jí)子目錄。
      文件名:待搜索的文件名匹配的規(guī)則。
      示例:
      從 OPC 目錄開(kāi)始搜索,把全部的 *.cpp 文件顯示出來(lái)。

      find OPC -name *.cpp

      2)locate

      locate 文件名

      示例:
      搜索open62541.c文件

      locate open62541.c
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      注意:第一次使用該命令,可能需要更新數(shù)據(jù)庫(kù),按照提示的命令執(zhí)行一下就好了.

      find多用于在某個(gè)目錄下進(jìn)行模糊搜索,而locate則是進(jìn)行全盤(pán)準(zhǔn)確定位。

      16、chmod命令

      用于改變linux文件或目錄的訪問(wèn)權(quán)限。該命令有兩種用法。一種是包含字母和操作符表達(dá)式的文字設(shè)定法;另一種是包含數(shù)字的數(shù)字設(shè)定法。

      每一文件或目錄的訪問(wèn)權(quán)限都有三組,每組用三位表示,分別為文件屬主的讀、寫(xiě)和執(zhí)行權(quán)限;與屬主同組的用戶的讀、寫(xiě)和執(zhí)行權(quán)限;系統(tǒng)中其他用戶的讀、寫(xiě)和執(zhí)行權(quán)限。

      舉例:ls -l example
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      第一列共有10個(gè)位置,第一個(gè)字符指定了文件類(lèi)型。在通常意義上,一個(gè)目錄也是一個(gè)文件。如果第一個(gè)字符是橫線,表示是一個(gè)非目錄的文件。如果是d,表示是一個(gè)目錄。從第二個(gè)字符開(kāi)始到第十個(gè)共9個(gè)字符,3個(gè)字符一組,分別表示了3組用戶對(duì)文件或者目錄的權(quán)限。權(quán)限字符用橫線代表空許可,r代表只讀,w代表寫(xiě),x代表可執(zhí)行。

      常用參數(shù):

      • -c 當(dāng)發(fā)生改變時(shí),報(bào)告處理信息

      • -R 處理指定目錄以及其子目錄下所有文件

      權(quán)限范圍:

      • u :目錄或者文件的當(dāng)前的用戶

      • g :目錄或者文件的當(dāng)前的群組

      • o :除了目錄或者文件的當(dāng)前用戶或群組之外的用戶或者群組

      • a :所有的用戶及群組

      權(quán)限代號(hào):

      • r :讀權(quán)限,用數(shù)字4表示

      • w :寫(xiě)權(quán)限,用數(shù)字2表示

      • x :執(zhí)行權(quán)限,用數(shù)字1表示

      • – :刪除權(quán)限,用數(shù)字0表示

      • s :特殊權(quán)限

      示例:

      1)刪除文件 example 所有用戶可執(zhí)行權(quán)限

      chmod a-x example
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      2)給 example 的屬主分配讀、寫(xiě)、執(zhí)行(7)的權(quán)限,給 example 的所在組分配讀、執(zhí)行(5)的權(quán)限,給其他用戶分配執(zhí)行(1)的權(quán)限

      chmod 751 example -c
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      3)將aaa目錄及其子目錄所有文件添加可讀權(quán)限

      chmod u+r,g+r,o+r -R text/ -c
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      17、查看系統(tǒng)磁盤(pán)空間

      df [-h] [-T]

      選項(xiàng)-h以方便閱讀的方式顯示信息:

      df -h
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      選項(xiàng)-T列出文件系統(tǒng)類(lèi)型:

      df -h -T
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      3、Linux環(huán)境變量講解

      3.1 環(huán)境變量的概念

      3.1.1 什么是環(huán)境變量?

      程序(操作系統(tǒng)命令和應(yīng)用程序)的執(zhí)行都需要運(yùn)行環(huán)境,這個(gè)環(huán)境是由多個(gè)環(huán)境變量組成的。

      3.1.2 環(huán)境變量的分類(lèi)

      1)按生效的范圍分類(lèi)。

      系統(tǒng)環(huán)境變量:公共的,對(duì)全部的用戶都生效。

      用戶環(huán)境變量:用戶私有的、自定義的個(gè)性化設(shè)置,只對(duì)該用戶生效。

      2)按生存周期分類(lèi)。

      永久環(huán)境變量:在環(huán)境變量腳本文件中配置,用戶每次登錄時(shí)會(huì)自動(dòng)執(zhí)行這些腳本,相當(dāng)于永久生效。

      臨時(shí)環(huán)境變量:使用時(shí)在Shell中臨時(shí)定義,退出Shell后失效。

      3)Linux環(huán)境變量

      Linux環(huán)境變量也稱之為Shell環(huán)境量變,以下劃線和字母打頭,由下劃線、字母(區(qū)分大小寫(xiě))和數(shù)字組成,習(xí)慣上使用大寫(xiě)字母,例如PATH、HOSTNAME、LANG等。

      3.2 常用的環(huán)境變量

      3.2.1 查看環(huán)境變量

      1)env命令

      在Shell下,用env命令查看當(dāng)前用戶全部的環(huán)境變量。
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      上圖只截取了部分環(huán)境變量,并非全部。

      注:用env命令的時(shí)候,滿屏顯示了很多環(huán)境變量,不方便查看,可以用grep篩選。

      env|grep 環(huán)境變量名

      例如查看環(huán)境變量名中包含PATH的環(huán)境變量。

      env|grep PATH
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      2)echo命令

      echo $環(huán)境變量名

      例如:echo $LANG

      3.2.2 常用的環(huán)境變量

      1)PATH

      可執(zhí)行程序的搜索目錄,可執(zhí)行程序包括Linux系統(tǒng)命令和用戶的應(yīng)用程序,PATH變量的具體用法本文后面的章節(jié)中有詳細(xì)的介紹。

      2)LANG

      Linux系統(tǒng)的語(yǔ)言、地區(qū)、字符集。

      echo $LANG
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      3)HOSTNAME

      服務(wù)器的主機(jī)名。

      echo $HOSTNAME

      4)SHELL

      用戶當(dāng)前使用的Shell解析器。

      echo $SHELL
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      5)HISTSIZE

      保存歷史命令的數(shù)目。

      6)USER

      當(dāng)前登錄用戶的用戶名。

      echo $USER

      7)HOME

      當(dāng)前登錄用戶的主目錄。

      echo $HOME

      8)PWD

      當(dāng)前工作目錄。

      echo $PWD
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      9)LD_LIBRARY_PATH

      C/C++語(yǔ)言動(dòng)態(tài)鏈接庫(kù)文件搜索的目錄,它不是Linux缺省的環(huán)境變量,但對(duì)C/C++程序員來(lái)說(shuō)非常重要,具體用法本文后面的章節(jié)中有詳細(xì)的介紹。

      3.3 設(shè)置環(huán)境量

      export 變量名='值'

      如果環(huán)境變量的值沒(méi)有空格等特殊符號(hào),可以不用單引號(hào)包含。

      示例:

      export PATH=$PATH:.

      以上命令為當(dāng)前shell的環(huán)境變量PATH添加.目錄(是.)

      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.

      以上命令為當(dāng)前shell的環(huán)境變量LD_LIBRARY_PATH添加.目錄

      采用export設(shè)置的環(huán)境變量,在退出Shell后就會(huì)失效,下次登錄時(shí)需要重新設(shè)置。如果希望環(huán)境變量永久生效,需要在登錄腳本文件中配置。

      3.3.1 系統(tǒng)環(huán)境變量

      系統(tǒng)環(huán)境變量對(duì)全部的用戶生效,設(shè)置系統(tǒng)環(huán)境變量有三種方法。

      1)在/etc/profile文件中設(shè)置。

      用戶登錄時(shí)執(zhí)行/etc/profile文件中設(shè)置系統(tǒng)的環(huán)境變量。但是,Linux不建議在/etc/profile文件中設(shè)置系統(tǒng)環(huán)境變量。

      2)在/etc/profile.d目錄中增加環(huán)境變量腳本文件,這是Linux推薦的方法。

      /etc/profile在每次啟動(dòng)時(shí)會(huì)執(zhí)行 /etc/profile.d下全部的腳本文件。/etc/profile.d比/etc/profile好維護(hù),不想要什么變量直接刪除 /etc/profile.d下對(duì)應(yīng)的 shell 腳本即可。

      /etc/profile.d目錄下有很多腳本文件,例如:

      ls /etc/profile.d
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      3)在/etc/bashrc文件中設(shè)置環(huán)境變量。

      該文件配置的環(huán)境變量將會(huì)影響全部用戶使用的bash shell。但是,Linux也不建議在/etc/bashrc文件中設(shè)置系統(tǒng)環(huán)境變量。

      3.3.2 用戶環(huán)境變量

      用戶環(huán)境變量只對(duì)當(dāng)前用戶生效,設(shè)置用戶環(huán)境變量也有多種方法。

      在用戶的主目錄,有幾個(gè)特別的文件,用ls是看不見(jiàn)的,用ls .bash*可以看見(jiàn)。
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      1).bash_profile(推薦首選)

      當(dāng)用戶登錄時(shí)執(zhí)行,每個(gè)用戶都可以使用該文件來(lái)配置專屬于自己的環(huán)境變量。

      2).bashrc

      當(dāng)用戶登錄時(shí)以及每次打開(kāi)新的Shell時(shí)該文件都將被讀取,不推薦在里面配置用戶專用的環(huán)境變量,因?yàn)槊块_(kāi)一個(gè)Shell,該文件都會(huì)被讀取一次,效率肯定受影響。

      3).bash_logout

      當(dāng)每次退出系統(tǒng)(退出bash shell)時(shí)執(zhí)行該文件。

      4).bash_history

      保存了當(dāng)前用戶使用過(guò)的歷史命令。

      3.3.3 環(huán)境變量腳本文件的執(zhí)行順序

      環(huán)境變量腳本文件的執(zhí)行順序如下:

      /etc/profile->/etc/profile.d->/etc/bashrc->用戶的.bash_profile->用戶的.bashrc

      同名的環(huán)境變量,如果在多個(gè)腳本中有配置,以最后執(zhí)行的腳本中的配置為準(zhǔn)。

      3.4 重要環(huán)境變量的詳解

      1、PATH環(huán)境變量

      可執(zhí)行程序的搜索目錄,可執(zhí)行程序包括Linux系統(tǒng)命令和用戶的應(yīng)用程序。如果可執(zhí)行程序的目錄不在PATH指定的目錄中,執(zhí)行時(shí)需要指定目錄。

      1)PATH環(huán)境變量存放的是目錄列表,目錄之間用冒號(hào):分隔,最后的圓點(diǎn).表示當(dāng)前目錄。

      export PATH=目錄1:目錄2:目錄3:…目錄n:.

      2)PATH缺省包含了Linux系統(tǒng)命令所在的目錄(/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin),如果不包含這些目錄,Linux的常用命令也無(wú)法執(zhí)行(要輸入絕對(duì)路徑才能執(zhí)行)。

      示例:

      ls /bin/ls 可以查看到ls命令位于/bin目錄下
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      此時(shí)我們執(zhí)行命令 export PATH= 將PATH變量清空,再執(zhí)行ls命令,系統(tǒng)會(huì)提示找不到ls命令。
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      采用絕對(duì)路徑就可以使用,/bin/ls
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      為環(huán)境變量PATH添加/bin目錄后,ls也可以執(zhí)行了。
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      3)如果PATH變量中沒(méi)有包含圓點(diǎn).,執(zhí)行當(dāng)前目錄下的程序需要加./或使用絕對(duì)路徑。

      示例:
      在當(dāng)前目錄下執(zhí)行 example 命令,提示無(wú)法執(zhí)行。
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      將圓點(diǎn).添加到環(huán)境變量PATH之后,便可以執(zhí)行了。

      export PATH=$PATH:.
      一起聊聊linux操作系統(tǒng)的常用命令及環(huán)境變量

      2、LD_LIBRARY_PATH環(huán)境變量

      C/C++語(yǔ)言動(dòng)態(tài)鏈接庫(kù)文件搜索的目錄,它不是Linux缺省的環(huán)境變量,但對(duì)C/C++程序員來(lái)說(shuō)非常重要。

      LD_LIBRARY_PATH環(huán)境變量存放的也是目錄列表,目錄之間用冒號(hào):分隔,最后的圓點(diǎn).表示當(dāng)前目錄,與PATH的格式相同。

      export LD_LIBRARY_PATH=目錄1:目錄2:目錄3:......目錄n:.

      這個(gè)環(huán)境變量我們會(huì)在下次課講解Linux靜態(tài)庫(kù)與動(dòng)態(tài)庫(kù)時(shí)詳細(xì)介紹。

      3.5 環(huán)境變量的生效

      1)在Shell下,用export設(shè)置的環(huán)境變量對(duì)當(dāng)前Shell立即生效,Shell退出后失效。

      2)在腳本文件中設(shè)置的環(huán)境變量不會(huì)立即生效,退出Shell后重新登錄時(shí)才生效,或者用source命令讓它立即生效,例如:

      source /etc/profile

      3.6 應(yīng)用經(jīng)驗(yàn)

      雖然設(shè)置環(huán)境變量的方法有多種,但是建議大家系統(tǒng)環(huán)境變量在/etc/profile.d目錄中配置,用戶環(huán)境變量在用戶的.bash_profile中配置,不建議在其它腳本文件中配置環(huán)境變量,會(huì)增加系統(tǒng)運(yùn)維的麻煩,容易出錯(cuò)。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)