Linux常用基本命令篇(一)
阿新 • • 發佈:2022-03-31
一、Linux常用基本命令篇(一)
1、cat error.log | grep -C 5 'nick' //顯示error.log檔案包含'nick'關鍵詞的上下各5行的內容 2、less error.log //分頁查詢 3、less +100g xx.log //直接定位到第100行,並且為進行分頁檢視 Shift+G //先執行less,然後執行該命令可移動到最後一行,這個直接就是最後一行,從尾到頭 Ctrl+G //檔案第一條開始,從頭到尾 按F鍵 //是向前檢視 forword 按B鍵//是向後檢視 backword 4、tail -f xx.log //將檔案末尾的最後10行進行輸出並持續監視末尾,若有新內容寫入,則會繼續讀取重新整理輸出 5、find 路徑 -name 檔名 //在指定路徑下,根據檔名查詢某檔案的儲存位置(返回路徑),iname為忽略大小寫 6、locate 檔名 //在當前目錄查詢某檔案 7、grep --color “key” xxx.log //根據key模糊查xxx.log,--color表示將關鍵詞進行高亮顯示 8、grep –i “key” xxx.log //帶上-i,關鍵詞忽略大小寫9、grep -F “key” xxx.log //帶上-F,關鍵詞忽略正則匹配 10、grep -m 最大行數 //最多返回行數 11、grep -E "字串1|字串2|字串3" 檔名 //多條件搜尋,grep -E等價於egrep 12、zgrep “key” //支援壓縮包檢視,也像grep一樣支援一般檔案內容篩選檢視 13、zgrep -i -F -m 200 admin admin.log*2021-12-01* | awk '$2>"13:33" && $2<"13:35"' //限制行數200行,忽略大小寫,忽略正則匹配,查詢帶”admin”關鍵詞2分鐘內的
日誌(假設當前時間為13:35,2分鐘前時間為13:33),查詢日誌檔案為admin.log-2021-12-01,*為萬用字元代表0-n個字元14、awk '$2>"beginTime" && $2<"endTime"' xxx.log //查詢某段時間範圍內的日誌內容 //awk執行過程增加條件邏輯控制 在 awk中exit的執行有兩種情況:當exit語句不在 END中時,任何操作中的exit命令表現得如同到了檔案尾,所有模式或操作執行將停止,END模式中的操作被執行。而出現在END中的exit將
導致程式終止。退出狀態為0代表成功,非零值表示出錯。 awk '{if($2>3 && $2<5) exit;else print $0,NR}' file1 //滿足if條件就執行exit退出,否則輸出當前行,awk是讀一行=>處理一行=>輸出一行。 15、awk -F “:” '{print $2,$4}' test.txt //讀取test.txt,以":"作為分隔符,列印第2和第4個數據,不帶-F預設以空格為分隔符,第一個資料從$1開始,$0代表整行資料;
多個分隔符,加入以空格或:作為分隔符,使用-F '[ :]'或-F '[ :]+'(+的作用時,把多個空格或多個:也當作是一個空格符);注意:-F '[[]]',這裡內部的[]會被當成整個分隔符而
不是或的關係 16、sed -n '/11:07:15/,/11:09:15/p' xxx.log //查詢xxx.log檔案裡11:07:15-11:09:15範圍的內容,注意:如果時間點不存在,則可能查不到內容,建議使用awk命令 17、gzip 檔名 //將某檔案壓縮為 檔名.gz 18、gzip -dv 檔名 //將某檔案解壓為檔名,並且列出詳細資訊 19、zip -q -r xxx.zip /home/html //將/home/html目錄下所有檔案和資料夾壓縮為xx.zip檔案,-q為不顯示執行過程,-r為遞迴處理目標目錄下的所有子資料夾 20、unzip -v xxx.zip //通過-v檢視xxx.zip包含的檔案內容資訊,但不進行解壓 21、unzip -d /home/html xxx.zip //將xxx.zip進行解壓,通過-d引數將解壓後的檔案儲存在目錄/home/html 22、tar -tzvf xxx.tar.gz //檢視xxx.tar.gz壓縮包裡包含的檔案內容資訊,但不進行解壓 23、tar -czvf xxx.tar.gz 檔名 //將 指定檔案進行壓縮為xxx.tar.gz 24、tar -xzvf xxx.tar.gz //將xxx.tar.gz壓縮包進行解壓,-zxvf引數可統一對目錄進行壓縮、解壓 25、wget http://nginx.org/download/nginx-1.6.2.tar.gz //從指定地址下載資源包 26、sh -x xxx.sh //執行指令碼xxx.sh,-x表示將每步執行過程顯示出來 27、sed -i '3i xxxx' test.sh //給tesh.sh檔案的第3行加入xxxx語句 echo "new line" >> xxx.sh //給xxx.sh檔案裡的末尾加入一行內容 sed -i 's/\r$//' xxxxxxx.sh //把檔案中出現的所有\r符號替換為空白,用於解決在windows編輯sh檔案時換行使用的是\n\r而在linux中的換行符使用的是\n,造成
執行sh檔案時出現“/bin/bash^M: 壞的直譯器: 沒有那個檔案或目錄”錯誤 28、mkdir -p xxx/xx/xx //-p的作用為確保每一級的目錄存在,如果不存在則進行建立 29、 //chmod:修改目錄或檔案許可權 chmod -R 764 xxx //-R表示對xxx目錄下所有的子目錄以及子檔案進行迭代修改許可權,設定許可權為111 110 100,即目錄擁有者許可權設定為:可讀可寫可執行,同組的其它使用者
許可權設定為:可讀可寫不可執行,其它組使用者許可權設定為:可讀不可寫不可執行 //chown:修改指定檔案原有的擁有者和關聯組(該命令只有超級使用者才能使用) chown -f -R ra:ragroup xxx //-R表示對xxx目錄下所有的子目錄及檔案進行迭代設定擁有者為ra,關聯組為ragroup,-f為忽略錯誤資訊 chown root /var/run/httpd.pid //把指定的pid檔案的擁有者設定為root //chgrp:設定所屬群組(非超級使用者可使用,只要該使用者是該組的一員) chgrp -v bin test.sh //-v表示不顯示執行過程,此命令表示把test.sh的所屬組更改為bin組。通過ll命令檢視,由左到由的第四個引數代表的是該檔案所屬組,
例:(檔案屬性格式為:dr__r__r__,第一個符號如果為d代表該檔案是一個目錄,如果是-代表是檔案,如果是l代表是一個連結) 檔案屬性 檔案硬連結數 所屬使用者 所屬組 檔案大小 建檔日期 檔名 //useradd:新增使用者 useradd lik //新增新使用者lik passwd username //修改指定使用者username的密碼,然後會要求輸入兩次新密碼來完成密碼設定 useradd -g testgroup lik //-g表示把使用者lik加入到testgroup組 //groupadd:新增組 groupadd sdf //新增一個新組sdf,系統組資訊統一儲存於/etc/group groupadd -g 344 runoob //新增一個新組runoob,-g表示並設定它的組id為344 //檢視當前系統下的所有使用者和使用者組資訊 cat /etc/passwd //檢視所有使用者 cat /etc/group //檢視所有使用者組 groups user //檢視使用者user的所屬組 id user //查詢該使用者的相關id資訊 //修改使用者的所屬組 usermod -g 使用者組 使用者名稱 //強制修改使用者所在組 usermod -a -G 使用者組 使用者名稱 //把某個使用者新增進某個組 30、 ls |more //每按一下空格,檔案列表就會進入下一頁顯示 ls -lh //-l顯示檔案大小資訊,-h顯示檔案大小的單位 du -sh //du命令可顯示檔案使用磁碟情況,-s只顯示總和大小,-h方便閱讀格式的檢視 ps -ef |grep xxx //-e顯示所有程序資訊,-f全格式顯示,該命令為查詢xxx的程序資訊並且全格式顯示 //shell中使用符號“$?”來顯示上一條命令執行的返回值,如果為0則代表執行成功,其他表示失敗。 wc -l xxx //顯示xxx檔案總行數