Linux常用命令匯總

本文總結(jié)日常工作中經(jīng)常用到的linux命令活鹰,作為總結(jié)蒂窒,以便學習和回顧歉甚。

1. vim

1.1 查找文件中的指定字符串

a. vim service.log --> ?abc 從倒數(shù)第一行到正數(shù)第一行的遍歷方式查找文件service.log中的字符串a(chǎn)bc,并高亮顯示.
b. vim service.log --> /abc 從第一行到最后一行的遍歷方式查找文件service.log中的字符串a(chǎn)bc,并高亮顯示.
c. n 顯示下一個a或者b搜索到的字符串a(chǎn)bc
d. Ctrl + B 向上翻頁
e. Ctrl + F 向下翻頁
f. $ 顯示最后一頁
g. set hls 打開高亮
h. set nohls 關(guān)閉高亮

2. df

2.1 df -h

查看機器磁盤空間

2.2 du -h .

查看當前目錄(.)下的文件大小

3. netstat

netstat -a 列出所有當前的連接
netstat -at 只列出 TCP 協(xié)議的連接
netstat -au只列出 UDP 協(xié)議的連接
netstat -l 只列出正在監(jiān)聽的鏈接
netstat -p 獲取進程名,進程號以及用戶Id等信息

4. pwd

顯示當前路徑

5. cd

cd abc 切換到abc目錄
cd .. 返回上一目錄
cd ../../.. 連續(xù)返回上一目錄三次

6. ssh

ssh lance@192.168.0.122 使用指定賬戶登陸到指定機器(后續(xù)需要輸入密碼)
ssh 192.168.0.122 使用當前用戶登錄到192.168.0.122機器

7. tail

tail -f service.log 實時顯示文件service.log的最后10行(動態(tài))
tail -1000f service.log 實時顯示文件service.log的最后1000行(動態(tài))
tail -f * 實時顯示當前目錄下所有文件的的最后10行(動態(tài))

8. mkdir

mkdir abc 創(chuàng)建目錄
rmdir 刪除空目錄

9. rm

rm abc辆沦,刪除abc文件
rm * 刪除當前目錄下的所有文件
rm -f 強制刪除文件或目錄
rm -r 遞歸刪除指定目錄下的所有文件和子目錄
rm -rf abc 強制+遞歸刪除目錄為abc的目錄

10. top

動態(tài)顯示當前耗費資源最多進程信息

11.curl 構(gòu)造http請求

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{"context":{"userId":"1967","userName":"lance"},"id": "11223344"}' 'http://service.company.com/business/function'
說明:
curl -v 顯示返回的狀態(tài)碼等信息
如果使用GET贬养,且url中有中文挤土,如:
curl -v -X GET 'http://service.company.com/business/Search?keyword=中華人民共和國&pageIndex=1&pageSize=5'
因為有中文,所以會報錯误算,提示Encoding錯誤:

 HTTP/1.1 400 Bad Request
  Server: Apache-Coyote/1.1
  Transfer-Encoding: chunked
  Date: Fri, 19 Apr 2019 02:43:59 GMT
  Connection: close

可以使用:URLEncoder.encode方法轉(zhuǎn)成utf-8格式:

 String str = "中華人民共和國";
 System.out.println(URLEncoder.encode(str,"utf-8"));

即:curl -v -X GET 'http://service.company.com/business/Search?keyword=%E4%B8%AD%E5%8D%8E%E4%BA%BA%E6%B0%91%E5%85%B1%E5%92%8C%E5%9B%BD&pageIndex=1&pageSize=5'

12. vmstat

-a:顯示活動內(nèi)頁仰美;
-f:顯示啟動后創(chuàng)建的進程總數(shù);
-m:顯示slab信息儿礼;
-n:頭信息僅顯示一次咖杂;
-s:以表格方式顯示事件計數(shù)器和內(nèi)存狀態(tài);
-d:報告磁盤狀態(tài)蚊夫;
-p:顯示指定的硬盤分區(qū)狀態(tài)诉字;
-S:輸出信息的單位。

后面跟數(shù)字, 如vmstat 2 10 表示每隔2秒采集一次數(shù)據(jù),顯示10次壤圃。

13. rpm -qa

rpm -qa 查詢安裝了那些軟件包
rpm -qa zip 查看安裝包陵霉,且安裝包的名稱包含zip

14.cat

cat lance.txt 顯示整個文件
cat lance.txt | tail -n +100 | head -n 500 從第100行開始,顯示500行伍绳,即顯示100~599行
cat lance.txt | head -n 300 | tail -n +100 顯示100行到300行
cat file1 file2 > lance.txt 將file1和file2合并成lance.txt

15.sed

常用選項:
-n∶打印到屏幕
-e∶編輯踊挠;
-f∶直接寫入文件;
-i∶修改讀取的文件內(nèi)容冲杀。

常用命令:
a ∶新增
c ∶取代
d ∶刪除
i ∶插入
p ∶打印行
s ∶取代
舉例:
sed '1d' lance.txt 刪除第一行
sed -n '100,200p' lance.txt 顯示第100行到200行
sed -n '/Exception/p' lance.txt 顯示包含Exception的所有行
sed '1c lance' lance.txt 將第一行替換為lance

16.查看曾經(jīng)執(zhí)行的命令歷史記錄

history

17.查看內(nèi)存使用情況

free -h 格式化的顯示linux的內(nèi)存

18.壓縮和解壓縮文件

19.sudo

sudo rm file.txt
sudo -u lance1 rm file.txt 以lance1的身份執(zhí)行刪除命令

20.du

du -sh * 查看當前目錄下的所有文件和目錄的大小

21.grep 檢索

ps -ef | grep lance 搜索進程中的lance
ps -ef | grep lance --color=auto 搜索進程中的lance效床,并高亮顯示lance
cat lance.txt | grep lance --color=auto 搜索文件lance.txt中的lance,并高亮顯示lance
more lance.txt | grep -C 10 zhang 搜索文件lance.txt中的zhang漠趁,并顯示匹配到的數(shù)據(jù)的前后10行
more lance.txt | grep -A 10 zhang 搜索文件lance.txt中的zhang扁凛,并顯示匹配到的數(shù)據(jù)的后10行
more lance.txt | grep -B 10 zhang 搜索文件lance.txt中的zhang,并顯示匹配到的數(shù)據(jù)的前10行
grep -B 10 zhang lance.txt 搜索文件lance.txt中的zhang闯传,并顯示匹配到的數(shù)據(jù)的前10行
less error.log | grep Exception | grep -v WARN 搜索文件error.log中的Exception,并排除含有WARN字符串的行卤妒。

22.查看CPU的信息

lscpu

23 ln 創(chuàng)建連接

ln -s /usr/lance/data /dev/data 創(chuàng)建軟連接甥绿,相當于window的快捷鍵;
ln -d /usr/lance/data.log /dev/data.log 創(chuàng)建硬連接则披,相當于文件的備份共缕,僅支持文件不支持目錄;

24 查看linux日期和時間

date
date -R

25 移動或重命名文件/目錄

mv file1.txt /opt/lance 將文件移動到/opt/lance目錄
mv file1.txt file2.txt /opt/lance 將文件移動到/opt/lance目錄
mv *.txt /opt/lance 將文件移動到/opt/lance目錄
mv file1.txt file2.txt 將文件file1.txt重命名為file2.txt

26 nohup & 后臺執(zhí)行

nohup [command] [args]
nohup java -jar -Xms2048m -Xmx4000m XXX.jar arg1 arg2
a.默認輸出到nohup.out;
b.使用Ctrl + C會發(fā)送SIGINT中斷信號士复,使程序關(guān)閉;
c.關(guān)閉session發(fā)送SIGHUP掛起信號图谷,程序免疫。

&后臺運行程序
[command] [args] &
java -jar -Xms2048m -Xmx4000m XXX.jar arg1 arg2 &
a.輸出結(jié)果到終端;
b.使用Ctrl + C會發(fā)送SIGINT中斷信號阱洪,程序免疫;
c.關(guān)閉session發(fā)送SIGHUP掛起信號便贵,程序關(guān)閉。

最佳實踐:
nohup [command] [args] &
nohup java -jar -Xms2048m -Xmx4000m XXX.jar arg1 arg2 &
這樣同時免疫SIGINT中斷信號和SIGHUP掛起信號冗荸,而且信息輸出到了nohup.out文件中承璃,日志信息得以持久保留。

nohup的參數(shù):
0:表示stdin標準輸入蚌本;
1:表示stdout標準輸出盔粹,為缺省值;
2:表示stderr標準錯誤程癌。

nohup [command] [args] > file.log 等于 nohup [command] [args] 1> file.log 即將標準輸出輸出到file.log文件舷嗡;
nohup [command] [args] 2> errorFile.log 將錯誤輸出到errorFile.log文件;
nohup [command] [args] 2>&1 將錯誤輸出重定向到標準輸出嵌莉。

27 awk

awk [-F field-separator] 'commands' input-file(s)
讀入有'\n'換行符分割的一條記錄进萄,然后將記錄按指定的域分隔符劃分域,填充域,$0則表示所有域,$1表示第一個域,$n表示第n個域垮斯。默認域分隔符是"空白鍵" 或 "[tab]鍵"

[lance@172.28.0.172 ~]$ last -n 5
lance   pts/2        172.28.0.172     Tue Jun 11 14:07   still logged in
root    pts/0        172.28.3.250     Tue Jun 11 11:08   still logged in
lance   pts/0        172.28.3.250     Tue Jun 11 10:39 - 10:39  (00:00)
lance   pts/0        172.28.3.250     Mon Jun 10 18:17 - 19:16  (00:59)
zhangz  pts/2        172.29.0.64      Tue Jun  4 15:01 - 21:00 (1+05:58)

[lance@172.28.0.172 ~]$ last -n 5 | awk '{print $3}'
172.28.0.172
172.28.3.250
172.28.3.250
172.28.3.250
172.29.0.64

[lance@172.28.0.172 ~]$ last -n 5 | awk '{print $3}' | awk -F '.' '{print $1}'
172
172
172
172
172



awk -F ':' '{printf("file:%10s,linenum:%s,colums:%s,content:%s\n",FILENAME,NR,NF,$0)}' /etc/passwd
awk -F ':' '{print "file:"FILENAME ",linenum:" NR ",columns:" NF ",content:"$0}' /etc/passwd
awk內(nèi)置變量

內(nèi)置變量 說明
FILENAME awk瀏覽的文件名
FNR 瀏覽文件的記錄數(shù)
FS 設(shè)置輸入域分隔符郎仆,等價于命令行 -F選項
NF 瀏覽記錄的域的個數(shù)
NR 已讀的記錄數(shù)
OFS 輸出域分隔符
ORS 輸出記錄分隔符
RS 控制記錄分隔符
ARGC 命令行參數(shù)個數(shù)
ARGV 命令行參數(shù)排列
ENVIRON 支持隊列中系統(tǒng)環(huán)境變量的使用
$0 當前記錄(作為單個變量)
$1~$n 當前記錄的第n個字段,字段間由FS分隔

awk提供了print和printf兩種打印輸出兜蠕,printf類似于C++中的格式化輸出扰肌。

28 wc 統(tǒng)計輸出個數(shù)

wc [OPTION]... [FILE]... 
  -c, --bytes            print the byte counts
  -m, --chars            print the character counts
  -l, --lines            print the newline counts
      --files0-from=F    read input from the files specified by
                           NUL-terminated names in file F;
                           If F is - then read names from standard input
  -L, --max-line-length  print the length of the longest line
  -w, --words            print the word counts
      --help     display this help and exit
      --version  output version information and exit

舉例:last | wc -l
舉例:last -n 10 | wc -l

29 scp 復制文件

scp lance@172.17.10.21:/home/lance/test.sh . 下載文件
scp test.sh lance@172.17.10.21:/home/lance 上傳文件

scp -r lance@172.17.10.21:/home/lance . 下載目錄
scp -r . lance@172.17.10.21:/home/lance 上傳目錄

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市熊杨,隨后出現(xiàn)的幾起案子曙旭,更是在濱河造成了極大的恐慌,老刑警劉巖晶府,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桂躏,死亡現(xiàn)場離奇詭異,居然都是意外死亡川陆,警方通過查閱死者的電腦和手機剂习,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來较沪,“玉大人鳞绕,你說我怎么就攤上這事∈” “怎么了们何?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長控轿。 經(jīng)常有香客問我冤竹,道長,這世上最難降的妖魔是什么茬射? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任鹦蠕,我火速辦了婚禮,結(jié)果婚禮上躲株,老公的妹妹穿的比我還像新娘片部。我一直安慰自己,他們只是感情好霜定,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布档悠。 她就那樣靜靜地躺著,像睡著了一般望浩。 火紅的嫁衣襯著肌膚如雪辖所。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天磨德,我揣著相機與錄音缘回,去河邊找鬼吆视。 笑死,一個胖子當著我的面吹牛酥宴,可吹牛的內(nèi)容都是我干的啦吧。 我是一名探鬼主播,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼拙寡,長吁一口氣:“原來是場噩夢啊……” “哼授滓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起肆糕,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤般堆,失蹤者是張志新(化名)和其女友劉穎逗爹,沒想到半個月后峦嗤,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡移怯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年始赎,在試婚紗的時候發(fā)現(xiàn)自己被綠了和橙。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡极阅,死狀恐怖胃碾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情筋搏,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布厕隧,位于F島的核電站奔脐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吁讨。R本人自食惡果不足惜髓迎,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望建丧。 院中可真熱鬧排龄,春花似錦、人聲如沸翎朱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拴曲。三九已至争舞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間澈灼,已是汗流浹背竞川。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工店溢, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人委乌。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓床牧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親遭贸。 傳聞我的和親對象是個殘疾皇子戈咳,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容