1. 程式人生 > 其它 >Linux常用命令一

Linux常用命令一

目錄

1、查詢程序及其關閉程序

ps -ef | grep java (先查java程序ID)

kill -9 PID(生產環境謹慎使用)

2、nohup命令

nohup命令:如果你正在執行一個程序,而且你覺得在退出帳戶時或者關閉客戶端該程序還不會結束,那麼可以使用nohup命令。該命令可以在你退出帳戶/關閉終端之後繼續執行相應的程序。在預設情況下該作業的所有輸出都被重定向到一個名為nohup.out的檔案中。

nohup command > myout.file 2>&1 &

在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;

2>&1是將標準錯誤(2)重定向到標準輸出(&1),標準輸出(&1)再被重定向輸入到myout.file檔案中。

3、nohup和&的區別

& : 指在後臺執行

nohup : nohup執行命令可以使命令永久的執行下去,和使用者終端沒有關係,例如我們斷開SSH連線都不會影響他的執行,注意了nohup沒有後臺執行的意思;&才是後臺執行

&是指在後臺執行,但當用戶退出(掛起)的時候,命令自動也跟著退出;nohup可以使用Ctrl+C結束掉,而&使用Ctrl+C則結束不掉,nohup不受終端關閉,使用者退出影響,而&則受終端關閉,使用者退出影響。結合起來用就是

nohup COMMAND &

這樣就能使命令永久的在後臺執行

對應的也就是:

>/dev/null 2>&1

這個得分成兩個部分來進行操作

1. >/dev/null

這條命令的作用是將標準輸出1重定向到/dev/null中。 /dev/null代表linux的空裝置檔案,所有往這個檔案裡面寫入的內容都會丟失,俗稱“黑洞”。那麼執行了>/dev/null之後,標準輸出就會不再存在,沒有任何地方能夠找到輸出的內容。

2. 2>&1

這條命令用到了重定向繫結,採用&可以將兩個輸出繫結在一起。這條命令的作用是錯誤輸出將和標準輸出同用一個檔案描述符,說人話就是錯誤輸出將會和標準輸出輸出到同一個地方。

linux在執行shell命令之前,就會確定好所有的輸入輸出位置,並且從左到右依次執行重定向的命令,所以>/dev/null 2>&1的作用就是讓標準輸出重定向到/dev/null中(丟棄標準輸出),然後錯誤輸出由於重用了標準輸出的描述符,所以錯誤輸出也被定向到了/dev/null中,錯誤輸出同樣也被丟棄了。執行了這條命令之後,該條shell命令將不會輸出任何資訊到控制檯,也不會有任何資訊輸出到檔案中

那麼對應的>/dev/null 2>$1鎖代表的意思就是既不將資訊輸入到顯示屏上,也不將資訊輸出到任何檔案中

nohup /home/ubgpu/java/jdk/jdk1.8.0_51/bin/java -jar -Xms2g -Xmx2g -Xmn496m -XX:SurvivorRatio=6 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapDump6.hprof -Dspring.profiles.active=cj reviewer-1.0.0.jar > /dev/null 2>&1 &

符合上面的規範

參考地址1:https://www.cnblogs.com/ultranms/p/9353157.html

參考地址2:https://www.cnblogs.com/myseries/p/11214977.html

4、如何檢視某個埠的連線情況?

netstat -lap | fgrep port

5、根據日誌的時間來定位到某個時間節點的資訊

sed '/2022-03-15 12:00:00/,/2022-03-15 12:10:00/p' out.log

sed表示的是stream editor,表示的是過濾和轉換的流編輯器

6、在檔案中搜索得到指定的內容

grep '要搜尋內容' 執行檔名稱  -i(忽略大小寫) -n(顯示行數)
千里之行,始於足下。不積跬步,無以至千里