新聞中心
linux必學(xué)的60條命令是什么?
前言
成都創(chuàng)新互聯(lián)公司是一家朝氣蓬勃的網(wǎng)站建設(shè)公司。公司專注于為企業(yè)提供信息化建設(shè)解決方案。從事網(wǎng)站開(kāi)發(fā),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),網(wǎng)站模板,微信公眾號(hào)開(kāi)發(fā),軟件開(kāi)發(fā),微信平臺(tái)小程序開(kāi)發(fā),10年建站對(duì)軟裝設(shè)計(jì)等多個(gè)方面,擁有豐富的網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn)。
第1章 Linux命令行簡(jiǎn)介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令幫助 / 4
1.3Linux shutdown reboot halt / 9
關(guān)機(jī):
shutdown -h now
halt
init 0
第2章 文件和目錄操作命令 / 13
2.1pwd:顯示當(dāng)前所在的位置 / 13
2.2cd:切換目錄 / 16
2.3tree:以樹形結(jié)構(gòu)顯示目錄下的內(nèi)容 / 18
2.4mkdir:創(chuàng)建目錄 / 22
2.5touch:創(chuàng)建空文件或改變文件的時(shí)間戳屬性 / 27
2.6ls:顯示目錄下的內(nèi)容及相關(guān)屬性信息 / 30
2.7cp:復(fù)制文件或目錄 / 39
2.8mv:移動(dòng)或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號(hào)鏈接文件的內(nèi)容 / 54
2.13find:查找目錄下的文件 / 55
2.14xargs:將標(biāo)準(zhǔn)輸入轉(zhuǎn)換成命令行參數(shù) / 68
2.15rename:重命名文件 / 71
2.16basename:顯示文件名或目錄名 / 72
2.17dirname:顯示文件或目錄路徑 / 72
2.18chattr:改變文件的擴(kuò)展屬性 / 73
2.19lsattr:查看文件擴(kuò)展屬性 / 75
2.20file:顯示文件的類型 / 76
2.21md5sum:計(jì)算和校驗(yàn)文件的MD5值 / 77
2.22chown:改變文件或目錄的用戶和用戶組 / 80
2.23chmod:改變文件或目錄權(quán)限 / 81
2.24chgrp:更改文件用戶組 / 85
2.25umask:顯示或設(shè)置權(quán)限掩碼 / 86
2.26老男孩從新手成為技術(shù)大牛的心法 / 90
第3章 文件過(guò)濾及內(nèi)容編輯處理命令 / 91
3.1cat:合并文件或查看文件內(nèi)容 / 91
3.2tac:反向顯示文件內(nèi)容 / 103
3.3more:分頁(yè)顯示文件內(nèi)容 / 104
3.4less:分頁(yè)顯示文件內(nèi)容 / 107
3.5head:顯示文件內(nèi)容頭部 / 109
3.6tail:顯示文件內(nèi)容尾部 / 111
3.7tailf:跟蹤日志文件 / 114
3.8cut:從文本中提取一段文字并輸出 / 115
3.9split:分割文件 / 117
3.10paste:合并文件 / 118
3.11sort:文本排序 / 123
3.12join:按兩個(gè)文件的相同字段合并 / 127
3.13uniq:去除重復(fù)行 / 129
3.14wc:統(tǒng)計(jì)文件的行數(shù)、單詞數(shù)或字節(jié)數(shù) / 131
3.15iconv:轉(zhuǎn)換文件的編碼格式 / 133
3.16dos2unix:將DOS格式文件轉(zhuǎn)換成UNIX格式 / 134
3.17diff:比較兩個(gè)文件的不同 / 135
3.18vimdiff:可視化比較工具 / 138
3.19rev:反向輸出文件內(nèi)容 / 139
3.20tr:替換或刪除字符 / 140
3.21od:按不同進(jìn)制顯示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:純文本編輯器 / 147
3.24老男孩逆襲思想:做Linux運(yùn)維的多個(gè)好處 / 152
第4章 文本處理三劍客 / 153
4.1grep:文本過(guò)濾工具 / 153
4.2sed:字符流編輯器 / 159
4.3awk基礎(chǔ)入門 / 165
第5章 Linux信息顯示與搜索文件命令 / 176
5.1uname:顯示系統(tǒng)信息 / 176
5.2hostname:顯示或設(shè)置系統(tǒng)的主機(jī)名 / 178
5.3dmesg:系統(tǒng)啟動(dòng)異常診斷 / 179
5.4stat:顯示文件或文件系統(tǒng)狀態(tài) / 181
5.5du:統(tǒng)計(jì)磁盤空間使用情況 / 183
5.6date:顯示與設(shè)置系統(tǒng)時(shí)間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監(jiān)視命令執(zhí)行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關(guān)文件全路徑 / 196
5.11locate:快速定位文件路徑 / 197
5.12updatedb:更新mlocate數(shù)據(jù)庫(kù) / 199
5.13老男孩逆襲思想:新手在工作中如何問(wèn)問(wèn)題不會(huì)被鄙視 / 200
第6章 文件備份與壓縮命令 / 201
6.1tar:打包備份 / 201
6.2gzip:壓縮或解壓文件 / 208
6.3zip:打包和壓縮文件 / 211
6.4unzip:解壓zip文件 / 212
6.5scp:遠(yuǎn)程文件復(fù)制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆襲思想:新手如何高效地提問(wèn) / 220
第7章 Linux用戶管理及用戶信息查詢命令 / 222
7.1 useradd:創(chuàng)建用戶 / 222
7.2usermod:修改用戶信息 / 227
7.3userdel:刪除用戶 / 229
7.4groupadd:創(chuàng)建新的用戶組 / 230
7.5groupdel:刪除用戶組 / 231
7.6passwd:修改用戶密碼 / 232
7.7chage:修改用戶密碼有效期 / 237
7.8chpasswd:批量更新用戶密碼 / 238
7.9su:切換用戶 / 240
7.10visudo:編輯sudoers文件 / 242
7.11sudo:以另一個(gè)用戶身份執(zhí)行命令 / 244
7.12id:顯示用戶與用戶組的信息 / 248
7.13w:顯示已登錄用戶信息 / 249
7.14who:顯示已登錄用戶信息 / 250
7.15users:顯示已登錄用戶 / 252
7.16whoami:顯示當(dāng)前登錄的用戶名 / 253
7.17last:顯示用戶登錄列表 / 253
7.18lastb:顯示用戶登錄失敗的記錄 / 254
7.19lastlog:顯示所有用戶的最近登錄記錄 / 255
第8章 Linux磁盤與文件系統(tǒng)管理命令 / 257
8.1fdisk:磁盤分區(qū)工具 / 257
8.2partprobe:更新內(nèi)核的硬盤分區(qū)表信息 / 265
8.3tune2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)參數(shù) / 266
8.4parted:磁盤分區(qū)工具 / 268
8.5mkfs:創(chuàng)建Linux文件系統(tǒng) / 272
8.6dumpe2fs:導(dǎo)出ext2/ext3/ext4文件系統(tǒng)信息 / 274
8.7resize2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)大小 / 275
8.8fsck:檢查并修復(fù)Linux文件系統(tǒng) / 278
8.9dd:轉(zhuǎn)換或復(fù)制文件 / 281
8.10mount:掛載文件系統(tǒng) / 284
8.11umount:卸載文件系統(tǒng) / 288
8.12df:報(bào)告文件系統(tǒng)磁盤空間的使用情況 / 289
8.13mkswap:創(chuàng)建交換分區(qū) / 293
8.14swapon:激活交換分區(qū) / 294
8.15swapoff:關(guān)閉交換分區(qū) / 295
8.16sync:刷新文件系統(tǒng)緩沖區(qū) / 296
第9章 Linux進(jìn)程管理命令 / 298
9.1ps:查看進(jìn)程 / 298
9.2pstree:顯示進(jìn)程狀態(tài)樹 / 305
9.3pgrep:查找匹配條件的進(jìn)程 / 306
9.4kill:終止進(jìn)程 / 307
9.5killall:通過(guò)進(jìn)程名終止進(jìn)程 / 310
9.6pkill:通過(guò)進(jìn)程名終止進(jìn)程 / 311
9.7top:實(shí)時(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況 / 313
9.8nice:調(diào)整程序運(yùn)行時(shí)的優(yōu)先級(jí) / 320
9.9renice:調(diào)整運(yùn)行中的進(jìn)程的優(yōu)先級(jí) / 323
9.10nohup:用戶退出系統(tǒng)進(jìn)程繼續(xù)工作 / 324
9.11strace:跟蹤進(jìn)程的系統(tǒng)調(diào)用 / 325
9.12ltrace:跟蹤進(jìn)程調(diào)用庫(kù)函數(shù) / 332
9.13runlevel:輸出當(dāng)前運(yùn)行級(jí)別 / 334
9.14init:初始化Linux進(jìn)程 / 335
9.15service:管理系統(tǒng)服務(wù) / 335
第10章 Linux網(wǎng)絡(luò)管理命令 / 338
10.1ifconfig:配置或顯示網(wǎng)絡(luò)接口信息 / 338
10.2ifup:激活網(wǎng)絡(luò)接口 / 343
ifup eth0
10.3ifdown:禁用網(wǎng)絡(luò)接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個(gè)網(wǎng)絡(luò),所有網(wǎng)卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統(tǒng)的arp緩存 / 350
10.6ip:網(wǎng)絡(luò)配置工具 / 351
10.7netstat:查看網(wǎng)絡(luò)狀態(tài) / 358
10.8ss:查看網(wǎng)絡(luò)狀態(tài) / 362
10.9ping:測(cè)試主機(jī)之間網(wǎng)絡(luò)的連通性 / 363
10.10traceroute:追蹤數(shù)據(jù)傳輸路由狀況 / 366
10.11arping:發(fā)送arp請(qǐng)求 / 367
10.12telnet:遠(yuǎn)程登錄主機(jī) / 369
10.13nc:多功能網(wǎng)絡(luò)工具 / 370
10.14ssh:安全地遠(yuǎn)程登錄主機(jī) / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊(duì)列 / 379
10.17mail:發(fā)送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網(wǎng)絡(luò)探測(cè)工具和安全/端口掃描器 / 394
10.22tcpdump:監(jiān)聽(tīng)網(wǎng)絡(luò)流量 / 398
第11章 Linux系統(tǒng)管理命令 / 407
11.1lsof:查看進(jìn)程打開(kāi)的文件 / 407
11.2uptime:顯示系統(tǒng)的運(yùn)行時(shí)間及負(fù)載 / 411
11.3free:查看系統(tǒng)內(nèi)存信息 / 411
11.4iftop:動(dòng)態(tài)顯示網(wǎng)絡(luò)接口流量信息 / 413
11.5vmstat:虛擬內(nèi)存統(tǒng)計(jì) / 415
11.6mpstat:CPU信息統(tǒng)計(jì) / 419
11.7iostat:I/O信息統(tǒng)計(jì) / 420
11.8iotop:動(dòng)態(tài)顯示磁盤I/O統(tǒng)計(jì)信息 / 423
11.9sar:收集系統(tǒng)信息 / 425
11.10chkconfig:管理開(kāi)機(jī)服務(wù) / 430
11.11ntsysv:管理開(kāi)機(jī)服務(wù) / 433
11.12 setup:系統(tǒng)管理工具 / 434
11.13ethtool:查詢網(wǎng)卡參數(shù) / 436
11.14mii-tool:管理網(wǎng)絡(luò)接口的狀態(tài) / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自動(dòng)化RPM包管理工具 / 446
top命令
第12章 Linux系統(tǒng)常用內(nèi)置命令 / 450
12.1Linux內(nèi)置命令概述 / 450
12.2Linux內(nèi)置命令簡(jiǎn)介 / 450
12.3Linux常用內(nèi)置命令實(shí)例 / 452
Linux運(yùn)維人員必會(huì)的120個(gè)命令
跟老男孩學(xué)Linux運(yùn)維:核心系統(tǒng)命令實(shí)戰(zhàn)
linux中,有哪些命令是比較好用的呢?
1.列出文件清單命令:ls
ls命令能夠列出當(dāng)前目錄下的所有內(nèi)容。ls 命令的執(zhí)行方式為:
# ls [-選項(xiàng)] [文件名或者目錄名]
進(jìn)入到Linux命令行中后,我們至少要知道當(dāng)前所處的位置有哪些內(nèi)容,這些信息就可以使用ls命令來(lái)獲得。
在Linux中,ls命令是最常使用的命令之一,因?yàn)樵诿钚邢乱S時(shí)查看目錄內(nèi)容。如果不加任何選項(xiàng)的話,ls命令僅列出當(dāng)前目錄下的文件和目錄名,例如,想要查看/etc目錄下的內(nèi)容,可以使用下列命令:
# ls /etc
如果想要列出當(dāng)前目錄下所有文件,則可以使用下列命令:
# ls -a
2、cat命令
功能:在標(biāo)準(zhǔn)輸出上顯示文件。
語(yǔ)法:cat [-vTEuAte] 文件
例子: cat example.txt
cat -A exam2.txt
cat file1 file2 file2
3、more命令
功能:在終端屏幕按屏顯示文本文件。
語(yǔ)法: more [-pcdls] 文件
例子: more example.c
more -dc example.c
more -c -10 example.c
4、less命令
less命令的功能幾乎和more命令一樣,也是用來(lái)按頁(yè)顯示文件,不同之處在于less命令在顯示文件時(shí)允許用戶既
可以向前又可以向后翻閱文件。
5、head命令
功能:顯示指定文件的前若干行。缺省設(shè)置為顯示10行
語(yǔ)法:head [-n] 文件
例子: head example.c
head -3 example.c
6、tail命令
功能:顯示指定文件的末尾若干行。缺省設(shè)置為顯示10行
語(yǔ)法:tail [+ / - num ] [參數(shù)] 文件
+num 從第num行以后開(kāi)始顯示。- num 從距文件尾num行處開(kāi)始顯示。
例子: tail example.c
tail -4 example.c
7、grep、fgrep和egrep命令
功能:
這組命令以指定模式搜索文件,并通知用戶在什么文件中搜索到與指定的模式匹配的字符串,并打印出所有包含該字符串的文本行,在該文本行的最前面是該行所在的文件名。grep命令一次只能搜索一個(gè)指定的模式;egrep命令檢索擴(kuò)展的正則表達(dá)式(包括表達(dá)式組和可選項(xiàng));fgrep命令檢索固定字符串,它不識(shí)別正則表達(dá)式,是快速搜索命令。
語(yǔ)法:
grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]
egrep [選項(xiàng)] [查找模式] [文件名1,文件名2,……]
fgrep [選項(xiàng)] [查找模式] [文件名1,文件名2,……]
例子: grep "text file" example
grep data *
grep goto *.c
linux如何進(jìn)入命令行
;?????linux如何進(jìn)入命令行呢,下面就讓我們來(lái)看看吧。
1、打開(kāi)linux系統(tǒng),在linux的桌面的空白處右擊。
2、在彈出的下拉選項(xiàng)里,點(diǎn)擊打開(kāi)終端即可進(jìn)入命令行。
3、按快捷鍵Ctrl+Alt+T/Ctrl+Alt+F1-F6也可以打開(kāi)終端窗口進(jìn)入命令行。
4、也可以直接搜索終端。
以上就是的分享,希望能幫助到大家。
本文章基于ThinkpadE15品牌、centos7系統(tǒng)撰寫的。
linux必學(xué)的60個(gè)命令
Linux常用的命令可以分為以下幾類:安裝和登錄命令、文件處理命令、系統(tǒng)管理相關(guān)命令、網(wǎng)絡(luò)操作命令、系統(tǒng)安全相關(guān)命令、其它命令。
安裝和登錄命令:login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last。
文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系統(tǒng)管理相關(guān)命令:df、top、free、quota、at、lp、adduser、groupadd、kill、crontab。
網(wǎng)絡(luò)操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup。
系統(tǒng)安全相關(guān)命令:passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who。
其它命令:tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
Linux簡(jiǎn)介
Linux,全稱GNU/Linux,是一套免費(fèi)使用和自由傳播的類Unix操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。伴隨著互聯(lián)網(wǎng)的發(fā)展,Linux得到了來(lái)自全世界軟件愛(ài)好者、組織、公司的支持。
它除了在服務(wù)器方面保持著強(qiáng)勁的發(fā)展勢(shì)頭以外,在個(gè)人電腦、嵌入式系統(tǒng)上都有著長(zhǎng)足的進(jìn)步。使用者不僅可以直觀地獲取該操作系統(tǒng)的實(shí)現(xiàn)機(jī)制,而且可以根據(jù)自身的需要來(lái)修改完善Linux,使其最大化地適應(yīng)用戶的需要。
Linux不僅系統(tǒng)性能穩(wěn)定,而且是開(kāi)源軟件。其核心防火墻組件性能高效、配置簡(jiǎn)單,保證了系統(tǒng)的安全。在很多企業(yè)網(wǎng)絡(luò)中,為了追求速度和安全,Linux不僅僅是被網(wǎng)絡(luò)運(yùn)維人員當(dāng)作服務(wù)器使用,甚至當(dāng)作網(wǎng)絡(luò)防火墻,這是Linux的一大亮點(diǎn)。
30個(gè)必知的Linux命令技巧,你都掌握了嗎
在Unix/Linux下,高效工作方式不是操作圖形頁(yè)面,而是命令行操作,命令行意味著更容易自動(dòng)化。使用過(guò)Linux系統(tǒng)的朋友應(yīng)該都知道它的命令行強(qiáng)大之處。話說(shuō)回來(lái)了,以下這些命令使用技巧你又知道多少呢?
1、Vim自動(dòng)添加注釋及智能換行
# vi ~/.vimrc set autoindentset tabstop=4set shiftwidth=4function AddTitle()call setline(1,"#!/bin/bash")call append(1,"#====================================================")call append(2,"# Author: lizhenliang")call append(3,"# Create Date: " . strftime("%Y-%m-%d"))call append(4,"# Description: ")call append(5,"#====================================================")endfmap F4 :call AddTitle()cr
打開(kāi)文件后,按F4就會(huì)自動(dòng)添加注釋,省了不少時(shí)間:
2、查找并刪除/data這個(gè)目錄7天前創(chuàng)建的文件
# find /data -ctime +7 -exec rm -rf {} \;# find /data -ctime +7 | xargs rm -rf
3、tar命令壓縮排除某個(gè)目錄
# tar zcvf data.tar.gz /data --exclude=tmp #--exclude參數(shù)為不包含某個(gè)目錄或文件,后面也可以跟多個(gè)
4、查看tar包存檔文件,不解壓
# tar tf data.tar.gz #t是列出存檔文件目錄,f是指定存檔文件
5、使用stat命令查看一個(gè)文件的屬性
訪問(wèn)時(shí)間(Access)、修改時(shí)間(modify)、狀態(tài)改變時(shí)間(Change)stat index.phpAccess: 2018-05-10 02:37:44.169014602 -0500Modify: 2018-05-09 10:53:14.395999032 -0400Change: 2018-05-09 10:53:38.855999002 -0400
6、批量解壓tar.gz
方法1:# find . -name "*.tar.gz" -exec tar zxf {} \;方法2:# for tar in *.tar.gz; do tar zxvf $tar; done方法3:# ls *.tar.gz | xargs -i tar zxvf {}
7、篩除出文件中的注釋和空格
方法1:# grep -v "^#" httpd.conf |grep -v "^$"方法2:# sed -e ‘/^$/d’ -e ‘/^#/d’ httpd.conf http.conf或者# sed -e '/^#/d;/^$/d' #-e 執(zhí)行多條sed命令方法3:# awk '/^[^#]/|/"^$"' httpd.conf 或者# awk '!/^#|^$/' httpd.conf
8、篩選/etc/passwd文件中所有的用戶
方法1:# cat /etc/passwd |cut -d: -f1方法2:# awk -F ":" '{print $1}' /etc/passwd
9、iptables網(wǎng)站跳轉(zhuǎn)
先開(kāi)啟路由轉(zhuǎn)發(fā):echo "1" /proc/sys/net/ipv4/ip_forward #臨時(shí)生效內(nèi)網(wǎng)訪問(wèn)外網(wǎng)(SNAT):iptables –t nat -A POSTROUTING -s [內(nèi)網(wǎng)IP或網(wǎng)段] -j SNAT --to [公網(wǎng)IP]#內(nèi)網(wǎng)服務(wù)器要指向防火墻內(nèi)網(wǎng)IP為網(wǎng)關(guān)公網(wǎng)訪問(wèn)內(nèi)網(wǎng)(DNAT)(公網(wǎng)端口映射內(nèi)網(wǎng)端口):iptables –t nat -A PREROUTING -d [對(duì)外IP] -p tcp --dport [對(duì)外端口] -j DNAT --to [內(nèi)網(wǎng)IP:內(nèi)網(wǎng)端口]#內(nèi)網(wǎng)服務(wù)器要配置防火墻內(nèi)網(wǎng)IP為網(wǎng)關(guān),否則數(shù)據(jù)包回不來(lái)。另外,這里不用配置SNAT,因?yàn)橄到y(tǒng)服務(wù)會(huì)根據(jù)數(shù)據(jù)包來(lái)源再返回去。
10、iptables將本機(jī)80端口轉(zhuǎn)發(fā)到本地8080端口
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
11、find命令查找文件并復(fù)制到/opt目錄
方法1:# find /etc -name httpd.conf -exec cp -rf {} /opt/ \;: #-exec執(zhí)行后面命令,{}代表前面輸出的結(jié)果,\;結(jié)束命令方法2:# find /etc -name httpd.conf |xargs -i cp {} /opt #-i表示輸出的結(jié)果由{}代替
12、查看根目錄下大于1G的文件
# find / -size +1024M 默認(rèn)單位是b,可以使用其他單位如,C、K、M
13、查看服務(wù)器IP連接數(shù)
# netstat -tun | awk '{print $5}' | cut -d: -f1 |sort | uniq -c | sort -n -tun:-tu是顯示tcp和udp連接,n是以IP地址顯示cut -d:-f1:cut是一個(gè)選擇性顯示一行的內(nèi)容命令,-d指定:為分隔符,-f1顯示分隔符后的第一個(gè)字段。uniq -c:報(bào)告或刪除文中的重復(fù)行,-c在輸出行前面加上出現(xiàn)的次數(shù)sort -n:根據(jù)不同類型進(jìn)行排序,默認(rèn)排序是升序,-r參數(shù)改為降序,-n是根據(jù)數(shù)值的大小進(jìn)行排序
14、插入一行到391行,包括特殊符號(hào)"/"
# sed -i "391 s/^/AddType application\/x-httpd-php .php .html/" httpd.conf
15、列出nginx日志訪問(wèn)最多的10個(gè)IP
方法1:# awk '{print $1}' access.log |sort |uniq -c|sort -nr |head -n 10sort :排序uniq -c:合并重復(fù)行,并記錄重復(fù)次數(shù)sort -nr :按照數(shù)字進(jìn)行降序排序方法2:# awk '{a[$1]++}END{for(v in a)print v,a[v] |"sort -k2 -nr |head -10"}' access.log
16、顯示nginx日志一天訪問(wèn)量最多的前10位IP
# awk '$4="[16/May/2017:00:00:01" $4="[16/May/2017:23:59:59"' access_test.log |sort |uniq -c |sort-nr |head -n 10# awk '$4="[16/Oct/2017:00:00:01" $4="[16/Oct/2017:23:59:59"{a[$1]++}END{for(i in a){print a[i],i|"sort -k1 -nr |head -n 10"}}' access.log
17、獲取當(dāng)前時(shí)間前一分鐘日志訪問(wèn)量
# date=`date +%d/%b/%Y:%H:%M --date="-1 minute"` ; awk -vd=$date '$0~d{c++}END{print c}' access.log# date=`date +%d/%b/%Y:%H:%M --date="-1 minute"`; awk -vd=$date '$4="["d":00" $4="["d":59"{c++}END{print c}' access.log # grep `date +%d/%b/%Y:%H:%M --date="-1 minute"` access.log |awk 'END{print NR}'# start_time=`date +%d/%b/%Y:%H:%M:%S --date="-5 minute"`;end_time=`date +%d/%b/%Y:%H:%M:%S`;awk -vstart_time="[$start_time" -vend_time="[$end_time" '$4=start_time $4=end_time{count++}END{print count}' access.log
18、找出1-255之間的整數(shù)
方法1:# ifconfig |grep -o '[0-9]\+' #+號(hào)匹配前一個(gè)字符一次或多次方法2:# ifconfig |egrep -o '\([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\'
19、找出IP地址
# ifconfig |grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' #-o只顯示匹配字符
20、給文檔增加開(kāi)頭和結(jié)尾說(shuō)明信息
# awk ‘BEGIN{print "開(kāi)頭顯示信息"}{print $1,$NF} END{print "結(jié)尾顯示信息"}’/etc/passwd# awk 'BEGIN{printf " date ip\n------------------\n"} {print $3,$4} END{printf "------------------\nend...\n"}' /var/log/messages date ip------------------03:13:01 localhost10:51:45 localhost------------------end...
21、查看網(wǎng)絡(luò)狀態(tài)命令
# netstat -antp #查看所有網(wǎng)絡(luò)連接# netstat -lntp #只查看監(jiān)聽(tīng)的端口信息# lsof -p pid #查看進(jìn)程打開(kāi)的文件句柄# lsof -i:80 #查看端口被哪個(gè)進(jìn)程占用
22、生成8位隨機(jī)字符串
方法1:# echo $RANDOM |md5sum |cut -c 1-8方法2:# openssl rand -base64 4方法3:# cat /proc/sys/kernel/random/uuid | cut -c 1-8
23、while死循環(huán)
while true; do #條件精確等于真,也可以直接用條件[ "1" == "1" ],條件一直為真ping -c 2
24.awk格式化輸出
將文本列進(jìn)行左對(duì)齊或右對(duì)齊。
左對(duì)齊:# awk '{printf "%-15s %-10s %-20s\n",$1,$2,$3}' test.txt右對(duì)齊:# awk '{printf "%15s %10s %20s\n",$1,$2,$3}' test.txt
25.整數(shù)運(yùn)算保留小數(shù)點(diǎn)
方法1:# echo 'scale=2; 10/3;'|bc #scale參數(shù)代表取小數(shù)點(diǎn)位數(shù)方法2:# awk BEGIN'{printf "%.2f\n",10/3}'
26.數(shù)字求和
# cat a.txt10235356方法1:#!/bin/bashwhile read num;dosum=`expr $sum + $num`done a.txtecho $sum方法2:# cat a.txt |awk '{sum+=$1}END{print sum}'
27、判斷是否為數(shù)字(字符串判斷也如此)
# [[ $num =~ ^[0-9]+$ ]] echo yes || echo no #[[]]比[]更加通用,支持模式匹配=~和字符串比較使用通配符`^ $:從開(kāi)始到結(jié)束是數(shù)字才滿足條件=~:一個(gè)操作符,表示左邊是否滿足右邊(作為一個(gè)模式)正則表達(dá)式
28、刪除換行符并將空格替換別的字符
# cat a.txt |xargs echo -n |sed 's/[ ]/|/g' #-n 不換行# cat a.txt |tr -d '\n' #刪除換行符
29、查看文本中20至30行內(nèi)容(總共100行)
方法1:# awk '{if(NR 20 NR 31) print $0}' test.txt方法2:# sed -n '20,30p' test.txt 方法3:# head -30 test.txt |tail
30、文本中兩列位置替換
# cat a.txt60.35.1.15 awk '{print $2"\t"$1}' a.txt
當(dāng)前題目:linux裝逼命令行,命令行 linux
本文URL:http://m.biofuelwatch.net/article/hsdsgi.html