Linux系統命令行基礎


Linux系統命令行基礎

 

  1. Linux必知必會基礎知識
    1. 什么是Bash shell(殼)

BashShell是一個命令解釋器,它在操作系統的最外層,負責用戶程序與內核進行交互操作的一種接口,將用戶輸入的命令翻譯給操作系統,並將處理后的結果輸出至屏幕。

當我們使用遠程連接工具連接linux服務,系統則會給打開一個默認的shell,我們可在這個界面執行命令、比如:獲取系統當前時間,創建一個用戶等等...

  1. Bash Shell能干什么?

使用Shell實現對Linux系統的大部分管理,例如:

    1.文件管理

    2.權限管理

    3.用戶管理

    4.磁盤管理

    5.網絡管理

    6.軟件管理

    等等.

  1. Bash shell執行方式

輸入命令方式           --->效率低--->適合少量的工作

shell script          --->效率高--->適合復雜的工作

  1. Linux命令行的作用和意義

眾所周知,Linux是一個主要通過命令行來進行管理的操作系統,即通過鍵盤輸入指令來管理的相關操作,包括但不限於編輯文件、啟動和停止服務等。這和大家所使用的Windows系統使用鼠標點擊這類可視化管理大不相同。

使用鼠標可視化管理的優勢是簡單、容易上手,但缺點是不能方便快速、批量、自動化的管理系統,而且感覺系統也很臃腫,這個時候Linux系統的命令行管理優勢就凸顯出來了。使用Linux 命令行管理,不但可以實現批量、自動化管理,還可以實現智能化、可視化管理,當然,后者需要開發人員配合開發管理界面來完成,但無論如何,Linux系統的優勢還是快速、批量、自動化、智能化管理系統及處理業務。

  1. Linux命令行介紹

安裝Linux系統時,無論是使用文本模式安裝,還是使用圖形模式安裝,最終管理系統的任務都會落到命令行上。

多數互聯網企業在安裝系統時甚至不會安裝圖形管理軟件包,而是直接使用文本模式安裝,因此登錄后直接面對的就是命令行的界面(如下圖所示)


-通過SSH客戶端(xshell)連接linux系統后的命令行

  1. Linux命令行的登錄及退出

在開啟主機時,Linux系統經過一系列的引導和程序加載后,最終會出現登錄前的提示界面(如下圖所示)。


圖-CentOS Linux系統登錄后的命令行界面

    在上圖中,將光標定位到login:字符后面,輸入超級用戶管理員root后,按回車鍵,彈出密碼提示框后,再輸入密碼,注意密碼是不顯示的。輸入正確的密碼后,再按回車鍵就可以登錄到Linux系統中了(如下圖所示)。


圖-CentOS Linux系統登錄后的命令行界面

    在命令行界面,執行exit或logout命令可退出命令行(如下圖所示),當然也可以使用快捷鍵Ctrl+d鍵退出命令行。退出命令行后,如果要再次登錄,還是需要輸入用戶名和密碼的(除非使用SSH客戶端將用戶名和密碼保存)。


圖-CentOS Linux命令行退出操作界面

  1. 命令行提示符介紹

Linux命令行結尾的提示符有"#"和"$"兩種,如下所示:

[root@oldboy ~]# #<==這是超級管理員root用戶對應的命令行

[root@oldboy ~]$ #<==這是普通用戶oldboy對應的命令行

其中:

1root,表示當前登錄的用戶(可用whoami命令查詢查詢)

2@符,表示分隔符

3oldboy,表示主機名(可用hostname命令查詢)

4~號,表示當前用戶所在的路徑(可用pwd命令查看,默認用戶登錄之后所在的路徑是當前用戶的家目錄)

5#號,表示超級用戶root登錄后的命令行結尾提示符,而$號是使用普通用戶登錄后的命令行結尾提示符。超級用戶具有管理系統的所有權限,普通用戶的權限比較小,只能進行基本的系統信息查看等操作,無法更改系統配置和管理服務。

6Linux命令行提示符由PS1環境變量所控制的。

[root@web ~]# set |grep PS1 #注意,這里的PS是大寫的。這里的PS1='[\u@\h \W]\$ ',可以通過命令export進行修改,永久生效的話通過全局配置文件/etc/bashrc/etc/profile按需進行配置和調整。在這里,我們可以給命令行提示符加上顏色。


PS1='\[\e[32;1m\][\u@\h \W]\$ \[\e[0m\]'

  1. Linux命令組成結構

在企業里,絕大多數使用Linux的管理員都是通過命令行操作Linux的,學會如何通過命令行操作Linux是一個Linux管理員的必須課。

在操作Linux命令之前,先看下命令操作語法格式(如下圖所示)。Linux系統命令操作語法的格式為:

#命令         [選項]         [參數/路徑]

command     [-options]         [arguments]

[root@oldboy ~]# ls     #命令

[root@oldboy ~]# ls -a     #命令+選項

[root@oldboy ~]# ls -a /home/         #命令+選項+參數

#命令: 整條shell命令的主體

#選項: 用於調節命令的具體功能

#
"-"引導短格式選項(單個字符),例如"-a"

#以"--"引導長格式選項(多個字符),例如"--all"

#多個短格式選項可以寫在一起,只用一個"-"引導,例如"-al"

#參數: 命令操作的對象,如文件、目錄名等

PS1:中括號表示可選,即命令的選項即參數是可選的。

PS2:選項表示使用一個命令的不同功能。

PS3:命令、選項、參數兩兩之間至少要有一個空格。一個整體的命令、選項、參數不能有空格。

PS4: 選項和參數在有些命令的時候時,位置可以發生變化.

PS5: 命令必須放在開頭,
選項和參數位置可以發生變化

圖-命令的組成結構

  1. 執行命令的常見報錯

[root@oldboy ~]# ls-a

bash: ls-a: command not found...    找不到命令(要么命令寫錯了,要么就真的沒有該命令)

[root@oldboy ~]# ls /.bashrc

ls: cannot access /.bashrc: No such file or directory    沒有這個文件或目錄

PS:相信電腦,電腦是不會出錯的,如果電腦的出現的結果和你想像的不一樣,那么一定是你錯了。

  1. Bash shell特性

1. tab鍵補全支持

    命令補全
選項補全
參數補全

在實際生產中tab補全往往是我們使用的最多的, 因為可以減少執行命令以及路徑出錯率

命令補全: 按一下tab鍵沒有任何反應,因為以user開頭的命令有很多,系統並不知道你需要使用哪一個

[root@oldboy ~]# user

useradd userdel userhelper usermod usernetctl users

選項補全:

[root@web 20:39:54 ~]# ls --

--all --format= --quote-name

--almost-all --group-directories-first --quoting-

--author --help --recursive

--block-size= --hide= --reverse

3.路徑補全:

[root@web 20:39:54 ~]# ls /root/

1.sh .bash_profile etc/ filename.bz2 .lesshst .pki/ .tcshrc

2. base shell常用快捷鍵

ctrl + c cancel 取消當前的操作

ctrl + l (小寫字母L) clear(命令)清空當前屏幕

ctrl + d 退出當前用戶

ctrl + r 查找(歷史命令)。 history|grep

ctrl + a 把光標移動到行首

ctrl + e 把光標移動到行尾

ctrl + u 把光標到行首的內容刪除/剪切

ctrl + y 粘貼

delete 光標所在處從前往后刪除內容

ctrl + k 把光標到行尾的內容刪除/剪切

ctrl + → 向右移動一個單詞 Xshell工具提供的

ctrl + ← 向左移動一個單詞 Xshell工具提供的

ctrl + s 鎖屏

ctrl + q 解鎖

ctrl + w 刪除當前位置至上一個空格的字符

Esc + .     獲取上一條命令最后的部分(空格分割)

!號開頭的快捷命令

!!         執行上一條命令

!cd         執行最近以cd開頭的命令

!num     執行歷史命令列表的第num(數字)條命令

注意:有些的快捷命令是基於Xshell和SecureCRT遠程連接工具實現的。

  • 小練習:

命令行輸入oldboyedu,然后讓光標移動到行首
加上注釋符號和I am studying,然后讓光標移動到行尾,加上 linux.site:www.oldboyedu.com 剪切這一行內容。粘貼3次。

3.歷史記錄history

history #命令直接查看當前的shell所執行過的命令

!100 #調用history歷史命令中編號為100

!! #執行上一次執行過的指令

選項

-w #保存命令歷史到歷史文件    write #寫入到當前用戶的家目錄下.bash_history

-c #清空命令歷史記錄, 不會情況文件    clear

-d #刪除命令歷史的第 N 條行            delete

Ecs + . #獲取上一個命令的參數

4.命令別名alias

4.1.如何設定別名

alias oldboy='ping www.baidu.com'

4.2.如何取消別名

unalias oldboy

4.3.為什么系統默認存在一些別名:

防止在執行危險指令時,發生誤操作的情況,比如:

alias rm='rm -i'

PS: 當前的別名全部都是針對當前的Shell生效,臨時生效.

4.4.永久生效{擴展}

將內容寫入到 /etc/bashrc 所有的shell都生效

  1. 在Linux命令行下查看命令幫助

    1. 使用man獲取命令幫助信息

man命令是Linux下的幫助指令,通過man指令可以查看Linux中的指令幫助、配置文件幫助和編程幫助等信息。示例:

  1. 使用help參數獲取命令幫助信息

大多數的命令都會有個幫助信息的參數--help。示例如下:

  1. 使用help命令獲取bash內置命令幫助

help命令用於顯示shell內部命令的幫助信息。help命令只能顯示shell內部的命令幫助信息。示例:

那么如何查看當前系統的所有內置命令呢:使用help命令即可,那么有如何查看單個命令是否是內置命令呢:使用type 命令即可,如:type cd

  1. 使用info獲取幫助信息

就內容來說,info頁面比man page編寫得要更好、更容易理解,也更友好,但man page使用起來確實要更容易得多。一個man page只有一頁,而info頁面幾乎總是將它們的內容組織成多個區段(稱為節點),每個區段也可能包含子區段(稱為子節點)。理解這個命令的竅門就是不僅要學習如何在單獨的Info頁面中瀏覽導航,還要學習如何在節點和子節點之間切換。可能剛開始會一時很難在info頁面的節點之間移動和找到你要的東西,真是具有諷刺意味:原本以為對於新手來說,某個東西比man命令會更好些,但實際上學習和使用起來更困難。

  1. 從互聯網搜索獲取命令幫助信息

除了Linux系統自帶的幫助功能以外,可以通過搜索引擎網站來獲取命令幫助信息。如:百度,谷歌,搜狐等。

下面幾個網址是一些命令詳解的地址

http://man.linuxde.net

http://liunx.web3.xin

http://linux.51yip.com

  1. Linux關機重啟注銷命令

    1. 重啟或關機命令:shutdown

  • 重啟

shutdown -r 10 #10分鍾之后重啟

shutdown -r 0 #立刻重啟

shutdown -r now #立刻重啟

  • 關機

shutdown -h 10 #10分鍾之后關機

shutdown -h 0 #立刻關機

shutdown -h now #立刻關機

  • 取消當前關機或重啟

shutdown -c #取消正在進行的
關機或重啟
shutdown )

  1. 關機與重啟命令

  • 重啟

reboot #立刻重啟

  • 關機

poweroff #立即停止系統,並且關閉電源

halt #立即停止系統,需要人工關閉電源,是reboot的鏈接文件

  1. 關機、重啟和注銷的命令列表

命令

說明

關機命令
shutdown -h now

立刻關機(生產常用)

shutdown -h +1

1分鍾以后關機,1可以是別的數字或時間點,例如:11:00

halt

立即停止系統,需要人工關閉電源,是reboot的鏈接文件

init 0

切換運行級別到0,0表示關機,因此此命令作用就是關機

poweroff

立即停止系統,並且關閉電源

重啟命令
reboot

立即重啟(生產常用)

shutdown -r now

立即重啟(生產常用)

shutdown -r +1

1分鍾后重啟

init 6

切換運行級別到6,6表示重啟,因此此命令作用就是重啟

注銷命令
logout

注銷退出當前用戶窗口

exit

注銷退出當前用戶窗口

  1. Linux顯示系統IP地址

    1. 使用ifconfig查看IP地址

ifconfig #顯示所有網卡IP地址

ifconfig eth0 #顯示某塊網卡IP地址

  1. 使用ip查看IP地址

ip address (簡寫ip a) #顯示所有網卡IP地址

ip address show eth0 (簡寫ip a s eth0 ) #顯示某一塊網卡IP地址。

  1. 使用hostname查看IP地址(不常用)

hostname -I #顯示所有IP地址(沒有網卡詳細信息,只有ip信息)

hostname -i #顯示外網IP地址(沒有網卡詳細信息,只有ip信息)

您可能也喜歡:

第18章 Linux系統安全及優化

添加普通用戶賬號 linux/unix是一個多用戶、多任務的操作系統。 超級管理員(root): root默認在unix/linux操作系統中擁有最高的管理權限。比喻:皇帝。 普通用戶:管理員或者具備管理權限的用戶創建的。權限:系統管理僅可以讀、看,不能增、刪、改。 權限越大,責任越大...

more

第17章 Linux系統三劍客(Awk、Sed、Grep)

grep/egrep grep (global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。 Unix的grep家族...

more

第16章 Linux系統磁盤管理體系

磁盤知識體系 磁盤結構 磁盤外部結構 磁盤主軸轉速 rpm(round per minute) 10k rpm 15k rpm 5400 rpm 7200 rpm 磁盤盤片(用於存儲數據) 磁頭(用於讀取數據) 磁盤接口及類型 SATA...

more

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM