十个鲜为人知的 Linux 命令 - Part 3

系统 Linux
我们继续“10个鲜为人知Linux命令系列”的第三部分。或许你已经知道了这些命令,那你无疑是一个有经验而喜欢探索的Linux用户。

我们继续“10个鲜为人知Linux命令系列”的第三部分。或许你已经知道了这些命令,那你无疑是一个有经验而喜欢探索的Linux用户。


22. ^foo^bar 命令

在一个实例中运行修改后的最后一个命令。假设我需要运行一个命令'ls -l'来详细列出‘Desktop’目录下的内容。意外地,你打了'lls -l'。所以你需要重新打整个命令或者使用导航键编辑前面的命令。当你的命令很长时这个很痛苦。

  1. avi@localhost:~/Desktop$ lls -l  
  2. bash: lls: command not found 
  3.  
  4. avi@localhost:~/Desktop$ ^lls^ls  
  5.  
  6. ls -l  
  7. total 7489440  
  8.  
  9. 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(原始命令)”。警告!这个命令可能会非常危险!如果你有意或者无意地打错了系统命令或者任何像rm -rf那样的风险命令的话!


23. > file.txt 命令

这个命令会刷新文件的内容而不需删除然后创建相同的文件。当我们需要反复输出,或者在相同的文件上记录日志时,这个命令就非常有用。

我有一个有很多文字的‘test.txt’文件在我的‘Desktop‘上。

  1. avi@localhost:~/Desktop$ cat test.txt  
  2.  
  3. Linux  
  4. GNU  
  5. Debian  
  6. Fedora  
  7. kali  
  8. ubuntu  
  9. git  
  10. Linus  
  11. Torvalds 
  12.  
  13.  
  14. avi@localhost:~/Desktop$ > test.txt  
  15. avi@localhost:~/Desktop$ cat test.txt 

注意:再说一次,这个命令可能很危险!永远不要尝试刷新系统文件或者某篇日志文件的内容。如果你这么做了,你可能会遭遇严重的问题!


24. at 命令

‘at‘命令与cron 命令相似也可用于安排一个任务或者在某个特定时刻执行命令。

  1. avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 14:012 

  1. avi@localhost:~/Desktop$ echo "ls -l > /dev/pts/0" | at 2:12 PM 

示例输出

  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)输出在标准终端上。你可以用你需要或者选择的命令替代‘ls -l‘。

> :重定向输出

/dev/pts/0:这是输出设备和/或文件,输出到指定的地方,这里输出在终端(/dev/pts/0)。

就我而言,此时我的tty在/dev/pts/0。你可以用tty命令检查你的tty。

  1. avi@localhost:~/Desktop$ tty  
  2.  
  3. /dev/pts/0 

注意:‘at‘会在系统时间匹配到特定时间时会尽快执行。


25. du -h –max-depth=1 命令

下面的命令以人类可读的形式输出当前目录的子目录的大小。

  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 . 

注意:上面的命令在检查系统使用率是非常有用。


26. expr 命令

‘expr‘不是那么鲜为人知的命令。这个命令在终端中计算简单的算数时非常有用。

  1. avi@localhost:/home/avi/Desktop# expr 2 + 3  
  2.  
  3. avi@localhost:/home/avi/Desktop# expr 6 – 3  
  4.  
  5. avi@localhost:/home/avi/Desktop# expr 12 / 3  
  6.  
  7. avi@localhost:/home/avi/Desktop# expr 2 \* 9  
  8. 18 

27. look 命令

在终端上从英文字典上查单词以防混淆。比如说,我记不清了是该拼成carrier还是carieer。

 

  1. avi@localhost:/home/avi/Documents# look car 
  1. Cara  
  2. Cara's  
  3. … 
  4. ...  
  5. carps  
  6. carpus  
  7. carpus's  
  8. carrel  
  9. 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 

上面的命令会显示字典上所有以'car'开头的单词。我得到了我想找的。


28. yes 命令

另外一个命令在通常基础上并不会经常使用,但是在脚本语言和系统管理时非常有用。

这个命令会持续地输出给定的字符串,直到由你的中断命令打断。

  1. avi@localhost:~/Desktop$ yes "Tecmint is one of the best site dedicated to Linux, how to"  
  2.  
  3. Tecmint is one of the best site dedicated to Linux, how to  
  4. Tecmint is one of the best site dedicated to Linux, how to  
  5. Tecmint is one of the best site dedicated to Linux, how to  
  6. Tecmint is one of the best site dedicated to Linux, how to  
  7. … 
  8. … 
  9. ... 
  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实际是一个源于数学的命令。这个命令会输出所有给定数字的因数。

  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命令检测服务器是否连通。我通常ping google,来检测我是否连接到了因特网。

当你等待或者持续盯着你的终端等待命令的回应或者等待服务器的连接时,有时是很气人的。

一旦服务器连通就有一个声音如何(译注:下面命令是等60秒PING一次)?

  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 

注意:当你发现命令不会返回声音时。请确保你的系统不是静音的,声音已经在‘sound preferences(声音选项)‘ 中启用并确保勾选了‘Enable window and window sound‘。


31. tac 命令

这个命令很有趣,他会以倒序输出文本文件的内容。也就是从最后一行到第一行。

在home目录下,我的Documents目录下有一个35.txt文件。用cat 命令检查内容。

  1. avi@localhost:~/Documents$ cat 35.txt 

示例输出

  1. Linux is built with certain powerful tools, which are unavailable in windows.
  2. 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.
  3. Shell scripting/programming makes it possible to execute command(s), piped to get desired output in order to automate day-to-day usages.

现在用tac命令反转文件内容(译注:当然,我们知道cat反转过来就是tac)。

  1. <code>avi@localhost:~/Documents$ tac 35.txt </code> 

示例输出

  1. Shell scripting/programming makes it possible to execute command(s), piped to get desired output in order to automate day-to-day usages.
  2. 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.
  3. Linux is built with certain powerful tools, which are unavailable in windows.

 

 


现在结束了。如果你还知道其他一些Linux鲜为人知的命令,你可以在下面评论,那么我们你可以在以后的文章中包含进来。

不要忘了给我们有价值的评论。我很快会发另外有趣的文章。别走开继续关注 Tecmint。

via: http://www.tecmint.com/10-lesser-known-commands-for-linux-part-3/

 

责任编辑:奔跑的冰淇淋 来源: Linux中国
相关推荐

2013-12-23 15:25:15

命令Linux命令

2013-11-19 11:59:49

Linux命令Shell脚本

2024-03-04 16:32:02

JavaScript运算符

2017-11-08 14:55:16

Linux命令sudo

2014-07-29 14:25:43

Unix命令

2010-12-28 10:12:18

Linux命令

2013-07-15 09:14:00

2009-09-14 09:45:20

Chrome谷歌操作系统

2019-10-08 16:24:33

Chrome浏览器

2023-04-23 15:11:26

2010-09-06 14:19:54

CSS

2010-01-07 10:05:51

IT顾问特质

2024-01-15 18:02:09

docker系统文件格式

2019-12-12 20:49:05

JavaScript语言运算符

2022-07-19 08:46:15

NeofetchLinux

2011-05-03 13:13:52

编程PHPJava

2022-02-14 10:48:31

Python开发

2014-04-22 16:38:12

GitHubGitHub 使用技巧

2018-12-10 19:30:45

2024-09-10 08:35:57

点赞
收藏

51CTO技术栈公众号