幾個不錯的linux命令

2021-09-02 04:37:28 字數 4183 閱讀 1095

[b][size=large]主要內容:sort命令、uniq命令、join命令、cut命令、paste命令、split命令、tr命令、tar命令

sort 命令:

linux的sort命令就是一種對檔案排序的工具,sort命令的功能十分強大,是shell指令碼程式設計時常用的檔案排序工具;

sort命令與awk一樣,將檔案看作記錄和域進行處理,預設的域分隔符是空格符,sort命令的格式為:

sort [選項] [輸入檔案]

選項 意義

-c 測試檔案是否已經被排序 complete

-k 指定排序的域 k1 k2nr 往後加命令即可

-m 合併兩個已排序的檔案 merge

-n 根據數字大小進行排序 number

-o [輸出檔案] 將輸出寫到指定的檔案,相當於將輸出重定向到指定檔案 open

-r 將排序結果逆向 reverse

-t 改變域分隔符 eg:-t: 一般最新定義

-u 去除結果中的重複行 unique -u

uniq 命令

uniq命令用於去除文字檔案中的重複行,這類似於sort命令的-u選項

sort -u命令時,所有重覆記錄都被去掉

uniq命令去除的重複行必須是連續重複出現的行,中間不能夾雜任何其他文字行

選項 意義

-c 列印每行在文字中重複出現的次數 count

-d 只顯示有重複的記錄,每個重覆記錄只出現一次

-u 只顯示沒有重複的記錄 unique

join 命令

join—實現兩個檔案中記錄的連線操作,連線操作將兩個檔案中具有相同域的記錄選擇出來,再將這些記錄所有的域放到一行(包含來自兩個檔案的所有域)

join [選項] 檔案1 檔案2

選項 意義

-a1或-a2 除了顯示以共同域進行連線的結果外,-a1表示還顯示第1個檔案中沒有共同域的記錄,-a2則表示顯示第2個檔案中沒有共同域的記錄

-i 比較域內容時,忽略大小寫差異

-o 設定結果顯示的格式

-t 改變域分隔符

-v1或-v2 跟-a選項類似,但是,不顯示以共同域進行連線的結果

-1和-2 -1用於設定檔案1用於連線的域,-2用於設定檔案2用於連線的域

當兩個檔案進行連線時,檔案1中的記錄可能在檔案2中找不到共同域,反過來,檔案2中也可能存這在樣的記錄,join命令的結果預設是不顯示這些未進行連線的記錄的

-a和-v選項就是用於顯示這些未進行連線的記錄,-a1和-v1指顯示檔案1中的未連線記錄,而-a2和-v2指顯示檔案2中的未連線記錄

-a和-v選項的區別在於:-a選項顯示以共同域進行連線的結果,而-v選項則不顯示這些記錄

當兩個檔案進行連線時,檔案1中的記錄可能在檔案2中找不到共同域,反過來,檔案2中也可能存在這樣的記錄,join命令的結果預設是不顯示這些未進行連線的記錄的

-a和-v選項就是用於顯示這些未進行連線的記錄,-a1和-v1指顯示檔案1中的未連線記錄,而-a2和-v2指顯示檔案2中的未連線記錄

-a和-v選項的區別在於:-a選項顯示以共同域進行連線的結果,而-v選項則不顯示這些記錄

join命令預設顯示連線記錄在兩個檔案中的所有域,而且是按順序來顯示的。-o選項用於改變結果顯示的格式

join命令預設比較檔案1和檔案2的第1域,如果我們需要通過其他域進行連線,就需要使用-1和-2選項,-1用於設定檔案1用於連線的域,-2用於設定檔案2用於連線的域

join -t: -i -1 3 -2 1 teacher1.db teacher_hobby.db

cut 命令

cut命令用於從標準輸入或文字檔案中按域或行提取文字

選項 意義

-c 指定提取的字元數,或字元範圍 count

-f 指定提取的域數,或域範圍 field

-d 改變域分隔符

cut -c1-5 teacher.db

cut -d: -f1,4 teacher.db

cut -d: -f1-3 teacher.db

paste 命令

paste命令用於將文字檔案或標準輸出中的內容貼上到新的檔案,它可以將來自於不同檔案的資料貼上到一起,形成新的檔案

paste [選項] 檔案1 檔案2

選項 意義

-d 預設域分隔符是空格或tab鍵,設定新的域分隔符

-s 將每個檔案貼上成一行

- 從標準輸入中讀取資料

paste命令的「-」選項比較特殊,當paste命令從標準輸入中讀取資料時,「-」選項才起作用

eg:# ls | paste -d」 」 – - – - – #從標準輸入讀取資料

anotherres.sh array_eval2.sh colon.sh example execerr.sh #每行顯示5個檔名

execin.sh exec.sh file1 file2 forever.sh

hfile loggg loggg1 loopalias.sh matrix.sh

newfile nokillme.sh part1 part2 part3

parttotal refor.sh reif.sh selfkill.sh sleep10.sh

sleep55.sh stack.sh subsenv.sh subsep.sh subsig.sh

subsparallel.sh subspipe.sh subsvar.sh teacher.db test.sh

testvar.sh traploop.sh

split 命令

split命令用於將大檔案切割成小檔案,split命令可以按照檔案的行數、位元組數切割檔案,並能在輸出的多個小檔案中自動加上編號

split [選項] 待切割的大檔案 輸出的小檔案

選項 意義

-或-l 此兩個選項等價,都用於指定切割成小檔案的行數

-b 指定切割成小檔案的位元組

-c 與-b選項類似,但是,切割時盡量維持每行的完整性

tr 命令

tr命令實現字元轉換功能,其功能類似於sed命令,但是,tr命令比sed命令簡單

tr命令能實現的功能,sed命令都可以實現

tr [選項] 字串1 字串2 《輸入檔案

tr命令要麼將輸入檔案重定向到標準輸入,要麼從管道讀入資料,記住tr命令的輸入檔案之前需要加上「<」符號

選項 意義

-c 選定字串1中字符集的補集,即反選字串1中的字符集

-d 刪除字串1中出現的所有字元

-s 刪除所有重複出現的字串行,只保留乙個

tr命令的-d選項只需跟乙個字串,它表示刪除字串中出現的所有字元

tr -d a-z tr命令的-s選項用於刪除所有重複出現的字串行,只保留乙個,即將重複出現的字串壓縮為乙個字元spress

tr -s 「[a-z],[a-z]」 tr命令也可以加上字串1和字串2,將字串1用字串2來替換

tr 「[a-z]」 「[a-z]」 tr命令的-c選項用於選定字串1中字符集的補集,即反選字串1中的字符集contract

tr -cs 「[a-z][a-z]」 「[\012*]」

tar 命令

tar命令是linux的歸檔命令,tar命令可以將檔案或目錄打成乙個包

tar [選項] 檔名或目錄名

選項 意義

-c 建立新的包 create

-r 為包新增新的檔案 refresh

-t 列出包內容

-u 更新包中的檔案,若包中無此檔案,則將該檔案新增到包中

-x 解壓縮檔案

-f 使用壓縮檔案或裝置,該選項通常是必選的 file

-v 詳細報告tar處理檔案的資訊 view

-z 用gzip壓縮和解壓縮檔案,若加上此選項建立壓縮包, gzip

那麼解壓縮時也需要加上此選項

-f是必選選項,-c選項用於建立包

tar -cf db.all *.db

-r選項可將檔案新增到包

-t選項用於檢視包的內容

tar -tf db.all

tar命令的另一重要功能就是解壓縮,以下兩種解壓縮命令足以滿足一般應用要求:

tar -xvf 壓縮包名稱 #解壓非gzip格式的壓縮包

tar -zxvf 壓縮包名稱 #解壓gzip格式的壓縮包

tar -zxvf db.all.gz

gzip命令是linux系統中常用的壓縮工具,它可以對tar命令建立的包進行壓縮,但是,gzip所生成的壓縮包使用tar -zxvf命令就可解壓縮[/size][/b]

看到幾個不錯的列印方式,分享幾個覺得不錯的

1.console.log 我們經常會使用console.log來列印出某個變數的值或者某個實體物件,也可以傳入多個變數引數,它會按照傳入順序進行列印 2.console.warn 你可以完全使用console.warn來代替console.log方法,但前提是該條列印資訊是屬於警告級別而不是普通資...

Linux的幾個命令

1。linux下要刪除非空目錄 rm rf 目錄名 2。linux下複製遠端檔案到本地 scp oneuser 192.168.1.12 abc myfile.tar mytest 用oneuser使用者登入遠端機器,把192.168.1.12上abc資料夾的myfile.tar複製到本地的 myt...

Linux幾個命令

yy 複製游標所在這一行 4yy複製游標開始向下4行p貼上 dd剪下游標所在 行 2dd 剪下游標所在向下2行 h j k l 左 下 上 右 h當前螢幕上方 m當前螢幕中間 l當前螢幕下方 ctrl f 向下翻一頁 ctrl b 向上翻一頁 ctrl d 向下翻半頁 ctrl u 向上翻半頁 20...