linux 常用命令有:
成都創(chuàng)新互聯(lián)公司公司2013年成立,先為梨樹等服務建站,梨樹等地企業(yè),進行企業(yè)商務咨詢服務。為梨樹企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
pwd 命令
使用 pwd 命令找出您所在的當前工作目錄(文件夾)的路徑。該命令將返回一個絕對(完整)路徑,該路徑基本上是所有以 / 開頭的目錄的路徑。絕對路徑的一個示例是 /home/username。
cd 命令
要瀏覽 Linux 文件和目錄,請使用 cd 命令。根據(jù)您所在的當前工作目錄,它需要目錄的完整路徑或名稱。假設您位于 /home/username / Documents 中,并且想要轉到 Documents 的子目錄 Photos。為此,只需鍵入以下命令:cd Photos。另一種情況是,如果您想切換到一個全新的目錄,例如 /home/username / Movies。在這種情況下,您必須輸入 cd,然后輸入目錄的絕對路徑:cd /home/username / Movies。有一些快捷方式可幫助您快速導航:cd ..(帶有兩個點)將一個目錄向上移動 cd 直接轉到主文件夾 cd-(帶連字符)移動到上一個目錄附帶說明一下,Linux 的 shell 是區(qū)分大小寫的。因此,您必須準確輸入名稱的目錄。
ls 命令
LS 命令用于查看目錄的內(nèi)容。默認情況下,此命令將顯示當前工作目錄的內(nèi)容。如果要查看其他目錄的內(nèi)容,請鍵入 ls,然后鍵入目錄的路徑。例如,輸入 LS / 家 / 用戶名 / 文檔查看的內(nèi)容的文件。您可以使用 ls 命令使用以下變體:ls -R 還將列出子目錄中的所有文件 ls -a 將顯示隱藏的文件 ls -al 將列出文件和目錄以及詳細信息,例如權限,大小,所有者等。
cat 命令
cat(連接的縮寫)是 Linux 中最常用的命令之一。它用于在標準輸出(sdout)上列出文件的內(nèi)容。要運行此命令,請鍵入 cat,然后輸入文件名及其擴展名。例如:cat file.txt。以下是使用 cat 命令的其他方法:cat filename 創(chuàng)建一個新文件 cat filename1 filename2 filename3 連接兩個文件(1 和 2),并將它們的輸出存儲在新文件中(3)將文件轉換為大寫或小寫使用,cat filename | tr a-z A-Z output.txt
cp 命令
使用 cp 命令將文件從當前目錄復制到另一個目錄。例如,命令 cp scenery.jpg/home /username/ Pictures 將在您的 Pictures 目錄中創(chuàng)建一個 Scene.jpg 副本(來自當前目錄)。
mv 命令
mv 命令的主要用途是移動文件,盡管它也可以用于重命名文件。mv 中的參數(shù)類似于 cp 命令。您需要輸入 mv,文件名和目標目錄。例如:mv file.txt/home /username/ Documents。
mkdir 命令
使用 mkdir 命令創(chuàng)建一個新目錄 - 如果鍵入 mkdir Music,它將創(chuàng)建一個名為 Music 的目錄。還有一些額外的 mkdir 命令:要在另一個目錄中生成新目錄,請使用此 Linux 基本命令 mkdir Music / Newfile 使用 p(父級)選項在兩個現(xiàn)有目錄之間創(chuàng)建一個目錄。例如,mkdir -p Music / 2022 / Newfile 將創(chuàng)建新的 “2022” 文件。
rmdir 命令
如果需要刪除目錄,請使用 rmdir 命令。但是,rmdir 僅允許您刪除空目錄。
rm 命令
該 RM 命令用于刪除目錄以及其中的內(nèi)容。如果只想刪除目錄(作為 rmdir 的替代方法),請使用 rm -r。注意:使用此命令時要格外小心,并仔細檢查您所在的目錄。這將刪除所有內(nèi)容,并且沒有撤消操作。
touch 命令
該觸摸命令允許您創(chuàng)建通過 Linux 命令行新的空白文件。例如,輸入 touch /home/username/Documents/Web.html 在 Documents 目錄下創(chuàng)建一個名為 Web 的 HTML 文件。
locate 命令
您可以使用此命令來定位文件,就像 Windows 中的搜索命令一樣。此外,將 - i 參數(shù)與該命令一起使用將使其不區(qū)分大小寫,因此即使您不記得其確切名稱,也可以搜索文件。要搜索包含兩個或多個單詞的文件,請使用星號(*)。例如,locate -i school * note 命令將搜索包含單詞 “school” 和 “ note” 的任何文件,無論它是大寫還是小寫。
find 命令
在類似定位命令,使用 查找也搜索文件和目錄。區(qū)別在于,您可以使用 find 命令在給定目錄中查找文件。例如,find /home/-name notes.txt 命令將在主目錄及其子目錄中搜索名為 notes.txt 的文件。使用查找時的其他變化 是:要查找當前目錄中使用的文件,請使用 find . -name notes.txt 要查找目錄,請使用 /-type d -name notes. txt13. grep 命令無疑對日常使用很有幫助的另一個基本 Linux 命令是 grep。它使您可以搜索給定文件中的所有文本。為了說明這一點,grep blue notepad.txt 將在記事本文件中搜索單詞 blue。包含搜索到的單詞的行將被完整顯示。
sudo 命令
該命令是 “SuperUser Do” 的縮寫,使您能夠執(zhí)行需要管理或超級用戶權限的任務。但是,建議不要將此命令用于日常使用,因為如果您做錯了一些事情,很容易發(fā)生錯誤。
df 命令
使用 df 命令可獲取有關系統(tǒng)磁盤空間使用情況的報告,以百分比和 KB 表示。如果要以兆字節(jié)為單位查看報告,請輸入 df -m。
du 命令
如果要檢查文件或目錄占用了多少空間,答案是 du(磁盤使用情況)命令。但是,磁盤使用情況摘要將顯示磁盤塊號,而不是通常的大小格式。如果要以字節(jié),千字節(jié)和兆字節(jié)為單位查看它,請在命令行中添加 - h 參數(shù)。
head 命令
所述頭命令用于查看任何文本文件的第一行。默認情況下,它將顯示前十行,但是您可以根據(jù)自己的喜好更改此數(shù)字。例如,如果只想顯示前五行,則鍵入 head -n 5 filename.ext。
tail 命令
該命令與 head 命令具有相似的功能,但是 tail 命令將顯示文本文件的最后十行,而不是顯示第一行。例如,tail -n filename.ext。
diff 命令
diff 命令是差異的縮寫,diff 命令逐行比較兩個文件的內(nèi)容。分析文件后,它將輸出不匹配的行。程序員在需要進行程序更改時經(jīng)常使用此命令,而不是重寫整個源代碼。此命令最簡單的形式是 diff file1.ext file2.ext
tar 命令
該 tar 命令是最常用的命令歸檔多個文件到一個壓縮包。類似于 zip 格式常見的 Linux 文件格式,壓縮是可選的。該命令具有很長的功能列表,非常復雜,例如將新文件添加到現(xiàn)有檔案中,列出檔案內(nèi)容,從檔案中提取內(nèi)容等等。查看一些實際示例,以了解有關其他功能的更多信息。
chmod 命令
chmod 是另一個 Linux 命令,用于更改文件和目錄的讀取,寫入和執(zhí)行權限。由于此命令相當復雜,因此您可以閱讀完整的教程以正確執(zhí)行它。
chown 命令
在 Linux 中,所有文件均歸特定用戶所有。該 CHOWN 命令使您可以更改或文件的所有權轉讓給指定的用戶名。例如,chown linuxuser2 file.ext 將使 linuxuser2 成為 file.ext 的所有者。
Jobs 命令
jobs 命令將顯示所有當前作業(yè)及其狀態(tài)。作業(yè)基本上是由 Shell 啟動的進程。
kill 命令
如果您的程序無響應,則可以使用 kill 命令手動終止它。它將向運行異常的應用發(fā)送特定信號,并指示該應用自行終止。您總共可以使用 64 個信號,但是人們通常只使用兩個信號:SIGTERM(15) — 請求程序停止運行,并給它一些時間來保存其所有進度。如果在輸入 kill 命令時未指定信號,則將使用此信號。SIGKILL(9) - 強制程序立即停止。未保存的進度將丟失。除了知道信號之外,您還需要知道要殺死的程序的進程標識號(PID)。如果您不知道 PID,只需運行命令 ps ux。在知道您要使用什么信號以及程序的 PID 之后,輸入以下語法:kill [signal option] PID.
ping 命令
使用 ping 命令檢查與服務器的連接狀態(tài)。例如,只需輸入 ping google.com,該命令將檢查您是否能夠連接到 Google 并測量響應時間。
wget 命令
Linux 命令行非常有用 - 您甚至可以在 wget 命令的幫助下從 Internet 下載文件。為此,只需鍵入 wget,然后輸入下載鏈接即可。
uname 命令
該 UNAME 命令,短期對于 Unix 名,將打印您的 Linux 系統(tǒng),如計算機名稱的詳細信息,操作系統(tǒng),內(nèi)核,等等。
top 命令
作為與 Windows 中的任務管理器等效的終端,top 命令將顯示正在運行的進程的列表以及每個進程使用的 CPU 數(shù)量。監(jiān)視系統(tǒng)資源使用情況非常有用,尤其是知道哪個進程由于消耗太多資源而需要終止時。
history 命令
當您使用 Linux 一段時間后,您會很快注意到每天可以運行數(shù)百個命令。因此,如果您想查看之前輸入的命令,運行歷史記錄命令特別有用。
man 命令
對某些 Linux 命令的功能感到困惑嗎?不用擔心,您可以使用 man 命令從 Linux 的外殼程序中輕松地學習如何使用它們。例如,輸入 man tail 將顯示 tail 命令的手動指令。
echo 命令
此命令用于將一些數(shù)據(jù)移到文件中。例如,如果要將文本 “Hello,我的名字叫 John” 添加到名為 name.txt 的文件中,則可以鍵入 echo Hello, my name is John name.txt
zip,unzip 命令
使用 zip 命令將文件壓縮到 zip 歸檔文件中,然后使用 unzip 命令從 zip 歸檔文件中提取壓縮文件。
hostname 命令
如果您想知道主機 / 網(wǎng)絡的名稱,只需鍵入 hostname。在末尾添加 - I 將顯示您的網(wǎng)絡的 IP 地址。
useradd,userdel 命令
前言
第1章 Linux命令行簡介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令幫助 / 4
1.3Linux shutdown reboot halt / 9
關機:
shutdown -h now
halt
init 0
第2章 文件和目錄操作命令 / 13
2.1pwd:顯示當前所在的位置 / 13
2.2cd:切換目錄 / 16
2.3tree:以樹形結構顯示目錄下的內(nèi)容 / 18
2.4mkdir:創(chuàng)建目錄 / 22
2.5touch:創(chuàng)建空文件或改變文件的時間戳屬性 / 27
2.6ls:顯示目錄下的內(nèi)容及相關屬性信息 / 30
2.7cp:復制文件或目錄 / 39
2.8mv:移動或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號鏈接文件的內(nèi)容 / 54
2.13find:查找目錄下的文件 / 55
2.14xargs:將標準輸入轉換成命令行參數(shù) / 68
2.15rename:重命名文件 / 71
2.16basename:顯示文件名或目錄名 / 72
2.17dirname:顯示文件或目錄路徑 / 72
2.18chattr:改變文件的擴展屬性 / 73
2.19lsattr:查看文件擴展屬性 / 75
2.20file:顯示文件的類型 / 76
2.21md5sum:計算和校驗文件的MD5值 / 77
2.22chown:改變文件或目錄的用戶和用戶組 / 80
2.23chmod:改變文件或目錄權限 / 81
2.24chgrp:更改文件用戶組 / 85
2.25umask:顯示或設置權限掩碼 / 86
2.26老男孩從新手成為技術大牛的心法 / 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:按兩個文件的相同字段合并 / 127
3.13uniq:去除重復行 / 129
3.14wc:統(tǒng)計文件的行數(shù)、單詞數(shù)或字節(jié)數(shù) / 131
3.15iconv:轉換文件的編碼格式 / 133
3.16dos2unix:將DOS格式文件轉換成UNIX格式 / 134
3.17diff:比較兩個文件的不同 / 135
3.18vimdiff:可視化比較工具 / 138
3.19rev:反向輸出文件內(nèi)容 / 139
3.20tr:替換或刪除字符 / 140
3.21od:按不同進制顯示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:純文本編輯器 / 147
3.24老男孩逆襲思想:做Linux運維的多個好處 / 152
第4章 文本處理三劍客 / 153
4.1grep:文本過濾工具 / 153
4.2sed:字符流編輯器 / 159
4.3awk基礎入門 / 165
第5章 Linux信息顯示與搜索文件命令 / 176
5.1uname:顯示系統(tǒng)信息 / 176
5.2hostname:顯示或設置系統(tǒng)的主機名 / 178
5.3dmesg:系統(tǒng)啟動異常診斷 / 179
5.4stat:顯示文件或文件系統(tǒng)狀態(tài) / 181
5.5du:統(tǒng)計磁盤空間使用情況 / 183
5.6date:顯示與設置系統(tǒng)時間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監(jiān)視命令執(zhí)行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關文件全路徑 / 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:遠程文件復制 / 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:以另一個用戶身份執(zhí)行命令 / 244
7.12id:顯示用戶與用戶組的信息 / 248
7.13w:顯示已登錄用戶信息 / 249
7.14who:顯示已登錄用戶信息 / 250
7.15users:顯示已登錄用戶 / 252
7.16whoami:顯示當前登錄的用戶名 / 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:導出ext2/ext3/ext4文件系統(tǒng)信息 / 274
8.7resize2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)大小 / 275
8.8fsck:檢查并修復Linux文件系統(tǒng) / 278
8.9dd:轉換或復制文件 / 281
8.10mount:掛載文件系統(tǒng) / 284
8.11umount:卸載文件系統(tǒng) / 288
8.12df:報告文件系統(tǒng)磁盤空間的使用情況 / 289
8.13mkswap:創(chuàng)建交換分區(qū) / 293
8.14swapon:激活交換分區(qū) / 294
8.15swapoff:關閉交換分區(qū) / 295
8.16sync:刷新文件系統(tǒng)緩沖區(qū) / 296
第9章 Linux進程管理命令 / 298
9.1ps:查看進程 / 298
9.2pstree:顯示進程狀態(tài)樹 / 305
9.3pgrep:查找匹配條件的進程 / 306
9.4kill:終止進程 / 307
9.5killall:通過進程名終止進程 / 310
9.6pkill:通過進程名終止進程 / 311
9.7top:實時顯示系統(tǒng)中各個進程的資源占用狀況 / 313
9.8nice:調(diào)整程序運行時的優(yōu)先級 / 320
9.9renice:調(diào)整運行中的進程的優(yōu)先級 / 323
9.10nohup:用戶退出系統(tǒng)進程繼續(xù)工作 / 324
9.11strace:跟蹤進程的系統(tǒng)調(diào)用 / 325
9.12ltrace:跟蹤進程調(diào)用庫函數(shù) / 332
9.13runlevel:輸出當前運行級別 / 334
9.14init:初始化Linux進程 / 335
9.15service:管理系統(tǒng)服務 / 335
第10章 Linux網(wǎng)絡管理命令 / 338
10.1ifconfig:配置或顯示網(wǎng)絡接口信息 / 338
10.2ifup:激活網(wǎng)絡接口 / 343
ifup eth0
10.3ifdown:禁用網(wǎng)絡接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個網(wǎng)絡,所有網(wǎng)卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統(tǒng)的arp緩存 / 350
10.6ip:網(wǎng)絡配置工具 / 351
10.7netstat:查看網(wǎng)絡狀態(tài) / 358
10.8ss:查看網(wǎng)絡狀態(tài) / 362
10.9ping:測試主機之間網(wǎng)絡的連通性 / 363
10.10traceroute:追蹤數(shù)據(jù)傳輸路由狀況 / 366
10.11arping:發(fā)送arp請求 / 367
10.12telnet:遠程登錄主機 / 369
10.13nc:多功能網(wǎng)絡工具 / 370
10.14ssh:安全地遠程登錄主機 / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊列 / 379
10.17mail:發(fā)送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網(wǎng)絡探測工具和安全/端口掃描器 / 394
10.22tcpdump:監(jiān)聽網(wǎng)絡流量 / 398
第11章 Linux系統(tǒng)管理命令 / 407
11.1lsof:查看進程打開的文件 / 407
11.2uptime:顯示系統(tǒng)的運行時間及負載 / 411
11.3free:查看系統(tǒng)內(nèi)存信息 / 411
11.4iftop:動態(tài)顯示網(wǎng)絡接口流量信息 / 413
11.5vmstat:虛擬內(nèi)存統(tǒng)計 / 415
11.6mpstat:CPU信息統(tǒng)計 / 419
11.7iostat:I/O信息統(tǒng)計 / 420
11.8iotop:動態(tài)顯示磁盤I/O統(tǒng)計信息 / 423
11.9sar:收集系統(tǒng)信息 / 425
11.10chkconfig:管理開機服務 / 430
11.11ntsysv:管理開機服務 / 433
11.12? setup:系統(tǒng)管理工具 / 434
11.13ethtool:查詢網(wǎng)卡參數(shù) / 436
11.14mii-tool:管理網(wǎng)絡接口的狀態(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)置命令實例 / 452
01 系統(tǒng)特殊符號
02 系統(tǒng)通配符號
03 系統(tǒng)正則符號
說明: 查詢信息的時候,會帶來便利
1) 基礎符號系列
? $?
? a 調(diào)取變量信息
? b 區(qū)分用戶類型? $ 普通用戶
? c 結合awk對文件進行取列 ?
xargs -n 2 test01.txt|awk '{print $2}'
!
a 強制的作用? wq!
b 可以實現(xiàn)取反
awk '!/oldgirl/' test02.txt (排除oldgirl)
find /oldboy_dir/ ! -type f (排除文件)
c !信息? 可以快速調(diào)取執(zhí)行歷史命令(慎用)
cat ~/.bash_history? -- 記錄歷史命令信息, 但是不會實時記錄
history? ? ? ? ? ? ? -- 顯示所有輸入過的歷史命令
|
a 實現(xiàn)管道功能
將前一個命令執(zhí)行的結果交給管道后面的命令進行處理
一般管道符號 會經(jīng)常和xargs命令配合使用
批量刪除操作
find /oldboy -type f -name "oldboy*.txt"|xargs rm
find /oldboy_dir/ -type f -delete
find /oldboy_dir/ -type f -exec rm -f {} \;
查找指定數(shù)據(jù)信息進行復制
find /oldboy -type f -name "oldboy*.txt" |xargs -i cp {} /oldgirl/
find /oldboy -type f -name "oldboy*.txt" |xargs cp -t /oldgirl/
find /oldboy -type f -name "oldboy*.txt" -exec cp -a {} /oldgirl \;
查找指定數(shù)據(jù)信息進行移動
find /oldboy -type f -name "oldboy*.txt" |xargs -i mv {} /oldgirl/
find /oldboy -type f -name "oldboy*.txt" |xargs mv -t /oldgirl/
find /oldboy -type f -name "oldboy*.txt" -exec mv {} /oldgirl \;
xargs(火眼金睛)后面跟的命令,不識別別名信息
#
a 表示對配置文件信息進行注釋
b 表示用戶的身份信息 超級管理員用戶
2) 引號符號系列
? "" 基本上和單引號功能類似 但是可以對一些特殊符號做出解析? $ `命令`==$(命令)
? '' 里面編寫的什么內(nèi)容就輸出什么內(nèi)容? 所見即所得
作用:
01. 指定需要輸出的信息
02. 利用引號將空格分隔的信息匯總為一個整體
``($()) 將引號里面命令執(zhí)行結果,交給引號外面命令進行使用 ?
3) 重定向符號
/1? 標準輸出重定向符號
/1 標準輸出追加重定向符號
2 錯誤輸出重定向符號
2 錯誤輸出追加重定向符號
標準輸入重定向符號
? tr xargs
標準輸入追加重定向符號
4) 邏輯符號系列
邏輯: 在完成一件事情的時候,有合理先后順序
前一個命令操作執(zhí)行成功了,再操作執(zhí)行后面的命令
||? 前一個命令操作執(zhí)行失敗了,再操作執(zhí)行后面的命令
mkdir /old_dir echo "create dir sucess" || echo "create dir failed"
? create dir sucess
? mkdi /old_dir echo "create dir sucess" || echo "create dir failed"
? -bash: mkdi: command not found
? create dir failed
什么通配符號: 用于匹配文件名稱信息, 便于快速查找文件信息 find
*? 匹配所有信息
? find /oldboy -type f -name "oldboy*"? ---以oldboy開頭的信息都查詢出來
find /oldboy -type f -name "*oldboy"? ---以oldboy開頭的信息都查詢出來
find /oldboy -type f -name "oldgirl*oldboy"?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ---以oldgirl 開頭的信息
以oldboy? 結尾的信息都查詢出來
{} 產(chǎn)生序列信息
連續(xù)序列:
echo {01..05}
? ? echo {a..z}
? ? echo {A..Z}
生成不連續(xù)序列
a 有規(guī)律的不連續(xù)序列
echo {01..05..2}
? ? 01 03 05
? ? echo {a..z..2}
? b 沒規(guī)律的不連續(xù)序列
echo {www,bbs,blog}
? ? www bbs blog
生成組合序列
? ? echo {1,2}{a,b}
? ? 1a 1b 2a 2b
? ? echo {1,2}{a,b}{A,B}
? ? 1aA 1aB 1bA 1bB 2aA 2aB 2bA 2bB
echo A{a,b}
? ? Aa Ab ?
A=oldboy.txt
? echo oldboy.txt{a,b} ?
? oldboy.txta oldboy.txtb ?
echo A{,b}
? A Ab
A=oldboy.txt
b=.bak
cp oldboy.txt{,.bak} == cp oldboy.txt oldboy.txt.bak
快速備份文件命令
cp oldboy.txt{,.bak}
快速還原數(shù)據(jù)方法
cp oldboy.txt{.bak,}
echo A{B,}
? AB A
oldboy.txt{.bak,} == cp oldboy.txt.bak oldboy.txt
基礎正則符號:basic regular expression? ? (BRE)
擴展正則符號:extended regular expression (ERE)
基礎正則符號:
a 尖角符號:^
? 以什么開頭的信息進行過濾出來
grep -v "^#" nginx.conf.default nginx.conf(對不需要關注的信息取反)
常見錯誤
find / -type f -name "^oldboy"? 錯誤
find / -type f -name "oldboy*"? 正確
b 美元符號:$
以什么結尾的信息進行過濾出來
以m結尾信息, 并且顯示上1行 和 下2行的信息
? grep "m$" -A 2 -B 1 test.txt
? 常見錯誤:
如果過濾不出來,確認每行結尾是否有空格信息
方法一:
cat -A test.txt
方法二
? vim 底行模式輸入命令 --- :set list
c 尖角美元符號:^$
? 取出文件中空行信息
? grep "^$" test.txt
? grep -v "^$" test.txt
d 點符號: .
表示匹配任意一個且只有一個字符
grep "." test.txt? -o(更直觀的顯示過程)
e 星號符號: *
匹配星號前面一個字符連續(xù)出現(xiàn)0次或多次
f 點和星號組合: .*
? 匹配所有信息
說明: 正則符號在匹配數(shù)據(jù)信息的時候具有貪婪特性
避免貪婪特性的方法,是在指定一行信息中唯一節(jié)點信息
g 轉譯符號: \
1) 將一些有意義的符號進行轉譯, 變?yōu)橐粋€普通符號
grep "\.$" ~/oldboy_test.txt
2) 將一些沒有意義的符號進行轉譯,變?yōu)橛幸饬x符號
\n? 換行符號 linux
3) 可以將擴展正則符號轉換成普通正則讓grep sed命令可以直接識別'
grep "o\?" test.txt
h 括號符號:[]
匹配括號中每一個字符,并且匹配的關系是或者的關系
需求: 找出文件中oldboy 和 oldbey兩個單詞信息
? grep "oldb[oe]y" test.txt
? 企業(yè)應用: 找尋文件中字母 數(shù)字信息
? grep "[0-9a-zA-Z]" test.txt
i 尖號和中括號組合使用 : [^]
對中括號里面匹配的字符信息進行排除
grep? "[^0-9a-zA-Z]" test.txt? --- 將字母數(shù)字都排除,只留下符號信息
尖號和中括號組合使用 : ^[]
以中括號里面匹配的字符作為一行開頭的字符
? grep "^[zx]" test.txt
正則符號注意事項
按照每行信息進行過濾處理
注意正則表達符號禁止中文
附上顏色信息進行正則過濾 --color=auto/--color
基礎正則符號可以被三劍客命令直接識別 grep sed awk
擴展正則符號不可以被三劍客命令中老二和老三直接識別
sed命令想識別正則符號: sed -r
grep命令想識別正則符號: egrep / grep -E
a 加號符號:+
匹配加號前面一個字符連續(xù)出現(xiàn)1次或者多次
b 豎線符號:|
或者關系符號
egrep "oldboy|oldbey" test.txt
c 括號符號:()
將多個字符信息進行匯總為一個整體
egrep "(oldboy)" test.txt
進行后向引用前向的一個操作(sed)
echo "123456"|sed -r "s#(..)(..)(..)#\1\2\3#g"
修改配置文件內(nèi)容
sed -rn "s#(^S.*UX=).*#\1enforcing#gp" /etc/selinux/config
SELINUX=enforcing
d 括號符號:{}
指定花擴號前一個字符連續(xù)匹配多少次
* 連續(xù)匹配 0 次 或 多次
+ 連續(xù)匹配 1 次 或 多次
1) {n,m}? n表示最少連續(xù)匹配多少次? m表示最多連續(xù)匹配多少次
2) {n}? n表示只連續(xù)匹配n次
3) {n,}? n表示至少連續(xù)匹配n次,至多沒有限制
4) {,m}? m表示至多連續(xù)匹配n次,至少0次
e 問號符號:?
表示匹配問號前面一個字符出現(xiàn)0次或者1次
ps 命令的作用是顯示進程信息的;
| 符號,是個管道符號,表示ps 和 grep 命令同時執(zhí)行;
grep 命令是查找(Global Regular Expression Print),能使用正則表達式搜索文本,然后把匹配的行顯示出來;
ps命令有一些參數(shù):
-e : 顯示所有進程
-f : 全格式
-h : 不顯示標題
-l : 長格式
-w : 寬輸出
a :顯示終端上的所有進程,包括其他用戶的進程。
r :只顯示正在運行的進程。
u :以用戶為主的格式來顯示程序狀況。
x :顯示所有程序,不以終端機來區(qū)分。
結果信息從前到后依次是:
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep –color=auto dae
Linux中的top命令顯示系統(tǒng)上正在運行的進程。它是系統(tǒng)管理員最重要的工具之一。被廣泛用于監(jiān)視服務器的負載。top命令是一個交互命令。在運行top的時候還可以運行很多命令。
N – 以 PID 的大小的順序排列表示進程列表
P – 以 CPU 占用率大小的順序排列進程列表
M – 以內(nèi)存占用率大小的順序排列進程列表
q – 退出 top
h – 幫助
1 系統(tǒng)運行時間和平均負載
這些字段顯示:當前時間、系統(tǒng)已運行的時間、當前登錄用戶的數(shù)量、相應最近5、10和15分鐘內(nèi)的平均負載。
2 任務
第二行顯示的是任務或者進程的總結。進程可以處于不同的狀態(tài)。這里顯示了全部進程的數(shù)量。除此之外,還有正在運行、睡眠、停止、僵尸進程的數(shù)量(僵尸是一種進程的狀態(tài))。這些進程概括信息可以用’t’切換顯示。
3 CPU 狀態(tài)
下一行顯示的是CPU狀態(tài)。 這里顯示了不同模式下的所占CPU時間的百分比。這些不同的CPU時間表示:
us, user: 運行(未調(diào)整優(yōu)先級的) 用戶進程的CPU時間
sy,system: 運行內(nèi)核進程的CPU時間
ni,niced:運行已調(diào)整優(yōu)先級的用戶進程的CPU時間
wa,IO wait: 用于等待IO完成的CPU時間
hi:處理硬件中斷的CPU時間
si: 處理軟件中斷的CPU時間
st:這個虛擬機被hypervisor偷去的CPU時間(譯注:如果當前處于一個hypervisor下的vm,實際上hypervisor也是要消耗一部分CPU處理時間的)。
4 內(nèi)存使用
接下來兩行顯示內(nèi)存使用率,有點像’free’命令。第一行是物理內(nèi)存使用,第二行是虛擬內(nèi)存使用(交換空間)。
物理內(nèi)存顯示如下:全部可用內(nèi)存、已使用內(nèi)存、空閑內(nèi)存、緩沖內(nèi)存。相似地:交換部分顯示的是:全部、已使用、空閑和緩沖交換空間。
5 各列的意思
PID 進程ID,進程的唯一標識符
USER 進程所有者的實際用戶名。
PR 進程的調(diào)度優(yōu)先級。這個字段的一些值是’rt’。這意味這這些進程運行在實時態(tài)。
NI 進程的nice值(優(yōu)先級)。越小的值意味著越高的優(yōu)先級。
VIRT 進程使用的虛擬內(nèi)存。
RES 駐留內(nèi)存大小。駐留內(nèi)存是任務使用的非交換物理內(nèi)存大小。
SHR SHR是進程使用的共享內(nèi)存。
S 這個是進程的狀態(tài)。它有以下不同的值:
D – 不可中斷的睡眠態(tài)。
R – 運行態(tài)
S – 睡眠態(tài)
T – 被跟蹤或已停止
Z – 僵尸態(tài)
%CPU 自從上一次更新時到現(xiàn)在任務所使用的CPU時間百分比。
%MEM 進程使用的可用物理內(nèi)存百分比。
TIME+ 任務啟動后到現(xiàn)在所使用的全部CPU時間,精確到百分之一秒。
COMMAND 運行進程所使用的命令。
注意 :不同發(fā)行版的top命令在各種細節(jié)有不同,如果發(fā)現(xiàn)不同時,請讀你的幫助手冊和命令內(nèi)的幫助。)
kill、kill-15、kill-9區(qū)別:
執(zhí)行kill(默認kill -15)命令,系統(tǒng)會發(fā)送一個SIGTERM信號給對應的程序,大部分程序接收到SIGTERM信號后,會先釋放自己的資源,然后再停止。用法kill pid。
kill -15 pid。
kill -9命令,系統(tǒng)給對應程序發(fā)送的信號是SIGKILL,即exit。exit信號不會被系統(tǒng)阻塞,所以kill -9能順利殺掉進程。用法kill -9 pid。
tail -n 1000:顯示最后1000行
tail -n +1000:從1000行開始顯示,顯示1000行以后的
head -n 1000:顯示前面1000行
cat a.txt 顯示文件
vim xx.conf 編輯文件
打開文件后,按insert鍵進入編輯模式;編輯完后,按esc建退出編輯模式;按shift+冒號后,輸入wq保存退出,wq!保存強制退出,q不保存退出
在根目錄模糊查找名字含java的文件
服務器端常有很多壓縮過的日志文件,當需要查找日志中某些特定信息的時候,為了避免解壓文件,可以使用zgrep,zcat等命令查找、查看壓縮文件中的信息
zgrep ' 輸入你要查找的東東' /目錄 /文件 .gz 或者.log (當日)
grep ' 輸入你要查找的東東' /目錄 /文件 .gz 或者.log (非當日的壓縮文件)
例如: zgrep 'callMktCamLoad' app.log.2019-12-03-*.gz
rpm包安裝的,可以用 rpm -qa 看到,如果要查找某軟件包是否安裝,用 rpm -qa | grep "軟件或者包的名字"
以deb包安裝的,可以用 dpkg -l 看到。如果是查找指定軟件包,用 dpkg -l | grep "軟件或者包的名字"
yum方法安裝的,可以用 yum list installed 查找,如果是查找指定包,用 yum list installed | grep "軟件名或者包名"