做爲運維人員,這些經常使用命令不得不會,掌握這些命令,工做上會事半功倍,提供工做效率。java
cd /home 進入 '/ home' 目錄 cd .. 返回上一級目錄 cd ../.. 返回上兩級目錄 cd 進入我的的主目錄 cd ~user1 進入我的的主目錄 cd - 返回上次所在的目錄
[root@mailvip ~]# pwd /root
ls 查看目錄中的文件 ls -l 顯示文件和目錄的詳細資料 ls -a 列出所有文件,包含隱藏文件 ls -R 連同子目錄的內容一塊兒列出(遞歸列出),等於該目錄下的全部文件都會顯示出來 ls [0-9] 顯示包含數字的文件名和目錄名
-a :將文件的特性一塊兒複製 -p :連同文件的屬性一塊兒複製,而非使用默認方式,與-a類似,經常使用於備份 -i :若目標文件已經存在時,在覆蓋時會先詢問操做的進行 -r :遞歸持續複製,用於目錄的複製行爲 //常用遞歸複製 -u :目標文件與源文件有差別時纔會複製
-f :force強制的意思,若是目標文件已經存在,不會詢問而直接覆蓋 -i :若目標文件已經存在,就會詢問是否覆蓋 -u :若目標文件已經存在,且比目標文件新,纔會更新
-f :就是force的意思,忽略不存在的文件,不會出現警告消息 -i :互動模式,在刪除前會詢問用戶是否操做 -r :遞歸刪除,最經常使用於目錄刪除,它是一個很是危險的參數
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行)
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的文件:linux
find /var/mail/ -size +50M -exec rm {} \;
chmod命令,改變文件/文件夾權限nginx
ls -lh 顯示權限 chmod ugo+rwx directory1 設置目錄的全部人(u)、羣組(g)以及其餘人(o)以讀(r,4 )、寫(w,2)和執行(x,1)的權限 chmod go-rwx directory1 刪除羣組(g)與其餘人(o)對目錄的讀寫執行權限
chown user1 file1 改變一個文件的全部人屬性 chown -R user1 directory1 改變一個目錄的全部人屬性並同時改變改目錄下全部文件的屬性 chown user1:group1 file1 改變一個文件的全部人和羣組屬性
11.chgrp命令,改變文件所屬用戶組vim
chgrp group1 file1 改變文件的羣組
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文件中刪除全部空白行
paste file1 file2 合併兩個文件或兩欄的內容 paste -d '+' file1 file2 合併兩個文件或兩欄的內容,中間用"+"區分
sort file1 file2 排序兩個文件的內容 sort file1 file2 | uniq 取出兩個文件的並集(重複的行只保留一份) sort file1 file2 | uniq -u 刪除交集,留下其餘的行 sort file1 file2 | uniq -d 取出兩個文件的交集(只留下同時存在於兩個文件中的文件)
comm -1 file1 file2 比較兩個文件的內容只刪除 'file1' 所包含的內容 comm -2 file1 file2 比較兩個文件的內容只刪除 'file2' 所包含的內容 comm -3 file1 file2 比較兩個文件的內容只刪除兩個文件共有的部分
-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 欲解壓縮的目錄bash
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 測算一個命令(即程序)的執行時間
jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一個顯示當前全部java進程pid的命令,簡單實用,很是適合在linux/unix平臺上簡單察看當前java進程的一些簡單狀況。less
-A :全部的進程均顯示出來 -a :不與terminal有關的全部進程 -u :有效用戶的相關進程 -x :通常與a參數一塊兒使用,可列出較完整的信息 -l :較長,較詳細地將PID的信息列出 ps aux # 查看系統全部的進程數據 ps ax # 查看不與terminal有關的全部進程 ps -lA # 查看系統全部的進程數據 ps axjf # 查看連同一部分進程樹狀態
命令格式 : kill[命令參數][進程id]運維
命令參數:ide
-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 強制殺掉進程
命令格式 : 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
如何殺死進程:
(1)圖形化界面的方式 (2)kill -9 pid (-9表示強制關閉) (3)killall -9 程序的名字 (4)pkill 程序的名字
查看進程端口號:
netstat -tunlp|grep 端口號