執行後臺任務
nohup ~/bin/xxx.sh &
複製程式碼
執行 SpringBoot 的jar包:
nohup java -jar http_request_tool-0.0.1-SNAPSHOT.jar &
命令格式: nohup <命令> &
定時器
編輯定時器:
crontab -e
複製程式碼
範例:*/20 * * * * /Users/whuanghkl/study/cron/todo.sh
每20分鐘執行一次
20 7 * * * /home/whuang/software/auto_start_tomcat.sh
每天的上午7點20分執行指令碼
30 18 * * * /home/whuang/software/auto_innerSign.sh
每天的下午6點
每月末執行, 00 23 28-31 * * [ date -d tomorrow +%e
-eq 1 ] && /bin/bash youshell.sh
獲取命令列引數
if [ x"$1" == x"i" ];then
echo "ignore io0007-0.0.1-SNAPSHOT.jar"
else
cd /Users/whuanghkl/code/mygit/io0007
mvn install
result2=$?
echo $result2
if [ $result2 -ne 0 ];then
echo "error."
exit 4
fi
fi
複製程式碼
示例:
格式 | 含義 | |
---|---|---|
1|命令列的第一個引數||| 1 | 命 令 行 的 第 一 個 參 數 | | | | 命令列的第二個引數 |
建立使用者
1,建立使用者組
groupadd whuang
2,建立使用者
useradd whuang -g whuang
-g 指定使用者組
3,設定使用者密碼
passwd whuang
判斷檔案是否存在
test -f 判斷是否存在test -f ~/.bash_profile && source ~/.bash_profile1
獲取檔案大小
du -sh /Users/whuanghkl/.share_http.properties*
防止別人攻擊
檢視攻擊的ip
linux命令:
grep "authentication failure" /var/log/secure
防止別人嘗試登入
/etc/hosts.deny
編輯vim /etc/hosts.deny ,新增:
sshd:115.28.240.
sshd:89.163.134.
sshd:112.74.113.
sshd:89.34.24.
搜尋文字檔案
grep -rn "*ROLE_SPECIFY*" --exclude-dir "node_modules" ./
ROLE_SPECIFY是要搜尋的關鍵字
重要引數說明:
1. --colour:指定搜尋的關鍵字的顏色,取值範圍:never',
always' or `auto'
2. --exclude-dir:要排除在外的目錄名稱,
Note that
--exclude-dir patterns take priority over --include-dir patterns
3. -i, --ignore-case:忽略大小寫;
4. -n, --line-number:顯示行號 ;
5. -R, -r, --recursive:遞迴搜尋目錄及子目錄;
6. -v, --invert-match:反轉,所有不匹配的行;
7. -w, --word-regexp:作為整個單詞來搜尋
8. -E:使用正規表示式:例如:
tail -f ../../logs/catalina.out|grep -E "sameFileName|isEscapestr"
注意:必須是大寫的E
檢視後臺日誌檔案
目標 :
檢視日誌檔案中,所有空指標異常發生的位置,及前後10行,
前10行是為了看到請求的詳細資訊(介面 ,引數等),
後10行是為了檢視異常發生的程式碼行號,定位程式碼bug.
命令:
grep -rnw "java.lang.NullPointerException" house_error.log |cut -d ':' -f 1 |xargs -n1 -i expr {} + 10 |xargs -i awk '{if(NR>={}-16 && NR<={})print NR":"$0;if(NR=={}) print "\n\n" }' house_error.log
複製程式碼
- dollar 0:表示整行;
- dollar 1:表示以分隔符分割之後的第一個欄位(域);
- dollar 2:表示以分隔符分割之後的第二個欄位(域); 分隔符:預設是空格,換行,\Tab
awk 引數說明 :
- -f(小寫):指定awk指令碼;
- -F(大寫):指定分隔符;
- -v:指定變數
awk的內建常量
在awk中有很多的系統變數,這些系統變數在我們編寫awk指令碼的時候會經常使用到,我現在將經常使用到的系統變數列舉出來,並做簡要說明。