1.cd/home/fleety/Diagserver/log
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),雙峰網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:雙峰等地區(qū)。雙峰做網(wǎng)站價(jià)格咨詢:028-86922220
cd到指定的目錄
2.tail -f day.log
實(shí)時(shí)讀取指定目錄下的日志(一直中,不停止)
3.grep -a 'mdtId' day.log 或 grep -v 'mdtid' day.log
指定條件下查找mdtid文件的記錄
4.tar -zcvf day.log.tgz day.log 或 tar -zcvf day.log.tgz
分別是四個(gè)參數(shù)
x : 從 tar 包中把文件提取出來
z : 表示 tar 包是被 gzip 壓縮過的,所以解壓時(shí)需要用 gunzip 解壓
v : 顯示詳細(xì)信息
f xxx.tar.gz : 指定被處理的文件是 xxx.tar.gz
5.mkdir -p/home/fkeety/Diagserver/log
在home下建一個(gè)fleeety的子目錄,在fleety下建一個(gè)DiagServer的子目錄,在DiagServer建一個(gè)log的子目錄
6.mv day.log day.log.bak
mv,移動文件到另一個(gè)文件,備份
7.rm -rf day.log
刪除這個(gè)文件
8.vi day.log
打開或新建day.log文件,并將光標(biāo)置于第一行首
9.pwd
顯示工作目錄
10. In -s aa bb
為bb文件在aa文件上建立一個(gè)同步的鏈接
11.unzip day.log.zip
解壓到當(dāng)前目錄下
12. find/home/fleety/Diagserver -name ' zwyc' -print**
查找名稱為XXX的內(nèi)容并打印
13.ssh -l root 180.168.34.250 -p 9222
root權(quán)限連接主機(jī),端口是9222
14.telnet 192.168.0.22 23
建立遠(yuǎn)程tcp連接
15. sed -n '100.2720p'1159857_20150506_2159857_20150506_2_2
將字符串'100,2720p' 寫入文件15..._2文件里 并重定向到15..._2_2文件里
16.chmod fleety.fleety aaa
給fleety.fleety設(shè)置權(quán)限
17.chown 755 aaa
給aaa 添加
7 擁有者有 讀取,寫入,執(zhí)行權(quán)限
7 組用戶有 讀取,寫入,執(zhí)行權(quán)限
5 其他用戶有 讀取,執(zhí)行權(quán)限
18.cp -r /home/fleety/Diagserve/log ./
將log文件下的所有內(nèi)容 復(fù)制到當(dāng)前目錄下
19.ftp 192.168.0.218 21
ftp模式連接遠(yuǎn)程主機(jī) ,服務(wù)器會詢問用戶名和密碼
20.more day.log
查看day.log日志,分頁形式打開, more 一頁頁顯示文件內(nèi)容 空白鍵下一頁 b鍵上一頁
21.ps -ef
查看系統(tǒng)進(jìn)程
22.top
主要用于查看進(jìn)程的相關(guān)信息,同時(shí)它也會提供系統(tǒng)平均負(fù)載,cpu 信息和內(nèi)存信息
Linux運(yùn)維人員必會的120個(gè)命令
來自《跟老男孩學(xué)Linux運(yùn)維:核心系統(tǒng)命令實(shí)戰(zhàn)》一書
前言
第1章 Linux命令行簡介 / 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:移動或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號鏈接文件的內(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章 文件過濾及內(nèi)容編輯處理命令 / 91
3.1cat:合并文件或查看文件內(nèi)容 / 91
3.2tac:反向顯示文件內(nèi)容 / 103
3.3more:分頁顯示文件內(nèi)容 / 104
3.4less:分頁顯示文件內(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:文本過濾工具 / 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)啟動異常診斷 / 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ù)庫 / 199
5.13老男孩逆襲思想:新手在工作中如何問問題不會被鄙視 / 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老男孩逆襲思想:新手如何高效地提問 / 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:通過進(jìn)程名終止進(jìn)程 / 310
9.6pkill:通過進(jìn)程名終止進(jìn)程 / 311
9.7top:實(shí)時(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況 / 313
9.8nice:調(diào)整程序運(yùn)行時(shí)的優(yōu)先級 / 320
9.9renice:調(diào)整運(yùn)行中的進(jìn)程的優(yōu)先級 / 323
9.10nohup:用戶退出系統(tǒng)進(jìn)程繼續(xù)工作 / 324
9.11strace:跟蹤進(jìn)程的系統(tǒng)調(diào)用 / 325
9.12ltrace:跟蹤進(jìn)程調(diào)用庫函數(shù) / 332
9.13runlevel:輸出當(dāng)前運(yùn)行級別 / 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:測試主機(jī)之間網(wǎng)絡(luò)的連通性 / 363
10.10traceroute:追蹤數(shù)據(jù)傳輸路由狀況 / 366
10.11arping:發(fā)送arp請求 / 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ò)探測工具和安全/端口掃描器 / 394
10.22tcpdump:監(jiān)聽網(wǎng)絡(luò)流量 / 398
第11章 Linux系統(tǒng)管理命令 / 407
11.1lsof:查看進(jìn)程打開的文件 / 407
11.2uptime:顯示系統(tǒng)的運(yùn)行時(shí)間及負(fù)載 / 411
11.3free:查看系統(tǒng)內(nèi)存信息 / 411
11.4iftop:動態(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:動態(tài)顯示磁盤I/O統(tǒng)計(jì)信息 / 423
11.9sar:收集系統(tǒng)信息 / 425
11.10chkconfig:管理開機(jī)服務(wù) / 430
11.11ntsysv:管理開機(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:自動化RPM包管理工具 / 446
top命令
第12章 Linux系統(tǒng)常用內(nèi)置命令 / 450
12.1Linux內(nèi)置命令概述 / 450
12.2Linux內(nèi)置命令簡介 / 450
12.3Linux常用內(nèi)置命令實(shí)例 / 452
Linux命令分為內(nèi)部命令(shell自帶的命令)和外部命令(不是shell自帶的命令,由用戶安裝),怎么鑒別是內(nèi)部命令和外部命令呢?可以通過type命令來鑒別
什么是shell呢?shell是一個(gè)程序,常用的有bash shell,平時(shí)我們通過用戶名和密碼登錄到linux,其實(shí)就是登錄到bash shell程序,通過bash shell來操作linux內(nèi)核
命令執(zhí)行流程
那豈不是說使用外部命令效率會很慢嗎?
其實(shí)一點(diǎn)都不慢,它會去PATH環(huán)境變量設(shè)置的一堆目錄中查找
cd is a shell builtin 表示內(nèi)部命令
ifconfig is hashed (/usr/sbin/ifconfig) 表示外部命令
cd命令切換文件夾
現(xiàn)在我們cd /usr/sbin
通過cat命令查看文件內(nèi)容
通過cat ifconfig來查看ifconfig,發(fā)現(xiàn)是亂碼文件
file命令查看文件類型
輸入file ifconfig
從輸出信息可以看出它是一個(gè)二進(jìn)制可執(zhí)行文件
whereis命令查看文件位置
find / -name jdk
echo命令用戶打印信息,相當(dāng)于java中的system.out.println
可以使用回車查看下一行、空格查看下一頁、q退出
一般使用man查看外部命令,help查看內(nèi)部命令
查看linux下的應(yīng)用和應(yīng)用的進(jìn)程號
當(dāng)我們在這個(gè)窗口中輸入kill -9 1593的話,另外一個(gè)正在編輯文件的進(jìn)程就會退出
在前面我們已經(jīng)講過,bash shell程序在執(zhí)行命令的一個(gè)過程及原理,對于外部命令,它會去PATH這個(gè)環(huán)境變量中查找執(zhí)行命令所在的路徑,當(dāng)然在去PATH中尋找之前會先去hash表中查找這個(gè)命令有沒有執(zhí)行過,執(zhí)行過的話會記錄在hash表中,則此次查找只需從hash表中就可以很方便的找到
查看分區(qū)信息 -h 表示文件大小后面會顯示文件大小
查看文件的使用情況
使用man ls 查看ls命令的相關(guān)介紹
-a:可以查看隱藏文件
-l:以長列表的形式展示文件列表信息
第一位 -:表示文件,d表示文件夾,b表示塊設(shè)備文件,c表示字符設(shè)備文件,p表示命令管道文件,s表示套接字文件, 從第二位開始往后數(shù)九位表示屬主權(quán)限(每三位一組 rwx:讀、寫、執(zhí)行),第11位表示的點(diǎn)表示分隔符,點(diǎn)后面的數(shù)字表示文件有幾個(gè)硬連接,第一個(gè)root代表屬主名,第二個(gè)root代表這個(gè)第一個(gè)root所在的組織,接下來的5表示文件大小,5后面的日期表示文件最后一次修改的時(shí)間, 1.txt代表的文件或文件夾的名稱
小結(jié):
切換文件目錄
cd 文件路徑
cd:切換到家目錄
cd ~:回到家目錄(也就是家目錄)
cd ..:回到上一級目錄
創(chuàng)建目錄
mkdir 目錄名
mkdir -p 目錄名,級聯(lián)創(chuàng)建目錄
cp 被拷貝的文件(可以是路徑加文件名) 拷貝到哪個(gè)位置
復(fù)制目錄使用
cp -r 被拷貝的目錄 目標(biāo)位置
移動命令
mv 被移動的文件 目標(biāo)位置+目標(biāo)文件名
rm 文件名(此中方式的刪除需要再輸入 yes)
rm -f 文件名,無提示直接刪除
rm -rf 文件夾
ln命令默認(rèn)創(chuàng)建的是硬連接
ln profile a:將a硬連接到profile文件上,他們底層共用一個(gè)文件,刪除他們之中任何一個(gè)
對另外一個(gè)沒有影響,同時(shí)你也可以使用 ll -i命令查看文件編號
ln -s profile a:將a軟連接到profile文件,當(dāng)你訪問a的時(shí)候會去訪問profile,profile再訪問底層文件,當(dāng)將profile刪除了之后a就無法訪問了
一致時(shí)間、創(chuàng)建新文本
touch 已存在的文件:會將文件的訪問時(shí)間、更新時(shí)間、改變時(shí)間(即上面stat中介紹的三個(gè)時(shí)間)變成一致
touch 不存在的文件:會創(chuàng)建一個(gè)新的文本
cat命令查看文件內(nèi)容
cat 1.txt:查看單個(gè)文件內(nèi)容
cat 1.txt 2.txt:查看多個(gè)文件
more 1.txt:以分頁的形式查看文件內(nèi)容,按空格:下一頁,回車:下一行(注意它不能回看,回看的話只能用鼠標(biāo)回輪)
less 1.txt:使用空格下一頁, b看上一頁, 回車看下一行
注意less的話會把整個(gè)文件內(nèi)容加載到內(nèi)存,如果文件比較大的話,建議使用more命令查看
head命令默認(rèn)查看文件前10行內(nèi)容, head 1.txt
head -5 1.txt:查看文件前5行的內(nèi)容
tail命令默認(rèn)查看文件后10行的內(nèi)容 tail 1.txt
tail -5 1.txt:查看文件后5行內(nèi)容
tail -f 1.txt:實(shí)時(shí)查看文件增量內(nèi)容
cat b.txt | head -3:管道左邊的命令會以輸出流的形式交給管道右邊的命令,管道右邊以輸入流的形式接收并且拼到命令的右邊
注意:ls -l 不能接受前面的輸出流,這個(gè)怎么辦呢?可以通過xargs命令
vi文本編輯器末行模式的操作
set nu(number的縮寫): 設(shè)置行號
set nonu(nonumber的縮寫):取消行號
set readonly:設(shè)置為只讀
n:往下查找
N:往上查找
n:往上查找
N:往下查找
一般我們會在/etc/profile文件中設(shè)置一些環(huán)境變量,但是在設(shè)置的時(shí)候可能沒有記住目錄,這時(shí)候我們可以使用如下方式
效果
格式 :s/str1/str2/gi
/ : 臨近s命令的第一個(gè)字符邊界字符,也可以是 @或#
g : 一行內(nèi)全部替換
i : 忽略大小寫
范圍
n:行號
. :當(dāng)前光標(biāo)行
+n :偏移n行
-3
%:全文
全部刪除 1,$d
刪除前三行
刪除倒數(shù)第2行
光標(biāo)挪到最后一行 按下小寫的p
效果圖
正則表達(dá)式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特殊字符、及這些特定字符的組合組成一個(gè)"規(guī)則字符串",這個(gè)"規(guī)則字符串"用來表達(dá)對字符串的一種過濾邏輯。
\ :轉(zhuǎn)義字符
. :匹配任意單個(gè)字符
[1249a] :匹配中括號中任意字符
[^12] :匹配中括號中任意非1和2的字符
[a-k] :匹配中括號中任意a~k中的一個(gè)字符
^ :行首
$ :行尾
abc :單詞首尾邊界(匹配單詞abc)
| :連接操作符
(,) : 選擇操作符
\n :反向引用
? :匹配0到1次
在Linux中通過grep命令使用正則表達(dá)式來匹配信息
f :選擇顯示的列
s :不顯示沒有分隔符的行
d :自定義分隔符
n :按數(shù)值排序
r :倒序
t :自定義分隔符
K :選擇排序列
u :合并相同行
f :忽略大小寫
sed:行編輯器,以行為單位進(jìn)行處理,可以將數(shù)據(jù)進(jìn)行替換、刪除、新增、選取等特定工作
sed [options] 'Command' file ...
-n :靜默模式,不再默認(rèn)顯示模式空間(內(nèi)存)中的內(nèi)容
-i :直接修改原文件
-e SCRIPT :可以同時(shí)執(zhí)行多個(gè)腳本
-f /PATH/TO/SED_SCRIPT
-r :表示使用擴(kuò)展正則表達(dá)式
d :刪除符合條件的行
p :顯示符號條件的行
a \string :在指定的行后面追加新行,內(nèi)容為string
\n :可以用于換行
i \string :在指定的行前面添加新行,內(nèi)容為string
c :取代,c的后面可以接字符串
s /pattern/string/修飾符:查找并替換。默認(rèn)只替換每行中第一次被模式匹配到的字符串
g :行內(nèi)全局替換
i :忽略字符大小寫
s///:s###,s@@@
(),\1,\2
sed "2p" ctxt
但是在執(zhí)行下面的操作的時(shí)候文本中的內(nèi)容都顯示出來了,它的原理是,打印匹配的行,以及文本中所有的內(nèi)容
注意:它刪的是內(nèi)存中的數(shù)據(jù),而不是目標(biāo)文件
sed -i "3d" ctxt
它的原理是先把內(nèi)存中的第3行數(shù)據(jù)刪除,然后再把內(nèi)存中的數(shù)據(jù)寫回原文件,這時(shí)原文件中的第三行就沒有了
使用變量的形式
awk是一個(gè)強(qiáng)大的文本分析工具。
相對于grep的查找,sed的編輯,awk在其對數(shù)據(jù)分析并生成報(bào)告時(shí),顯得尤為強(qiáng)大。
簡單來說awk就是把文件逐行的讀入,(空格,制表符)為默認(rèn)分隔符將每行切片,切開的部分再進(jìn)行各種分析處理。
awk -F '{pattern + action}' {filenames}
支持自定義分隔符,默認(rèn)是以空格分隔的
支持正則表達(dá)式匹配
支持自定義變量,數(shù)組 a[1] a[tom] map(key)
支持內(nèi)置變量
ARGC 命令行參數(shù)個(gè)數(shù)
ARGV 命令行參數(shù)排列
ENVIRON 支持隊(duì)列中系統(tǒng)環(huán)境變量的使用
FILENAME awk瀏覽的文件名
FNR 瀏覽文件的記錄數(shù)
FS 設(shè)置輸入域分隔符,等價(jià)于命令行 -F選項(xiàng)
NF 瀏覽記錄的域的個(gè)數(shù)
NR 已讀的記錄數(shù)
OFS 輸出域分隔符
ORS 輸出記錄分隔符
RS 控制記錄分隔符
支持函數(shù)
print、split、substr、sub、gsub
支持流程控制語句
if、while、do/while、for、break、continue
練習(xí)題
passwd文件內(nèi)容解讀:
passwd文件中每行由7個(gè)字段組成,字段與字段之間由:分隔,第一個(gè)字段代表用戶名,第二個(gè)字段表示用戶對應(yīng)的加密后的密碼,第三個(gè)字段表示userId,第四個(gè)字段表示groupId,第五個(gè)字段表示對用戶的描述,第六個(gè)字段表示用戶的家目錄,第七個(gè)字段表示的是這個(gè)用戶默認(rèn)使用的shell
其中$0表示整行
統(tǒng)計(jì)報(bào)表:合計(jì)每人1月工資, 0:manager,1:worker
將awk后面的內(nèi)容封裝到一個(gè)文件中(封裝的腳本要遵循一定的格式)
qqq文件的內(nèi)容格式
linux常用命令如下:
1、查看內(nèi)核版本:uname -a。
2、控制臺-》圖形界面:init 5或者startx。
3、圖形界面-》控制臺: init3或者直接注銷。
4、如何查看ip地址:ifconfig。
5、配置ip:ifconfig eth0 ip地址。
6、重啟:reboot 或者 shutdown -r now。
7、普通用戶切換到系統(tǒng)用戶:su。
8、注銷用戶指令:logout。
9、從子機(jī)退出:ctrl+alt。
10、全屏:ctrl+alt+enter 。
基本思想:
Linux的基本思想有兩點(diǎn):第一,一切都是文件;第二,每個(gè)文件都有確定的用途。其中第一條詳細(xì)來講就是系統(tǒng)中的所有都?xì)w結(jié)為一個(gè)文件,包括命令、硬件和軟件設(shè)備、操作系統(tǒng)、進(jìn)程等等對于操作系統(tǒng)內(nèi)核而言,都被視為擁有各自特性或類型的文件。
完全免費(fèi):
Linux是一款免費(fèi)的操作系統(tǒng),用戶可以通過網(wǎng)絡(luò)或其他途徑免費(fèi)獲得,并可以任意修改其源代碼。這是其他的操作系統(tǒng)所做不到的。正是由于這一點(diǎn),來自全世界的無數(shù)程序員參與了Linux的修改、編寫工作,程序員可以根據(jù)自己的興趣和靈感對其進(jìn)行改變,吸收了無數(shù)程序員的精華。
以上內(nèi)容參考:百度百科--Linux
不同版本的Linux命令數(shù)量不一樣,這里筆者把它們中比較重要的和使用頻率最多的命令,按照它們在系統(tǒng)中的作用分成幾個(gè)部分介紹給,通過這些基礎(chǔ)命令的學(xué)習(xí)可以進(jìn)一步理解Linux系統(tǒng):
安裝和登錄命令:login、shutdown、halt、reboot、mount、umount、chsh。
文件處理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln。
系統(tǒng)管理相關(guān)命令:df、top、free、quota、at、lp、adduser、groupaddkill、crontab、tar、unzip、gunzip、last。
網(wǎng)絡(luò)操作命令:ifconfig、ip、ping、netstat、telnet、ftp、route、rloginrcp、finger、mail、nslookup。
學(xué)習(xí)linux注意事項(xiàng)
1、Linux嚴(yán)格區(qū)分大小寫。
2、Linux所有的存儲設(shè)備都必須掛載之后用戶才能使用,包括硬盤、U盤和光盤。
3、Windows下的程序不能直接在Linux中安裝和運(yùn)行。
???在Linux bash中可以使用命令行展開特性一步完成需要分開成多步完成的操作,達(dá)到事半功倍的效果。在Linux指令參數(shù)位置使用"{}" 將相應(yīng)的參數(shù)括起來,括號中的參數(shù)以逗號分隔,然后bash在執(zhí)行這一指令時(shí)會自動將括號中的內(nèi)容進(jìn)行展開。
示例1:
???同時(shí)創(chuàng)建多個(gè)目錄,在/tmp目錄下創(chuàng)建a_c,a_d,b_c,b_d等目錄,只需要在命令行中執(zhí)行如下命令即可,無須單個(gè)創(chuàng)建:
執(zhí)行結(jié)果如下:
示例2:
???需要在/tmp/mylinux 目錄下創(chuàng)建如下目錄樹。
創(chuàng)建命令如下:
執(zhí)行結(jié)果如下:
在這里可以使用指令tree來查看目錄的層級結(jié)構(gòu),以更直觀的方式將目錄樹顯示出來: