震驚! 面向新手最全面的Linux命令大全出爐了

前言

這是我聽老師講課做的筆記,考試要看的。 這是視頻地址
作者:RodmaChen
關注我的csdn博客,更多Linux筆記知識還在更新

一.強大好用的Shell

我們都知道windowsdos輸入命令,Linux的輸入命令是什麼呢?沒錯!就是shell

1.1 什麼是shell

  1. 計算機硬件是由運算器、控制器、存儲器、輸入/輸出設備等共同組成的,而讓各種硬件設備各司其職且又能協同運行的東西就是系統內核。
  2. Linux系統的內核負責完成對硬件資源的分配、調度等管理任務。由此可見,系統內核對計算機的正常運行來講是太重了,因此一般不建議直接去編輯內核中的參數,而是讓用戶通過基於系統調用接口開發出的程序或服務來管理計算機,以滿足日常工作的需要。
  3. Shell就是這樣的一個命令行工具。

在這裏插入圖片描述

  1. **Shell(也稱爲終端或殼)**充當的是人與內核(硬件)之間的翻譯官,用戶把一些命令“告訴”終端,它就會調用相應的程序服務去完成某些工作。
  2. 現在包括紅帽系統在內的許多主流Linux系統默認使用的終端是Bash(Bourne-Again SHell)解釋器。

在這裏插入圖片描述

1.2 bash介紹

  1. bash 是一個爲GNU計劃編寫的Unix shell。它的名字是一系列縮寫:Bourne-Again Shell 。
  2. Bourne shell是一個早期的重要shell,由史蒂夫·伯恩在1978年前後編寫,並同Version 7 Unix一起發佈。bash則在1987年由布萊恩·福克斯創造。

在這裏插入圖片描述

功能

(1)命令行編輯功能

(2)命令和文件名補全功能

(3)命令歷史功能

(4)命令別名功能

(5)提供作業控制功能

(6)具有將命令序列定義爲功能鍵的功能

(7)靈活的Shell腳本編程

二.執行查看幫助命令

2.1 Linux命令格式

Linux系統中已經有了Bash這麼好用的“翻譯官”,那麼接下來就有必要好好學習下怎麼跟它溝通了。要想準確、高效地完成各種任務,僅依賴於命令本身是不夠的,還應該根據實際情況來靈活調整各種命令的參數。

Linux命令格式由三部分組成:命令名稱,命令選項,命令參數。

在這裏插入圖片描述

  1. 命令參數一般是指要處理的文件、目錄、用戶等資源。

  2. 命令選項可以用長格式(完整的選項名稱),也可以用短格式(單個字母的縮寫),兩者分別用---作爲前綴。

2.2 Linux命令中的其他組成

  • 命令提示符是在操作系統中,提示進行命令輸入的一種工作提示符。在不同的操作系統環境下,命令提示符各不相同。
  • 在Linux環境中,輸入界面中的如下所示是命令提示符,表示命令輸入的狀態。

在這裏插入圖片描述

  • [當前用戶賬號@當前主機名 路徑最後一個目錄 ] #或者$
  • 管理員root用戶的提示符“#”
  • [root@localhost ~]#
  • 普通用戶提示符“$”
  • [teacher@localhost ~] $

在這裏插入圖片描述

  • 命令的各組成部分之間用空格分隔
  • 命令的輸入以回車鍵結束
  • 一般一行輸入一條命令
  • 命令區分大小寫
  • 如果命令過長,可以輸入“\”符號進行換行繼續輸入

2.3 Linux幫助命令

  1. help命令

用於顯示shell內部命令的幫助信息:

(1)$ help pwd

(2)“–help”命令選項

(3)$touch --help

在這裏插入圖片描述

  1. man命令

$ man ls

  • 使用man命令閱讀手冊頁
  • man指令可以查看Linux中的指令幫助、配置文件幫助和編程幫助等信息

三.常用系統工作命令

1.echo命令

  • echo命令用於在終端輸出字符串或變量提取後的值,格式爲 “echo [字符串 | $變量]”
  • 例如,把指定字符串“Linux”輸出到終端屏幕的命令爲:
  • [root@linux ~]# echo Linux
  • 該命令會在終端屏幕上顯示如下信息:
  • Linux

2.date命令

  • date命令用於顯示及設置系統的時間或日期,格式爲“date [選項] [+指定的格式]”。
  • 只需在強大的date命令中輸入以“+”號開頭的參數,即可按照指定格式來輸出系統的時間或日期,這樣在日常工作時便可以把備份數據的命令與指定格式輸出的時間信息結合到一起。

在這裏插入圖片描述

3.reboot命令

  • reboot命令用於重啓系統,其格式爲reboot。
  • 由於重啓計算機這種操作會涉及硬件資源的管理權限,因此默認只能使用root管理員來重啓,其命令如下:
  • [root@linux ~]# reboot

5.ps命令

  • ps命令用於查看系統中的進程狀態,格式爲“ps [選項]”。
  • 常用選項:
  • -a顯示所有進程(包括其他用戶的進程)
  • -u用戶以及其他詳細信息
  • -x顯示沒有控制終端的進程

如果把所有的選項全部帶上的話,結果如下:

在這裏插入圖片描述
解析:

在這裏插入圖片描述

6.top命令

  • top命令用於動態地監視進程活動與系統負載等信息,其格式爲top。
  • top命令相當強大,能夠動態地查看系統運維狀態,完全將它看作Linux中的“強化版的Windows任務管理器”。

四.系統狀態檢測命令

概述:

作爲一名合格的運維人員,想要更快、更好地瞭解Linux服務器,必須具備快速查看Linux系統運行狀態的能力,接下來會講解與網卡網絡、系統內核、系統負載、內存使用情況、當前啓用終端數量、歷史登錄記錄、命令執行記錄以及救援診斷等相關命令的使用方法。

1.ip addr命令

  • ip addr命令用於獲取網卡配置與網絡狀態等信息。
  • 使用Ip addr命令來查看本機當前的網卡配置與網絡狀態等信息時,其實主要查看的就是網卡名稱、inet參數後面的IP地址、ether參數後面的網卡物理地址(又稱爲MAC地址):

2.uname命令

uname命令用於查看系統內核系統版本等信息,格式爲“uname [-a]”。

在使用uname命令時,一般會固定搭配上-a參數來完整地查看當前系統的內核名稱、主機名、內核發行版本、節點名、系統時間、硬件名稱、硬件平臺、處理器類型以及操作系統名稱等信息。

3.uptime命令

  • ​ uptime用於查看系統的負載信息,格式爲uptime。
  • uptime命令可以顯示當前系統時間、系統已運行時間、啓用終端數量以及平均負載值等信息。平均負載值指的是系統在最近1分鐘、5分鐘、15分鐘內的壓力情況;負載值越低越好,儘量不要長期超過1,在生產環境中不要超過5。

4.free命令

  • free用於顯示當前系統中內存的使用量信息,格式爲“free [-h]”。
  • 爲了保證Linux系統不會因資源耗盡而突然宕機,運維人員需要時刻關注內存的使用量。在使用free命令時,可以結合使用-h參數以更人性化的方式輸出當前內存的實時使用量信息。

在這裏插入圖片描述

5.who命令

  • who用於查看當前登入主機的用戶終端信息,格式爲“who [選項]”。
  • 這三個簡單的字母可以快速顯示出所有正在登錄本機的用戶的名稱以及他們正在開啓的終端信息。

6.last命令

  • last命令用於查看所有系統的登錄記錄,格式爲“last [選項]”。
  • 使用last命令可以查看本機的登錄記錄。但是,由於這些信息都是以日誌文件的形式保存在系統中,因此黑客可以很容易地對內容進行篡改。千萬不要單純以該命令的輸出信息而判斷系統有無被惡意入侵!

7.history命令

-c: 清空歷史命令

-w: 把緩存中的歷史命令寫入歷史命令保存文件~/.bash_history歷史命令默認會保存1000條,可以在環境變量配置文件/etc/profile中進行修改

歷史命令的調用

  • 使用上、下箭頭調用以前的歷史命令
  • 使用“ !n”重複執行第n條歷史命令
  • 使用“ !!”重複執行上一條命令
  • 使用“ !字串”重複執行最後一條以該字符串開頭的命令

在這裏插入圖片描述

五.文件管理常用命令

5.1 工作目錄切換命令

  1. pwd命令:用於顯示用戶當前所處的工作目錄

格式爲:”pwd [選項]”

  1. cd命令:用於切換工作路徑。

語法格式: cd 目錄路徑

(1)cd:直接回到用戶主目錄**

(2)“cd ~”命令:切換到當前用戶的家目錄**

(3)“cd ..”命令:進入上級目錄

(4)“cd -”命令:返回到上一次所處的目錄

cd命令路徑的表示:

(1)相對路徑是以“.”或“…”開始的目錄路徑表示形式 cd ./test

(2)絕對路徑是以“/”開始的路徑表示形式cd /home

  1. ls命令:當前目錄下的所有內容

命令格式ls [選項] [文件]

命令選項

(1)-t: 按照修改時間排列顯示

(2)-a:看到全部文件(包括隱藏文件)

(3)-l: 可以查看文件的屬性、大小等詳細信息

5.2 文件文本管理命令

  1. cat命令:用於查看純文本文件(內容較少的)

語法格式cat [-AbeEnstTuv] [–help] [–version] 文件名稱

常用選項-n--number 由 1 開始對所有輸出的行數編號

直接輸入cat會進入交互模式,輸入什麼內容就會顯示什麼內容

Ctrl+c 強制中斷命令執行 Ctrl+d 退出

輸入cat >file1.txt可以把內容寫入到file1.txt文件中,也會進入輸入模式。 Ctrl+d保存退出

  1. more命令:查看更多純文本文件

(1)space:下一頁

(2)回車:向下滾動

(3)B鍵:往回一頁

(4)Q鍵:停止顯示

  1. less命令:可以使用pageup pagedown 翻頁查看文件內容

  2. head命令:顯示頭部內容(默認十行)

  3. tail -n命令:顯示尾部內容。-n 用數字來指定顯示的行數。

  4. wc命令:統計數目 -l行數 -w字數 -c字節數

  5. cut命令:分割

  6. diff命令:比較兩個文件內容的不同

5.3 文件目錄管理命令

  1. file命令:查看文件類型 格式:“file 文件名

  2. touch命令:創建空白文件,設置文件時間

格式:touch [選項] 文件或目錄名 -d “日期” 文件名

  1. mkdir命令:創建目錄

  2. rmdir命令:刪除目錄

  3. cp命令:拷貝文件或目錄

命令語法:cp [選項] 源文件 目標文件

列:將test文件拷貝到home目錄下

在這裏插入圖片描述
6. rm命令:rm命令用於刪除文件或目錄。想要刪除目錄,需要在rm命令後面一個**-r**參數,-f是強制刪除。
7. mv命令:重命名文件

六.打包壓縮與搜索命令

6.1 介紹

  • Windows下最常見的壓縮文件就只有兩種,一是.zip,另一個是.rar。可是Linux就不同了,它有.gz、.tar.gz、tgz bz2、.Z、.tar等衆多的壓縮文件名,此外windows下的.zip和.rar也可以在Linux下使用,不過在Linux使用.zip和.rar的人就太少了。
  • tar是linux常見的一種歸檔文件,打包文件,不包括壓縮的功能。他只消耗非常少的CPU以及時間去打包文件
  • tar.gz是linux中使用得最多的壓縮格式,這種格式一般是先歸檔然後再壓縮,它在壓縮時不會佔用太多的cpu,而且壓縮比率理想。
  • tar.bz2是linux中壓縮率最好的壓縮格式,但是,壓縮率好就意味這要消耗更多的cpu時間。

6.2 Linux打包壓縮命令

1.tar命令

tar命令用於對文件進行打包壓縮或解壓,tar命令可以把一系列的文件歸檔到一個大文件中,也可以把檔案文件解開以恢復數據。

命令語法:tar [選項] 檔案文件 文件列表

常用選項:

-c:生成檔案文件。

-v:列出歸檔解檔的詳細過程。

-f:指定檔案文件名稱。

-r:將文件追加到 檔案文件末尾。

-z:以gzip格式壓縮或解壓縮文件。

-j:以bzip2格式壓縮或解壓縮文件。

-t:查看內容。

-x:解開檔案文件。

實例一:將整個 /etc 目錄下的文件全部打包成爲 /tmp/etc.tar

[root@linux ~]# tar -cvf /tmp/etc.tar /etc   <== 僅打包,不壓縮!

[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <== 打包後,以 gzip 壓縮

[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc  <== 打包後,以 bzip2 壓縮

  • 特別注意,在參數 f 之後的文件檔名是自己取的,我們習慣上都用 .tar 來作爲辨識。
  • 如果加 z 參數,則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file
  • 如果加 j 參數,則以 .tar.bz2 來作爲附檔名

實例二:查閱上述 /tmp/etc.tar.gz 文件內有哪些文件?

[root@linux ~]# tar -ztvf /tmp/etc.tar.gz

  • 由於我們使用 gzip 壓縮,所以要查閱該 tar file 內的文件時,
  • 就得要加上 z 這個參數了!這很重要的!

實例三:將 /tmp/etc.tar.gz 文件解壓縮在 /usr/local/src 底下

[root@linux ~]# cd /usr/local/src

[root@linux src]# tar -zxvf /tmp/etc.tar.gz

  • 在預設的情況下,我們可以將壓縮檔在任何地方解開的!以這個範例來說
  • 我先將工作目錄變換到 /usr/local/src 底下,並且解開 /tmp/etc.tar.gz
  • 則解開的目錄會在 /usr/local/src/etc ,另外,如果您進入 /usr/local/src/etc
  • 則會發現,該目錄下的文件屬性與 /etc/ 可能會有所不同喔!

6.4 Linux搜索命令

1.find命令

命令語法:

find pathname -options 參數

(pathname: find命令所查找的目錄路徑)

選項參數:

  • -name 按照文件名查找文件。
  • -user 按照文件屬主來查找文件
  • -group 按照文件所屬的組來查找文件。
  • 查找過程可以使用通配符 ,*表示多位字符,表示一位字符

** 實例一** :

[root @localhost /root]#find / -name passwd

從根目錄起查找名爲passwd的文件,並把結果輸出到標準設備。

[root @localhost /root]#find /home /etc –user longkey

在目錄/home和目錄/etc中查找longkey用戶所擁有的文件。

實例二

查找文件名中包含某字符(如"elm")的文件

find /home/ -name ‘*elm*‘ 中間包含elm的文件
find /home/ -name ‘elm*‘ 以elm開頭的文件
find /home/ -name ‘*elm‘ 以elm結尾的文件
find /home/ -name ‘elm?'  以elm開頭的4字符名稱的文件

2.grep命令

grep命令用於在文本中執行關鍵詞搜索,並顯示匹配的結果。

命令語法:

grep [參數] 要查找的字符串 文件名

參數選項:

  • -v:反向選擇,僅列出沒有“關鍵詞”的行。
  • -c:僅顯示找到的行數
  • -i:不區分大小寫。
  • -b: 將可執行文件(binary)當作文本文件(text)來搜索
  • -n:每個匹配行只按照相對的行號顯示。

3.whereis命令

whereis命令用來尋找命令的可執行文件所在的位置

**命令語法:**whereis [參數] 命令名稱

參數選項:

  • -b: 只查找二進制文件。
  • -m:只查找命令的聯機幫助手冊部分。
  • -s:只查找源代碼文件。

4.whatis命令

whatis命令whatis命令用於獲取命令簡介。

命令語法:whatis 命令名稱

七.重定向與管道符

7.1 輸入輸出重定向

  1. 輸入重定向是指把文件導入到命令中

  2. 輸出重定向則是指把原本要輸出到屏幕的數據信息寫入到指定文件中

  3. 在日常的學習和工作中,相較於輸入重定向,我們使用輸出重定向的頻率更高,所以又將輸出重定向分爲了標準輸出重定向和錯誤輸出重定向兩種不同的技術,以及清空寫入與追加寫入兩種模式。

(1)標準輸入重定向(STDIN,文件描述符爲0):默認從鍵盤輸入

(2)標準輸出重定向(STDOUT,文件描述符爲1):默認輸出到屏幕。

(3)錯誤輸出重定向(STDERR,文件描述符爲2):默認輸出到屏幕。

  1. 如下圖所示,查看正常的一個文件,能夠顯示出來具體的信息,而查看一個錯誤的文件,會提示錯誤的信息。要想把原本輸出到屏幕上的數據轉而寫入到文件當中,就要區別對待這兩種輸出信息

在這裏插入圖片描述

在這裏插入圖片描述

輸入重定向相對來說有些冷門,在工作中遇到的概率會小一點。輸入重定向的作用是把文件直接導入到命令中。接下來使用輸入重定向把readme.txt文件導入給wc -l命令,統計一下文件中的內容行數。

[root@linuxprobe ~]# wc -l < readme.txt
2
  1. 將命令輸出重定向到文件

將標準輸出重定向到文件

$ ls /etc/ > etcdir

將標準輸出重定向追加到文件

$ ls /etc/sysconfig/ >> etcdir

將錯誤輸出重定向到文件

$ nocmd 2> errfile

將標準輸出和錯誤輸出重定向到文件

$ ls afile bfile &> errfile

7.2 管道符

管道命令符的作用也可以用一句話來概括“把前一個命令原本要輸出到屏幕的標準正常數據當作是後一個命令的標準輸入”,同時按下鍵盤上的Shift+\鍵即可輸入管道符,其執行格式爲“命令A | 命令B|命令C|…”。

這個管道符就像一個法寶,我們可以將它套用到其他不同的命令上,比如用翻頁的形式
查看/etc目錄中的文件列表及屬性信息。

在這裏插入圖片描述

通配符就是通用的匹配信息的符號,比如星號(*)代表匹配零個或多個字符,問號(?)代表匹配單個字符,中括號內加上數字[0-9]代表匹配0~9之間的單個數字的字符,而中括號內加上字母[abc]則是代表匹配a、b、c三個字符中的任意一個字符。

在這裏插入圖片描述
在這裏插入圖片描述

本人博客:https://blog.csdn.net/weixin_46654114
本人b站求關注:https://space.bilibili.com/391105864
轉載說明:跟我說明,務必註明來源,附帶本人博客連接。

請給我點個贊鼓勵我吧
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章