您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關運維人員常用的Linux命令有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
一.文件和目錄
1. cd命令,用于切換當前目錄,它的參數是要切換到的目錄的路徑,可以是絕對路徑,也可以是相對路徑。
cd /home 進入 '/ home' 目錄 cd .. 返回上一級目錄 cd ../.. 返回上兩級目錄 cd 進入個人的主目錄 cd ~user1 進入個人的主目錄 cd - 返回上次所在的目錄
2. pwd命令,顯示工作路徑
[root@mailvip ~]# pwd /root
3. ls命令,查看文件與目錄的命令,list之意
ls 查看目錄中的文件 ls -l 顯示文件和目錄的詳細資料 ls -a 列出全部文件,包含隱藏文件 ls -R 連同子目錄的內容一起列出(遞歸列出),等于該目錄下的所有文件都會顯示出來 ls [0-9] 顯示包含數字的文件名和目錄名
4. cp命令,用于復制文件,copy之意,它還可以把多個文件一次性地復制到一個目錄下
-a :將文件的特性一起復制 -p :連同文件的屬性一起復制,而非使用默認方式,與-a相似,常用于備份 -i :若目標文件已經存在時,在覆蓋時會先詢問操作的進行 -r :遞歸持續復制,用于目錄的復制行為 //經常使用遞歸復制 -u :目標文件與源文件有差異時才會復制
5. mv命令,用于移動文件、目錄或更名,move之意
-f :force強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋 -i :若目標文件已經存在,就會詢問是否覆蓋 -u :若目標文件已經存在,且比目標文件新,才會更新
6. rm命令,用于刪除文件或目錄,remove之意
-f :就是force的意思,忽略不存在的文件,不會出現警告消息 -i :互動模式,在刪除前會詢問用戶是否操作 -r :遞歸刪除,最常用于目錄刪除,它是一個非常危險的參數
二、查看文件內容
7. cat命令,用于查看文本文件的內容,后接要查看的文件名,通常可用管道與more和less一起使用
cat file1 從第一個字節開始正向查看文件的內容 tac file1 從最后一行開始反向查看一個文件的內容 cat -n file1 標示文件的行數 more file1 查看一個長文件的內容 head -n 2 file1 查看一個文件的前兩行 tail -n 2 file1 查看一個文件的最后兩行 tail -n +1000 file1 從1000行開始顯示,顯示1000行以后的 cat filename | head -n 3000 | tail -n +1000 顯示1000行到3000行 cat filename | tail -n +3000 | head -n 1000 從第3000行開始,顯示1000(即顯示3000~3999行)
三.文件搜索
8. find命令,用來查找系統的
find / -name file1 從 '/' 開始進入根文件系統搜索文件和目錄 find / -user user1 搜索屬于用戶 'user1' 的文件和目錄 find /usr/bin -type f -atime +100 搜索在過去100天內未被使用過的執行文件 find /usr/bin -type f -mtime -10 搜索在10天內被創建或者修改過的文件 whereis halt 顯示一個二進制文件、源碼或man的位置 which halt 顯示一個二進制文件或可執行文件的完整路徑
刪除大于50M的文件:
find /var/mail/ -size +50M -exec rm {} \;
四.文件的權限 - 使用 "+" 設置權限,使用 "-" 用于取消
9. chmod命令,改變文件/文件夾權限
ls -lh 顯示權限
chmod ugo+rwx directory1 設置目錄的所有人(u)、群組(g)以及其他人(o)以讀(r,4 )、寫(w,2)和執行(x,1)的權限 chmod go-rwx directory1 刪除群組(g)與其他人(o)對目錄的讀寫執行權限
10. chown命令,改變文件的所有者
chown user1 file1 改變一個文件的所有人屬性 chown -R user1 directory1 改變一個目錄的所有人屬性并同時改變改目錄下所有文件的屬性 chown user1:group1 file1 改變一個文件的所有人和群組屬性
11. chgrp命令,改變文件所屬用戶組
chgrp group1 file1 改變文件的群組
五.文本處理
12. grep命令,分析一行的信息,若當中有我們所需要的信息,就將該行顯示出來,該命令通常與管道命令一起使用,用于對一些命令的輸出進行篩選加工等等
grep Aug /var/log/messages 在文件 '/var/log/messages'中查找關鍵詞"Aug" grep ^Aug /var/log/messages 在文件 '/var/log/messages'中查找以"Aug"開始的詞匯 grep [0-9] /var/log/messages 選擇 '/var/log/messages' 文件中所有包含數字的行 grep Aug -R /var/log/* 在目錄 '/var/log' 及隨后的目錄中搜索字符串"Aug" sed 's/stringa1/stringa2/g' example.txt 將example.txt文件中的 "string1" 替換成 "string2" sed '/^$/d' example.txt 從example.txt文件中刪除所有空白行
13. paste命令
paste file1 file2 合并兩個文件或兩欄的內容 paste -d '+' file1 file2 合并兩個文件或兩欄的內容,中間用"+"區分
14. sort命令
sort file1 file2 排序兩個文件的內容 sort file1 file2 | uniq 取出兩個文件的并集(重復的行只保留一份) sort file1 file2 | uniq -u 刪除交集,留下其他的行 sort file1 file2 | uniq -d 取出兩個文件的交集(只留下同時存在于兩個文件中的文件)
15. comm命令
comm -1 file1 file2 比較兩個文件的內容只刪除 'file1' 所包含的內容 comm -2 file1 file2 比較兩個文件的內容只刪除 'file2' 所包含的內容 comm -3 file1 file2 比較兩個文件的內容只刪除兩個文件共有的部分
六、打包和壓縮文件
16. tar命令,對文件進行打包,默認情況并不會壓縮,如果指定了相應的參數,它還會調用相應的壓縮程序(如gzip和bzip等)進行壓縮和解壓
-c :新建打包文件 -t :查看打包文件的內容含有哪些文件名 -x :解打包或解壓縮的功能,可以搭配-C(大寫)指定解壓的目錄,注意-c,-t,-x不能同時出現在同一條命令中 -j :通過bzip2的支持進行壓縮/解壓縮 -z :通過gzip的支持進行壓縮/解壓縮 -v :在壓縮/解壓縮過程中,將正在處理的文件名顯示出來 -f filename :filename為要處理的文件 -C dir :指定壓縮/解壓縮的目錄dir
壓縮:tar -jcv -f filename.tar.bz2 要被處理的文件或目錄名稱 查詢:tar -jtv -f filename.tar.bz2 解壓:tar -jxv -f filename.tar.bz2 -C 欲解壓縮的目錄
bunzip2 file1.bz2 解壓一個叫做 'file1.bz2'的文件 bzip2 file1 壓縮一個叫做 'file1' 的文件 gunzip file1.gz 解壓一個叫做 'file1.gz'的文件 gzip file1 壓縮一個叫做 'file1'的文件 gzip -9 file1 最大程度壓縮 rar a file1.rar test_file 創建一個叫做 'file1.rar' 的包 rar a file1.rar file1 file2 dir1 同時壓縮 'file1', 'file2' 以及目錄 'dir1' rar x file1.rar 解壓rar包 zip file1.zip file1 創建一個zip格式的壓縮包 unzip file1.zip 解壓一個zip格式壓縮包 zip -r file1.zip file1 file2 dir1 將幾個文件和目錄同時壓縮成一個zip格式的壓縮包
七.系統和關機(關機、重啟和登出)
shutdown -h now 關閉系統(1) init 0 關閉系統(2) telinit 0 關閉系統(3) shutdown -h hours:minutes & 按預定時間關閉系統 shutdown -c 取消按預定時間關閉系統 shutdown -r now 重啟(1) reboot 重啟(2) logout 注銷 time 測算一個命令(即程序)的執行時間
八、進程相關的命令
17. jps命令,顯示當前系統的java進程情況,及其id號
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前所有java進程pid的命令,簡單實用,非常適合在linux/unix平臺上簡單察看當前java進程的一些簡單情況。
18. ps命令,用于將某個時間點的進程運行情況選取下來并輸出,process之意
-A :所有的進程均顯示出來 -a :不與terminal有關的所有進程 -u :有效用戶的相關進程 -x :一般與a參數一起使用,可列出較完整的信息 -l :較長,較詳細地將PID的信息列出 ps aux # 查看系統所有的進程數據 ps ax # 查看不與terminal有關的所有進程 ps -lA # 查看系統所有的進程數據 ps axjf # 查看連同一部分進程樹狀態
19. kill命令,用于向某個工作(%jobnumber)或者是某個PID(數字)傳送一個信號,它通常與ps和jobs命令一起使用
命令格式 : kill[命令參數][進程id]
命令參數:
-l 信號,若果不加信號的編號參數,則使用“-l”參數會列出全部的信號名稱 -a 當處理當前進程時,不限制命令名和進程號的對應關系 -p 指定kill 命令只打印相關進程的進程號,而不發送任何信號 -s 指定發送信號 -u 指定用戶
實例1:列出所有信號名稱 命令:kill -l 輸出:
[root@localhost test6]# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 64) SIGRTMAX
說明:
只有第9種信號(SIGKILL)才可以無條件終止進程,其他信號進程都有權利忽略。 下面是常用的信號:
HUP 1 終端斷線 INT 2 中斷(同 Ctrl + C) QUIT 3 退出(同 Ctrl + \) TERM 15 終止 KILL 9 強制終止 CONT 18 繼續(與STOP相反, fg/bg命令) STOP 19 暫停(同 Ctrl + Z)
實例2:得到指定信號的數值
[root@localhost test6]# kill -l KILL [root@localhost test6]# kill -l SIGKILL [root@localhost test6]# kill -l TERM [root@localhost test6]# kill -l SIGTERM [root@localhost test6]#
實例3:先用ps查找進程,然后用kill殺掉
命令:kill 3268 [root@localhost test6]# ps -ef|grep vim root 3268 2884 0 16:21 pts/1 00:00:00 vim install.log root 3370 2822 0 16:21 pts/0 00:00:00 grep vim [root@localhost test6]# kill 3268
實例4:徹底殺死進程
命令:kill –9 3268 // -9 強制殺掉進程
20. killall命令,向一個命令啟動的進程發送一個信號,用于殺死指定名字的進程
命令格式 : killall[命令參數][進程名]
命令參數: -Z 只殺死擁有scontext 的進程 -e 要求匹配進程名稱 -I 忽略小寫 -g 殺死進程組而不是進程 -i 交互模式,殺死進程前先詢問用戶 -l 列出所有的已知信號名稱 -q 不輸出警告信息 -s 發送指定的信號 -v 報告信號是否成功發送 -w 等待進程死亡 --help 顯示幫助信息 --version 顯示版本顯示
示例
1:殺死所有同名進程 killall nginx killall -9 bash 2.向進程發送指定信號 killall -TERM ngixn 或者 killall -KILL nginx
21. top命令,是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似于Windows的任務管理器。
如何殺死進程:
(1)圖形化界面的方式 (2)kill -9 pid (-9表示強制關閉) (3)killall -9 程序的名字 (4)pkill 程序的名字
查看進程端口號:
netstat -tunlp|grep 端口號
感謝各位的閱讀!關于“運維人員常用的Linux命令有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。