A
alias grep='grep -i --color=auto' 可方便只打grep就令到他忽略大小寫,並且有顏色
B
bg 1 叫背後的‘1’job運行,但nano始終要等I/O才能運行。
D
diff /test/oldfile /test/newfile 可對比兩個文件的不同,1a2代表左1行的後面加了一句,然後變成右2行。3a5代表在左3行後面加了一句,在右文件變第5行。1c1代表左1行變了,右文件的1行。<代表在左文件,>代表在右文件。
diff /test/oldfile /test/newfile > file.diff
patch /test/oldfile file.diff
以上命令可以使oldfile根據file.diff更新到newfile。
E
expand /test/tabfile > /test/spacefile 把tab轉換爲space,也就是一個tab變成了5個space,
如果用wc -c /test/spacefile會看到比tabfile字符數目明顯多了。
F
find /home -name .bash_profile 在home目錄和子目錄裏尋找該名字的文件,大小寫敏感。
find /sbin -size +200k 在sbin裏找大於200k的文件。
find /sbin -perm /111 找sbin裏file permission爲111,即含有可執行的文件,就算777都包含其中。還有-igroup 特定group。-inum查inode number,對查hard link很有用。-lname 查symbolic link。-type特定類型如f文件,和d文件夾。-user特定user
find /home -maxdepth 2 -type f 查文件深度爲2層屬於文件類型的項目。
file /bin/nano 顯示該文件的類型。
find /home -name .bashrc -exec ls -l {} + 可以順利顯示找到的文件的詳細信息
G
grep a.b install.log 搜尋文件裏含:a+任何字符+b的行
grep -o .a[^n]b.n install.log 只顯示搜素到的詞組,而不顯示整行,搜尋文件裏含:任何字符+a+非n+b+任何字符+n
grep -v a.b install.log 顯示文件裏沒有a.b的所有行,-v是取相反結果的意思
H
head /etc/passwd 默認顯示前十條內容
J
jobs show 背後有咪行緊
K
head -n 3 /etc/passwd -n後加行數,顯示前3條
L
less install.log 查看文件時可用page up/down和上下箭頭瀏覽,按q鍵退出。
less -n install.log 查看文件時在左面顯示行數。
locate bashrc 查看/var/lib/mlocate/mlocate.db這個文件裏記錄的bashrc的文件所在位置。
M
more install.log 只可不斷往下瀏覽,推薦用less。
mount -t ext2 /dev/sdb1 /mnt/temp 把檢測到的第二個硬盤掛載得到/mnt/temp裏面
O
od /test/oldfile 把文件以二進制顯示出來。
P
diff /test/oldfile /test/newfile > file.diff
patch /test/oldfile file.diff
以上命令可以使oldfile根據file.diff更新到newfile。
R
running in background
nano & 生個nano出來但I/O還在BASH
S
sed 's/Marry/Peter/g' /test/oldfile 把oldfile裏的Marry置換成Peter,但oldfile沒有改變,只是輸出屏幕時改變,前面s代表search,後面的g的位置是說明第幾次出現,g表示globally全部。
sed '/know/,/because/d' /test/oldfile d表示刪除從know到because的所有內容。
sed 's/Marry/Peter/g' /test/oldfile > /test/newfile 修改完寫到新的文件裏,否則只會在屏幕輸出而不作改動。
sed -i 's/Marry/Peter/g' /test/oldfile 可以覆蓋原來的文件。
sort -u xxx 可以顯示xxx文件裏不同的句子只顯示一次,不會重複,與uniq xxx的分別是,sort會按字母分類再排列,而uniq只會按原文順序排列結果。
sort -u xxx | wc -l 可顯示有多少不同的句子。
seq -f "%02.3f" 3 5 20 這個02表示產生出來的數共有幾位,如果後面的.3改爲.0則整數部分會有最少兩位數,如果產生的數個位爲8以內,則出現08,現在這個組合產生的結果爲3.000,8.000,13.000,18.000
T
tail /etc/passwd 默認顯示後十行內容。
tail -n 3 /etc/passwd 顯示後3行內容。
tail -n 5 -f 可一直自動刷新最後5行信息,知道按ctrl c才跳出。
U
uniq xxx 使文件重複的語句刪掉,但只對連續重複的有效,分開各處的重複無效,結果按原文順序輸出。
W
which nano 查找nano這個程序的路徑,nano必須在path裏定義了才能這樣用,如果還定義了alias,那也會彈出alias設定。
wc /test/oldfile 顯示文件多少行,多少個字,多少bytes。
ls /bin/c* | wc -l 可以將ls命令顯示出來含有c開頭的文件的數目顯示出來。
X
xargs
which vi | xargs ls -l 這個xargs是爲了讓後面的ls -l可以收到前面指令輸入的資料,默認ls -l是收不到前面導管發過來的資料的。
locate .bashrc | xargs wc -l 可以在每行結果前面顯示該文件內容的行數。