find命令 echo命令 vim替換 grep

2021-07-04 23:42:02 字數 2813 閱讀 6071

統計當前目錄及其子目錄下面所有檔案的行數:find . -name "*" | xargs wc -l 或 wc -l $(find . -name "*")

find命令

find [起始目錄] 尋找條件 查詢的字串 操作

起始目錄: 

~ 表示$home目錄

. 表示當前目錄

/ 表示根目錄 

尋找條件(常用的):

-name:按照名字查詢

-perm:安裝許可權查詢

-prune:不再當前指定的目錄下查詢

-user:檔案屬主來查詢

-group:檔案所屬組來查詢

-nogroup:查詢無有效所屬組的檔案

-nouser:查詢無有效屬主的檔案

-type:按照檔案型別查詢 

-type x 查詢型別為 x 的檔案,x 為下列字元之一:

b 塊裝置檔案

c 字元裝置檔案

d 目錄檔案

p 命名管道(fifo)

f 普通檔案

l 符號鏈結檔案(symbolic links)

s socket檔案

-xtype x 與 -type 基本相同,但只查詢符號鏈結檔案。

當你想根據名字來查詢乙個目錄時,命令為:find -name 目錄名 -type d,也就是說-type d必須放在要查詢的目錄名的後面,如果放前面會報錯。

尋找條件可以是乙個用邏輯運算子 not、and、or 組成的復合條件。邏輯運 算符 and、or、not 的含義為:

(1) and:邏輯與,在命令中用「-a」表示,是系統預設的選項,表示只有當所給的條 件都滿足時,尋找條件才算滿足。例如:

find –name 』tmp』 –xtype c -user 』inin』    該命令尋找三個給定條件都滿足的所有檔案

(2) or:邏輯或,在命令中用「-o」表示。該運算子表示只要所給的條件中有乙個滿足 時,尋找條件就算滿足。例如:

find –name 』tmp』 –o –name 』mina*』  該命令查詢檔案名為』tmp』或是匹配』mina*』的所有檔案。

(3) not:邏輯非,在命令中用「!」表示。該運算子表示查詢不滿足所給條件的檔案 。例如:

find ! –name 』tmp』   該命令查詢檔案名不是』tmp』的所有檔案。

操作:print:表示將結果輸出到標準輸出。

exec:對匹配的檔案執行該引數所給出的shell命令。

形式為command {} \;,注意{}與\;之間有空格

ok:與exec作用相同,

區別在於,在執行命令之前,都會給出提示,讓使用者確認是否執行

echo命令的功能是在顯示器上顯示一段文字,一般起到乙個提示的作用。

該命令的一般格式為: echo [ -n ] 字串

其中選項n表示輸出文字後不換行;字串能加引號,也能不加引號。

功能說明:顯示文字。

語   法:echo [-ne][字串]或 echo [--help][--version]

補充說明:echo會將輸入的字串送往標準輸出。輸出的字串間以空白字元隔開, 並在最後加上換行號。

參   數:-n 不要在最後自動換行

-e 若字串中出現以下字元,則特別加以處理,而不會將它當成一般

文字輸出:

\a 發出警告聲;

\b 刪除前乙個字元;

\c 最後不加上換行符號;

\f 換行但游標仍舊停留在原來的位置;

\n 換行且游標移至行首;

\r 游標移至行首,但不換行;

\t 插入tab;

\v 與\f相同;

\\ 插入\字元;

\nnn 插入nnn(八進位制)所代表的ascii字元;

又遇到乙個好東西:

cat > test.txt << eof  建立檔案  test.txt 輸入   當輸入 eof時,結束。退出。

vim替換

":substitute"命令可以對乙個指定範圍的區域執行替換操作. 它的

通用形式如下:

:[range]substitute/old/new/[flags]

該命令將由[range]指定的行中的字串"old"替換為"new".

備註: 一般人都不會把:substitute完整拼出來, 使用它

的縮略形式":s"就可以了. 

range中 "%"指定該命令將作用於所有行上.

不指定乙個範圍的話, ":s"將只作用於當前行. 

預設情況下, ":substitute"命令只會替換一行中第一次被發現的目

標字串. 

要改變一行中所有符合的目標字串, 可以在命令後加"g"標誌加以

修飾.命令作用範圍

:1,5s/this/that/g  作用於1到5行

:54s/president/fool/ 只作用於54行

:.,$s/yes/no/  作用於當前行到最後一行,$表示最後一行。

:g/pattern/s/old/new/gc

全域性查詢pattern,對於匹配pattern的行進行後面的替換,這裡的pattern和old都可以使用正規表示式。

grep

查詢文字中出現字串1或字串2

grep -e "aaa|bbb"  ./* -r  --color=auto(以彩色顯示)

查詢文字一行中同時出現的兩個支付串

grep"jin"filename |grep"qi"--color=auto

-n:顯示查詢出來的行在檔案中的行號

find命令 echo命令

find命令 find 起始目錄 尋找條件 查詢的字串 操作 起始目錄 表示 home目錄 表示當前目錄 表示根目錄 尋找條件 常用的 name 按照名字查詢 perm 安裝許可權查詢 prune 不再當前指定的目錄下查詢 user 檔案屬主來查詢 group 檔案所屬組來查詢 nogroup 查詢...

find 命令 Linux命令篇 find命令

find name txt o name pdf print演示結果 find regex txt pdf iregex 忽略大小寫的正則 查詢所有非txt文字 find name txt print演示結果 列印出當前目錄的檔案 深度為1 find maxdepth 1 type f演示結果 5....

echo命令詳解

linux的echo命令,在shell程式設計中極為常用,在終端下列印變數value的時候也是常常用到的,因此有必要了解下echo的用法 echo命令的功能是在顯示器上顯示一段文字,一般起到乙個提示的作用。該命令的一般格式為 echo n 字串 其中選項n表示輸出文字後不換行 字串能加引號,也能不加...