Shell中的工作常用命令總結

2021-10-01 07:24:40 字數 4220 閱讀 1319

1.cat命令不僅可以讀取檔案、拼接資料,還能夠從標準輸入中讀取

echo

"sss"

|cat - out.txt

「-」被作為stdin文字的檔名

2.壓縮相鄰的空白行

cat -s 1.txt
3.用cat命令的-t選項能夠將製表符標記成^t

cat -t 1.txt
4.find命令的工作方式如下:沿著檔案層次結構向下遍歷,匹配符合條件的檔案,執行相應的操作。預設列印出檔案和目錄

find

. -print

.指定當前目錄」. . 「指定父目錄。print選項使用\n(換行符)分隔輸出每乙個檔案或目錄名。而-print0使用空字元『\0』來分隔。

5.根據檔名或正規表示式進行搜尋

find a/a -name '*.txt' -print
6.find命令支援邏輯操作符。-a-and選項可以執行邏輯與操作,-o-or可以執行邏輯或操作。

7.否定引數

find

.! -name "*.txt" -print

8.根據檔案型別搜尋

只列出所有的目錄(包括子目錄)

find

. -type d -print

列出普通檔案

find

. -type f -print

9.根據檔案的時間戳進行搜尋,unix/linux檔案系統中的每乙個檔案都有3種時間戳。

訪問時間(-atime):使用者最近一次訪問檔案的時間。

修改時間(-mtime):檔案內容最後一次被修改的時間。

變化時間(-ctime):檔案元資料(例如許可權或所有權)最後一次改變的時間

列印出在最近7天內被訪問過的所有檔案。

find

. -type f -atime -7 -print

列印出恰好在7天前被訪問過的所有檔案。

find

. -type f -atime 7 -print

列印出訪問時間超過7天的所有檔案。

find

. -type f -atime +7 -print

10.–newer選項可以指定乙個用於比較修改時間的參考檔案,然後找出比參考檔案更新的(更近的修改時間)所有檔案。

找出比1.txt修改時間更近的所有檔案

find .

-type f -newer 1.txt -print

11.基於檔案許可權和所有權,列印出許可權為644的檔案

find .

-type f -perm 755 -print

12.刪除匹配的檔案

find命令的-delete選項可以刪除所匹配的檔案。

find .

-type f -name "*.session"

-delete

13.xargs,將多行輸入轉換成多行輸出

cat 1.txt | xargs
14.xargs的-n選項可以限制每次呼叫命令時用到的引數個數。

cat 1.txt | xargs -n 3
分隔多行,每行3個元素。

15.統計程式檔案的行數。

find -

type f -name "*.sh"

-print0 | xargs -0 wc -l

16.要將輸入中的字元由大寫轉換成小寫

echo

"ddffr**d df"

| tr 'a-z'

'a-z'

17.在tr中利用集合的概念,可以輕鬆地將字元從乙個集合對映到另乙個集合中。

echo 12345 | tr '0-9'

'9876543210'

——87654 #已加密

18.tr命令可以用來加密。

echo ge pnzr, ge fnj, ge pbadhrerq.

| tr 'a-za-z'

'n-za-mn-za-m'

19.tr有乙個選項-d,可以通過指定需要被刪除的字元集合,將出現在stdin中的特定字元清除掉:

echo

"hello 123 world"

| tr -d '0-9'

——hello world

20.將不在0-9字元替換成空格

echo hello 1 char 2 next 4 | tr -c '0-9'

' '

—— 1 2 4

21.壓縮字元,tr命令能夠完成很多文字處理任務。例如,它可以刪除字串中重複出現的字元。基本實現形式如下

echo

"a ddd re ?cd d0"

| tr -s ' '

——a ddd re ?cd d0

23.校驗和程式用來從檔案中生成相對較小的唯一金鑰。

24.按照數字順序排序

sort

-n 1.txt

按照逆序排序:

sort

-r 1.txt

25.有時文字中可能會包含一些像空格之類的多餘字元。如果需要忽略標點符號並以字典排序,可以使用:

sort

-bd unsorted.txt

其中,選項-b用於忽略檔案中的前導空白行,選項-d用於指明以字典序進行排序。

26.uniq命令可以從給定輸入中找出唯一的行,報告或刪除那些重複的行,只能用於排過序的資料。

uniq sorted 1.txt

sort 1.txt | uniq

27.只顯示唯一的行(在輸入檔案中沒有重複出現過的行)

uniq -u 1.txt
28.統計各行在檔案**現的次數

sort 1.txt | uniq -c
29.找出重複的行

sort 1.txt | uniq -d
30.通過指定分割大小,可以將100kb的檔案分成一系列10kb的小檔案。在split命令中,除了k(kb),我們還可以使用m(mb)、g(gb)、c(byte)和w(word)。

split -b 2k timing.log
31.借助%操作符可以從name.extension這種格式中提取name部分。

32.#操作符可以提取出副檔名

33.匹配:m// (可以省略m,直接寫成/regexp/)

替換:s///

轉化:tr///

34.將字尾修改:

rename -n 's/png/png/'

*.png

將大寫改為小寫

rename 'y/a-z/a-z/'
去掉檔案字尾名:

Shell常用命令總結

shell常用命令總結 1 ls命令 列出檔案 ls la 列出當前目錄下的所有檔案和資料夾 ls a 列出當前目錄下所有以 a字母開頭的檔案 ls l txt 列出當前目錄下所有字尾名為 txt的檔案 2 cp命令 複製 cp a.txt b.txt 把檔案 a的內容複製到b檔案 cp a.txt...

shell 常用命令總結

bin bash if 1 gt 90 then echo good,1 elif 1 gt 70 then echo ok,1 else echo bad,1 fiexit 0 for day in sun mon tue wed thu fri sat doecho day done 如果列表被...

Shell常用命令總結

shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。filename filename echo filename echo ...