Linux終端

Linux終端

介紹Linux終端留凭、命令行以及執(zhí)行系統(tǒng)命令也榄。對于新手巡莹,需要熟悉Linux終端,因為終端是與Linux系統(tǒng)交互的標準方式甜紫。一旦你掌握了這些命令基礎降宅,通過命令去與系統(tǒng)交互將會變得非常簡單。

開始之前需要準備一臺Linux服務器囚霸,課程使用的Windows10自帶WSL下的Ubuntu 20.4腰根。你也可以自行采購運營商的服務器,如果你是學生拓型,可以以學生優(yōu)惠價申請騰訊云额嘿、華為云和阿里云的基礎配置服務器,非常劃算可以自行前往了解劣挫。

終端仿真器

終端仿真器是系統(tǒng)應用程序册养,可以讓你在可視化圖形界面環(huán)境中使用。大多數都是基于終端仿真器開始學習Linux的压固,對于大多數Linux系統(tǒng)工作者而言球拦,終端工具也是必須掌握的交互工具。

推薦幾款終端工具:

Mac: iTerms2
Win: PuTTY帐我、Windows Power Shell(win10自帶終端工具)
Linux: Terminal坎炼、KDE Konsole、XTerm

初學者可以根據自己的學習環(huán)境選擇拦键,這些終端工具都有自己的功能特色谣光,需要自行培養(yǎng)使用習慣。

Shell(腳本語言)

在Linux中芬为,Shell是解釋用戶命令和腳本文件的命令行接口規(guī)范萄金,告訴操作系統(tǒng)用戶的真實行為,操作系統(tǒng)具體需要完成的任務媚朦。目前B ShellC Shell都有著廣泛應用氧敢,關于解釋命令的方式,每種Sehll都有自己的功能集合和復雜性莲镣,但是都具有輸入輸出重定向福稳、變量以及條件測試等功能。

大多數Linux系統(tǒng)默認采用的Bourne-Again shell瑞侮,通常指的是bash的圆,包括Ubuntu鼓拧、CentOS、RedHat越妈。

命令提示符

當你登錄到Linux服務器季俩,終端上將會輸出一些歡迎信息,包括系統(tǒng)版本梅掠、當前時間日期等信息酌住。然后就會出現一行命令行提示符,等待用戶的命令的輸入阎抒,此時你可以輸入合法的命令給系統(tǒng)酪我。

Ubuntu的命令行提示符:

lance@ubuntuserver0:~$

拆解如下:

  • lance: 當前用戶
  • ubuntuserver0: 服務器主機名
  • ~: 當前目錄,在bash~指定為當前用戶的主目錄且叁,在此案例中即/home/lance

執(zhí)行命令

在命令行提示符處通過指定可執(zhí)行文件的名稱發(fā)出命令都哭,命令可以是二進制程序或者腳本。正常情況下Linux系統(tǒng)安裝了很多的系統(tǒng)命令和使用的系統(tǒng)附帶程序逞带,比如瀏覽文件系統(tǒng)欺矫、安裝軟件包以及配置系統(tǒng)等。

正在運行的命令的實例成為進程展氓,當你輸入命令之后必須等待系統(tǒng)的執(zhí)行返回才能再次回到命令行提示符穆趴,才可以再次向系統(tǒng)發(fā)起其他命令。

需要注意Linux系統(tǒng)是區(qū)分大小寫的遇汞,包括你在命令行中輸入文件或者目錄名未妹、命令、參數和選項勺疼,如果你的輸入指令不能正常執(zhí)行教寂,需要注意檢查輸入是否有誤捏鱼。

執(zhí)行命令不帶參數和選項

執(zhí)行命令执庐,不帶任何參數和選項,簡單輸入指令是能夠有返回的导梆。這取決于你輸入的命令是否有默認行為轨淌,否則會有正確的命令使用規(guī)范提示輸出。
比如你執(zhí)行cd命令看尼,會切換目錄到用戶主目錄递鹉;ls命令則會默認打印當前所在目錄的文件和子目錄。輸入ip命令則會輸出命令使用規(guī)范說明藏斩。

執(zhí)行命令指定參數

一些命令接受參數和選項躏结,輸入的參數會影響命令的行為。比如你執(zhí)行cd /usr/local狰域,系統(tǒng)將會切換至/usr/local目錄媳拴。

cd /usr/local

執(zhí)行命令指定選項

大多數命令接受選項輸入黄橘,在應用程序中通常被稱為標記或者切換開關,這些選項會引導命令的執(zhí)行行為屈溉。通常選項需要附帶在命令之后塞关,由一些命令內置字符來指定其輸入,比如使用-或者--來引導選項值的輸入子巾,然后有命令執(zhí)行文件進行解析帆赢。

使用ls --help來查看ls命令選項說明:

  • -l: 指定輸出更長的信息清單,包括文件或者文件夾的所屬用戶以及權限线梗,文件大小和修改時間
  • -a: 打印指定目錄下所有的文件和文件夾椰于,包括系統(tǒng)隱藏文件和文件夾,比如以.開頭的隱藏文件和文件夾

執(zhí)行命令指定參數和選項

大多數情況仪搔,都是組合參與和選項來使用命令的廉羔。比如ls -la /home/lance

環(huán)境變量

環(huán)境變量是name-value形式定義的,用于改變命令和進程的執(zhí)行方式僻造。在首次登陸服務器或者啟動服務器時憋他,系統(tǒng)默認按照一定順序從一些配置文件中加載一個或者多個環(huán)境變量。

我們可以通過env命令來查看系統(tǒng)為當前會話終端所設置的所有環(huán)境變量髓削。

env

查看會話環(huán)境變量

可以看到終端有許多的環(huán)境變量輸出:

> SHELL=/bin/bash   
> WSL_DISTRO_NAME=Ubuntu  
> WT_SESSION=9e898215-21c0-47a5-9a10-60df73299120  
> NAME=DESKTOP-JLRIVPD  
> PWD=/home/lance/lance  
> LOGNAME=lance  
> HOME=/home/lance  
> LANG=C.UTF-8 

查看指定環(huán)境變量

  1. 我們在終端查看我們想要知道的環(huán)境變量的值竹挡,可以通過執(zhí)行echo ${var}的形式查看。

echo $PATH

輸出:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/mnt/c/Windows/system32:/mnt/c/Windows:/mnt/c/Windows/System32/Wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0/:/mnt/c/Windows/System32/OpenSSH/:/mnt/c/Program Files/Java/jdk-14.0.2/bin:/mnt/c/Program Files/Go/go1.15/bin:/mnt/c/Program Files/Git/cmd:/mnt/c/Users/Lance/AppData/Local/Microsoft/WindowsApps:/mnt/c/storage/apps/devloper/Microsoft VS Code/bin:/mnt/c/Users/Lance/go/bin:/snap/bin

  1. 也可以在命令行中使用環(huán)境變量立膛,這樣命令在執(zhí)行中會自動將指定環(huán)境變量替換成具體變量值揪罕,再傳輸指令給系統(tǒng)。

cd $HOME

  • 但是需要注意宝泵,如果你在命令行或者腳本中使用一個未定義設置的環(huán)境變量好啰,正常情況會被空字符串替代。

設置環(huán)境變量

在知道如何使用或者查看環(huán)境變量之后儿奶,需要進一步學習如何設置一個環(huán)境變量框往。

  1. 設置一個環(huán)境變量時,需要以環(huán)境變量的名稱開頭闯捎,用=將變量命令與變量值相連椰弊,傳輸給系統(tǒng)。如果變量已存在則覆蓋瓤鼻,否則為當前會話創(chuàng)建一個新的環(huán)境變量秉版。

TEST_VAR=LANCE_TEST

然后通過echo $TEST_VAR命令來獲取查看設置變量的值,終端會輸出LANCE_TEST茬祷。

  1. 通過export命令實現環(huán)境變量設置

bash中包含export命令清焕,用于導出變量,以便于子進程可以繼承該變量。簡而言之秸妥,就是允許你使用腳本引導當前會話中導出環(huán)境變量借卧。更多的信息可以通過一些Linux論壇或者書籍中進一步了解學習。

export命令也可以引用已存在的環(huán)境變量筛峭。例如铐刘,我們在配置JavaGo開發(fā)環(huán)境時,需要設置開發(fā)環(huán)境變量至$PATH影晓,此時可以通過export命令來實現镰吵,將一個環(huán)境目錄追加至已存在的$PATH環(huán)境變量之后。

export $PATH:/usr/local/go/bin

總結

學習完Linux終端的一些基礎知識之后挂签,需要自己嘗試去掌握更多的Linux命令以及使用疤祭。

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市饵婆,隨后出現的幾起案子勺馆,更是在濱河造成了極大的恐慌,老刑警劉巖侨核,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件草穆,死亡現場離奇詭異,居然都是意外死亡搓译,警方通過查閱死者的電腦和手機悲柱,發(fā)現死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來些己,“玉大人豌鸡,你說我怎么就攤上這事《伪辏” “怎么了涯冠?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長逼庞。 經常有香客問我蛇更,道長,這世上最難降的妖魔是什么往堡? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任械荷,我火速辦了婚禮共耍,結果婚禮上虑灰,老公的妹妹穿的比我還像新娘。我一直安慰自己痹兜,他們只是感情好穆咐,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般对湃。 火紅的嫁衣襯著肌膚如雪崖叫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天拍柒,我揣著相機與錄音心傀,去河邊找鬼。 笑死拆讯,一個胖子當著我的面吹牛脂男,可吹牛的內容都是我干的。 我是一名探鬼主播种呐,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼宰翅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了爽室?” 一聲冷哼從身側響起汁讼,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎阔墩,沒想到半個月后嘿架,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡啸箫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年眶明,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筐高。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡搜囱,死狀恐怖,靈堂內的尸體忽然破棺而出柑土,到底是詐尸還是另有隱情蜀肘,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布稽屏,位于F島的核電站扮宠,受9級特大地震影響,放射性物質發(fā)生泄漏狐榔。R本人自食惡果不足惜坛增,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望薄腻。 院中可真熱鬧收捣,春花似錦、人聲如沸庵楷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至咐蚯,卻和暖如春童漩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背春锋。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工矫膨, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人期奔。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓豆拨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親能庆。 傳聞我的和親對象是個殘疾皇子施禾,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345