Linux的三大高階指令

2021-09-10 03:21:17 字數 2670 閱讀 2089

文字檔案student

姓名    學號    語文成績        數學成績        英語成績        總成績

張三    001     80      90      95      265

李四    002     1       85      90      245

趙五    003     65      90      70      225

王六    004     60      40      80      180

周七    005     90      55      85      230

齊八    006     85      90      70      245

平均成績、最高分

一、grep--按行篩選(僅查詢)

1.grep通常用來用來在檔案或者上乙個命令的輸出結果中,篩選出我們所需要的內容

2.cat integer | grep 2 --------目的是在integer這個檔案中,篩選出帶有2的行。

3.cat integer | grep +正規表示式(vim、grep、awk 、sed 都支援正規表示式,也正是因為由於它們支援正則,才顯得它們強大)

4.cat 2 grep integer  同樣是在檔案中找到帶2的行

5.ls  -l  /etc/  |  grep  -v  init 的目的是在管道左側命令的輸出結果中篩選出不包含 init這個字串的內容。(相當於 grep  init 的取反)

二、sed 按行修改(增刪改查)

1.命令sed通常會按行處理文字,它可以在原來不改動原來檔案/結果的輸出結果的基礎上,按我們要求刪除、插入、修改指定的行。

2.cat -n student | sed '1d'    ---輸出student的內容,(-n代表前面有行號),並將第一行刪除

3.cat -n student | sed '3,5d'  --輸出student的內容,並將3到5行刪除

4.cat -n student | sed '1a abcdfe' --輸出student的內容,並在第一行後面,第二行前,插入abcdfe.

5. cat -n student | sed '1c abcd' --輸出student的內容,並將第一行修改為abcd 

6.cat -n student | sed '3,5p'  ---輸出student的內容,只顯示3到5行

7.命令sed當使用在查詢的這個場景中時,要加-n 選項引數,不加n資料會重複,顯示原文本和處理後的資料。

8.cat -n student | sed -n '/張三/p'  ---輸出student的內容,只顯示含有張三的行。

三、awk按行處理(對每行文字做更複雜的處理 )

1.命令awk通常會按照行去處理文字,它要做的第乙個事就是按照行進行切割,如果指定切割符就按照指定的走,沒有就按照預設的空字元。

2.cat student | awk '' (awk相當於split) ----這條命令的作用就是對student的內容按行處理,每行使用空格進行切割,切割後,第一列稱為$1,第二列稱為$2,未切割的原始資料是$0,print就是在螢幕上輸出對應變數的值。

3.輸入:cat/etc/password

輸出:root(使用者):x:0(user id使用者id):0(使用者組對應id):root(全名):/root(家目錄):/bin/bash(使用的命令提示符的執行程式/shell程式)

4.cat /etc/password | awk -f ':' 'begin'------ 這條命令的作用是,把cat /etc/passwd的輸出結果,按行處理,每行使用英文冒號進行切割,必須要用 -f:來指定切割符,先列印 username3個製表符homedir,再另起一行,開始列印原來輸出結果中切割後的第1列和第6列,兩列之間使用3個製表符進行間隔。

5.cat /etc/password | awk beginend' 這條命令的作用是將把cat /etc/password 的輸出內容的行數計算,並最終輸出。

6.begin{}裡面的內容只會在開始執行一次,通常可以用來宣告與初始化一些變數。然後緊接的{}裡面的內容,會按行,每行都會執行一次,通常用來寫一些對行內容進行處理的邏輯。

7.end{}裡面的內容只會在上面的邏輯執行結束後,最後收尾執行一次,通常可以用來執行最終輸出的結果。

8.通常awk的使用場景是類似於下面的

(1)cat ...| awk 'begin{} {} end {}'

(2)cat /etc/password | awk -f ':' begin} end}'這條命令的目的是在cat /etc/passwd的輸出中,按英文冒號切割每行,找到lauhank這個使用者名稱對應的家目錄的名稱。

9.root:x:0:0:root:/root:/bin/bash  ------ 家目錄在第六列

10.[root@localhost ~]# cat /etc/passwd | awk -f':' '}'(root是字串要加雙引號,如果不加會當做變數處理)

輸出:root /root

11.[root@localhost ~]# cat /etc/passwd | awk -f':' '}'

輸出:root /root

cat /home/cat

高階指令(三)

作用 重新啟動計算機 語法1 reboot重啟 語法2 reboot w 模擬重啟,但是不重啟 只寫關機與開機的日誌資訊 作用 關機 慎用 語法1 shutdown h now 關機提示 或者 shutdown h 15 25 關機提示 案例 設定linux系統關機時間在12 00 如果想要取消關機...

Linux高階指令

linux版本 centos 6.6 i386 bin 1.iso du sh 目錄路徑 檢視資料夾和檔案的磁碟占用情況 s 表示匯 計 h 表示以較高可讀性的形式展示 例1 檢視 etc目錄下面的使用情況 注意 ls l 檢視出的不是檔案的真實大小,只是當前資料夾的大小,不包含檔案裡面內容的大小 ...

linux高階指令

語法 hostname 含義 輸出完整的主機名 hostname f 含義 輸出當前主機名中的fqdn 全限定網域名稱 語法 id 含義 顯示當前執行命令的基本資訊 id 使用者名稱 含義 顯示當前指定的使用者的基本資訊 顯示當前使用者的名稱 語法 whoami 主要檢視伺服器的程序資訊 語法ps ...