與linux相交互

在全部的問題之中,最早要解決就是:如何纔可以讓Linux作咱們想讓它作的事情?咱們能夠用各類方式作到這一點:例如,一個Linux程序員,能夠用編程語言經過操做系統的編程接口與Linux進行交互若是,若是足夠牛的話,甚至能夠考慮撇開編程接口,直接與Linux內核進行交互。可是,做爲一個普通的Linux系統管理員,咱們仍是傾向於經過現成的操做命令接口(User CommandInterface)與Linux打交道。與Linux的「核(kernel)」對應,操做命令接口很形象地被稱爲「殼 (shell)」。程序員

簡單來講, Shell就是一種能讓你與Linux之間進行「對話」的軟件。Shell等待你輸入,向Linux解釋你的輸入,而且處理各類各樣的系統的輸出結果,把這些結果展現給你。這種交互能夠是即時交互(從鍵盤輸入,而且能夠當即獲得響應),也能夠是非即時交互(shell 腳本[1])。shell

咱們所使用的CentOS系統上的默認Shell叫作Bash(The GNU’s Bourne Again Shell)。Bash也是絕大部分Linux平臺上的默認Shell。 編程

 

 

注意編程語言

   

 

¨       事實上,Linux爲用戶提供了兩種大相徑庭的「殼」:—種是命令行式shell(Command  Line Interface shell ,即CLI  shell),用戶利用這些字符命令或者shell腳原本組織和控制做業的執行,或者對計算機系統進行管理。另—種是圖形界面shell(Graphical  User Interface shell 即  GUI shell),用戶經過點擊,拖動圖像圖標來完成一樣的事情。工具

 

¨       在Linux中,傳統意義上的shell指的就是命令行式的shell,在下面課程中,若是沒有特別註明,所提到的shell就是命令行式的shellspa

 

 

當文本模式下登入系統或在圖形界面下打開終端,首先將看到的是一個提示符(prompt)。提示符自己就包含了至關多的信息:CentOS的標準提示符包括了登陸用戶名、登入的主機名、用戶當前所在的目錄(workingdirectory)和提示符號,例如:操作系統

命令序列 1命令行

[stu@localhost~]$設計

其中,'Stu'爲登陸用戶名,'localhost'爲登陸主機名,’~’ 表示當前用戶正處在stu用戶的家目錄中,’$’則表示當前登陸用戶爲普通用戶    blog

 

 

注意

   

¨        根據  Bourne Shell 的傳統,普通用戶的提示符以'$'結尾,而根用戶以’#’結尾

 

¨        ’~’ 符號不是一個固定的目錄名稱,而是一個」Shell 變量」,表明使用者的」家目錄」,舉例來講,若是我以dev01用戶身份登陸系統,dev01的家目錄是’/home/dev01’,那麼’~’就表明’/home/dev01’,若是我以root身份登陸系統,而root的家目錄是’/root’,那麼’~’就表明’/root’。至於到底」家目錄」和」Shell 變量」究竟是什麼,咱們在後繼的教程中會詳細討論。

這時就能夠輸入命令了,爲熟悉shell,咱們選擇的三個有表明性的命令來小試牛刀,這三個命令分別爲 whoami、echo和nano。 

 

 

注意

   

¨        Linux中所謂的命令(Command),本質上就是一個與命令同名的可執行(Runnable)的二進制文件或者Shell腳本。

 

¨        這些可執行文件通常都放在/bin、/sbin、/usr/bin或者/usr/sbin等目錄中,當要執行命令的時候,Shell 就會在這些目錄或者其餘用戶指定的目錄中(咱們在後面會詳細討論如何指定這寫目錄)搜索相應可執行文件,找到之後就運行,若是找不到文件,那麼Shell就會在終端中輸出相應的錯誤信息。

 

¨       切記,Linux 區分大小寫。換一句話說,whoami 和WHOAMI 或 whoAmi是不同的。

       

 

 

 

 

重要

   

¨       選項(option):包括一個或多個字母的代碼,通常來講前面有一個’-’ 符號或者’--’符號(’-’或者’--’符號是必要的,Linux用它來區別選項和參數),選項能夠看做是一種開關,通常用於控制命令的行爲。事實上,Linux中的命令在正常狀況下最少有兩個選項,--help和—version。

 

¨       參數(parameter):一個字符串,參數通常用來向命令傳遞一些時運行所需的信息(例如文件或主機名稱等),Linux大多數命令都被設計爲能夠接納參數。

 

¨       命令自己、選項和參數中間用空格來分隔,不論空多少格,shell 都視爲一格;

  

 

 

 

命令

   

用法:whoami [選項]...

 

顯示與當前的有效用戶ID 相關聯的用戶名。

 

¨       --help         顯示此命令幫助信息並退出

 

¨       --version     顯示命令版本信息並退出

 

 

注意

   

¨       全部的ASCII碼均可以用「\」加數字(通常是8進制數字)來表示。而C語言中定義了一些字母前加"\"來表示常見的那些不能顯示的ASCII字符,如\0,\t,\n等,就稱爲轉義字符,由於後面的字符,都不是它原本的ASCII字符意思了。

 

¨       echo命令中的轉義字符與C語言中的轉義字符基本同樣,能夠參考echo命令的幫助文檔

 

 

命令

   

用法:/bin/echo [選項]... [字符串]... 或:/bin/echo 長選項

 

將 STRING 回顯到標準輸出。

 

¨        -n       不尾隨換行符

¨        -e       啓用解釋反斜槓的轉義功能

¨        -E       禁用解釋反斜槓的轉義功能(默認)

¨        --help  顯示此幫助信息並退出

¨        --version   顯示版本信息並退出

若-e可用,則如下序列便可識別:

¨        \\    反斜槓

¨        \a    響鈴聲

¨        \b    退格

¨        \c    再也不產生新的輸出

¨        \e    轉義符 

¨        \f    換頁

¨        \n    新行

¨        \r    回車

¨        \t    水平製表符

¨        \v    豎直製表符

¨        \0NNN    字節數以八進制數 NNN (1至3位)表示

¨        \xHH     字節數以十六進制數 HH (1至2位)表示

 

注意:BASH中可能內含本身的echo 程序版本,它會覆蓋這裏所說起的相應版本,可能在命令具體行爲上有些許區別。

最後咱們來看nano命令,nano是一個文本編輯工具,咱們在第一部分的知識點4中提到過。nano命令與上面兩個命令不太同樣,這個命令有本身的界面,咱們在命令行下輸入nano, 回車,就來到了nano界面中,這時咱們就能夠在光標處輸入文本了,咱們能夠用箭頭鍵來移動光標,也能夠按Alt+M打開鼠標支持來移動光標:按Ctrl+G 能夠查看nano的幫助文檔,在幫助文檔中能夠查看nano各類命令快捷鍵的詳細用法。接着,按Ctrl+X能夠退出當前查看或編輯的文檔。

[1] Shell腳本是放在文件中的一串shell和操做系統命令,它們能夠被重複使用。本質上,shell script是命令行命令簡單的組合到一個文件裏面。

相關文章
相關標籤/搜索