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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux面试常考命令

發布時間:2023/12/16 linux 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux面试常考命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux面試常考命令

    • cat命令
    • tail
    • head
    • less和more
    • grep
    • find
    • awk
    • sort
    • uniq
    • netstat
    • xargs
    • ps
    • top
    • free
    • nohup

note:本文只總結了一些面試時會常考到的命令,一些簡單命令如cp,cd,ls 等不做介紹。

參考: Linux 命令大全 | 菜鳥教程 (runoob.com)

實際使用中,我們可以通過

man 命令 查看一個命令的說明。

cat命令

把 textfile1 的文檔內容加上行號后輸入 textfile2 這個文檔里:

cat -n textfile1 > textfile2

把 textfile1 和 textfile2 的文檔內容加上行號(空白行不加)之后將內容附加到 textfile3 文檔里:

cat -b textfile1 textfile2 >> textfile3

所以:>是覆蓋式的輸入,>>是append式的輸入。

注意

cat不適合讀取超大文件,因為他需要一次將文件加載進內存,所以去讀超大文件時會導致服務器卡死。

tail

默認顯示最后的10行。

格式

tail [參數] [文件]
  • -f 循環讀取
  • -c<數目> 顯示的字節數
  • -n<行數> 顯示文件的尾部 n 行內容

tail -f filename 會把 filename 文件里的最尾部的內容顯示在屏幕上,并且不斷刷新,只要 filename 更新就可以看到最新的文件內容。

tail -n -5 /test001/text001tail -n 5 /test001/text001 顯示的結果相同,均是文件末尾最后 5 行內容。

tail -n +5 /test001/text001 顯示的內容為從第 5 行開始,直到末尾的內容。tail -n 后面的數字有效輸入只有單個數字(5)或者加號連接數字(+5)兩種。

head

head 命令可用于查看文件的開頭部分的內容,有一個常用的參數 -n 用于顯示行數,默認為 10,即顯示 10 行的內容。

命令格式:

head [參數] [文件]
  • -c<數目> 顯示的字節數。
  • -n<行數> 顯示的行數。

less和more

less(重點)

less 與 more 類似,less 可以隨意瀏覽文件,支持翻頁和搜索,支持向上翻頁和向下翻頁。

這里只展示幾個參數:

  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • Q退出less命令。
  • 空格鍵 滾動一頁
  • 回車鍵 滾動一行

less功能很強大,不用一次將文件全部讀取進來,所以比vi、cat等工具讀取速度快很多。

more

Linux more 命令類似 cat ,不過會以一頁一頁的形式顯示,更方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示,而且還有搜尋字串的功能(與 vi 相似),使用中的說明文件,請按 h 。

從第 20 行開始顯示 testfile 之文檔內容。

more +20 testfile

區別

more比cat強大,提供分頁顯示的功能,less比more更強大,隨意翻頁。more再管道中不能往前翻頁。

grep

語法

grep [-abcEFGhHilLnqrsvVwxy][-A<顯示行數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<范本樣式>][-f<范本文件>][--help][范本樣式][文件或目錄...]
  • -c 或 --count : 計算符合樣式的列數。
  • -C<顯示行數> 或 --context=<顯示行數>或-<顯示行數> : 除了顯示符合樣式的那一行之外,并顯示該行之前后的內容。
  • -A<顯示行數> 或 --after-context=<顯示行數> : 除了顯示符合范本樣式的那一列之外,并顯示該行之后的內容。
  • -B<顯示行數> 或 --before-context=<顯示行數> : 除了顯示符合樣式的那一行之外,并顯示該行之前的內容。
  • -n 或 --line-number : 在顯示符合樣式的那一行之前,標示出該行的列數編號。
  • -o 或 --only-matching : 只顯示匹配PATTERN 部分
  • -r 或 --recursive : 此參數的效果和指定"-d recurse"參數相同。
  • -v 或 --invert-match : 顯示不包含匹配文本的所有行。
  • -i 或 --ignore-case : 忽略字符大小寫的差別。
  • -e<范本樣式> 或 --regexp=<范本樣式> : 指定字符串做為查找文件內容的樣式。

場景: 系統報警顯示了時間,但是日志文件太大無法直接 cat 查看。(查詢含有特定文本的文件,并拿到這些文本所在的行)

解決:

grep -n '2019-10-24 00:01:11' *.log

遞歸查找/etc/acpi 下含字符串"update"的文件,并打印出該字符串所在行的內容

grep -r update /etc/acpi

從文件內容查找與正則表達式匹配的行:

$ grep –e "正則表達式" 文件名

從根目錄開始查找所有擴展名為 .log 的文本文件,并找出包含 “ERROR” 的行:

$ find / -type f -name "*.log" | xargs grep "ERROR"

查找網絡連接中非正常鏈接

netstat -tn | grep -v ESTABLISHED查看系統中的非正常連接

find

語法

find path -option [ -print ] [ -exec -ok command ] {} \;

-name name, -iname name : 文件名稱符合 name 的文件。iname 會忽略大小寫

-size n : 文件大小 是 n 單位,b 代表 512 位元組的區塊,c 表示字元數,k 表示 kilo bytes,w 是二個位元組。

-type c : 文件類型是 c 的文件。

d: 目錄

c: 字型裝置文件

b: 區塊裝置文件

p: 具名貯列

f: 一般文件

l: 符號連結

將當前目錄及其子目錄下所有文件后綴為 .c 的文件列出來:

# find . -name "*.c"

將當前目錄及其子目錄中的所有文件列出:

# find . -type f

查找大于1G文件并刪除

find /APP/istester/ -type f -size +1G | [xargs](https://so.csdn.net/so/search?q=xargs&spm=1001.2101.3001.7020) rm

awk

awk是三個創作人名字的組合,所以不用想為什么叫這個。

一般用來處理文件的每一行。

語法

awk [選項參數] 'script' var=value file(s) 或 awk [選項參數] -f scriptfile var=value file(s)

script就是對應的命令腳本,也可以-f scriptfile 的方式從scriptfile讀取awk命令來執行。

-v 設置變量 ,例如-va=1,就是設置了一個a=1的變量。

-F設置分隔符,默認是按照空格或者tab分割的,-F可以指定分割符,例如 -F,就是指定按照,分割。

注意:

awk 'BEGIN{ commands } pattern{ commands } END{ commands }'

關于 awk 腳本,我們需要注意兩個關鍵詞 BEGIN 和 END。

  • BEGIN{ 這里面放的是執行前的語句 }
  • END {這里面放的是處理完所有的行后要執行的語句 }
  • {這里面放的是處理每一行時要執行的語句}

以下是示例:

awk '{[pattern] action}' {filenames} # 行匹配語句 awk '' 只能用單引號

awk -v # 設置變量

$ awk -va=1 '{print $1,$1+a}' log.txt #指定 awk -F #-F相當于內置變量FS, 指定分割字符

過濾第一列大于2并且第二列等于’Are’的行

$ awk '$1>2 && $2=="Are" {print $1,$2,$3}' log.txt #命令 #輸出 3 Are you

sort

sort 可針對文本排序

語法

sort [-bcdfimMnr][-o<輸出文件>][-t<分隔字符>][+<起始欄位>-<結束欄位>][--help][--verison][文件][-k field1[,field2]]

常用參數介紹:

  • -o<輸出文件> 將排序后的結果存入指定的文件。

  • -r 以相反的順序來排序。

  • -t<分隔字符> 指定排序時所用的欄位分隔字符。

  • -n 依照數值的大小排序。

  • -u 意味著是唯一的(unique),輸出的結果是去完重了的。

  • -m 將幾個排序好的文件進行合并。

  • -b 忽略每行前面開始出的空格字符。

  • -c 檢查文件是否已經按照順序排序。

  • -d 排序時,處理英文字母、數字及空格字符外,忽略其他的字符。

  • -f 排序時,將小寫字母視為大寫字母。

  • [-k field1[,field2]] 按指定的列進行排序。sort testfile -k 2 之地那個對第二列的排序。

uniq

Linux uniq 命令用于檢查及刪除文本文件中重復出現的行列,一般與 sort 命令結合使用。

uniq 可檢查文本文件中重復出現的行列。

語法

uniq [-cdu][-f<欄位>][-s<字符位置>][-w<字符位置>][--help][--version][輸入文件][輸出文件]
  • -c或–count 在每列旁邊顯示該行重復出現的次數。

  • -d或–repeated 僅顯示重復出現的行列。

  • -u或–unique 僅顯示出一次的行列。

  • [輸入文件] 指定已排序好的文本文件。如果不指定此項,則從標準讀取數據;

  • [輸出文件] 指定輸出的文件。如果不指定此選項,則將內容顯示到標準輸出設備(顯示終端)。

注意:

uniq命令只適用于已經排序號的文件,否則不起作用。

所以使用時結合sort命令,例如統計出現次數最多的前三個字符。

sort test.log | uniq -c |head -3| awk '{print $2}'

netstat

Linux netstat 命令用于顯示網絡狀態。

利用 netstat 指令可讓你得知整個 Linux 系統的網絡情況。

語法

netstat [-acCeFghilMnNoprstuvVwx][-A<網絡類型>][--ip]
  • -t或–tcp 顯示TCP傳輸協議的連線狀況。

  • -u或–udp 顯示UDP傳輸協議的連線狀況。

  • -n或–numeric 直接使用IP地址,而不通過域名服務器。

  • -N或–netlink或–symbolic 顯示網絡硬件外圍設備的符號連接名稱。

  • -a或–all 顯示所有連線中的Socket。

  • -c或–continuous 持續列出網絡狀態。

  • -l或–listening 顯示監控中的服務器的Socket。

xargs

xargs 一般是和管道一起使用。

命令格式:

somecommand |xargs -item command

假如你有一個文件包含了很多你希望下載的 URL,你能夠使用 xargs下載所有鏈接:

# cat url-list.txt | xargs wget -c find /sbin -perm +700 |ls -l #這個命令是錯誤的 find /sbin -perm +700 |xargs ls -l #這樣才是正確的

ps

Linux ps (英文全拼:process status)命令用于顯示當前進程的狀態,類似于 windows 的任務管理器。

語法

ps [options] [--help]
  • ps 的參數非常多, 在此僅列出幾個常用的參數并大略介紹含義

  • -A 列出所有的進程

  • -w 顯示加寬可以顯示較多的資訊

  • -au 顯示較詳細的資訊

  • -aux 顯示所有包含其他使用者的進程

  • USER: 行程擁有者

  • PID: pid

  • %CPU: 占用的 CPU 使用率

  • %MEM: 占用的記憶體使用率

  • VSZ: 占用的虛擬記憶體大小

  • RSS: 占用的記憶體大小

  • TTY: 終端的次要裝置號碼 (minor device number of tty)

  • STAT: 該行程的狀態:

    • D: 無法中斷的休眠狀態 (通常 IO 的進程)
    • R: 正在執行中
    • S: 靜止狀態
    • T: 暫停執行
    • Z: 不存在但暫時無法消除
    • W: 沒有足夠的記憶體分頁可分配
    • <: 高優先序的行程
    • N: 低優先序的行程
    • L: 有記憶體分頁分配并鎖在記憶體內 (實時系統或捱A I/O)
  • START: 行程開始時間

  • TIME: 執行的時間

  • COMMAND:所執行的指令

ps -u root //顯示root進程用戶信息 ps -ef //顯示所有命令,連帶命令行 ps -ef| grep docker //查看docker 相關進程。

top

Linux top命令用于實時顯示 process 的動態。

使用權限:所有使用者。

語法

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

一般就直接top。

然后按shift+H,可以查看具體的線程信息

free

查看內存使用情況

語法

free [-bkmotV][-s <間隔秒數>]

free -ht -s

  • -h  以合適的單位顯示內存使用情況

  • -t  顯示內存總和列。

  • -s<間隔秒數>  持續觀察內存使用狀況。

nohup

nohup 命令,在默認情況下(非重定向時),會輸出一個名叫 nohup.out 的文件到當前目錄下,如果當前目錄的 nohup.out 文件不可寫,輸出重定向到 $HOME/nohup.out 文件中。

語法格式

nohup Command [ Arg … ] [ & ]

參數說明:

Command:要執行的命令。

Arg:一些參數,可以指定輸出文件。

&:讓命令在后臺執行,終端退出后命令仍舊執行。

實例

以下命令在后臺執行 root 目錄下的 runoob.sh 腳本:

nohup /root/runoob.sh &

總結

以上是生活随笔為你收集整理的Linux面试常考命令的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久久青草 | 欧美一级做性受免费大片免费 | 直接看av的网站 | 爱爱亚洲 | 国产一区二区三区在线免费观看 | 欧美性猛交ⅹxx | 亚洲视频在线观看免费 | 中文天堂 | 国产www免费 | 男生c女生 | 国产麻豆乱码精品一区二区三区 | 国产精品一二区 | 999伊人| 一级α片免费看刺激高潮视频 | 日韩亚洲欧美在线观看 | 中文字幕视频免费 | 凹凸av在线 | 日韩电影网址 | 亚洲一级片网站 | 一级片大片 | 久久精品无码一区 | 精品无码国产污污污在线观看 | 日韩在线视频免费 | 黑人巨大精品欧美一区二区蜜桃 | 成年人爱爱视频 | 韩国av在线播放 | 黄网站免费观看 | 亚洲久久久 | 欧美日韩免费在线观看 | 国产午夜免费福利 | 好吊操免费视频 | 秘密基地动漫在线观看免费 | 91激情在线观看 | 国产精品国产一区二区 | 国产精品呻吟 | www久久 | 自拍偷拍视频在线 | 国产精品揄拍100视频 | 极品美女无套呻吟啪啪 | 夜间福利网站 | 国产精品视频免费网站 | 黄色片中文字幕 | 中文永久免费观看 | 操少妇视频 | 天天干天天舔天天操 | 日韩视频在线视频 | 亚洲精品久久久久久动漫器材一区 | 91久久电影 | 亚洲1234区 | 精品久久ai| 国产精品一二 | 欧美视频一区二区三区 | 91网址在线 | 欧美激情3p | 成全世界免费高清观看 | 欧美日韩一区视频 | 欧美18av | 久久久久久久人妻无码中文字幕爆 | 亚洲一级淫片 | 中文字幕黑人 | 久久不射网| 国产精品久久久久久人妻精品动漫 | 欧美a级网站 | 欧美亚一区二区三区 | 免费av观看网址 | 精品久久久久久久久久久久久 | 视频在线看 | 精品人妻无码一区二区三区换脸 | 欧美被狂躁喷白浆精品 | 婷婷天堂网 | 在线视频黄| 4hu最新网址 | 午夜激情综合 | 中文字幕免费视频观看 | 国产一级视频在线播放 | 欧美乱轮| 成人亚洲精品久久久久软件 | 日本成人在线免费观看 | 精品国产午夜福利在线观看 | 亚洲综合av一区二区 | 日本一区二区不卡在线观看 | 4438全国最大成人网 | 亚洲免费网 | 欧美日韩成人在线视频 | www.偷拍.com | 国产精品久久久久久久久久东京 | 免费在线观看黄色 | 亚洲爽爽| 国产精选第一页 | 精品国内自产拍在线观看视频 | 欧美a一级片 | 91桃色免费视频 | 国产传媒第一页 | 成人网免费视频 | cekc老妇女cea0 | 色狠狠一区二区 | 草民午夜理伦三级 | 一二三av| 韩国精品视频在线观看 |