Linux運維人員必會的120個命令
創新互聯主營谷城網站建設的網絡公司,主營網站建設方案,APP應用開發,谷城h5小程序制作搭建,谷城網站營銷推廣歡迎谷城等地區企業咨詢
來自《跟老男孩學Linux運維:核心系統命令實戰》一書
前言
第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:以樹形結構顯示目錄下的內容 / 18
2.4mkdir:創建目錄 / 22
2.5touch:創建空文件或改變文件的時間戳屬性 / 27
2.6ls:顯示目錄下的內容及相關屬性信息 / 30
2.7cp:復制文件或目錄 / 39
2.8mv:移動或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號鏈接文件的內容 / 54
2.13find:查找目錄下的文件 / 55
2.14xargs:將標準輸入轉換成命令行參數 / 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章 文件過濾及內容編輯處理命令 / 91
3.1cat:合并文件或查看文件內容 / 91
3.2tac:反向顯示文件內容 / 103
3.3more:分頁顯示文件內容 / 104
3.4less:分頁顯示文件內容 / 107
3.5head:顯示文件內容頭部 / 109
3.6tail:顯示文件內容尾部 / 111
3.7tailf:跟蹤日志文件 / 114
3.8cut:從文本中提取一段文字并輸出 / 115
3.9split:分割文件 / 117
3.10paste:合并文件 / 118
3.11sort:文本排序 / 123
3.12join:按兩個文件的相同字段合并 / 127
3.13uniq:去除重復行 / 129
3.14wc:統計文件的行數、單詞數或字節數 / 131
3.15iconv:轉換文件的編碼格式 / 133
3.16dos2unix:將DOS格式文件轉換成UNIX格式 / 134
3.17diff:比較兩個文件的不同 / 135
3.18vimdiff:可視化比較工具 / 138
3.19rev:反向輸出文件內容 / 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:顯示系統信息 / 176
5.2hostname:顯示或設置系統的主機名 / 178
5.3dmesg:系統啟動異常診斷 / 179
5.4stat:顯示文件或文件系統狀態 / 181
5.5du:統計磁盤空間使用情況 / 183
5.6date:顯示與設置系統時間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監視命令執行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關文件全路徑 / 196
5.11locate:快速定位文件路徑 / 197
5.12updatedb:更新mlocate數據庫 / 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:創建用戶 / 222
7.2usermod:修改用戶信息 / 227
7.3userdel:刪除用戶 / 229
7.4groupadd:創建新的用戶組 / 230
7.5groupdel:刪除用戶組 / 231
7.6passwd:修改用戶密碼 / 232
7.7chage:修改用戶密碼有效期 / 237
7.8chpasswd:批量更新用戶密碼 / 238
7.9su:切換用戶 / 240
7.10visudo:編輯sudoers文件 / 242
7.11sudo:以另一個用戶身份執行命令 / 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磁盤與文件系統管理命令 / 257
8.1fdisk:磁盤分區工具 / 257
8.2partprobe:更新內核的硬盤分區表信息 / 265
8.3tune2fs:調整ext2/ext3/ext4文件系統參數 / 266
8.4parted:磁盤分區工具 / 268
8.5mkfs:創建Linux文件系統 / 272
8.6dumpe2fs:導出ext2/ext3/ext4文件系統信息 / 274
8.7resize2fs:調整ext2/ext3/ext4文件系統大小 / 275
8.8fsck:檢查并修復Linux文件系統 / 278
8.9dd:轉換或復制文件 / 281
8.10mount:掛載文件系統 / 284
8.11umount:卸載文件系統 / 288
8.12df:報告文件系統磁盤空間的使用情況 / 289
8.13mkswap:創建交換分區 / 293
8.14swapon:激活交換分區 / 294
8.15swapoff:關閉交換分區 / 295
8.16sync:刷新文件系統緩沖區 / 296
第9章 Linux進程管理命令 / 298
9.1ps:查看進程 / 298
9.2pstree:顯示進程狀態樹 / 305
9.3pgrep:查找匹配條件的進程 / 306
9.4kill:終止進程 / 307
9.5killall:通過進程名終止進程 / 310
9.6pkill:通過進程名終止進程 / 311
9.7top:實時顯示系統中各個進程的資源占用狀況 / 313
9.8nice:調整程序運行時的優先級 / 320
9.9renice:調整運行中的進程的優先級 / 323
9.10nohup:用戶退出系統進程繼續工作 / 324
9.11strace:跟蹤進程的系統調用 / 325
9.12ltrace:跟蹤進程調用庫函數 / 332
9.13runlevel:輸出當前運行級別 / 334
9.14init:初始化Linux進程 / 335
9.15service:管理系統服務 / 335
第10章 Linux網絡管理命令 / 338
10.1ifconfig:配置或顯示網絡接口信息 / 338
10.2ifup:激活網絡接口 / 343
ifup eth0
10.3ifdown:禁用網絡接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個網絡,所有網卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統的arp緩存 / 350
10.6ip:網絡配置工具 / 351
10.7netstat:查看網絡狀態 / 358
10.8ss:查看網絡狀態 / 362
10.9ping:測試主機之間網絡的連通性 / 363
10.10traceroute:追蹤數據傳輸路由狀況 / 366
10.11arping:發送arp請求 / 367
10.12telnet:遠程登錄主機 / 369
10.13nc:多功能網絡工具 / 370
10.14ssh:安全地遠程登錄主機 / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊列 / 379
10.17mail:發送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網絡探測工具和安全/端口掃描器 / 394
10.22tcpdump:監聽網絡流量 / 398
第11章 Linux系統管理命令 / 407
11.1lsof:查看進程打開的文件 / 407
11.2uptime:顯示系統的運行時間及負載 / 411
11.3free:查看系統內存信息 / 411
11.4iftop:動態顯示網絡接口流量信息 / 413
11.5vmstat:虛擬內存統計 / 415
11.6mpstat:CPU信息統計 / 419
11.7iostat:I/O信息統計 / 420
11.8iotop:動態顯示磁盤I/O統計信息 / 423
11.9sar:收集系統信息 / 425
11.10chkconfig:管理開機服務 / 430
11.11ntsysv:管理開機服務 / 433
11.12 setup:系統管理工具 / 434
11.13ethtool:查詢網卡參數 / 436
11.14mii-tool:管理網絡接口的狀態 / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自動化RPM包管理工具 / 446
top命令
第12章 Linux系統常用內置命令 / 450
12.1Linux內置命令概述 / 450
12.2Linux內置命令簡介 / 450
12.3Linux常用內置命令實例 / 452
Linux系統一般有4個主要部分:內核、shell、文件系統和應用程序。內核、shell和文件系統一起形成了基本的操作系統結構,它們使得用戶可以運行程序、管理文件并使用系統。
1、內核
內核是操作系統的核心,具有很多最基本功能,它負責管理系統的進程、內存、設備驅動程序、文件和網絡系統,決定著系統的性能和穩定性。
Linux內核由如下幾部分組成:內存管理、進程管理、設備驅動程序、文件系統和網絡管理等。
2、shell
shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令并把它送入內核去執行,是一個命令解釋器。另外,shell編程語言具有普通編程語言的很多特點,用這種編程語言編寫的shell程序與其他應用程序具有同樣的效果。
目前主要有下列版本的shell:
①Bourne shell:是貝爾實驗室開發的。
②BASH:是GNU的Bourne Again
shell,是GNU操作系統上默認的shell,大部分Linux的發行套件使用的都是這種shell。
③Korn shell:是對Bourne shell的發展,在大部分內容上與Bourne shell兼容。
④C shell:是SUN公司shell的BSD版本。
3、文件系統
文件系統是文件存放在磁盤等存儲設備上的組織方法。Linux系統能支持多種目前流行的文件系統,如EXT2、EXT3、FAT、FAT32、VFAT和ISO9660。
4、應用程序
標準的Linux系統一般都有一套稱為應用程序的程序集,它包括文本編輯器、編程語言、X Window、辦公套件、Internet工具和數據庫等。
linux命令有內部命令和外部命令之分。內部命令實際上是shell程序的一部分,其中包含的是一些比較簡練的linux系統命令,這些命令由shell程序識別并在shell程序內部完成運行,通常在linux系統加載運行時shell就被加載并駐留在系統內存中。外部命令是linux系統中的實用程序部分,因為實用程序的功能通常都比較強大,所以它們包含的程序量也會很大,在系統加載時并不隨系統一起被加載到內存中,而是在需要時才將其調進內存。通常外部命令的實體并不包含在shell中,但是其命令執行過程是由shell 程序控制的。shell程序管理外部命令執行的路徑查找、加載存放,并控制命令的執行。
cd .. 返回上一級目錄;
cd ../.. 返回上兩級目錄;
ls -F 查看目錄中的文件 ;
ls -l 顯示文件和目錄的詳細資料 ;
ls -a 顯示隱藏文件 ;
tree 顯示文件和目錄由根目錄開始的樹形結構(1) ;
lstree 顯示文件和目錄由根目錄開始的樹形結構(2) ;
find / -user user1 搜索屬于用戶 'user1' 的文件和目錄;
mv dir1 new_dir 重命名/移動 一個目錄
top 查看CPU、內存密集使用的動態數據
free 查看內存使用情況
進程號用 ps 查看
占用的內存情況 $pmap -d 5647
du 查看目錄或文件的大小
df 查看磁盤分區大小
find 命令的基本結構如下:
find 命令手冊 : man find
find 命令中的 -name 選項可以根據文件名稱進行檢索( 區分大小寫 )。如需要忽略文件名中的大小寫,可以使用 -iname 選項。
-name 和 -iname 兩個選項都支持 wildcards 。如:
例1:查找 /usr 目錄下所有文件名以 .txt 結尾的文件
例2:查找 /usr 目錄下所有文件名剛好為 4 個字符的文件
例3:查以大寫字母開頭的文件
例4:查以兩個小寫字母和兩個數字開頭的txt文件
類似的還有:
-lname -ilname
-path -ipath
-regx -iregx
有些時候,你需要在搜索時匹配某個文件或目錄的 完整路徑 ,而不僅僅是匹配文件名。可以使用 -path 或 -ipath 選項。
例1:如查找 /usr 下所有文件名以 .txt 結尾的文件或目錄,且該文件的父目錄必須是 src 。可以使用以下命令:
例2:在當前目錄除aa之外的子目錄內搜索 txt文件
例3:在當前目錄,不再子目錄中,查找txt文件
如果只想搜索得到文件 或 目錄,即不想它們同時出現在結果中。可以使用 -type 選項指定文件類型。
-type 選項最常用的參數如下:
例:檢索 /usr 下所有文件名以 python 開頭的目錄
find 命令支持 -empty 選項用來檢索 為空 的文件或目錄。空文件即文件里沒有任何內容,空目錄即目錄中沒有任何文件或子目錄。
例:檢索用戶主目錄下所有的空目錄
find 命令也允許用戶對當前的匹配條件進行 “反義” (類似于 邏輯非 操作)。
如需要檢索 /usr 下所有文件名 不 以 .txt 為后綴的文件。可以使用以下命令:
也可以“翻轉”任何其他的篩選條件,如:檢索 /usr 下所有內容不為空的文件
為了檢索歸屬于特定用戶的文件或目錄,可以使用 -user 選項。
例:檢索根目錄下所有屬主為 starky 的文件
類似于 -user 選項, -group 選項則可以根據文件或目錄的 屬組 進行檢索。
有些時候,需要根據文件創建或修改的時間進行檢索。
Linux 系統中,與文件相關聯的時間參數有以下三種:
與此對應的是 find 命令中的 -mtime , -atime 和 -ctime 三個選項。
這三個選項的使用遵循以下示例中的規則:
檢索 /usr 下兩天前被修改過的文件
如果覺得 -mtime 等選項以 天 為單位時間有點長,還可以使用 -mmin , -amin , -cmin 三個選項。
查找比 aa.txt 新 的文件
查找比 aa.txt 舊 的文件
查找比aa.txt新,比bb.txt舊的文件
-size 選項允許用戶通過文件大小進行搜索(只適用于文件,目錄沒有大小……)。
表示文件大小的單位由以下字符組成:
另外,還可以使用 + 或 - 符號表示 大于 或 小于 當前條件。
檢索文件大小高于 1 GB 的文件
find 命令可以使用 -perm 選項以文件權限為依據進行搜索。
9.1使用符號形式
例1:如需要檢索 /usr 目錄下權限為 rwxr-xr-x 的文件,可以使用以下命令:
例2:搜索 /usr 目錄下所有權限為 r-xr-xr-x (即系統中的所有用戶都只有讀寫權限)的文件和目錄,可以使用以下命令:
很多時候,我們只想匹配文件權限的一個 子集 。比如,檢索可以直接被任何用戶執行的文件,即只關心文件的執行權限,而不用管其讀寫權限是什么。
上述的需求可以通過以下命令實現:
其中 a=x 前面的 / 符號即用來表示只匹配權限的某個子集(執行權限),而不用關心其他權限的具體設置。
9.2使用數字形式
例如:搜索 /usr 目錄下權限為 644 (即 rwxr-xr-x )的文件
find 命令默認是以 遞歸 的方式檢索項目的,這有時候會導致得到的結果數量非常巨大。可以使用 -maxdepth 限制 find 命令遞歸的層數。
例如:搜索時向下遞歸的層數最大為 3
在之前的例子中有出現多個搜索條件的 組合 以及對某個搜索條件的 反轉 。
實際上 find 命令支持 “and” 和 “or” 兩種邏輯運算,對應的命令選項分別是 -a 和 -o 。通過這兩個選項可以對搜索條件進行更復雜的組合。
此外還可以使用 小括號 對搜索條件進行 分組 。注意 find 命令中的小括號常需要用 單引號 包裹起來。因小括號在 Shell 中有特殊的含義。
如檢索 /usr 下文件名以 python 開頭且類型為目錄的文件
該命令等同于:
更復雜的組合形式如:
例4:在除dir0及子目錄以外的目錄下查找txt后綴文件
說明:-a 應該是and的縮寫,意思是邏輯運算符‘與’(); -o應該是or的縮寫,意思是邏輯運算符‘或’(||), -not 表示非.
命令行的意思是:如果目錄dir0存在(即-a左邊為真),則求-prune的值,-prune 返回真,‘與’邏輯表達式為真(即-path './dir0*' -a -prune 為真),find命令將在除這個目錄以外的目錄下查找txt后綴文件并打印出來;如果目錄dir0不存在(即-a左邊為假),則不求值-prune ,‘與’邏輯表達式為假,則在當前目錄下查找所有txt后綴文件。
-delete 選項可以用來刪除搜索到的文件和目錄。
例如:刪除 home 目錄下所有的空目錄:
-exec 選項可以對搜索到的結果執行執行該參數所給出的shell命令。形式為 command {} \; ,注意{}與\;之間有空格 。每當 find 命令檢索到一個符合條件的文件,會使用其完整路徑取代命令中的 {} ,然后執行 -exec 后面的命令一次。
例1:如需要將 home 目錄下所有的 MP3 音頻文件復制到移動存儲設備(假設路徑是 /media/MyDrive ),可使用下面的命令:
其中的 大括號 ( {} )作為檢索到的文件的 占位符 ,而分號( ; )作為命令結束的標志。因為分號是 Shell 中有特殊含義的符號,所以需要使用單引號括起來或前面加上轉義符 \ 。
例2:查看當前目錄下的所有普通文件,并在 - exec 選項中使用 ls -l 命令將它們列出
例3:在多個文件中檢索某個指定的字符串。如在用戶主目錄下的所有文件中檢索字符串 hello ,可以使用如下命令:
創建 Gzip 格式的壓縮文件的命令為:
現在假設需要將用戶主目錄下所有的 MP3 文件添加到壓縮包 music.tar.gz 中,直觀的感覺是,其命令應為如下形式:
實際情況是,這樣得到的 music.tar.gz 其實只包含一個 MP3 文件。原因是 find 命令 每次 發現一個音頻文件,都會再執行一次 -exec 選項后面的壓縮命令。導致先前生成的壓縮包被覆蓋。
可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的 文件列表 傳遞給后面的壓縮命令。完整的命令如下:
如果想瀏覽搜索到的文件(目錄)的詳細信息(如權限和大小等),可以直接使用 -ls 選項。
例如:瀏覽所有 1G 以上大小的文件的詳細信息
與exec作用相同,區別在于,在執行命令之前,都會給出提示,讓用戶確認是否執行
與 exec 作用相同 ,起承接作用。區別在于 |xargs 主要用于承接刪除操作 ,而 -exec 都可用 如復制、移動、重命名等
例1:查找以ap或may開頭的文件
例2:查硬連接數大于2的文件或目錄
例3:查找含特定字符串的文件。查找當前目錄下含有"the string you want find…"字符串的文件:
例4:從根目錄開始查tmpfile,一旦查到馬上刪除
例5:如何用find查找某一天更改的文件?可以使用這一行命令來實現:
A Guide to the Linux “Find” Command
摘要:Linux指令常用結構 :Command [-option] [argument]
Command:即是要運行的命令的本身,說白了就是一個程序;
Option:是選項(可選),選項是控制命令運行狀態和行為的(可多個選項一起,如ls -al);
Argument:是參數(可選),是命令要操作對象如文件、路徑、數據、目錄等;
在指令的第一部分按[tab]鍵一下為[命令補全],兩下為所有命令選擇;
一、 Linux系統操作指令
1、開關機
2、查看系統信息
3、查看系統性能
4、查看磁盤指標
二、 Linux目錄文件操作指令
1、目錄文件
2、文件相關權限
3、文本處理
三、Linux用戶權限操作指令
四、Linux壓縮解壓指令
五、Linux軟件安裝指令
本文名稱:簡述linux命令結構 Linux的結構
轉載注明:http://m.kartarina.com/article30/hgchso.html
成都網站建設公司_創新互聯,為您提供品牌網站設計、微信公眾號、網站制作、網站收錄、服務器托管、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯