1. 程式人生 > >java工程師常用的Linux命令(crontab,netstat,service等命令)

java工程師常用的Linux命令(crontab,netstat,service等命令)

開發過程中,難免會需要部署,所以也需要掌握一些基本的Linux命令,那些簡單的ls,touch,mkdir,mv,cp等等這些就不列舉了。

1.netstat:顯示各種網路相關資訊

這是一個非常實用的命令,當我們要檢視某個埠是否開放的時候,就可以通過這個命令查詢。此外,這個命令還可以用於顯示路由表,介面狀態 (Interface Statistics),masquerade 連線,多播成員 (Multicast Memberships) 等等。

常用的引數:

-a (all)顯示所有埠 (包括監聽和未監聽的),預設不顯示LISTEN相關
-t (tcp)僅顯示tcp相關連線
-u (udp)僅顯示udp相關連線
-n 拒絕顯示別名,能顯示數字的全部轉化成數字
-l 列出所有處於監聽狀態的 Sockets

-p 在 netstat 輸出中顯示 PID 和程序名稱
-r  顯示核心路由資訊
-e 顯示擴充套件資訊,例如uid等
-s 顯示所有埠的統計資訊
-c 每隔一個固定時間,執行該netstat命令

提示:LISTEN和LISTENING的狀態只有用-a或者-l才能看到

常用的組合:

列出所有 tcp /udp埠 netstat -at/-au

只列出所有監聽 tcp /udp埠 netstat -lt/lu

顯示 TCP 或 UDP 埠的統計資訊 netstat -st/su

查詢某個程式執行的埠,比如這裡是查詢ssh執行的埠,有些需要root許可權才可以檢視     netstat -ap | grep ssh

找出執行在指定埠的程序,比如這裡是查詢80埠執行的程序   netstat -an | grep ':80'

2.檢視程序  ps -aux/ps -ef

想要檢視某個程式或者服務是否啟動,只需要使用這個命令即可:  ps -aux/ps -ef  | grep   servicename

即ps -aux/ps -ef  然後管道 |  ,然後grep進行搜尋 。管道 | 即將上一個命令的輸出結果作為下一個命令的輸入結果,比如說這裡的grep就是在上個命令的結果中進行搜尋。

3.服務相關的命令   service

通過這個命令可以啟動/停止/檢視某個服務的狀態,使用 service  serviceName start/stop/status

比如:service tomcat status 檢視Tomcat的狀態;service tomcat start  啟動Tomcat ;  service tomcat stop    停止Tomcat

4.定時任務  crontab

所謂的定時任務,即認為地設定一個時間執行某個任務。使用crontab可以在指定的時間執行一個shell指令碼或者一系列Linux命令。Linux下的任務排程分為兩類,系統任務排程和使用者任務排程。

系統任務排程:系統週期性所要執行的工作,比如寫快取資料到硬碟、日誌清理等。在/etc目錄下有一個crontab檔案,這個就是系統任務排程的配置檔案。

首先,可以先用crontab -l檢視crontab是否安裝,然後再用上面的命令檢視crontab服務的狀態,如果還沒有啟動的話可以先啟動。

以下是 crontab 檔案的格式:

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script} 

  • minute: 區間為 0 – 59 
  • hour: 區間為0 – 23 
  • day-of-month: 區間為0 – 31 
  • month: 區間為1 – 12. 1 是1月. 12是12月. 
  • Day-of-week: 區間為0 – 7. 週日可以是0或7.

在以上各個欄位中,還可以使用以下特殊字元:

星號(*):代表所有可能的值,例如month欄位如果是星號,則表示在滿足其它欄位的制約條件後每月都執行該命令操作。

逗號(,):可以用逗號隔開的值指定一個列表範圍,例如,“1,2,5,7,8,9”

中槓(-):可以用整數之間的中槓表示一個整數範圍,例如“2-6”表示“2,3,4,5,6”

正斜線(/):可以用正斜線指定時間的間隔頻率,例如“0-23/2”表示每兩小時執行一次。同時正斜線可以和星號一起使用,例如*/10,如果用在minute欄位,表示每十分鐘執行一次。

應用例項:

如果你想每天執行run.sh這個指令碼的話,可以用

crontab –e 0 5 * * * /root/bin/run.sh  ,這樣的話,就會在每天的5點執行這個指令碼

此外,還可以定時執行某個命令

crontab –e 0 5 * * * service tomcat restart     每天5點重啟Tomcat