測試人員必會的linux常用命令(乾貨系列)

作爲一名測試人員,工作中不可避免的需要操作服務器,一般常用的操作即可,但不得不說,當你懂得更多的時候,你的工作效率要比其他同事高,這也是爲啥,面試的時候經常會被面試官提問linux常用命令的原因。下面介紹一些作爲測試人員必須會的linux常用命令,當然基於本人能力有限,歡迎大家指正批評


一、鏈接命令

  • ln -s [源文件] [目標文件]
  • 命令英文原意:link
  • 功能描述:生成鏈接文件
    • 選項:-s 創建軟鏈接

需要搞懂的就是兩個概念,硬鏈接和軟鏈接。軟鏈接其實很好理解,就相當於windows系統的快捷方式,當源文件刪除之後,軟鏈接也隨之失效。但硬鏈接可以簡單理解爲文件複製(當然這個理解不正確),源文件刪除,並不會影響目標文件的使用。查看文件時,如果注意觀察,會發現,每一個文件後面都會有一個鏈接數,這個指的就是硬鏈接數。只有文件的硬鏈接數等於0後,該文件纔會真正的被linux系統回收,要不然這個文件的空間仍然系統被佔用着。

工作場景:

  1. 需要查找的文件目錄比較深,並且並非經常使用(例如配置文件),這個時候,在/home目錄下創建一個軟鏈接就顯的非常有必要了
  2. 刪除文件的時候,注意觀察一下文件的硬鏈接數,有助於幫你理解該文件是否真正被釋放

二、文件搜索命令

  • locate [文件名]

該命令不是在linux系統中查找,而是在linux自帶的數據庫中進行搜索,這樣帶來的好處就是,搜索速度相比於find要快很多。數據庫的更新時間爲一天更新一次,如果你想找的是今天創建的文件,需要先使用updatedb(更新數據庫)。

使用場景:

  1. 明確記得文件名,或者大概記得(可以使用正則匹配),並且明確記得文件的目錄,但該目錄下文件數量衆多,肉眼查找非常花費時間時,優先採用該命令
  2. 部分替代find -name [文件名],提升工作效率
  • find [搜索範圍] [搜索條件]

參數:

  1. size——大小
  2. name——文件名
  3. mtime——修改時間(單位爲天)

工作場景:

1.服務器硬盤空間不足,需要刪除歷史日誌時,這個命令就顯得格外重要了

find ./ -size +10M -exec ls -ilh {} \;
find ./ -mtime +10 -exec rm -rf {} \;

exec的意思就是將前面的指令執行出的結果放到後面{}中取執行,這樣很明顯,第一行是顯示所在目錄下大於10M文件的詳情;第二行是刪除所在目錄下10天前修改過的文件。這個命令比你使用

rm -rf app.log.2019*

這個命令要智慧的多吧。

2.文件忘記放在哪個目錄了,可以使用如下命令

find /etc/ -name mylover* -exec ls -hl {} \;
  • grep [選項] [字符串] [文件名]

find和grep區別,find查找文件,grep查找文件裏的內容

工作場景:

1.不止忘記文件目錄,連文件名都忘了...只是模糊的記得在文件中隱約有這麼一條數據的時候,就可以採用該命令進行搜索了

2.查看日誌的時候,日誌在不停的刷新,但我只想查看某一接口的日誌,其他日誌並不想看,可以使用如下命令

tail -f app.log | grep -10 "tony*" --color

三、輸出重定向

  • 命令 >> 文件 2>&1
  • 命令 &>>文件
  • 命令 >> 文件1 2>>文件2

以上命令都是將正確輸出和錯誤輸出同時保存

工作場景:

1.jenkins配置服務器的啓動命令的時候,就可以使用這個命令將輸出日誌保存起來,以免發生錯誤進行排查

2.執行某個腳本,日誌比較多,且時間長,也可以通過該方法將日誌進行保存

 

想到還有其他的,再補充...

 

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