代表字母或者數字 多個
? 任意一個字元
"#" 注釋
\ 脫義字元
| 管道符
[root@localhost /]# ls *.txt
1.txt
[root@localhost /]#
[root@localhost /]# ls ?.txt
[root@localhost /]# #11111
[root@localhost /]#
PS:意思就代表着說明
[root@localhost /]# ls .txt
ls: 無法通路.txt: 沒有那個檔案或目錄
[root@localhost /]# cat /etc/passwd|grep root
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
檔案管理
用來截取某一個字段來顯示出來
cut 【參數】
-d, --delimiter=分界符 使用指定分界符代替制表符作為區域分界
-c, --characters=清單 隻選中指定的這些字元
-f :指定某一段
[root@localhost /]# cat /etc/passwd|head |cut -d ":" -f 1
root
bin
daemon
adm
lp
sync
shutdown
halt
operator
此指令就是用來針對文檔進行排序的
sort [參數] [檔案]
-t 分割符:和cut -d 一樣
-n :使用純數字排序
-r :方向排序
-u :去重複
-k :-kn1,n2 :由n1區間排序到n2區間,可以隻寫-kn1,即對n1字段排序
[root@localhost /]# head /etc/passwd|sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sync:x:5:0:sync:/sbin:/bin/sync
用于統計
wc [參數]
-l:統計行數
-m:統計字元數
-w:統計詞數
[root@localhost /]# cat /etc/passwd |wc -l -m -w
19 29 883
[root@localhost /]# cat /etc/passwd |wc
PS:其實不需要加參數的
用來删除重複的行
xxxxx|unip
參數
-c 統計重複的行數
[root@localhost ~]# uniq testb.txt
111
222
333
[root@localhost ~]# sort testb.txt |uniq
[root@localhost ~]# sort testb.txt |uniq -c
2 111
1 222
1 333
tee後面跟檔案名,其作用類似于重定向>,比重定向多一個功能,把檔案寫入後面所跟的檔案時并顯示在螢幕上,通常用于管道符 |後。
#echo “aaaaaaaaaaaaaaa” |tee testb.txt
aaaaaaaaaaaaaaa
#cat testb.txt
tr用于替換字元,常用來處理文檔中出現的特殊符号,如DOS文檔中出現的符号 ^M 。
選項:
-d 表示删除某個字元,後面跟要删除的字元。
-s 表示删除重複的字元。
把小寫字母變成大寫字母,如tr’[a-z]’’[A-Z]’:
#head –n2 /etc/passwd |tr’[a-z]’’[A-Z]’
ROOT:X:O:O:ROOT:/ROOT:/BIN/BASH
BIN:X:11:BIN:/BIN:/SBIN/NOLOGIN
還可以替換一個字元:
#grep ‘root’ /etc/passwd |tr ‘r’ ‘R’
Root:x:o:o:Root:/Root:/bin/bash
opeRatoR:x:11:0:opeRatoR:/Root:/sbin/nologin
split用于切割文檔,常用的選項為-b和-l。
-b 表示依據大小來分割文檔,機關為byte
-l 表示依據行數來分割文檔
#split –b 500 passwd
#ls
passwd xaa xab xac xad xae
$可以用作變量前面的辨別符,還可以和!結合使用。
#cd ..
#ls testb.txt
testb.txt
#ls !$
ls testb.txt
!$表示上條指令的最後一個變量,本例中上條指令最後是testb.txt,那麼在目前指令下輸入!$則表示testb.txt。
在一行指令中運作兩個或兩個以上的指令,需要在指令之間加符号;。
#mkdir testb.txt ; touch test1.txt ; touch test2.txt ; ls –d test* 建立目錄、建立檔案、列出目錄
符号~代表使用者的家目錄,root使用者的家目錄是/root,普通使用者的家目錄是/home/username。
把一條指令放到背景執行,則需要加上符号&,它通常用于指令運作時間較長的情況。比如,可以用在sleep後,如下所示:
#sleep 30 &
[1]3008
#jobs
[1]+ 運作中 sleep 30 &
和>>分别表示取代和追加的意思。當我們運作一個指令報錯時,報錯資訊會輸出到目前螢幕。如果想重定向到一個文本,則要用重定向符号2>或者2>>,它們分别表示錯誤重定向和錯誤追加重定向。
#ls aaaa
ls:無法通路aaaa:沒有那個檔案或目錄
#ls aaaa 2> /tmp/error
#cat /tmp/error
ls:無法通路aaaa:沒有那個檔案或目錄
#ls aaaa 2>> /tmp/error
中括号内為字元組合,代表字元組合中的任意一個,還可以表示一個範圍(1-3,a-z)。
#cd /tmp/10
#ls –d test*
test1.txt test2.txt testb.txt testdir
#ls –d test[1-3].txt
test1.txt test2.txt
#ls –d test[12b].txt
test1.txt test2.txt testb.txt
#ls –d test[1-9].txt
test1.txt test2.txt
#ls –d test[1-9a-z].txt
在上面剛剛提到了分号,用于多條指令間的分隔符。另外還有兩個可以用于多條指令中間的特殊符号,那就是 “&&” 和 “||” 下面把這幾種情況全列出:
command1 ; command2
command1 && command2
command1 || command2
使用 ”;” 時,不管command1是否執行成功都會執行command2;
使用 “&&” 時,隻有command1執行成功後,command2才會執行,否則command2不執行;
使用 “||” 時,command1執行成功後command2 不執行,否則去執行command2,總之command1和command2總有一條指令會執行。
本文轉自 閃電王 51CTO部落格,原文連結:http://blog.51cto.com/sdwaqw/2060908