日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux(基础命令和三剑客)

發布時間:2024/9/3 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux(基础命令和三剑客) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、基礎正則表達式:元字符總結
  • 二、grep用法
  • 三、sed命令常見用法
      • 1、輸出符合條件的文本
      • 2、刪除符合條件的文本
      • 3、替換符合條件的文本
      • 4、遷移符合條件的文本
  • 四、awk工具
      • 1、按行輸出文本
      • 2、按字段輸出文本
      • 3、通過管道、雙引號調用Shell命令
  • 五、sort工具
  • 六、uniq工具
  • 七、tr工具
  • 八、Linux命令
      • 鎖定賬戶
      • find:
      • 如何讓命令在后臺執行?
      • 如何檢查linux上開放的端口
      • 常用的linux命令有哪些
      • 查看硬盤使用情況的命令
      • 查看cpu的命令
      • 查看內存的命令
      • 如何查看當前Linux系統的狀態,如CPU使用、內存使用、負載情況等?
      • 查看cpu
      • 查看內核版本
      • 查看內存信息
      • 查看核心防護狀態
      • 說明硬鏈接與軟鏈接的差別,分別有什么好處?
      • Linux現連接一個新的存儲(如/dev/sdf,容量2T)一個應用程序需要在/data目錄使用此存儲的500G的存儲空間(做成LVM),需要哪些步驟,請描述。

一、基礎正則表達式:元字符總結

^ : 匹配輸入字符串的開始位置,除非再方括號表達式中使用,表示不包含該字符集合

. : 匹配除“\r\n”之處的任何單個字符

\ : 反斜杠,又叫轉義字符,去除其后緊跟的元字符或通配符的特殊意義

*: 匹配前面的子表達式零次或多次

[ ] : 字符集合,匹配所包含的任意一個字符

[^] : 賦值字符集合,匹配未包含的一個任意字符

[n1-n2] : 字符范圍,匹配指定范圍內的任意一個字符

{n} : n是一個非負整數,匹配確定的n次

{n,} : n是一個非負整數,至少匹配n次

{n,m} : m和n均為非負整數,其中n<=m,最少匹配n次最多匹配m次

二、grep用法

grep的使用規則:

-n 表示顯示行號-I 表示不區分大小寫-v 表示過濾[ ] 查找集合字符

查找包含the的字符(準備一個查找文件)

grep -n ‘the’ test.txt

不區分大小寫查找包含the的字符

grep -in ‘the’ test.txt

不查找包含the的字符

grep -vn ‘the’ test.txt

利用中括號[ ]來查找集合字符

grep -n ‘sh[io]t’ test.txt

查找包含重復單個字符oo時

grep -n ‘oo’ test.txt

若查找oo前面不是w的字符串

grep -n ‘[^w]oo’ test.txt

若不希望oo前面存在小寫字母

grep -n ‘[^a-z]oo’ test.txt

查詢以小寫字母開頭的行

grep -n ‘^[a-z]’ test.txt

查詢不以字母開頭的行

grep -n ‘[^a-zA-Z]’ text.txt

查詢以.結尾的行

grep -n ‘\.$’ test.txt

若想要查詢oo、ooo、oooo等字符串,則需要使用星號(*)元字符等,o*表示擁有零個或任意多個o字符,如果時“oo*”,則第一個o必須存在,后面的o*表示零個或任意多個o字符

grep -n ‘ooo*’ test.txt

查詢以w開頭d結尾,中間至少一個

grep -n ‘woo*d’ test.tx

查詢以w開頭d結尾,中間字符可有可無

grep -n ‘w.*d’ test.txt

查詢兩個o的字符

grep -n ‘o\{2\}’ test.txt

查詢以w開頭d結尾,中間包含兩個及兩個以上o

grep -n ‘wo\{2,\}d’ test.txt

三、sed命令常見用法

sed [選項] ‘操作’ 參數

sed [選項] -f scripfile 參數

選項的基本命令如下:

-e script :指定sed編輯命令-f scriptfile :指定的文件中是sed編輯命令-h :顯示幫助-n :表示僅顯示處理后的結果-i :直接編輯文本文件

操作的基本命令如下:

a :增加,在當前行下面增加一行指定內容c :替換,將選定行替換為指定內容d :刪除,刪除選定的行i :插入,在選定行上面插入一行指定內容p :打印s :替換,替換指定字符y :字符轉換

1、輸出符合條件的文本

輸出第三行

sed -n ‘3p’ test.txt

輸出第3-5行

sed -n ‘3,5p’ test.txt

輸出所有奇數行

sed -n ‘p:n’ test.txt

輸出所有偶數行

sed -n ‘n:p’ test.txt

輸出第1-5行之間的奇數行

sed -n ‘1,5{p:n}’ test.txt

輸出第10行之后的偶數行

sed -n ’10,${n:p}’ test.txt

輸出包含the的行

sed -n ‘/the/p’ test.txt

輸出從第4行的第一個包含the的行

sed -n ‘4,/the/p’ test.txt

輸出以PI開頭的行

sed -n ‘/^PI/p’ test.txt

輸出以數字結尾的行

sed -n ‘/[0-9]$/p’ test.txt

輸出包含wood的行

sed -n ‘/\<wood>/p’ test.txt

2、刪除符合條件的文本

刪除第3行

sed ‘3d’ test.txt

刪除第3-5行

sed ‘3,5d’ test.txt

刪除以小寫字母開頭的行

sed ‘/^[a-z]/d’ test.txt

3、替換符合條件的文本

將每行中的第一個the替換為THE

sed ‘s/the/THE/’ test.txt

將每行中的第2個l替換為L

sed ‘s/l/L/2’ test.txt

在包含the的每行行首插入#號

sed ‘/the/s//#/’ test.txt

在每行行尾插入字符串EOF

sed ‘s/$/EOF/’ test.txt

將第3-5行中的所有the替換為THE

sed ‘3,5s/the/THE/g’ test.txt

將包含the的所有行中的o替換為O

sed ‘/the/s/o/O/g’ test.txt

將文件中所有的o刪除

sed ‘s/o//g’ test.txt

4、遷移符合條件的文本

H :復制到剪切板g、G :將剪貼板中的數據覆蓋/追加到指定行w :保存為文件r :讀取指定文件a :追加指定內容

將包含the的行遷移至文件末尾

sed ‘/the/{H;d};$G’ test.txt

將第1-5行內容轉移至第17行后

sed ‘1,5{H’d};17G’ test.txt

將包含the的行號另存為文件out.file

sed ‘/the/w out.file’ test.txt

將文件/etc/hostname的內容添加到包含the的每行以后

sed ‘/the/r /etc/hostname’ test.txt

在第3行后插入一個新行,內容為NEW

sed ‘/the/3aNEW’ test.txt

在包含the的每行后插入一個新行,內容為NEW

sed ‘/the/aNEW’ test.txt

在第3行后插入多行內容,中間的\n表示換行

sed ‘3aNEW1\nNEW3’ test.txt

四、awk工具

awk 選項 ‘模式或條件{編輯命令}’ 文件1 文件2…. //過濾并輸出文件中符合條件的內容

awk -f 腳本文件 文件1 文件2… //從腳本中調用的編輯指令,過濾并輸出內容

awk包含幾個特殊的內建變量(可直接用)如下所示:

FS:指定每行文本的字段分隔符,默認為空格或制表位;NF:當前處理的行的字段個數;NR:當前處理的行的行號(序數);$0:當前處理的行的整行內容;$n:當前處理的行的第n個字段(第n列);FILENAME:被處理的文件名;RS:數據記錄分隔,默認為\n,即每行為一條記錄。

1、按行輸出文本

輸出所有內容,等同于cat test.txt

awk ‘{print}’ test.txtawk ‘{print $0}’ test.txt

輸出第1~3行內容

awk ‘NR==1,NR==3{print}’ test.txt

輸出第1~3行內容

awk ‘(NR>=1)&&(NR<=3){print}’ test.txt

輸出第1行,第3行的內容

awk ‘NR==1||NR==3{print}’ test.txt

輸出所有奇數行的內容

awk ‘(NR%2)==1{print}’ test.txt

輸出所有偶數行的內容

awk ‘(NR%2)==0{print}’ test.txt

輸出以root開頭的行

awk ‘/^root/{print}’ /etc/passwd

輸出以nologin結尾的行

awk ‘/nologin$/{print}’ /etc/passwd

統計以/bin/bash結尾的行數,等同于grep –c “/bin/bash$” /etc/passwd

awk ‘BEGIN {x=0};/\/bin\/bash$/{x++};END {print x}’ /etc/passwd

統計以空行分隔的文本段落數

awk ‘BEGIN {RS=””} ;END{print NR}’ test.txt

2、按字段輸出文本

輸出每行中(以空格或制表符分隔)的第三個字段

awk ‘{print $3}’ test.txt

輸出每行中第1,3個字段

awk ‘{print $1,$3}’ test.txt

輸出密碼為空的用戶的shadow記錄

awk -F ”:” ‘$2==””{print}’ /etc/shadow

輸出密碼為空的用戶的shadow記錄

awk ‘BEGIN {FS=”:”} ; $2==””{print}’ /etc/shadow

輸出以冒號分隔且第7個字段中包含/bash的行的第一個字段

awk -F ”:” ‘$7~”/bash”{print $1}’ /etc/shadow

輸出包含8個字段且第一個字段中包含nfs的行的第1,2個字段

awk ‘($1~”nfs”)&&(NF==8){print $1,$2}’ /etc/services

輸出第七個字段既不為/bin/bash也不為/sbin/nologin的所有行

awk -F “:” ‘($7 != “/bin/bash”)&&($7 != “/sbin/nologin”){print}’ /etc/passwd

打印文本文件的總行數

awk 'END{print NR}' filename

打印文本第二行第一列

sed -n "2, 1p" filename | awk 'print $1'

輸出文件的倒數第二列以","隔開

awk -F ',' 'END {print $2}' BIRoomTime20160229.txt

shell里面的賦值方法有兩種,格式為

  • arg=(命令)
  • arg=$(命令)
    因此,如果想要把某一文件的總行數賦值給變量nlines,可以表達為:
  • nlines=(awk 'END{print NR}' filename)
    或者
  • nlines=$(awk ‘END{print NR}’ filename)
  • 3、通過管道、雙引號調用Shell命令

    調用wc –l命令統計使用bash的用戶的個數,等同于grep –c “bash$” /etc/passwd

    awk -F: ‘/bash$/{print | “wc -l”}’ /etc/passwd

    調用w命令,并用來統計在線用戶數

    awk ‘BEGIN {while (“w” | getline) n++ ; {print n-2}}’

    調用hostname,并輸出當前主機名

    awk ‘BEGIN {“hostname” | getline ; print $0}’

    五、sort工具

    sort是一種以行為單位對文件內容進行排序的工具,也可以根據不同的數據類型來排序

    用法:sort命令的語法為“sort [選項] 參數”,其中常用的選項包括一下幾種

    -f:忽略大小寫;-b:忽略每行前面的空格;-M:按照月份進行排序;-n:按照數字進行排序;-r:反向排序;-u:等同于uniq,表示相同的數據僅顯示一份;-t:指定分隔符,默認使用[TAB]鍵分隔;-o<輸出文件>:將排序后的結果轉存至指定文件;-k:指定排序區域

    六、uniq工具

    uniq工具在Linux系統中通常與sort命令結合使用,用于報告或者忽略文件中的重復行

    -c:進行計數;-d:僅顯示重復行;-u:僅顯示出現一次的行

    七、tr工具

    tr命令常用來對來自標準輸入的字符進行替換、壓縮和刪除

    tr具體的命令語法格式為:tr [選項] [參數]

    -c:取代所有不屬于第一字符集的字符;-d:刪除所有屬于第一字符集的字符;-s:把連續重復的字符以單獨一個字符表示;-t:先刪除第一字符集較第二字符集多出的字符,做替換

    八、Linux命令

    鎖定賬戶

    第一種:

    1、passwd -l tang 鎖定tang用戶

    2、passwd -u tang 解鎖tang用戶

    第二種:(權限優于第一種)

    1、usermod -L tang 鎖定tang用戶

    2、usermod -U tang 解鎖tang用戶

    usermod命令鎖定和解鎖用戶的的時候沒有交互信息(就是不會有提示)

    第三種:(鎖定文件)

    1、用chattr +i 命令鎖定/etc/passwd 和 /etc/shadow文件

    2、用chattr -i 命令解鎖/etc/passwd 和 /etc/shadow文件

    第四種:修改shell環境讓賬戶無法登陸

    1、vi /etc/passwd進入編譯

    2、把想鎖定的賬戶后面改成/sbin/nologin

    find:

    1、用 find 查找三天之前以log結尾的文件并刪除?

    find /log -mtime +3 -type f -name “*.log”

    添加用戶是哪個命令?

    useradd

    改一個文件的屬組和屬主?

    chown

    如何讓命令在后臺執行?

    命令& 這種會綁定終端,終端關閉進程就結束。

    nohub 命令 & 這種關了終端可以運行

    怎么判斷某個變量是否為空?

    ? ! $A

    你們系統用的哪個發行版?

    centos ,ubuntu

    如何檢查linux上開放的端口

    netstat -anptu //后面的t是tcp、u是udp

    netstat -an //查看服務器開啟哪些端口?

    常用的linux命令有哪些

    ls netstart cd chown chmod grep uptime ifconfig route…

    查看硬盤使用情況的命令

    fdsik -l #查看分區情況

    df -h #查看掛載和使用情況

    查看cpu的命令

    cat /proc/cpuinfo | grep ‘model name’ 或者lscpu

    查看內存的命令

    free -m

    如何查看當前Linux系統的狀態,如CPU使用、內存使用、負載情況等?

    top

    查看cpu

    cat /proc/cpuinfo

    查看內核版本

    uname -r

    查看內存信息

    cat /proc/meminfo

    查看核心防護狀態

    getenforce

    說明硬鏈接與軟鏈接的差別,分別有什么好處?

    ln,創建軟連接

    –軟連接–> 原始文檔–> i節點–> 文檔數據

    –ln-s 原始文件或目錄軟連接文件

    若原始文件或目錄被刪除,連接文件將失效

    軟連接可存放在不同分區/文件系統

    ?ln,創建硬連接

    –硬連接–> i節點–> 文檔數據

    –ln原始文件硬連接文件

    若原始文件被刪除,連接文件仍可用

    硬連接與原始文件必須在同一分區/文件系統

    Linux現連接一個新的存儲(如/dev/sdf,容量2T)一個應用程序需要在/data目錄使用此存儲的500G的存儲空間(做成LVM),需要哪些步驟,請描述。

    fdisk /dev/sdf 分區n,p,1,1 +500G w 分區步驟pvcreate /dev/sdf1 創建物理卷vgcreate vg01 /dev/sdf1 創建卷組lvcreate -n lv01 -l 100%free vg01 #使用所有空間創建邏輯卷mkfs.ext4 /dev/vg01/lv01 格式化這個卷mount /dev/vg01/lv01 /data 掛載這個卷

    總結

    以上是生活随笔為你收集整理的Linux(基础命令和三剑客)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。