Linux實戰指令

2021-08-20 09:00:33 字數 2210 閱讀 5196

實戰一

要求:將某資料夾及其子檔案中所有 readme.txt 的檔案找出來,統計檔案中包括name,age,base address等字段資訊。(因為存在重名衝突,因此需要在抓取的過程中編號來修改其名稱)

指令碼實現:

#!bin/bash

count=1

for line in $( find -name readme.txt )

do

echo "find  $"

name0=$(printf "%05d" $count)

name=$

echo $name

cp $  "readme"$name".txtnew"

(( count=count+1))

echo $count "rename ok"

done

指令碼釋義:

第一句表示由bin路徑下的bash直譯器來解釋該指令碼,第二句定義count變數,第三句for迴圈,括號內是查詢搜尋語句,$()表示執行括號內的語句,並把返回值儲存,以供查詢。第三四do,第五句列印line的值,第六句 %05d 表示至少輸出5位數字,取count的值賦給name0,第七句name=$,將name0從左到右的0~5位資料賦值給name(列如name0資料為123456,那麼name被賦值為12345,沒有6),第八句列印name;第九句重新命名;第十句自增,等同於count=$(( count+1)) 或者 let count++(count和++之間不能有空格);第十一句列印;十二句結束。

注意:語法結構:for ,do ,done;類似的還有while ,do ,done。

linux中` `、$、$( ) 、$ 有什麼區別

shell 按規則批量重新命名檔案

語句實現:find -name *.txtnew -exec grep -e name -e age -e "base address" {}  >ok.txt \;

實戰二

要求:不小心將壓縮包解壓在當前資料夾,導致目錄很亂,需要刪除解壓出來的檔案。

指令碼實現:

mkdir tmp

tar xvf *.tar -c tmp

rm -rf $(ls tmp)  (加上-r-f可以不用每次詢問)

指令碼釋義:第一句建立資料夾;第二句將tar包壓縮到指定目錄tmp;第三句刪除tmp中ls列出來的所有檔案。

實戰三

要求:檢視檔案大小

語句實現:du -h  --max-depth=4 檔名/

語句釋義:展示最大深度為4的檔案及大小,--max-depth=4最大深度為4。

實戰四

要求:將目標資料夾的windows檔案全部轉換為unix系統的檔案。

語句實現:find -iname  "*"  -exec dos2unix  {} \;

vim指令,linux指令

在normal模式 也就是按了esc 下 u 撤銷上一次操作 0 到本行的開頭 到本行第乙個字元的開頭 到本行的結尾 w 到下乙個單詞的開頭 e 到下乙個單詞的結尾 zz wq 儲存並退出 gg 到文章的開頭 3g 到文章的第三行 g 到文章的結尾 abc 在游標以後的位置找到abc這個字元。此時按...

Linux面試指令 cp指令

cp 命令用來複製檔案或者目錄,是 linux 系統中最常用的命令之一。一般情況下,shell 會設定乙個別名,在命令列下複製檔案時,如果目標檔案已經存在,就會詢問是否覆蓋,不管你是否使用 i 引數。但是如果是在 shell 指令碼中執行 cp 時,沒有 i 引數時不會詢問是否覆蓋。這說明命令列和 ...

Linux面試指令 nl指令

nl 命令在 linux 系統中用來計算檔案中行號。nl 可以將輸出的檔案內容自動的加上行號。其預設的結果與 cat n 有點不太一樣,nl 可以將行號做比較多的顯示設計,包括位數與是否自動補齊 0 等等的功能。nl 命令是 number of lines 的縮寫。1 命令格式 nl 選項 檔案 2...