1、Linux文件處理常用命令
grep -ri“xxx” 文件名(查找文件內包含的文本)
find . -name 文件名(查找文件)
vi 文件名 或 touch 文件名 或 >文件名(新建文件的三種方式)
rm -f 文件名(刪除文件)
rm -rf 目錄(刪除文件夾)
2、vi命令
vi命令模式:一般模式、指令模式、編輯模式
一般模式>>
移動跳轉: 跳到文本開頭/結尾 >> gg G、[[ ]]、 :0 :9999
跳到行頭/尾>> ^$
上下左右移動>>j k h l
複製粘貼: y yy yw y^ y$ yG p
刪除: x dd cw
撤回:u(undo)
指令模式>>
搜索: /xxx 自上而下 ?xxx 自下而上
n :下一個 N:上一個
:1,$s/word1/word2/g 替換
:set nu 顯示行號
:set ic 忽略大小寫
:set fileencoding 顯示文件編碼
編輯模式>>
i,o,a(插入)、R(取代)
3、shell - 基礎
(1)執行規則
第一行 #!/bin/bash 在宣告這個 script 使用的 shell 名稱
除了第一行的『 #! 』是用來宣告 shell 的之外,其他的 # 都是『註解』用途
命令的運行是從上而下、從左而右的分析與運行
命令、選項與參數間的多個空白都會被忽略掉,空白行將被忽略掉
如果讀取到一個 Enter 符號 (CR) ,就嘗試開始運行該行命令;如果一行的內容太多,則可以使用『 \[Enter] 』來延伸至下一行
(2)符號
單引號:所見即所得,即原樣打印,不會對變量解析
雙引號:所見非所得,會對變量解析後再輸出(常用於框住某個範圍,比如內部有空格場景時)
反引號(piao號):命令替換,通常用於把命令輸出結果傳給變量中(功能同$( ))
反斜槓:轉義字符
(3)參數
${param} 或 $param 參數使用
$0 命令本身
$1 第一個參數 。。。$9第9個參數,後面的參數要???
$# 參數的總個數
$* 獲取所有的參數
$? 獲取上一命令執行結果,0-成功,1及其他-失敗
(4)時間 date
>>date + "%Y-%m-%d %H:%M:%S"
>>2019-10-18 17:00:00
>>date -d 1day + "%Y-%m-%d %H:%M:%S"(增加一天)
>>date -d -1day + "%Y-%m-%d %H:%M:%S"(減去一天)
>>date -d "-1day -1hour -1min" + "%Y-%m-%d %H:%M:%S"(減去一天一小時一分鐘)
4、shell - 數據流重定向
標準輸入 (stdin) :代碼爲 0 ,使用 < 或 << ;
標準輸出 (stdout):代碼爲 1 ,使用 > 或 >> ;
標準錯誤輸出(stderr):代碼爲 2 ,使用 2>(中間無空格) 或 2>> ;
垃圾桶黑洞裝置:/dev/null
啓動應用(後臺模式運行)>> nohup ./start.sh >./logs/start.log 2>&1 &
例:清空文件內容>> echo > insert_olc_trading_day_info.sh 或 echo ""> insert_olc_trading_day_info.sh
標準輸出到test.sh,錯誤輸出到test2.sh>> cat insert_olc_trading_day_info.sh>test.sh 2>test2.sh
標準輸出到test.sh,錯誤輸出也重定向到test.sh>> cat insert_olc_trading_day_info.sh>test.sh 2>&1
將異常吞掉不做任何處理>>cat insert_olc_trading_day_info.sh>/dev/null
4、其他常用:
查看系統結構>>pstree
查看歷史執行記錄>>history
查看所有變量(環境變量+自定義變量)>>set 刪除變量>>unset
定義環境變量>>export
增加文件權限>>chmod +x insert_olc_trading_day_info.sh
改變文件擁有者>>chown user insert_olc_trading_day_info.sh
查看文件夾大小>>du --max-depth=1 -h
分析磁盤使用情況>>df -h 文件目錄