Linux運(yùn)維人員必會(huì)的120個(gè)命令
公司主營(yíng)業(yè)務(wù):網(wǎng)站設(shè)計(jì)制作、做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出馬關(guān)免費(fèi)做網(wǎng)站回饋大家。
跟老男孩學(xué)Linux運(yùn)維:核心系統(tǒng)命令實(shí)戰(zhà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章 文件過濾及內(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:文本過濾工具 / 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老男孩逆襲思想:新手在工作中如何問問題不會(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老男孩逆襲思想:新手如何高效地提問 / 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)先級(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)聽網(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:動(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:管理開機(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:自動(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 常用命令有:
pwd 命令
使用 pwd 命令找出您所在的當(dāng)前工作目錄(文件夾)的路徑。該命令將返回一個(gè)絕對(duì)(完整)路徑,該路徑基本上是所有以 / 開頭的目錄的路徑。絕對(duì)路徑的一個(gè)示例是 /home/username。
cd 命令
要瀏覽 Linux 文件和目錄,請(qǐng)使用 cd 命令。根據(jù)您所在的當(dāng)前工作目錄,它需要目錄的完整路徑或名稱。假設(shè)您位于 /home/username / Documents 中,并且想要轉(zhuǎn)到 Documents 的子目錄 Photos。為此,只需鍵入以下命令:cd Photos。另一種情況是,如果您想切換到一個(gè)全新的目錄,例如 /home/username / Movies。在這種情況下,您必須輸入 cd,然后輸入目錄的絕對(duì)路徑:cd /home/username / Movies。有一些快捷方式可幫助您快速導(dǎo)航:cd ..(帶有兩個(gè)點(diǎn))將一個(gè)目錄向上移動(dòng) cd 直接轉(zhuǎn)到主文件夾 cd-(帶連字符)移動(dòng)到上一個(gè)目錄附帶說明一下,Linux 的 shell 是區(qū)分大小寫的。因此,您必須準(zhǔn)確輸入名稱的目錄。
ls 命令
LS 命令用于查看目錄的內(nèi)容。默認(rèn)情況下,此命令將顯示當(dāng)前工作目錄的內(nèi)容。如果要查看其他目錄的內(nèi)容,請(qǐng)鍵入 ls,然后鍵入目錄的路徑。例如,輸入 LS / 家 / 用戶名 / 文檔查看的內(nèi)容的文件。您可以使用 ls 命令使用以下變體:ls -R 還將列出子目錄中的所有文件 ls -a 將顯示隱藏的文件 ls -al 將列出文件和目錄以及詳細(xì)信息,例如權(quán)限,大小,所有者等。
cat 命令
cat(連接的縮寫)是 Linux 中最常用的命令之一。它用于在標(biāo)準(zhǔn)輸出(sdout)上列出文件的內(nèi)容。要運(yùn)行此命令,請(qǐng)鍵入 cat,然后輸入文件名及其擴(kuò)展名。例如:cat file.txt。以下是使用 cat 命令的其他方法:cat filename 創(chuàng)建一個(gè)新文件 cat filename1 filename2 filename3 連接兩個(gè)文件(1 和 2),并將它們的輸出存儲(chǔ)在新文件中(3)將文件轉(zhuǎn)換為大寫或小寫使用,cat filename | tr a-z A-Z output.txt
cp 命令
使用 cp 命令將文件從當(dāng)前目錄復(fù)制到另一個(gè)目錄。例如,命令 cp scenery.jpg/home /username/ Pictures 將在您的 Pictures 目錄中創(chuàng)建一個(gè) Scene.jpg 副本(來自當(dāng)前目錄)。
mv 命令
mv 命令的主要用途是移動(dòng)文件,盡管它也可以用于重命名文件。mv 中的參數(shù)類似于 cp 命令。您需要輸入 mv,文件名和目標(biāo)目錄。例如:mv file.txt/home /username/ Documents。
mkdir 命令
使用 mkdir 命令創(chuàng)建一個(gè)新目錄 - 如果鍵入 mkdir Music,它將創(chuàng)建一個(gè)名為 Music 的目錄。還有一些額外的 mkdir 命令:要在另一個(gè)目錄中生成新目錄,請(qǐng)使用此 Linux 基本命令 mkdir Music / Newfile 使用 p(父級(jí))選項(xiàng)在兩個(gè)現(xiàn)有目錄之間創(chuàng)建一個(gè)目錄。例如,mkdir -p Music / 2022 / Newfile 將創(chuàng)建新的 “2022” 文件。
rmdir 命令
如果需要?jiǎng)h除目錄,請(qǐng)使用 rmdir 命令。但是,rmdir 僅允許您刪除空目錄。
rm 命令
該 RM 命令用于刪除目錄以及其中的內(nèi)容。如果只想刪除目錄(作為 rmdir 的替代方法),請(qǐng)使用 rm -r。注意:使用此命令時(shí)要格外小心,并仔細(xì)檢查您所在的目錄。這將刪除所有內(nèi)容,并且沒有撤消操作。
touch 命令
該觸摸命令允許您創(chuàng)建通過 Linux 命令行新的空白文件。例如,輸入 touch /home/username/Documents/Web.html 在 Documents 目錄下創(chuàng)建一個(gè)名為 Web 的 HTML 文件。
locate 命令
您可以使用此命令來定位文件,就像 Windows 中的搜索命令一樣。此外,將 - i 參數(shù)與該命令一起使用將使其不區(qū)分大小寫,因此即使您不記得其確切名稱,也可以搜索文件。要搜索包含兩個(gè)或多個(gè)單詞的文件,請(qǐng)使用星號(hào)(*)。例如,locate -i school * note 命令將搜索包含單詞 “school” 和 “ note” 的任何文件,無論它是大寫還是小寫。
find 命令
在類似定位命令,使用 查找也搜索文件和目錄。區(qū)別在于,您可以使用 find 命令在給定目錄中查找文件。例如,find /home/-name notes.txt 命令將在主目錄及其子目錄中搜索名為 notes.txt 的文件。使用查找時(shí)的其他變化 是:要查找當(dāng)前目錄中使用的文件,請(qǐng)使用 find . -name notes.txt 要查找目錄,請(qǐng)使用 /-type d -name notes. txt13. grep 命令無疑對(duì)日常使用很有幫助的另一個(gè)基本 Linux 命令是 grep。它使您可以搜索給定文件中的所有文本。為了說明這一點(diǎn),grep blue notepad.txt 將在記事本文件中搜索單詞 blue。包含搜索到的單詞的行將被完整顯示。
sudo 命令
該命令是 “SuperUser Do” 的縮寫,使您能夠執(zhí)行需要管理或超級(jí)用戶權(quán)限的任務(wù)。但是,建議不要將此命令用于日常使用,因?yàn)槿绻鲥e(cuò)了一些事情,很容易發(fā)生錯(cuò)誤。
df 命令
使用 df 命令可獲取有關(guān)系統(tǒng)磁盤空間使用情況的報(bào)告,以百分比和 KB 表示。如果要以兆字節(jié)為單位查看報(bào)告,請(qǐng)輸入 df -m。
du 命令
如果要檢查文件或目錄占用了多少空間,答案是 du(磁盤使用情況)命令。但是,磁盤使用情況摘要將顯示磁盤塊號(hào),而不是通常的大小格式。如果要以字節(jié),千字節(jié)和兆字節(jié)為單位查看它,請(qǐng)?jiān)诿钚兄刑砑?- h 參數(shù)。
head 命令
所述頭命令用于查看任何文本文件的第一行。默認(rèn)情況下,它將顯示前十行,但是您可以根據(jù)自己的喜好更改此數(shù)字。例如,如果只想顯示前五行,則鍵入 head -n 5 filename.ext。
tail 命令
該命令與 head 命令具有相似的功能,但是 tail 命令將顯示文本文件的最后十行,而不是顯示第一行。例如,tail -n filename.ext。
diff 命令
diff 命令是差異的縮寫,diff 命令逐行比較兩個(gè)文件的內(nèi)容。分析文件后,它將輸出不匹配的行。程序員在需要進(jìn)行程序更改時(shí)經(jīng)常使用此命令,而不是重寫整個(gè)源代碼。此命令最簡(jiǎn)單的形式是 diff file1.ext file2.ext
tar 命令
該 tar 命令是最常用的命令歸檔多個(gè)文件到一個(gè)壓縮包。類似于 zip 格式常見的 Linux 文件格式,壓縮是可選的。該命令具有很長(zhǎng)的功能列表,非常復(fù)雜,例如將新文件添加到現(xiàn)有檔案中,列出檔案內(nèi)容,從檔案中提取內(nèi)容等等。查看一些實(shí)際示例,以了解有關(guān)其他功能的更多信息。
chmod 命令
chmod 是另一個(gè) Linux 命令,用于更改文件和目錄的讀取,寫入和執(zhí)行權(quán)限。由于此命令相當(dāng)復(fù)雜,因此您可以閱讀完整的教程以正確執(zhí)行它。
chown 命令
在 Linux 中,所有文件均歸特定用戶所有。該 CHOWN 命令使您可以更改或文件的所有權(quán)轉(zhuǎn)讓給指定的用戶名。例如,chown linuxuser2 file.ext 將使 linuxuser2 成為 file.ext 的所有者。
Jobs 命令
jobs 命令將顯示所有當(dāng)前作業(yè)及其狀態(tài)。作業(yè)基本上是由 Shell 啟動(dòng)的進(jìn)程。
kill 命令
如果您的程序無響應(yīng),則可以使用 kill 命令手動(dòng)終止它。它將向運(yùn)行異常的應(yīng)用發(fā)送特定信號(hào),并指示該應(yīng)用自行終止。您總共可以使用 64 個(gè)信號(hào),但是人們通常只使用兩個(gè)信號(hào):SIGTERM(15) — 請(qǐng)求程序停止運(yùn)行,并給它一些時(shí)間來保存其所有進(jìn)度。如果在輸入 kill 命令時(shí)未指定信號(hào),則將使用此信號(hào)。SIGKILL(9) - 強(qiáng)制程序立即停止。未保存的進(jìn)度將丟失。除了知道信號(hào)之外,您還需要知道要?dú)⑺赖某绦虻倪M(jìn)程標(biāo)識(shí)號(hào)(PID)。如果您不知道 PID,只需運(yùn)行命令 ps ux。在知道您要使用什么信號(hào)以及程序的 PID 之后,輸入以下語法:kill [signal option] PID.
ping 命令
使用 ping 命令檢查與服務(wù)器的連接狀態(tài)。例如,只需輸入 ping google.com,該命令將檢查您是否能夠連接到 Google 并測(cè)量響應(yīng)時(shí)間。
wget 命令
Linux 命令行非常有用 - 您甚至可以在 wget 命令的幫助下從 Internet 下載文件。為此,只需鍵入 wget,然后輸入下載鏈接即可。
uname 命令
該 UNAME 命令,短期對(duì)于 Unix 名,將打印您的 Linux 系統(tǒng),如計(jì)算機(jī)名稱的詳細(xì)信息,操作系統(tǒng),內(nèi)核,等等。
top 命令
作為與 Windows 中的任務(wù)管理器等效的終端,top 命令將顯示正在運(yùn)行的進(jìn)程的列表以及每個(gè)進(jìn)程使用的 CPU 數(shù)量。監(jiān)視系統(tǒng)資源使用情況非常有用,尤其是知道哪個(gè)進(jìn)程由于消耗太多資源而需要終止時(shí)。
history 命令
當(dāng)您使用 Linux 一段時(shí)間后,您會(huì)很快注意到每天可以運(yùn)行數(shù)百個(gè)命令。因此,如果您想查看之前輸入的命令,運(yùn)行歷史記錄命令特別有用。
man 命令
對(duì)某些 Linux 命令的功能感到困惑嗎?不用擔(dān)心,您可以使用 man 命令從 Linux 的外殼程序中輕松地學(xué)習(xí)如何使用它們。例如,輸入 man tail 將顯示 tail 命令的手動(dòng)指令。
echo 命令
此命令用于將一些數(shù)據(jù)移到文件中。例如,如果要將文本 “Hello,我的名字叫 John” 添加到名為 name.txt 的文件中,則可以鍵入 echo Hello, my name is John name.txt
zip,unzip 命令
使用 zip 命令將文件壓縮到 zip 歸檔文件中,然后使用 unzip 命令從 zip 歸檔文件中提取壓縮文件。
hostname 命令
如果您想知道主機(jī) / 網(wǎng)絡(luò)的名稱,只需鍵入 hostname。在末尾添加 - I 將顯示您的網(wǎng)絡(luò)的 IP 地址。
useradd,userdel 命令
學(xué)習(xí)Linux步驟:
1、先了解了解基礎(chǔ)吧,找一本薄一點(diǎn)的,淺一點(diǎn)的書,了解一下什么是linux。有個(gè)基本了解即可。不建議馬上看《鳥哥的Linux私房菜》,這本書很不錯(cuò),如果你了解linux基礎(chǔ)之后再看,對(duì)你可以說是不受益匪淺都不行。沒基礎(chǔ)看《鳥哥的Linux私房菜》比較痛苦,內(nèi)容很多。
2、了解之后,在自己電腦上弄個(gè)虛擬機(jī),裝上linux系統(tǒng)(redhat或ubuntu都行)。專攻《鳥哥的Linux私房菜》。當(dāng)你把這本書攻下來時(shí),才知道原來命令行并不可怕,自己打著打著就很長(zhǎng)啦。
學(xué)linux最主要靠實(shí)踐,不實(shí)踐,只看書對(duì)你沒好處的哦。自己在虛擬機(jī)上慢慢玩吧,玩多了就知道咋回事啦。不懂的多找資料弄懂,弄懂之后再實(shí)踐,這才會(huì)有收獲。
Linux系統(tǒng)中的命令實(shí)在是太多了,簡(jiǎn)單包括兩類命令,一類是內(nèi)部命令,指的是Shell自身提供的功能,一類是外部命令,指的是第三方的控制臺(tái)應(yīng)用程序。
一般來說,沒必要完全學(xué)習(xí)所有的命令,大體上有個(gè)印象,用到的時(shí)候去查一下幫助文檔,久而久之,自然熟練。
下面是網(wǎng)友整理的20個(gè)最常用的Linux命令:
1. ls命令
ls命令是列出目錄內(nèi)容(List Directory Contents)的意思。運(yùn)行它就是列出文件夾里的內(nèi)容,可能是文件也可能是文件夾。
2. lsblk命令
"lsblk"就是列出塊設(shè)備。除了RAM外,以標(biāo)準(zhǔn)的樹狀輸出格式,整齊地顯示塊設(shè)備。
3. md5sum命令
“md5sum”就是計(jì)算和檢驗(yàn)MD5信息簽名。md5 checksum(通常叫做哈希)使用匹配或者驗(yàn)證文件的文件的完整性,因?yàn)槲募赡芤驗(yàn)閭鬏斿e(cuò)誤,磁盤錯(cuò)誤或者無惡意的干擾等原因而發(fā)生改變。
4. dd命令
“dd”命令代表了轉(zhuǎn)換和復(fù)制文件??梢杂脕磙D(zhuǎn)換和復(fù)制文件,大多數(shù)時(shí)間是用來復(fù)制iso文件(或任何其它文件)到一個(gè)usb設(shè)備(或任何其它地方)中去,所以可以用來制作USB啟動(dòng)器。
6. history命令
“history”命令就是歷史記錄。它顯示了在終端中所執(zhí)行過的所有命令的歷史。
7. sudo命令
“sudo”(super user do)命令允許授權(quán)用戶執(zhí)行超級(jí)用戶或者其它用戶的命令。通過在sudoers列表的安全策略來指定。
8. mkdir命令
“mkdir”(Make directory)命令在命名路徑下創(chuàng)建新的目錄。然而如果目錄已經(jīng)存在了,那么它就會(huì)返回一個(gè)錯(cuò)誤信息"不能創(chuàng)建文件夾,文件夾已經(jīng)存在了"("cannot create folder, folder already exists")
9. touch 命令
“touch”命令代表了將文件的訪問和修改時(shí)間更新為當(dāng)前時(shí)間。touch命令只會(huì)在文件不存在的時(shí)候才會(huì)創(chuàng)建它。如果文件已經(jīng)存在了,它會(huì)更新時(shí)間戳,但是并不會(huì)改變文件的內(nèi)容。
10. chmod 命令
“chmod”命令就是改變文件的模式位。chmod會(huì)根據(jù)要求的模式來改變每個(gè)所給的文件,文件夾,腳本等等的文件模式(權(quán)限)。
11. chown命令
“chown”命令就是改變文件擁有者和所在用戶組。每個(gè)文件都屬于一個(gè)用戶組和一個(gè)用戶。在你的目錄下,使用"ls -l",你就會(huì)看到像這樣的東西。
12. apt命令
Debian系列以“apt”命令為基礎(chǔ),“apt”代表了Advanced Package Tool。APT是一個(gè)為Debian系列系統(tǒng)(Ubuntu,Kubuntu等等)開發(fā)的高級(jí)包管理器,在Gnu/Linux系統(tǒng)上,它會(huì)為包自動(dòng)地,智能地搜索,安裝,升級(jí)以及解決依賴。
13. tar命令
“tar”命令是磁帶歸檔(Tape Archive),對(duì)創(chuàng)建一些文件的的歸檔和它們的解壓很有用。
14. cal 命令
“cal”(Calender),它用來顯示當(dāng)前月份或者未來或者過去任何年份中的月份。
16. cat命令
“cat”代表了連結(jié)(Concatenation),連接兩個(gè)或者更多文本文件或者以標(biāo)準(zhǔn)輸出形式打印文件的內(nèi)容。
17. cp 命令
“copy”就是復(fù)制。它會(huì)從一個(gè)地方復(fù)制一個(gè)文件到另外一個(gè)地方。
18. mv 命令
“mv”命令將一個(gè)地方的文件移動(dòng)到另外一個(gè)地方去。
19. pwd 命令
“pwd”(print working directory),在終端中顯示當(dāng)前工作目錄的全路徑。
20. cd 命令
最后,經(jīng)常使用的“cd”命令代表了改變目錄。它在終端中改變工作目錄來執(zhí)行,復(fù)制,移動(dòng),讀,寫等等操作。
文件名稱區(qū)分大小寫
文件名最長(zhǎng)255個(gè)字符
包括路徑在內(nèi)文件名稱最長(zhǎng)4095個(gè)字節(jié)
藍(lán)色--目錄:綠色--可執(zhí)行文件:紅色--壓縮文件:淺藍(lán)色--鏈接文件:灰色--其它文件
除了斜杠和NUL,所有字符都有效,使用特殊字符的目錄名和文件不推薦使用,有些字符需要加引號(hào)來引用
標(biāo)準(zhǔn)Linux文件系統(tǒng),文件名稱大小寫敏感
/boot: 內(nèi)核引導(dǎo)文件存放目錄
/bin: 所有用戶使用的基本命令;不能關(guān)聯(lián)至獨(dú)立分區(qū),系統(tǒng)啟動(dòng)會(huì)用到的程序
/sbin: 管理類的基本命令;不能關(guān)聯(lián)至獨(dú)立分區(qū),系統(tǒng)啟動(dòng)會(huì)用到的程序
/lib: 系統(tǒng)啟動(dòng)時(shí)程序依賴的基本共享庫(kù)文件及內(nèi)核模塊文件(/lib/modules)
/etc: 配置文件目錄
/home: 普通用戶家目錄
/root: 管理員家目錄
/media: 便攜式移動(dòng)設(shè)備掛載點(diǎn)
/mnt: 臨時(shí)文件系統(tǒng)掛載點(diǎn)
/dev: 設(shè)備文件及特殊文件存儲(chǔ)位置
/opt: 第三方應(yīng)用程序安裝位置,同/usr/local
/srv: 系統(tǒng)服務(wù)用到的數(shù)據(jù)
/tmp: 存儲(chǔ)臨時(shí)文件
/usr: 系統(tǒng)軟件資源存放目錄
/var: 系統(tǒng)運(yùn)行時(shí)的可變動(dòng)數(shù)據(jù):/var/tmp:系統(tǒng)兩次重啟產(chǎn)生的臨時(shí)數(shù)據(jù)
/proc: 內(nèi)核與進(jìn)程信息相關(guān)的虛擬文件系統(tǒng)
/sys: 硬件設(shè)備相關(guān)信息的虛擬文件系統(tǒng)
/selinux: selinux安全策略
meta data:?
文件類型,權(quán)限,UID,GID
鏈接數(shù)(指向這個(gè)文件名路徑名稱個(gè)數(shù))
該文件的大小和不同的時(shí)間戳
指向磁盤上文件的數(shù)據(jù)塊指針
有關(guān)文件的其他數(shù)據(jù)
? ? 文件類型:
? ? ? ? -: 普通文件
? ? ? ? d: 目錄文件
? ? ? ? b: 塊設(shè)備
? ? ? ? c: 字符設(shè)備
? ? ? ? l: 符號(hào)鏈接文件
? ? ? ? p: 管道文件pipe
? ? ? ? s: 套接字文件socket
? ? 查看方式:
? ? ? ? 使用ll,ls -l: 看第一個(gè)字符,鏈接數(shù),
? ? ? ? ls -lih:
? ? ? ? ? ? inode編號(hào),文件類型,文件權(quán)限,硬鏈接個(gè)數(shù),文件屬主,文件屬組,文件大小,文件修改時(shí)間
? ? ? ? file命令,type命令,
? ? ? ? stat命令: 文件詳細(xì)信息,修改時(shí)間mtime,改變時(shí)間ctime,訪問時(shí)間atime
? ? ? ? du -sm filename: 查看文件大小
? ? ? ? 文件擴(kuò)展名:
? ? ? ? ? ? 源碼.tar、.tar.gz、.tgz、.zip、.tar.bz表示壓縮文件,創(chuàng)建命令一般為tar,gzip,zip等。
? ? ? ? ? ? .sh表示shell腳本文件,通過shell語言開發(fā)的程序。
? ? ? ? ? ? .pl表示perl語言文件,通過perl語言開發(fā)的程序。
? ? ? ? ? ? .py表示python語言文件,通過python語言開發(fā)的程序。
? ? ? ? ? ? .html、.htm、.php、.jsp、.do表示網(wǎng)頁(yè)語言的文件。
? ? ? ? ? ? .conf表示系統(tǒng)服務(wù)的配置文件。
? ? ? ? ? ? .rpm表示rpm安裝包文件。
? ? touch: 創(chuàng)建空文件和刷新時(shí)間戳
? ? ? ? touch [OPTION]... FILE...
? ? ? ? ? ? -a: 改變atime和ctime
? ? ? ? ? ? -m: 改變mtime和ctime
? ? ? ? ? ? -t: [[CC[YY[MMDDhhmm[.ss]]]]]
? ? ? ? ? ? ? ? 指定atime和mtime的時(shí)間戳
? ? ? ? ? ? -c: 如果文件不存在,則不予創(chuàng)建?
硬鏈接:
同一個(gè)文件多個(gè)名字
不支持跨分區(qū),不支持目錄
平級(jí)關(guān)系,刪除原始文件不影響打開
iNode相同,鏈接數(shù)增長(zhǎng)
創(chuàng)建語法,原始文件路徑,相對(duì)于工作目錄的路徑
文件類型,普通文件
創(chuàng)建方式ln filename [linkname]
軟鏈接:
與原始文件,不同的文件
支持跨分區(qū),支持目錄
依賴關(guān)系,刪除原始文件即失效
iNode不同,鏈接數(shù)不會(huì)增長(zhǎng)
創(chuàng)建語法,原始文件路徑,相對(duì)于軟鏈接的路徑
文件類型顯示l
創(chuàng)建方式ln -s filename [linkname]
實(shí)例說明:
cd ../data
mkdir -pv d1/d2
touch linux.txt
ln linux.txt d1/d2/linux.hlink
ln -s ../../linux.txt d1/d2/linux.slink
ln -s ../d2 d1/d2/d2.slink
tree
執(zhí)行如圖:
stat: 查看文件狀態(tài)
示例: stat /etc/issue
? ? stat/etc/motd
touch: 創(chuàng)建空文件和刷新時(shí)間
touch [OPTION]... FILE...
? ? -a: 僅改變atime和ctime
? ? -m: 僅改變mtime和ctime
? ? -t: 指定atime和mtime時(shí)間戳
? ? -c: 如果文件不存在,則不予創(chuàng)建
示例: touch /data/f1
cp: 復(fù)制文件和目錄
cp [OPTION]... SOURCE... DIRECTORY
? ? -i: 覆蓋前提示
? ? -n: 不覆蓋
? ? -r,-R: 遞歸復(fù)制目錄及內(nèi)部的所有內(nèi)容
? ? -a: 歸檔,相當(dāng)于-dR --preserv=all
? ? -p: 等同--preserv=mode,ownership,timestamp
? ? -u: 只復(fù)制源比目標(biāo)更新或目標(biāo)不存在
? ? -b: 目標(biāo)存在,覆蓋前先備份filename~
? ? --backup=numbered: 目標(biāo)存在,覆蓋前先備份并加數(shù)字后綴
cp SRC DEST
? ? SRC是文件:
? ? ? ? 如果目標(biāo)不存在: 新建DEST,并將SRC中內(nèi)容填充至DEST中
? ? ? ? 如果目標(biāo)存在:
? ? ? ? ? ? 如果DEST是文件: 將SRC中內(nèi)容覆蓋至DEST中
? ? ? ? ? ? 如果DEST是目錄: 在DEST下新建與原文件同名的文件,并將SRC中內(nèi)容填充至新文件中
? ? SRC是多個(gè)文件:
? ? ? ? DEST必須存在,且為目錄
? ? SRC是目錄: 使用選項(xiàng)-r
? ? ? ? 如果DEST不存在: 則創(chuàng)建指定目錄,復(fù)制SRC目錄中所有文件至DEST中
? ? ? ? 如果DEST存在:
? ? ? ? ? ? 如果DEST是文件: 報(bào)錯(cuò)
? ? ? ? ? ? 如果DEST是目錄:在DEST下新建與原目錄同名的目錄,并將SRC中內(nèi)容復(fù)制至新目錄中
示例: mkdir -p /data/backup
? ? cp -ab /etc/issue /etc/passwd /etc/group /data/backup
mv: 移動(dòng)和重命名文件
mv [OPTION]... SOURCE... DIRECTORY
? ? -f: 強(qiáng)制
? ? -b: 目標(biāo)存在,覆蓋前先備份
示例: mv /etc/issue /data
? ? mv /etc/issue /data/issue.bak
rm: 刪除
rm [OPTION]... FILE...
? ? -f: 強(qiáng)制刪除
? ? -r: 遞歸
? ? --no-preserve-root 刪除/
示例: rm -rf /data/d1/d2
tree: 顯示目錄樹
-d:只顯示目錄
-L level: 指定顯示的層級(jí)數(shù)目
-P pattern: 只顯示由指定pattern匹配到的路徑
示例: tree /data
ls:列出指定目錄下的內(nèi)容
ls [OPTION]... [FILE]...
-a:顯示所有文件包括隱藏文件
-A:顯示除.和..之外的所有文件
-l,--long:顯示文件的詳細(xì)屬性信息
-h:對(duì)文件大小進(jìn)行單位換算,可能影響精度
-d:查看目錄本身而非其內(nèi)部的文件
-r:逆序顯示文件
-R:遞歸顯示文件
示例:ls -lah / 詳細(xì)顯示/目錄下的所有文件(包括隱藏文件)
mkdir:創(chuàng)建目錄
mkdir [OPTION]... DIRECTORY...
-p:自動(dòng)按需創(chuàng)建父目錄
-m:創(chuàng)建目錄時(shí)給定權(quán)限
示例: mkdir -p /data/test/A/B
cat:正向查看文本內(nèi)容
cat [OPTION]... [FILE]...
-n:給顯示的文本行編號(hào)
-E:顯示行結(jié)束符號(hào)$
示例: cat -n /etc/fstab
tail:顯示文本內(nèi)容,默認(rèn)顯示后10行
tail [OPTION]... [FILE]...
-n #:顯示文本后#行內(nèi)容
-f:查看文件尾部?jī)?nèi)容結(jié)束后不退出,跟隨顯示新增的行
示例: tail -8 /etc/passwd
head:顯示文本內(nèi)容,默認(rèn)顯示頭10行
head [OPTION]... [FILE]...
-n #:顯示文本頭#行內(nèi)容
示例: head -5 /etc/passwd
less:分屏顯示文本內(nèi)容,不主動(dòng)退出
less [options] file [...]
Space鍵:顯示文本下一屏內(nèi)容
Enter鍵:只顯示文本下一行內(nèi)容
b鍵:顯示文本上一屏內(nèi)容
q鍵:退出
cp /etc/profile /tmp
vim /tmp/profile
:%s/^\s\+//
如圖:
命令模式下輸入:
:set tabstop=4
或?qū)懭胗脩襞渲梦募/.vimrc
Linux系統(tǒng)基本的內(nèi)存管理知識(shí)講解
內(nèi)存是Linux內(nèi)核所管理的最重要的資源之一。內(nèi)存管理系統(tǒng)是操作系統(tǒng)中最為重要的部分,因?yàn)橄到y(tǒng)的物理內(nèi)存總是少于系統(tǒng)所需要的內(nèi)存數(shù)量。虛擬內(nèi)存就是為了克服這個(gè)矛盾而采用的策略。系統(tǒng)的虛擬內(nèi)存通過在各個(gè)進(jìn)程之間共享內(nèi)存而使系統(tǒng)看起來有多于實(shí)際內(nèi)存的內(nèi)存容量。Linux支持虛擬內(nèi)存, 就是使用磁盤作為RAM的擴(kuò)展,使可用內(nèi)存相應(yīng)地有效擴(kuò)大。核心把當(dāng)前不用的內(nèi)存塊存到硬盤,騰出內(nèi)存給其他目的。當(dāng)原來的內(nèi)容又要使用時(shí),再讀回內(nèi)存。
一、內(nèi)存使用情況監(jiān)測(cè)
(1)實(shí)時(shí)監(jiān)控內(nèi)存使用情況
在命令行使用“Free”命令可以監(jiān)控內(nèi)存使用情況
代碼如下:
#free
total used free shared buffers cached
Mem: 256024 192284 63740 0 10676 101004
-/+ buffers/cache: 80604 175420
Swap: 522072 0 522072
上面給出了一個(gè)256兆的RAM和512兆交換空間的'系統(tǒng)情況。第三行輸出(Mem:)顯示物理內(nèi)存。total列不顯示核心使用的物理內(nèi)存(通常大約1MB)。used列顯示被使用的內(nèi)存總額(第二行不計(jì)緩沖)。 free列顯示全部沒使用的內(nèi)存。Shared列顯示多個(gè)進(jìn)程共享的內(nèi)存總額。Buffers列顯示磁盤緩存的當(dāng)前大小。第五行(Swap:)對(duì)對(duì)換空間,顯示的信息類似上面。如果這行為全0,那么沒使用對(duì)換空間。在缺省的狀態(tài)下,free命令以千字節(jié)(也就是1024字節(jié)為單位)來顯示內(nèi)存使用情況??梢允褂谩猦參數(shù)以字節(jié)為單位顯示內(nèi)存使用情況,或者可以使用—m參數(shù)以兆字節(jié)為單位顯示內(nèi)存使用情況。還可以通過—s參數(shù)使用命令來不間斷地監(jiān)視內(nèi)存使用情況:
#free –b –s2
這個(gè)命令將會(huì)在終端窗口中連續(xù)不斷地報(bào)告內(nèi)存的使用情況,每2秒鐘更新一次。
(2)組合watch與 free命令用來實(shí)時(shí)監(jiān)控內(nèi)存使用情況:
代碼如下:
#watch -n 2 -d free
Every 2.0s: free Fri Jul 6 06:06:12 2007
total used free shared buffers cached
Mem: 233356 218616 14740 0 5560 64784
-/+ buffers/cache: 148272 85084
Swap: 622584 6656 615928
watch命令會(huì)每?jī)擅雸?zhí)行 free一次,執(zhí)行前會(huì)清除屏幕,在同樣位置顯示數(shù)據(jù)。因?yàn)?watch命令不會(huì)卷動(dòng)屏幕,所以適合出長(zhǎng)時(shí)間的監(jiān)測(cè)內(nèi)存使用率??梢允褂?-n選項(xiàng),控制執(zhí)行的頻率;也可以利用 -d選項(xiàng),讓命令將每次不同的地方顯示出來。Watch命令會(huì)一直執(zhí)行,直到您按下 [Ctrl]-[C] 為止。
二、虛擬內(nèi)存的概念
(1)Linux虛擬內(nèi)存實(shí)現(xiàn)機(jī)制
Linux虛擬內(nèi)存的實(shí)現(xiàn)需要六種機(jī)制的支持:地址映射機(jī)制、內(nèi)存分配回收機(jī)制、緩存和刷新機(jī)制、請(qǐng)求頁(yè)機(jī)制、交換機(jī)制、內(nèi)存共享機(jī)制。
首先內(nèi)存管理程序通過映射機(jī)制把用戶程序的邏輯地址映射到物理地址,在用戶程序運(yùn)行時(shí)如果發(fā)現(xiàn)程序中要用的虛地址沒有對(duì)應(yīng)的物理內(nèi)存時(shí),就發(fā)出了請(qǐng)求頁(yè)要求;如果有空閑的內(nèi)存可供分配,就請(qǐng)求分配內(nèi)存(于是用到了內(nèi)存的分配和回收),并把正在使用的物理頁(yè)記錄在緩存中(使用了緩存機(jī)制)。 如果沒有足夠的內(nèi)存可供分配,那么就調(diào)用交換機(jī)制,騰出一部分內(nèi)存。另外在地址映射中要通過TLB(翻譯后援存儲(chǔ)器)來尋找物理頁(yè);交換機(jī)制中也要用到交換緩存,并且把物理頁(yè)內(nèi)容交換到交換文件中后也要修改頁(yè)表來映射文件地址。
(2)虛擬內(nèi)存容量設(shè)定
也許有人告訴你,應(yīng)該分配2倍于物理內(nèi)存的虛擬內(nèi)存,但這是個(gè)不固定的規(guī)律。如果你的物理保存比較小,可以這樣設(shè)定。如果你有1G物理內(nèi)存或更多的話,可以縮小一下虛擬內(nèi)存。Linux會(huì)把大量的內(nèi)存用做Cache的,但在資源緊張時(shí)回收回.。你只要看到swap為0或者很小就可以放心了,因?yàn)閮?nèi)存放著不用才是最大的浪費(fèi)。
三、使甩vmstat命令監(jiān)視虛擬內(nèi)存使用情況
vmstat是Virtual Meomory Statistics(虛擬內(nèi)存統(tǒng)計(jì))的縮寫,可對(duì)操作系統(tǒng)的虛擬內(nèi)存、進(jìn)程、CPU活動(dòng)進(jìn)行監(jiān)視。它是對(duì)系統(tǒng)的整體情況進(jìn)行統(tǒng)計(jì),不足之處是無法對(duì)某個(gè)進(jìn)程進(jìn)行深入分析。通常使用vmstat 5 5(表示在5秒時(shí)間內(nèi)進(jìn)行5次采樣)命令測(cè)試。將得到一個(gè)數(shù)據(jù)匯總它可以反映真正的系統(tǒng)情況。
代碼如下:
#vmstat 5 5
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
1 0 62792 3460 9116 88092 6 30 189 89 1061 569 17 28 54 2
0 0 62792 3400 9124 88092 0 0 0 14 884 434 4 14 81 0
0 0 62792 3400 9132 88092 0 0 0 14 877 424 4 15 81 0
1 0 62792 3400 9140 88092 0 0 0 14 868 418 6 20 74 0
1 0 62792 3400 9148 88092 0 0 0 15 847 400 9 25 67 0
vmstat命令輸出分成六個(gè)部分: