本篇主題:詳細學(xué)習(xí)介紹cat和cut命令

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、瓊結(jié)網(wǎng)站維護、網(wǎng)站推廣。
cat 是一個 文本文件****查看 和 連接 工具
語法結(jié)構(gòu):
$ cat [選項] [文件]
參數(shù)選項:
-A, --show-all 等價于 -vET
-b, --number-nonblank 對非空輸出行編號
-e 等價于 -vE
-E, --show-ends 在每行結(jié)束處顯示 $
-n, --number 對輸出的所有行編號
-s, --squeeze-blank 不輸出多行空行
-t 與 -vT 等價
-T, --show-tabs 將跳 字符顯示為 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 顯示此幫助信息并離開
Cat主要有以下2大功能:
1、一次顯示(查看)整個文件,cat后面直接接文件名。
$ cat filename
比如以下,查看profile文件, -n參數(shù)是顯示 行
[root@localhost ~]# cat /etc/profile 注:查看/etc/目錄下的profile文件內(nèi)容;
[root@localhost ~]# cat -b /etc/fstab 注:查看/etc/目錄下的profile內(nèi)容,并且對非空白行進行編號,行號從1開始;
[root@localhost ~]# cat -n /etc/profile 注:對/etc目錄中的profile的所有的行(包括空白行)進行編號輸出顯示;
[root@localhost ~]# cat -E /etc/profile 注:查看/etc/下的profile內(nèi)容,并且在每行的結(jié)尾處附加 $ 符號;
cat 加參數(shù)-n 和nl工具差不多,文件內(nèi)容輸出的同時,都會在每行前面加上行號;
[root@localhost ~]# cat -n /etc/profile
[root@localhost ~]# nl /etc/profile
cat 可以同時顯示多個文件的內(nèi)容,比如我們可以在一個cat命令上同時顯示兩個文件的內(nèi)容;
[root@localhost ~]# cat /etc/fstab /etc/profile
cat 對于內(nèi)容極大的文件來說,可以通過管道 | 傳送到more 工具,然后一頁一頁的查看;
[root@localhost ~]# cat /etc/fstab /etc/profile | more
2、cat 的創(chuàng)建、連接文件功能實例;
cat 有創(chuàng)建文件的功能,創(chuàng)建文件后,要以EOF或STOP結(jié)束;
[root@localhost ~]# cat linuxcat.txt EOF 注:創(chuàng)建linuxcat.txt文件;
如下圖所示:
cat 還有向已存在的文件追加內(nèi)容的功能;
[root@localhost ~]# cat linuxsir.txt EOF 注:我們向linuxcat.txt文件追加內(nèi)容;
(注:這里發(fā)現(xiàn)被我寫錯了, EOF 寫成了 OEF ,輸出的時候要對應(yīng)輸出,咱不去究其原因)
cat 連接多個文件的內(nèi)容并且輸出到一個新文件中;
命令是:
[root@localhost ~]# cat name1 name2 name3 name4
注意: 其原理是把三個文件的內(nèi)容連接起來,然后創(chuàng)建name4文件,并且把幾個文件的內(nèi)容同時寫入name4中。 特別值得一提的是,如果您輸入到一個已經(jīng)存在的name4文件,會把name4內(nèi)容清空。(****見文末例子****)
實例: 假設(shè)我們有sir01.txt、sir02.tx和sir03.txt ,并且內(nèi)容如下;[root@localhost ~]# cat sir01.txt
123456
i am testing
[root@localhost ~]# cat sir02.txt
56789
BeiNan Tested
[root@localhost ~]# cat sir03.txt
09876
linuxsir.org testing
我想通過cat 把sir01.txt、sir02.txt及sir03.txt 三個文件連接在一起(也就是說把這三個文件的內(nèi)容都接在一起)并輸出到一個新的文件sir04.txt 中。
[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt** **sir04.txt
[root@localhost ~]# **more **sir04.txt
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testing
cat 把一個或多個已存在的文件內(nèi)容,追加到一個已存在的文件中
[root@localhost ~]# cat sir00.txt
linuxsir.org forever
[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt** **sir00.txt
[root@localhost ~]# cat sir00.txt
linuxsir.org forever
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testing
警告:我們要知道********意思是創(chuàng)建,********是追加。千萬不要弄混了。造成失誤可不是鬧著玩的;
cut是一個選取命令,就是將一段數(shù)據(jù)經(jīng)過分析,取出我們想要的。一般來說,選取信息通常是針對“行”來進行分析的,并不是整篇信息分析的。
語法結(jié)構(gòu):
cut [-bn] [file] 或
cut [-c] [file] 或
cut [-df] [file]
選項參數(shù):
-b :以 字節(jié) 為單位進行分割。這些字節(jié)位置將忽略多字節(jié)字符邊界,除非也指定了 -n 標志。
-c :以 字符 為單位進行分割。
-d : 自定義分隔符 ,默認為制表符。
-f :與-d一起使用,指定顯示哪個區(qū)域。
-n :取消分割多字節(jié)字符。僅和 -b 標志一起使用。如果字符的最后一個字節(jié)落在由 -b 標志的 List 參數(shù)指示的br /范圍之內(nèi),該字符將被寫出;否則,該字符將被排除。
使用說明:
cut 命令從文件的每一行剪切字節(jié)、字符和字段并將這些字節(jié)、字符和字段寫至標準輸出。
如果不指定 File 參數(shù),cut 命令將讀取標準輸入。必須指定 -b、-c 或 -f 標志之一。
上一篇中也說到cut的使用。
值得注意的是 '-' 表示的是一個區(qū)間, ‘,’ 表示的是單個字符
例子二: 以 ‘:’ 為分隔符,截取PATH環(huán)境變量第五個位置的字符
先來看看PATH變量存的內(nèi)容是什么
[2013012974@teach shell]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/2013012974/bin
截取的結(jié)果:
從上面的例子中可以看出,以':'為分隔符,第五個位置是/usr/local/sbin
好了現(xiàn)在清晰了,****Cat**** 和****Cut****你學(xué)到了沒有?學(xué)到了分享一下啊!
在Linux系統(tǒng)里常用于文本查看、操作、統(tǒng)計的命令:
通過多敲鍵盤,形成手感 肌肉記憶 ,熟練掌握這些命令,在以后生信分析中游刃有余。以下是每個命令的詳細的介紹(主要是跟著 生信技能樹小郭老師 學(xué)習(xí)做的筆記)
接下來通過示例把10個命令的常用參數(shù)和用法展示出來:
參數(shù)的用法介紹:
注意事項:
用 cat 命令可以 查看文本 ,也可以 編輯文本 ,編輯文本要加 符號,退出時,另起一行,按 control C 退出
zcat可以查看壓縮的文本文件,tac逆向查看
結(jié)合 管道符| 使用
head / tail -n :查看文件的前 / 后 n 行,默認 10 行 (在R語言里head和tail默認是前6行)。
less命令用得最多 ,more命令用得比較少
3.1 less命令
less [參數(shù)] 文件名
less命令重要的補充用法1 :
需要注意 退出 :只要使用less命令, 按q鍵
less命令重要的補充用法2 :
參數(shù)用法:
less命令 不加參數(shù) 查看文件:
less命令加 -N參數(shù) 查看文件:顯示行號
less命令加 -S參數(shù) 查看文件:單行顯示,非常規(guī)整
對比:less和cat命令顯示文本行號的用法:less -N,cat -n
3.2 more命令
**more ** 逐頁查看,按空格翻頁,按回車換行 ,more命令一般很少用,熟練掌握less命令就好
查看壓縮文件
wc 統(tǒng)計字符是也把換行符統(tǒng)計進去,但是別的命令不一定會把換行符算進去,。
常見參數(shù):
切記:用less命令,按q退出
cut命令是按關(guān)鍵詞來切的
常見參數(shù):
排列前:
排列后:
解釋:1和0比,1大;7和0比,7大…在sort字典排序里,100816比1737小,所以100816排在前面。
命令行查看一個表格結(jié)構(gòu)時,因為制表符對齊的原因,出現(xiàn)一個錯位的現(xiàn)象。還有 字典排序 可能和我們平時的認知不一樣,所以 加上-n參數(shù) , 讓數(shù)值有數(shù)學(xué)意義上的大小來排序 。
uniq命令去重,只有兩行出現(xiàn)重復(fù),而且是相鄰的兩行,如果不相鄰,即使出現(xiàn)兩行一模一樣,不會去重。
uniq命令通常和sort命令搭配使用
換其它文件試試
總之,uniq命令使用時經(jīng)常和sort一起
常見參數(shù):
常見用法1:
paste file1 file2
-s :按行合并 演示
常見用法2 : paste - -
常見參數(shù):
要養(yǎng)成一個好習(xí)慣,原始數(shù)據(jù)不要輕易修改,修改的東西另外保存,文本保存用 (重定向)或是 (追加)
1. 用 less 查看 example.gtf ,然后管道符傳遞給 wc
2. 截取 example.gtf 第 9 列的內(nèi)容
3. 在第2步的基礎(chǔ)上截取分號分割的第1列
4. 在第3步的基礎(chǔ)上排序、去重復(fù)并統(tǒng)計
5. 在第4步的基礎(chǔ)上,將空格替換成制表符
補充小知識 :
清屏 :control L
查看歷史(輸入過的)命令 :history
Linux 向文件末尾追加命令:
//echo后邊用單引號包圍要添加的內(nèi)容
echo 'add content'/home/data/test.sh
注意: 是追加。
echo 'add content'/home/data/test.sh
注意: 是刪除原有內(nèi)容,添加。
擴展資料
Shell echo命令
Shell 的 echo 指令與 PHP 的 echo 指令類似,都是用于字符串的輸出。命令格式:echo string
1、顯示普通字符串:
echo "It is a test"
這里的雙引號完全可以省略,以下命令與上面實例效果一致:
echo It is a test
2、顯示轉(zhuǎn)義字符
echo "\"It is a test\""
結(jié)果將是:
"It is a test"
同樣,雙引號也可以省略。
1.作用
useradd或adduser命令用來建立用戶帳號和創(chuàng)建用戶的起始目錄,使用權(quán)限是超級用戶。
2.格式
3.主要參數(shù)
-c:加上備注文字,備注文字保存在passwd的備注欄中。
-d:指定用戶登入時的主目錄,替換系統(tǒng)默認值/home/用戶名
-D:變更預(yù)設(shè)值。
-e:指定賬號的失效日期,日期格式為MM/DD/YY,例如06/30/12。缺省表示永久有效。
-f:指定在密碼過期后多少天即關(guān)閉該賬號。如果為0賬號立即被停用;如果為-1則賬號一直可用。默認值為-1.
-g:指定用戶所屬的群組。值可以使組名也可以是GID。用戶組必須已經(jīng)存在的,期默認值為100,即users。
-G:指定用戶所屬的附加群組。
-m:自動建立用戶的登入目錄。
-M:不要自動建立用戶的登入目錄。
-n:取消建立以用戶名稱為名的群組。
-r:建立系統(tǒng)賬號。
-s:指定用戶登入后所使用的shell。默認值為/bin/bash。
-u:指定用戶ID號。該值在系統(tǒng)中必須是唯一的。0~499默認是保留給系統(tǒng)用戶賬號使用的,所以該值必須大于499。
4.說明
useradd可用來建立用戶賬號,它和adduser命令是相同的。賬號建好之后,再用passwd設(shè)定賬號的密碼。使用useradd命令所建立的賬號,實際上是保存在/etc/passwd文本文件中。
5.應(yīng)用實例
建立一個新用戶賬戶testuser1,并設(shè)置UID為544,主目錄為/usr/testuser1,屬于users組:
加-m 如果主目錄不存在則自動創(chuàng)建
6.例如
使用管理員賬號登陸系統(tǒng),建立用戶tmp_3452 密碼3sdt5:Eawhg
添加用戶命令:
修改密碼命令:
在系統(tǒng)出現(xiàn)提示輸入密碼是輸入密碼:3sdt5:Eawhg 系統(tǒng)提示輸入確認密碼后再輸入一次。OK添加成功。
7.useradd批量添加用戶
使用useradd時,如果后面不添加任何參數(shù)選項,例如:#sudo useradd test創(chuàng)建出來的用戶將是默認“三無”用戶:一無Home Directory,二無密碼,三無系統(tǒng)Shell。
步驟如下:
(1)建立用戶名列表文件username.txt (同上)
(2)創(chuàng)建用戶密碼對應(yīng)文件serc.txt,格式為username:password (注意文件的格式)
(3)批量添加的腳本文件aa.sh
新建完成useradd命令,在執(zhí)行沒有出錯的情況下,不會輸出任何的信息,不會與用戶交互。但是用戶必須要記住那些設(shè)置項目,否則添加的用戶可能出現(xiàn)一些預(yù)想不到的結(jié)果。
sed命令行格式:sed [options] 'command' file(s)
options常用選項:
-n或--quiet或——silent:僅顯示script處理后的結(jié)果;
-e:以選項中的指定的script來處理輸入的文本文件;
-f:以選項中指定的script文件來處理輸入的文本文件;
-r∶sed 的動作支援的是延伸型正規(guī)表示法的語法;
-i∶直接修改讀取的檔案內(nèi)容,而不是由螢?zāi)惠敵?
-h或--help:顯示幫助;
-V或--version:顯示版本信息。
Command常用命令:
a:新增,a 的后面可以接字符串,而這些字符串會在新的一行出現(xiàn)(目前的下一行);
c:取代,c 的后面可以接字符串,這些字符串可以取代 n1.n2 之間的行;
d:刪除,d 后面通常不接任何字符串;
i:插入,i 的后面可以接字符串,而這些字符串會在新的一行出現(xiàn)(目前的上一行);
p:列印,亦即將某個選擇的資料印出。通常 p 會與參數(shù) sed -n 一起運作;
s:取代,可以直接進行取代的工作,通常與正規(guī)表達式搭配使用。
實例說明:
新增操作:a命令
sed '/^bird/a\test' file將test追加到 以bird開頭的行后面
刪除操作:d命令
sed '/^$/d' file #刪除空白行;
sed '2d' file #刪除第二行;
sed '2.$d' file #刪除第2行到最后一行;
sed '$d' file #刪除最后一行;
sed '/^bird/'d file #刪除所有開頭是bird的行;
插入操作:i命令
sed -i '3i\bird ' bird.conf #在bird.conf文件第3行之前插入bird
替換文本中的字符串:s命令
sed 's/bird/birds/' file #將文本中的bird替換成birds;
sed -i 's/ bird / birds /g' file #將file文件中每一行的第一個bird替換為birds;
追加命令:可以使用文件追加重定向 。1,linux里把文件/etc/aaa中的內(nèi)容追加到/usr/bbb中的內(nèi)容的后面 sudo cat /etc/aaa /usr/bbb;2,更改/etc/index.html的文件所有者為apache,文件群組為apache ;sudo chmod apache:apache /etc/index.html;3,更改/etc/index.html的所有者權(quán)限為讀取、寫入、執(zhí)行。群組權(quán)限為讀取。其他權(quán)限為讀取 :sudo chmod 744 /etc/index.html;4,刪除/etc下名為hello的文件 sudo rm /etc/index.html;當(dāng)然,如果你是以root用戶執(zhí)行以上操作,可以去掉前邊的sudo!想了解更多l(xiāng)inux相關(guān)內(nèi)容,另外你是感興趣的話可以看下劉遄老師寫的《Linux就該這么學(xué)》作為入門的書籍,覺得不錯的話采納下哦~
網(wǎng)站欄目:linux追加命令操作,linux追加文件內(nèi)容命令
標題鏈接:http://chinadenli.net/article39/dsecosh.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、自適應(yīng)網(wǎng)站、域名注冊、品牌網(wǎng)站設(shè)計、做網(wǎng)站、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)