Linux如何查看進程、殺死進程、啟動進程等常用命令
- 2019 年 10 月 8 日
- 筆記
查進程
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進程。
殺進程
使用kill命令結束進程:kill xxx
常用:kill -9 324
Linux下還提供了一個killall命令,可以直接使用進程的名字而不是進程標識號,例如:# killall -9 NAME
進入到進程的執行文件所在的路徑下,執行文件 ./文件名
附:
更改檔案擁有者 命令 : 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 修改許可權 命令:chmod (change mode) 功能:改變文件的讀寫和執行許可權。有符號法和八進位數字法。 選項:()符號法: 命令格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filename u (user) 表示用戶本人。 g (group) 表示同組用戶。 o (oher) 表示其他用戶。 a (all) 表示所有用戶。 + 用於給予指定用戶的許可許可權。 - 用於取消指定用戶的許可許可權。 = 將所許可的許可權賦給文件。 r (read) 讀許可,表示可以拷貝該文件或目錄的內容。 w (write) 寫許可,表示可以修改該文件或目錄的內容。 x (execute)執行許可,表示可以執行該文件或進入目錄。 ()八進位數字法: 命令格式:chmod abc file 其中a,b,c各為一個八進位數字,分別表示User、Group、及Other的許可權。 () 表示可讀。 () 表示可寫。 () 表示可執行。 若要rwx屬性則++=; 若要rw-屬性則+=; 若要r-x屬性則+=。 例如:# chmod a+rx filename 讓所有用戶可以讀和執行文件filename。 # chmod go-rx filename 取消同組和其他用戶的讀和執行文件filename的許可權。 # chmod 741 filename 讓本人可讀寫執行、同組用戶可讀、其他用戶可執行文件filename。 # chmod -R 755 /home/oracle 遞歸更改目錄許可權,本人可讀寫執行、同組用戶可讀可執行、其他用戶可讀可執行
修改文件日期
命令:touch
格式:touch filenae
功能:改變文件的日期,不對文件的內容做改動,若文件不存在則建立新文件。 例如:% touch file
鏈接文件
命令:ln (link)
格式: ln [option] filename linkname
ln [option] directory pathname
功能:為文件或目錄建立一個鏈。其中,filename和directory是源文件名和 源目錄名;linkname和pathname分別表示與源文件或源目錄名相鏈接的 文件或目錄。 選項:-s
為文件或目錄建立符號鏈接。不加-s表示為文件或目錄建立硬鏈接 注釋:鏈接的目地在於,對一個文件或目錄賦予兩個以上的名字,使其可以出 現在不同的目錄中,既可以使文件或目錄共享,又可以節省磁碟空間。 例如:% ln -s filename linkname
顯示日期
命令:date
例如:% date
顯示日曆
命令:cal (calendar)
格式:cal [month] year
功能:顯示某年內指定的日曆 例如:% cal 1998
顯示文件頭部
命令:head
格式:head [option] filename
功能:顯示文件的頭部 選項:預設 顯示文件的頭10行。 -i 顯示文件的開始 i行。 例如:% head filename
顯示文件尾部
命令:tail
格式:tail [option] filename
功能:顯示文件的尾部 選項:預設 顯示文件的末10行。 -i 顯示文件最後 i行。 +i 從文件的第i行開始顯示。 例如:% tail filename
顯示用戶標識
命令:id
格式:id [option] [user]
功能:顯示用戶標識及用戶所屬的所有組。 選項:-a 顯示用戶名、用戶標識及用戶所屬的所有組 注釋: 例如:% id username
查看當前登錄的用戶
命令:users
顯示都誰登錄到機器上
命令:who
格式:who
功能:顯示當前正在系統中的所有用戶名字,使用終端設備號,註冊時間。 例如:% who
顯示當前終端上的用戶名
命令:whoami
格式:whoami
功能:顯示出當前終端上使用的用戶。 例如:% whoami
尋找文件
命令:find
格式:find pathname [option] expression
功能:在所給的路經名下尋找符合表達式相匹配的文件。 選項: -name
表示文件名 -user
用戶名,選取該用戶所屬的文件 -size
按大小查找,以block為單位,一個block是512B -mtime n
按最後一次修改時間查找,選取n天內被修改的文件
-perm
按許可權查找 -type
按文件類型查找 -atime
按最後一次訪問時間查找
例如:% find ./ -name '*abc*' -print
搜索文件中匹配符
命令:grep
格式:grep [option] pattern filenames
功能:逐行搜索所指定的文件或標準輸入,並顯示匹配模式的每一行。 選項:-i
匹配時忽略大小寫
-v
找出模式失配的行
例如:% grep -i 'java*' ./test/run.sh
統計文件字數
命令:wc [option] filename
功能:統計文件中的文件行數、字數和字元數。 選項:-l
統計文件的行數
-w
統計文件的單詞數 -c
統計文件的字元數 注釋:若預設文件名則指標準輸入 例如:% wc -c ./test/run.sh
顯示磁碟空間
命令:df (disk free)
格式:df [option]
功能:顯示磁碟空間的使用情況,包括文件系統安裝的目錄名、塊設備名、總 位元組數、已用位元組數、剩餘位元組數佔用百分比。 選項:
-a
:顯示全部的檔案系統和各分割區的磁碟使用情形 -i
:顯示i -nodes的使用量 -k
:大小用k來表示 (默認值) -t
:顯示某一個檔案系統的所有分割區磁碟使用量 -x
:顯示不是某一個檔案系統的所有分割區磁碟使用量 -T
:顯示每個分割區所屬的檔案系統名稱 -h
: 表示使用「Human-readable」的輸出,也就是在檔案系統大小使用 GB、MB 等易讀的格式。 注釋: 例如:% df -hi
查詢檔案或目錄的磁碟使用空間
命令: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
表示要以數字排序法進行反向排序。
顯示進程
命令:ps
格式:ps [option]
功能:顯示系統中進程的資訊。包括進程ID、控制進程終端、執行時間和命令。 選項:
-a
顯示所有進程資訊 -U
uidlist 列出這個用戶的所有進程 -e
顯示當前運行的每一個進程資訊 -f
顯示一個完整的列表 -x
顯示包括沒有終端控制的進程狀況 。 注釋: 例如:% ps -ef
% ps -aux
然後再利用一個管道符號導向到grep去查找特定的進程,然後再對特定的進程進行操作。
終止進程
命令:kill
格式:kill [option] pid
功能:向指定的進程送訊號或終止進程。kill指令的用途是送一個signal給某一個process, 因為大部份送的都是用來殺掉 process 的 SIGKILL 或 SIGHUP ,因此稱為 kill 選項:-9
強行終止進程 注釋:pid
標示進程號,可由ps
命令得到。 例如:% kill -9 pid
你也可以用 kill -l
來察看可代替 signal 號碼的數目字。kill 的詳細情形請參閱 man kill。
查看自己的IP地址
命令:ifconfig
格式:ifconfig -a
查看路由表
命令:netstat
格式:netstat -rn
遠程登錄
命令:telnet
格式:telnet hostname
文件傳輸
命令: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
查看自己的電子郵件
命令:mailx
格式:mailx
選項: delete
刪除 next
下一個 quit
退出 reply
回復
回憶命令
命令:history
格式:history
功能:幫助用戶回憶執行過的命令。 例如:% history
網上對話
命令:talk
格式:talk username
功能:在網上與另一用戶進行對話。 選項: 注釋:對話時系統把終端分為上下兩部分,上半部顯示自己鍵入資訊,下半部 顯示對方用戶鍵入的資訊。鍵入delete或Ctrl+C則結束對話。 例如:% talk username
允許或拒絕接受資訊
命令:mesg (message)
格式:mesg [n/y]
功能:允許或拒絕其它用戶向自己所用的終端發送資訊。 選項: n
拒絕其它用戶向自己所用的終端寫資訊 y
允許其它用戶向自己所用的終端寫資訊(預設值) 注釋: 例如:% mesg n
給其他用戶寫資訊
命令:write
格式:write username [ttyname]
功能:給其他用戶的終端寫資訊。 選項: 注釋:若對方沒有拒絕,兩用戶可進行交談,鍵入EOF
或Ctrl+C
則結束對話。 例如:write username
創建、修改、刪除用戶和群組
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
啟動、關閉防火牆
永久打開或則關閉
chkconfig iptables on chkconfig iptables off
即時生效:重啟後還原
service iptables start service iptables stop
或者:
/etc/init.d/iptables start /etc/init.d/iptables stop
啟動VSFTP服務
即時啟動:/etc/init.d/vsftpd start
即時停止:/etc/init.d/vsftpd stop
開機默認VSFTP服務自動啟動: 方法一:(常用方便)
[root@localhost etc]# chkconfig –list|grep vsftpd ( 查看情況) vsftpd :off :off :off :off :off :off :off [root@localhost etc]# chkconfig vsftpd on (執行ON設置)
方法二:
修改文件 /etc/rc.local , 把行/usr/local/sbin/vsftpd & 插入文件中,以實現開機自動啟動
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