常用Linux命令

2022-03-25 12:28:25 字數 4230 閱讀 1365

1,從當前目錄下的檔案中找到乙個字串

grep -rn "hello,world!" *

*: 表示當前目錄所有檔案,也可以是某個檔名

-r 是遞迴查詢

-n 是顯示行號

-r 查詢所有檔案包含子目錄

-i 忽略大小寫

下面是一些有意思的命令列引數:

grep -i pattern files :不區分大小寫地搜尋。預設情況區分大小寫,

grep -l pattern files :只列出匹配的檔名,

grep -l pattern files :列出不匹配的檔名,

grep -w pattern files :只匹配整個單詞,而不是字串的一部分(如匹配『magic』,而不是『magical』),

grep -c number pattern files :匹配的上下文分別顯示[number]行,

grep pattern1 |pattern2 files :顯示匹配 pattern1 或 pattern2 的行,

grep pattern1 files |grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。

這裡還有些用於搜尋的特殊符號: \

< 和 \>分別標註單詞的開始與結尾。

例如:

grep man *會匹配 『batman』、『manic』、『man』等,

grep '\匹配『manic』和『man』,但不是『batman』,

grep '\'只匹配『man』,而不是『batman』或『manic』等其他的字串。

'^':指匹配的字串在行首,

'$':指匹配的字串在行尾,

2,vi操作

1.跳到文字的最後一行:按「g」,即「shift+g」

2.跳到最後一行的最後乙個字元 : 先重複1的操作即按「g」,之後按「$」鍵,即「shift+4」。

3.跳到第一行的第乙個字元:先按兩次「g」,

4.跳轉到當前行的第乙個字元:在當前行按「0」。

3,curl post json請求

4,find 命令

1.命令格式:

find pathname -options [-print -exec -ok]

2.命令功能:

用於在檔案樹中查詢檔案,並作出相應的處理。

3.命令引數:

pathname: find 命令所查詢的目錄路徑。譬如用 . 來表示當前目錄,用 /來表示系統根目錄。

-print:  find 命令將匹配的檔案輸出到標準輸出。

-exec:  find 命令對匹配的檔案執行該引數所給出的 shell 命令,相應命令的形式為 』command『 {} \; ,注意 {} 和 「 \;」 之間的空格。

-ok:   和 -exec 的作用相同,只不過以一種更為安全的模式來執行該引數所給出的 shell 命令,在執行每乙個命令之前,都會給出提示,讓使用者來確定是否執行功能。

4.命令選項:

-name  按照檔名查詢檔案

-perm  按照檔案許可權來查詢檔案

-prune  使用這一選項可以使find 命令不在當前指定的目錄中查詢,如果同時使用 -depth 選項,那麼 -prune 將被 find 命令忽略

-user  按照檔案屬主來查詢檔案

-group  按照檔案所屬的組來查詢檔案

-mtime -n +n  按照檔案的更改時間來查詢檔案, - n 表示更改時間距現在 n 天以內, +n 表示檔案更改時間距現在 n 天以前。

find 命令還有 -atime和-ctime 選項,但他們都和 -m time 選項類似。

-nogroup  查詢無有效所屬組的檔案,即該檔案所屬的組在 /etc/groups 中不存在。

-nouser  查詢無有效屬主的檔案,即該檔案的屬主在 /etc/passwd 中不存在。

-newer  file1 !file2  查詢更改時間比檔案 file1 新但比檔案 file2 舊的檔案。

-type   查詢某一型別的檔案,諸如:

b  塊裝置檔案

d  目錄

c  字元裝置檔案

p  管道檔案

l  符號鏈結檔案

f  普通檔案

-size  n:[c]  查詢檔案長度為 n 塊的檔案,帶有 c 時表示檔案長度以位元組計。 -depth:在查詢檔案時,首先查詢當前目錄中的檔案,然後再在其子目錄中查詢。

-fstype   查詢位於某一型別檔案系統中的檔案,這些檔案系統型別通常可以在配置檔案 /etc/fstab 中找到,該配置檔案中包含了本系統中有關檔案系統的資訊。

-mount  在查詢檔案是不跨越檔案系統mount點

-follow   如果find 命令遇到符號鏈結檔案,就跟蹤至鏈結所指向的檔案。

-cpio  對匹配的檔案使用cpio命令,將這些檔案備份到磁帶裝置中。

另外,下面三個的區別:

-amin  n  查詢系統中最後n分鐘訪問的檔案

-atime  n  查詢系統中最後 n*24小時訪問的檔案

-cmin  n  查詢系統中最後 n 分鐘被改變檔案狀態的檔案

-ctime  n  查詢系統中最後 n*24小時被改變檔案狀態的檔案

-mmin  n  查詢系統中最後 n 分鐘被改變檔案資料的檔案

-mtime  n   查詢系統中最後 n*24小時被改變檔案資料的檔案  

5.使用例項:

例項1:查詢指定時間內修改過的檔案

命令:find  -atime  -2查詢48小時內修改過的檔案

例項2:根據關鍵字查詢

命令:find . -name  "*.log"在當前目錄查詢以 .log 結尾的檔案。  「.」 代表當前目錄

例項3:按照目錄或檔案的許可權來查詢檔案

命令:find /opt/soft/test  -perm 777   查詢/opt/soft/test 目錄下, 許可權為 777的檔案

例項4:按照型別查詢

命令:find  . -type f -name "*.log"查詢當前目錄中以 .log 結尾的 普通檔案

例項5:查詢當前所有目錄並排序

命令:find  . -type d | sort  組合命令,其實只要知道 find [path] [option] [argument] 就可以了, 「|管道」  「sort」 命令隨時可以跟任何命令組合使用。

例項6:按大小查詢檔案

命令:find . -size +1000c  -print

5,統計目錄下的檔案數

ls | wc -l
6,檢視當前程序開啟了多少控制代碼數

lsof -n|awk ''|sort|uniq -c|sort -nr|more
比較準一點的是

lsof -p 程序id > openfiles.log
或者是檢視目錄 /proc/pid/fd

7,防止火牆 centos 7 

firewall-cmd --list-ports

firewall-cmd --reload #重啟firewall

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall開機啟動

firewall-cmd --state #檢視預設防火牆狀態(關閉後顯示notrunning,開啟後顯示running)

8,檢視linux上下文切換

首先安裝sysstat:yum install sysstat  //使用的是fedora,ubuntu/debian使用apg-get

pidstat -w -g testp 1 10       //根據程序名監控上下文切換

pidstat -w -p 48863 1 10     //根據pid監控上下文切換

cswch/s: 每秒任務主動(自願的)切換上下文的次數,當某一任務處於阻塞等待時,將主動讓出自己的cpu資源。

nvcswch/s: 每秒任務被動(不自願的)切換上下文的次數,cpu分配給某一任務的時間片已經用完,因此將強迫該程序讓出cpu的執行權。

常用linux命令

一 使用者管理類命令 1 新增使用者adduser 例如 在192.168.20.11上建立使用者yyj,輸入如下命令 useradd yyj s bin csh d home yyj m 這樣建立完成使用者yyj 2 設定使用者yyj的密碼 passwd yyj 輸入2次口令,就設定密碼成功。3 ...

常用Linux命令

檢視檔案 less 檔名 shift g 最後一頁 空格 下翻半頁 上下箭頭翻行 編輯檔案 vi i 修改 wq 儲存退出 q 不儲存退出 q 不儲存強制退出 查詢檔案 find find filename 從根目錄開始查詢所有擴充套件名為.log的文字檔案,並找出包含 error 的行 find ...

常用linux命令

一 系統開關機命令 以下命令都需要root許可權 1.立即關閉計算機 系統 shutdown h now 另外兩種立即關閉方法 init 0 和 telinit 0 2.定時關機 shutdown h hours minutes 如shutdown h 12 20 將在12點20分關閉計算機 取消定...