1. 程式人生 > >Linux如何檢視程序、殺死程序、啟動程序等常用命令

Linux如何檢視程序、殺死程序、啟動程序等常用命令

關鍵字: linux 查程序、殺程序、起程序
1.查程序
ps命令查詢與程序相關的PID號:
ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。
ps -A 顯示所有程式。
ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。
ps -e 此引數的效果和指定”A”引數相同。
ps e 列出程式時,顯示每個程式所使用的環境變數。
ps f 用ASCII字元顯示樹狀結構,表達程式間的相互關係。
ps -H 顯示樹狀結構,表示程式間的相互關係。
ps -N 顯示所有的程式,除了執行ps指令終端機下的程式之外。
ps s 採用程式訊號的格式顯示程式狀況。
ps S 列出程式時,包括已中斷的子程式資料。
ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程式的狀況。
ps u 以使用者為主的格式來顯示程式狀況。
ps x 顯示所有程式,不以終端機來區分。

最常用的方法是ps aux,然後再通過管道使用grep命令過濾查詢特定的程序,然後再對特定的程序進行操作。
ps aux | grep program_filter_word,ps -ef |grep tomcat

ps -ef|grep java|grep -v grep 顯示出所有的java程序,去處掉當前的grep程序。

2.殺程序
使用kill命令結束程序:kill xxx
常用:kill -9 324
Linux下還提供了一個killall命令,可以直接使用程序的名字而不是程序標識號,例如:# killall -9 NAME

3.進入到程序的執行檔案所在的路徑下,執行檔案 ./檔名

附:

這是本人花了兩天時間整理得來的,一些最常用的地球人都知道的命令就省去啦!最後提供pdf手冊下載

  1. 更改檔案擁有者
    命令 : chown [-cfhvR] [–help] [–version] user[:group] file…
    功能 : 更改檔案或者資料夾的擁有者
    引數格式 :
       user : 新的檔案擁有者的使用者 IDgroup : 新的檔案擁有者的使用者群體(group)
       -c : 若該檔案擁有者確實已經更改,才顯示其更改動作
       -f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息
       -h : 只對於連結(link)進行變更,而非該 link 真正指向的檔案
       -v : 顯示擁有者變更的詳細資料
       -R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞迴的方式逐個變更)

例如:chown -R oracle:oinstall /oracle/u01/app/oracle
更改目錄擁有者為oracle

  1. 修改許可權
    命令:chmod (change mode)
    功能:改變檔案的讀寫和執行許可權。有符號法和八進位制數字法。
    選項:(1)符號法:
    命令格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filename
    u (user) 表示使用者本人。
    g (group) 表示同組使用者。
    o (oher) 表示其他使用者。
    a (all) 表示所有使用者。
    + 用於給予指定使用者的許可許可權。
    - 用於取消指定使用者的許可許可權。
    = 將所許可的許可權賦給檔案。
    r (read) 讀許可,表示可以拷貝該檔案或目錄的內容。
    w (write) 寫許可,表示可以修改該檔案或目錄的內容。
    x (execute)執行許可,表示可以執行該檔案或進入目錄。

      (2)八進位制數字法:   
    

    命令格式:chmod abc file
    其中a,b,c各為一個八進位制數字,分別表示User、Group、及Other的許可權。
    4 (100) 表示可讀。
    2 (010) 表示可寫。
    1 (001) 表示可執行。
    若要rwx屬性則4+2+1=7;
    若要rw-屬性則4+2=6;
    若要r-x屬性則4+1=5。

    例如:# chmod a+rx filename
    讓所有使用者可以讀和執行檔案filename。
    # chmod go-rx filename
    取消同組和其他使用者的讀和執行檔案filename的許可權。
    # chmod 741 filename
    讓本人可讀寫執行、同組使用者可讀、其他使用者可執行檔案filename。

    chmod -R 755 /home/oracle

    遞迴更改目錄許可權,本人可讀寫執行、同組使用者可讀可執行、其他使用者可讀可執行

  2. 修改檔案日期
    命令:touch
    格式:touch filenae
    功能:改變檔案的日期,不對檔案的內容做改動,若檔案不存在則建立新檔案。
    例如:% touch file

  3. 連結檔案
    命令:ln (link)
    格式:ln [option] filename linkname
    ln [option] directory pathname
    功能:為檔案或目錄建立一個鏈。其中,filename和directory是原始檔名和
    源目錄名;linkname和pathname分別表示與原始檔或源目錄名相連結的
    檔案或目錄。
    選項:-s 為檔案或目錄建立符號連結。不加-s表示為檔案或目錄建立硬連結
    註釋:連結的目地在於,對一個檔案或目錄賦予兩個以上的名字,使其可以出
    現在不同的目錄中,既可以使檔案或目錄共享,又可以節省磁碟空間。
    例如:% ln -s filename linkname

  4. 顯示日期
    命令:date
    例如:% date

  5. 顯示日曆
    命令:cal (calendar)
    格式:cal [month] year
    功能:顯示某年內指定的日曆
    例如:% cal 1998

  6. 顯示檔案頭部
    命令:head
    格式:head [option] filename
    功能:顯示檔案的頭部
    選項:預設 顯示檔案的頭10行。
    -i 顯示檔案的開始 i行。
    例如:% head filename

  7. 顯示檔案尾部
    命令:tail
    格式:tail [option] filename
    功能:顯示檔案的尾部
    選項:預設 顯示檔案的末10行。
    -i 顯示檔案最後 i行。
    +i 從檔案的第i行開始顯示。
    例如:% tail filename

  8. 顯示使用者標識
    命令:id
    格式:id [option] [user]
    功能:顯示使用者標識及使用者所屬的所有組。
    選項:-a 顯示使用者名稱、使用者標識及使用者所屬的所有組
    註釋:
    例如:% id username

  9. 檢視當前登入的使用者
    命令:users

  10. 顯示都誰登入到機器上
    命令:who
    格式:who
    功能:顯示當前正在系統中的所有使用者名稱字,使用終端裝置號,註冊時間。
    例如:% who

  11. 顯示當前終端上的使用者名稱
    命令:whoami
    格式:whoami
    功能:顯示出當前終端上使用的使用者。
    例如:% whoami

  12. 尋找檔案
    命令:find
    格式:find pathname [option] expression
    功能:在所給的路經名下尋找符合表示式相匹配的檔案。
    選項:-name 表示檔名
    -user 使用者名稱,選取該使用者所屬的檔案
    -size 按大小查詢,以block為單位,一個block是512B
    -mtime n 按最後一次修改時間查詢,選取n天內被修改的檔案
    -perm 按許可權查詢
    -type 按檔案型別查詢
    -atime 按最後一次訪問時間查詢

    例如:% find ./ -name ‘abc’ -print

  13. 搜尋檔案中匹配符
    命令:grep
    格式:grep [option] pattern filenames
    功能:逐行搜尋所指定的檔案或標準輸入,並顯示匹配模式的每一行。
    選項:-i 匹配時忽略大小寫
    -v 找出模式失配的行

    例如:% grep -i ‘java*’ ./test/run.sh

  14. 統計檔案字數
    命令:wc [option] filename
    功能:統計檔案中的檔案行數、字數和字元數。
    選項:-l 統計檔案的行數
    -w 統計檔案的單詞數
    -c 統計檔案的字元數
    註釋:若預設檔名則指標準輸入
    例如:% wc -c ./test/run.sh

  15. 顯示磁碟空間
    命令:df (disk free)
    格式:df [option]
    功能:顯示磁碟空間的使用情況,包括檔案系統安裝的目錄名、塊裝置名、總
    位元組數、已用位元組數、剩餘位元組數佔用百分比。
    選項:
    -a:顯示全部的檔案系統和各分割區的磁碟使用情形
    -i:顯示i -nodes的使用量
    -k:大小用k來表示 (預設值)
    -t:顯示某一個檔案系統的所有分割區磁碟使用量
    -x:顯示不是某一個檔案系統的所有分割區磁碟使用量
    -T:顯示每個分割區所屬的檔案系統名稱
    -h: 表示使用「Human-readable」的輸出,也就是在檔案系統大小使用 GB、MB 等易讀的格式。
    註釋:
    例如:% df -hi

  16. 查詢檔案或目錄的磁碟使用空間
    命令:du (disk usage)
    格式:du [option] [filename]
    功能:以指定的目錄下的子目錄為單位,顯示每個目錄內所有檔案所佔用的磁碟空間大小
    選項:
    -a:顯示全部目錄和其次目錄下的每個檔案所佔的磁碟空間
    -b:大小用bytes來表示 (預設值為k bytes)
    -c:最後再加上總計 (預設值)
    -s:只顯示各檔案大小的總合
    -x:只計算同屬同一個檔案系統的檔案
    -L:計算所有的檔案大小
    -h: 表示檔案系統大小使用 GB、MB 等易讀的格式。
    例如:% du -a
    % du -sh /etc 只顯示該目錄的總合
    % du /etc | sort -nr | more 統計結果用sort 指令進行排序,
    sort 的引數 -nr 表示要以數字排序法進行反向排序。

  17. 顯示程序
    命令:ps
    格式:ps [option]
    功能:顯示系統中程序的資訊。包括程序ID、控制程序終端、執行時間和命令。
    選項:
    -a 顯示所有程序資訊
    -U uidlist 列出這個使用者的所有程序
    -e 顯示當前執行的每一個程序資訊
    -f 顯示一個完整的列表
    -x 顯示包括沒有終端控制的程序狀況 。
    註釋:
    例如:% ps -ef
    % ps -aux 然後再利用一個管道符號導向到grep去查詢特定的程序,然後再對特定的程序進行操作。

  18. 終止程序
    命令:kill
    格式:kill [option] pid
    功能:向指定的程序送訊號或終止程序。kill指令的用途是送一個signal給某一個process,
    因為大部份送的都是用來殺掉 process 的 SIGKILL 或 SIGHUP ,因此稱為 kill
    選項:-9 強行終止程序
    註釋:pid標示程序號,可由ps命令得到。
    例如:% kill -9 pid
    你也可以用 kill -l 來察看可代替 signal 號碼的數目字。kill 的詳細情形請參閱 man kill。

  19. 檢視自己的IP地址
    命令:ifconfig
    格式:ifconfig -a

  20. 檢視路由表
    命令:netstat
    格式:netstat -rn

  21. 遠端登入
    命令:telnet
    格式:telnet hostname

  22. 檔案傳輸
    命令:ftp (file transfer program)
    格式:ftp hostname
    功能:網路檔案傳輸及遠端操作。
    選項:ftp命令:
    cd [dirname] 進入遠端機的目錄
    lcd [dirname] 設定本地機的目錄
    dir/ls 顯示遠端的目錄檔案
    bin 以二進位制方式進行傳輸
    asc 以文字檔案方式進行傳輸
    get/mget 從遠端機取一個或多個檔案
    put/mput 向遠端機送一個或多個檔案
    prompt 開啟或關閉多個檔案傳送時的互動提示
    close 關閉與遠端機的連線
    quit 退出ftp
    !/exit ftp登陸狀態下,!表示暫時退出ftp狀態回到本地目錄,exit表示返回ftp狀態
    註釋:
    例如:% ftp hostname

  23. 檢視自己的電子郵件
    命令:mailx
    格式:mailx
    選項:
    delete 刪除
    next 下一個
    quit 退出
    reply 回覆

  24. 回憶命令
    命令:history
    格式:history
    功能:幫助使用者回憶執行過的命令。
    選項:
    註釋:
    例如:% history

  25. 網上對話
    命令:talk
    格式:talk username
    功能:在網上與另一使用者進行對話。
    選項:
    註釋:對話時系統把終端分為上下兩部分,上半部顯示自己鍵入資訊,下半部
    顯示對方使用者鍵入的資訊。鍵入delete或Ctrl+C則結束對話。
    例如:% talk username

  26. 允許或拒絕接受資訊
    命令:mesg (message)
    格式:mesg [n/y]
    功能:允許或拒絕其它使用者向自己所用的終端傳送資訊。
    選項:n 拒絕其它使用者向自己所用的終端寫資訊
    y 允許其它使用者向自己所用的終端寫資訊(預設值)
    註釋:
    例如:% mesg n

  27. 給其他使用者寫資訊
    命令:write
    格式:write username [ttyname]
    功能:給其他使用者的終端寫資訊。
    選項:
    註釋:若對方沒有拒絕,兩使用者可進行交談,鍵入EOF或Ctrl+C則結束對話。
    例如:write username

  28. 建立、修改、刪除使用者和群組
    a. 建立群組:
    例如: groupadd oinstall 建立群組名為oinstall的組
    groupadd -g 344 dba
    建立組號是344的組,此時在/etc/passwd檔案中產生一個組ID(GID)是344的專案。
    b. 修改群組:
    groupmod:該命令用於改變使用者組帳號的屬性
    groupmod –g 新的GID 使用者組帳號名
    groupmod –n 新組名 原組名:此命令由於改變使用者組的名稱

    c. 刪除群組:
    groupdel 組名:該命令用於刪除指定的組帳號

    d. 新建使用者:
    命令: useradd [-d home] [-s shell] [-c comment] [-m [-k template]]
    [-f inactive] [-e expire ] [-p passwd] [-r] name
    主要引數
    -c:加上備註文字,備註文字儲存在passwd的備註欄中。 
    -d:指定使用者登入時的啟始目錄。
    -D:變更預設值。
    -e:指定賬號的有效期限,預設表示永久有效。
    -f:指定在密碼過期後多少天即關閉該賬號。
    -g:指定使用者所屬的群組。
    -G:指定使用者所屬的附加群組。
    -m:自動建立使用者的登入目錄。
    -M:不要自動建立使用者的登入目錄。
    -n:取消建立以使用者名稱稱為名的群組。
    -r:建立系統賬號。
    -s:指定使用者登入後所使用的shell。
    -u:指定使用者ID號。

舉例: # useradd -g oinstall -G dba oracle 建立Oracle使用者

e. 刪除使用者 

命令: userdel 使用者名稱
刪除指定的使用者帳號
userdel –r 使用者名稱(userdel 使用者名稱;rm 使用者名稱):刪除指定的使用者帳號及宿主目錄
例:#useradd -g root kkk //把kkk使用者加入root組裡

f. 修改使用者 

命令: usermod
修改已有使用者的資訊
usermod –l 舊使用者名稱 新使用者名稱: 修改使用者名稱
usermod –L 使用者名稱: 用於鎖定指定使用者賬號,使其不能登陸系統
usermod –U 使用者名稱: 對鎖定的使用者帳號進行解鎖
passwd –d 使用者名稱: 使帳號無口令,即使用者不需要口令就能登入系統
例:#usermod -l user2 user1 //把使用者user2改名為user1

  1. 啟動、關閉防火牆
    永久開啟或則關閉
    chkconfig iptables on
    chkconfig iptables off
    即時生效:重啟後還原
    service iptables start
    service iptables stop
    或者:
    /etc/init.d/iptables start
    /etc/init.d/iptables stop

  2. 啟動VSFTP服務
    即時啟動: /etc/init.d/vsftpd start
    即時停止: /etc/init.d/vsftpd stop

開機預設VSFTP服務自動啟動:
方法一:(常用\方便)
[[email protected] etc]# chkconfig –list|grep vsftpd ( 檢視情況)
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[[email protected] etc]# chkconfig vsftpd on (執行ON設定)
或者:方法二:
修改檔案 /etc/rc.local , 把行/usr/local/sbin/vsftpd & 插入檔案中,以實現開機自動啟動。

  1. vi技巧
    a. 進入輸入模式
    新增 (append)
    a :從游標所在位置後面開始新增資料,游標後的資料隨新增資料向後移動。
    A:從游標所在列最後面的地方開始新增資料。

插入 (insert)
i:從游標所在位置前面開始插入資料,游標後的資料隨新增資料向後移動。
I :從游標所在列的第一個非空白字元前面開始插入資料。

開始 (open)
o :在游標所在列下新增一列並進入輸入模式。
O: 在游標所在列上方新增一列並進入輸入模式。
b. 退出vi
在指令模式下鍵入:q,:q!,:wq或:x(注意:號),就會退出vi。其中:wq和:x是存檔退出,而:q是直接退出,如果檔案已有新的變化,vi會提示你儲存檔案而:q命令也會失效,這時你可以用:w命令儲存檔案後再用:q 退出,或用:wq或:x命令退出,如果你不想儲存改變後的檔案,你就需要用:q!命令,這個命令將不儲存檔案而直接退出vi。

c. 刪除與修改檔案的命令:
x:刪除游標所在字元。
dd :刪除游標所在的列。
r :修改游標所在字元,r 後接著要修正的字元。
R:進入取替換狀態,新增文字會覆蓋原先文字,直到按 [ESC] 回到指令模式下為止。
s:刪除游標所在字元,並進入輸入模式。
S:刪除游標所在的列,並進入輸入模式。

d. 螢幕翻滾類命令
Ctrl+u: 向檔案首翻半屏
Ctrl+d: 向檔案尾翻半屏
Ctrl+f: 向檔案尾翻一屏
Ctrl+b: 向檔案首翻一屏
nz: 將第n行滾至螢幕頂部,不指定n時將當前行滾至螢幕頂部。

e. 刪除命令
ndw或ndW: 刪除游標處開始及其後的n-1個字
do: 刪至行首
d$: 刪至行尾
ndd: 刪除當前行及其後n-1行
x或X: 刪除一個字元,x刪除游標後的,而X刪除游標前的
Ctrl+u: 刪除輸入方式下所輸入的文字

f. 搜尋及替換命令
/pattern: 從游標開始處向檔案尾搜尋pattern
?pattern: 從游標開始處向檔案首搜尋pattern
n: 在同一方向重複上一次搜尋命令
N: 在反方向上重複上一次搜尋命令
:s/p1/p2/g: 將當前行中所有p1均用p2替代
:n1,n2s/p1/p2/g: 將第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g: 將檔案中所有p1均用p2替換

g. 複製,黏貼
(1) 選定文字塊,使用v進入可視模式;移動游標鍵選定內容
(2) 複製選定塊到緩衝區,用y;複製整行,用yy
(3) 剪下選定塊到緩衝區,用d;剪下整行用dd
(4) 貼上緩衝區中的內容,用p

h. 其他
在同一編輯窗開啟第二個檔案,用:sp [filename]
在多個編輯檔案之間切換,用Ctrl+w