
我們繼續(xù)“10個(gè)鮮為人知Linux命令系列”的第三部分。或許你已經(jīng)知道了這些命令,那你無(wú)疑是一個(gè)有經(jīng)驗(yàn)而喜歡探索的Linux用戶。
22. ^foo^bar 命令
在一個(gè)實(shí)例中運(yùn)行修改后的最后一個(gè)命令。假設(shè)我需要運(yùn)行一個(gè)命令‘ls -l‘來(lái)詳細(xì)列出‘Desktop’目錄下的內(nèi)容。意外地,你打了‘lls -l‘。所以你需要重新打整個(gè)命令或者使用導(dǎo)航鍵編輯前面的命令。當(dāng)你的命令很長(zhǎng)時(shí)這個(gè)很痛苦。
·········10········20········30········40········50········60········ 01.avi@localhost:~/Desktop$ lls -l
02.bash: lls: command not found
03.
04.avi@localhost:~/Desktop$ ^lls^ls
05.
06.ls -l
07.total 7489440
08.
09.drwxr-xr-x 2 avi avi 36864 Nov 13 2012 101MSDCF
10.-rw-r--r-- 1 avi avi 206833 Nov 5 15:27 1.jpg
11.-rw-r--r-- 1 avi avi 158951 Nov 5 15:27 2.jpg
12.-rw-r--r-- 1 avi avi 90624 Nov 5 12:59 Untitled 1.doc
注意:在上面的替換中我們使用“typo(被替換的)original_command(原始命令)”。警告!這個(gè)命令可能會(huì)非常危險(xiǎn)!如果你有意或者無(wú)意地打錯(cuò)了系統(tǒng)命令或者任何像rm -rf那樣的風(fēng)險(xiǎn)命令的話!
23. > file.txt 命令
這個(gè)命令會(huì)刷新文件的內(nèi)容而不需刪除然后創(chuàng)建相同的文件。當(dāng)我們需要反復(fù)輸出,或者在相同的文件上記錄日志時(shí),這個(gè)命令就非常有用。
我有一個(gè)有很多文字的‘test.txt’文件在我的‘Desktop‘上。
·········10········20········30········40········50········60········ 01.avi@localhost:~/Desktop$ cat test.txt
02.
03.Linux
04.GNU
05.Debian
06.Fedora
07.kali
08.ubuntu
09.git
10.Linus
11.Torvalds
12.
13.
14.avi@localhost:~/Desktop$ > test.txt
15.avi@localhost:~/Desktop$ cat test.txt
注意:再說(shuō)一次,這個(gè)命令可能很危險(xiǎn)!永遠(yuǎn)不要嘗試刷新系統(tǒng)文件或者某篇日志文件的內(nèi)容。如果你這么做了,你可能會(huì)遭遇嚴(yán)重的問(wèn)題!
24. at 命令
‘at‘命令與cron 命令相似也可用于安排一個(gè)任務(wù)或者在某個(gè)特定時(shí)刻執(zhí)行命令。
·········10········20········30········40········50········60········ 1.avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 14:012
或
·········10········20········30········40········50········60········ 1.avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 2:12 PM
示例輸出
·········10········20········30········40········50········60········ 1.-rw-r--r-- 1 avi avi 220492 Nov 1 13:49 Screenshot-1.png
2.-rw-r--r-- 1 root root 358 Oct 17 10:11 sources.list
3.-rw-r--r-- 1 avi avi 4695982080 Oct 10 20:29 squeeze.iso
4...
5...
6.-rw-r--r-- 1 avi avi 90624 Nov 5 12:59 Untitled 1.doc
7.-rw-r--r-- 1 avi avi 96206 Nov 5 12:56 Untitled 1.odt
8.-rw-r--r-- 1 avi avi 9405 Nov 12 23:22 Untitled.png
注意:echo “ls -l”的意思是,將這串命令(這里是 ls -l)輸出在標(biāo)準(zhǔn)終端上。你可以用你需要或者選擇的命令替代‘ls -l‘。
> :重定向輸出
/dev/pts/0: 這是輸出設(shè)備和/或文件,輸出到指定的地方,這里輸出在終端(/dev/pts/0)。
就我而言,此時(shí)我的tty在/dev/pts/0。你可以用tty命令檢查你的tty。
·········10········20········30········40········50········60········ 1.avi@localhost:~/Desktop$ tty
2.
3./dev/pts/0
注意: ‘at‘會(huì)在系統(tǒng)時(shí)間匹配到特定時(shí)間時(shí)會(huì)盡快執(zhí)行。
25. du -h –max-depth=1 命令
下面的命令以人類可讀的形式輸出當(dāng)前目錄的子目錄的大小。
·········10········20········30········40········50········60········ 1.avi@localhost:/home/avi/Desktop# du -h --max-depth=1
2.
3.38M ./test
4.1.1G ./shivji
5.42M ./drupal
6.6.9G ./101MSDCF
7.16G .
注意:上面的命令在檢查系統(tǒng)使用率是非常有用。
26. expr 命令
‘expr‘不是那么鮮為人知的命令。這個(gè)命令在終端中計(jì)算簡(jiǎn)單的算數(shù)時(shí)非常有用。
·········10········20········30········40········50········60········ 01.avi@localhost:/home/avi/Desktop# expr 2 + 3
02.5
03.
04.avi@localhost:/home/avi/Desktop# expr 6 – 3
05.3
06.
07.avi@localhost:/home/avi/Desktop# expr 12 / 3
08.4
09.
10.avi@localhost:/home/avi/Desktop# expr 2 \* 9
11.18
27. look 命令
在終端上從英文字典上查單詞以防混淆。比如說(shuō),我記不清了是該拼成carrier還是carieer。
avi@localhost:/home/avi/Documents# look car
·········10········20········30········40········50········60········ 01.Cara
02.Cara's
03.…
04....
05.carps
06.carpus
07.carpus's
08.carrel
09.carrel's
10.carrels
11.carriage
12.carriage's
13.carriages
14.carriageway
15.carriageway's
16.carried
17.carrier
18.carrier's
19.carriers
20.carries
21.…
22....
23.caryatids
上面的命令會(huì)顯示字典上所有以'car'開(kāi)頭的單詞。我得到了我想找的。
28. yes 命令
另外一個(gè)命令在通常基礎(chǔ)上并不會(huì)經(jīng)常使用,但是在腳本語(yǔ)言和系統(tǒng)管理時(shí)非常有用。
這個(gè)命令會(huì)持續(xù)地輸出給定的字符串,直到由你的中斷命令打斷。
·········10········20········30········40········50········60········ 01.avi@localhost:~/Desktop$ yes "Tecmint is one of the best site dedicated to Linux, how to"
02.
03.Tecmint is one of the best site dedicated to Linux, how to
04.Tecmint is one of the best site dedicated to Linux, how to
05.Tecmint is one of the best site dedicated to Linux, how to
06.Tecmint is one of the best site dedicated to Linux, how to
07.…
08.…
09....
10.Tecmint is one of the best site dedicated to Linux, how to
11.Tecmint is one of the best site dedicated to Linux, how to
12.Tecmint is one of the best site dedicated to Linux, how to
29. factor 命令
factor實(shí)際是一個(gè)源于數(shù)學(xué)的命令。這個(gè)命令會(huì)輸出所有給定數(shù)字的因數(shù)。
·········10········20········30········40········50········60········ 1.avi@localhost:~/Desktop$ factor 22
2.22: 2 11
3.
4.avi@localhost:~/Desktop$ factor 21
5.21: 3 7
6.
7.avi@localhost:~/Desktop$ factor 11
8.11: 11
30. ping -i 60 -a IP_address
我們都用ping命令檢測(cè)服務(wù)器是否連通。我通常ping google,來(lái)檢測(cè)我是否連接到了因特網(wǎng)。
當(dāng)你等待或者持續(xù)盯著你的終端等待命令的回應(yīng)或者等待服務(wù)器的連接時(shí),有時(shí)是很氣人的。
一旦服務(wù)器連通就有一個(gè)聲音如何(譯注:下面命令是等60秒PING一次)?
·········10········20········30········40········50········60········ 1.avi@localhost:~/Desktop$ ping -i 60 -a www.google.com
2.
3.PING www.google.com (74.125.200.103) 56(84) bytes of data.
4.64 bytes from www.google.com (74.125.200.103): icmp_req=1 ttl=44 time=105 ms
5.64 bytes from 74.125.200.103: icmp_req=2 ttl=44 time=281 ms
注意,當(dāng)你發(fā)現(xiàn)命令不會(huì)返回聲音時(shí)。請(qǐng)確保你的系統(tǒng)不是靜音的,聲音已經(jīng)在‘sound preferences(聲音選項(xiàng))‘ 中啟用并確保勾選了‘Enable window and window sound‘。
31. tac 命令
這個(gè)命令很有趣,他會(huì)以倒序輸出文本文件的內(nèi)容。也就是從最后一行到第一行。
在home目錄下,我的Documents目錄下有一個(gè)35.txt文件。用cat 命令檢查內(nèi)容。
·········10········20········30········40········50········60········ 1.avi@localhost:~/Documents$ cat 35.txt
示例輸出
- Linux is built with certain powerful tools, which are unavailable in windows.
- One of such important tool is Shell Scripting. Windows however comes with such a tool but as usual it is much weak as compared to it's Linux Counterpart.
- Shell scripting/programming makes it possible to execute command(s), piped to get desired output in order to automate day-to-day usages.
現(xiàn)在用tac命令反轉(zhuǎn)文件內(nèi)容(譯注:當(dāng)然,我們知道cat反轉(zhuǎn)過(guò)來(lái)就是tac)。
·········10········20········30········40········50········60········ 1.<code>avi@localhost:~/Documents$ tac 35.txt </code>
示例輸出
- Shell scripting/programming makes it possible to execute command(s), piped to get desired output in order to automate day-to-day usages.
- One of such important tool is Shell Scripting. Windows however comes with such a tool but as usual it is much weak as compared to it's Linux Counterpart.
- Linux is built with certain powerful tools, which are unavailable in windows.
現(xiàn)在結(jié)束了。如果你還知道其他一些Linux鮮為人知的命令,你可以在下面評(píng)論,那么我們你可以在以后的文章中包含進(jìn)來(lái)。
不要忘了給我們有價(jià)值的評(píng)論。我很快會(huì)發(fā)另外有趣的文章。別走開(kāi)繼續(xù)關(guān)注 Tecmint。
via: http://www./10-lesser-known-commands-for-linux-part-3/
譯者:geekpi 校對(duì):wxy
本文由 LCTT 原創(chuàng)翻譯,Linux中國(guó) 榮譽(yù)推出 本文地址:http:///article-2284-1.html
[ 歡迎轉(zhuǎn)載,敬請(qǐng)?jiān)谡闹袠?biāo)注并保留原文/譯文鏈接和作者/譯者等信息。 ]
|