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

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

22. ^foo^bar 命令

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

avi@localhost:~/Desktop$ lls -l
bash: lls: command not found

avi@localhost:~/Desktop$ ^lls^ls 

ls -l
total 7489440 

drwxr-xr-x 2 avi  avi       36864 Nov 13  2012 101MSDCF
-rw-r--r-- 1 avi  avi      206833 Nov  5 15:27 1.jpg
-rw-r--r-- 1 avi  avi      158951 Nov  5 15:27 2.jpg
-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‘上。

avi@localhost:~/Desktop$ cat test.txt 

Linux
GNU
Debian
Fedora
kali
ubuntu
git
Linus
Torvalds

avi@localhost:~/Desktop$ > test.txt
avi@localhost:~/Desktop$ cat test.txt

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

24. at 命令

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

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

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

示例输出

-rw-r--r-- 1 avi  avi      220492 Nov  1 13:49 Screenshot-1.png
-rw-r--r-- 1 root root        358 Oct 17 10:11 sources.list
-rw-r--r-- 1 avi  avi  4695982080 Oct 10 20:29 squeeze.iso
..
..
-rw-r--r-- 1 avi  avi       90624 Nov  5 12:59 Untitled 1.doc
-rw-r--r-- 1 avi  avi       96206 Nov  5 12:56 Untitled 1.odt
-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。

avi@localhost:~/Desktop$ tty 

/dev/pts/0

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

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

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

avi@localhost:/home/avi/Desktop# du -h --max-depth=1 

38M     ./test
1.1G    ./shivji
42M     ./drupal
6.9G    ./101MSDCF
16G .

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

26. expr 命令

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

avi@localhost:/home/avi/Desktop# expr 2 + 3
5

avi@localhost:/home/avi/Desktop# expr 6 – 3
3

avi@localhost:/home/avi/Desktop# expr 12 / 3
4

avi@localhost:/home/avi/Desktop# expr 2 \* 9
18

27. look 命令

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

avi@localhost:/home/avi/Documents# look car

Cara
Cara's
…
...
carps
carpus
carpus's
carrel
carrel's
carrels
carriage
carriage's
carriages
carriageway
carriageway's
carried
carrier
carrier's
carriers
carries
…
...
caryatids

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

28. yes 命令

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

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

avi@localhost:~/Desktop$ yes "Tecmint is one of the best site dedicated to Linux, how to" 

Tecmint is one of the best site dedicated to Linux, how to
Tecmint is one of the best site dedicated to Linux, how to
Tecmint is one of the best site dedicated to Linux, how to
Tecmint is one of the best site dedicated to Linux, how to
…
…
...
Tecmint is one of the best site dedicated to Linux, how to
Tecmint is one of the best site dedicated to Linux, how to
Tecmint is one of the best site dedicated to Linux, how to

29. factor 命令

factor实际是一个源于数学的命令。这个命令会输出所有给定数字的因数。

avi@localhost:~/Desktop$ factor 22
22: 2 11

avi@localhost:~/Desktop$ factor 21
21: 3 7

avi@localhost:~/Desktop$ factor 11
11: 11

30. ping -i 60 -a IP_address

我们都用ping命令检测服务器是否连通。我通常ping google,来检测我是否连接到了因特网。

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

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

avi@localhost:~/Desktop$ ping -i 60 -a www.google.com 

PING www.google.com (74.125.200.103) 56(84) bytes of data.
64 bytes from www.google.com (74.125.200.103): icmp_req=1 ttl=44 time=105 ms
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 命令检查内容。

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)。

avi@localhost:~/Documents$ tac 35.txt 

示例输出

  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鲜为人知的命令,你可以在下面评论,那么我们你可以在以后的文章中包含进来。

 原文发布时间为:2013-11-22

本文来自合作伙伴“Linux中国”

时间: 2024-09-21 16:21:55

十个鲜为人知的 Linux 命令 - Part 3的相关文章

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

在前四篇 "鲜为人知的Linux命令" 系列文章受到高度赞赏之后,我们将为广大读者呈上此系列的最后一篇文章,虽然是最后一篇,但是其重要性毫不逊于前几篇. 前几篇文章的地址如下: 十一个鲜为人知的 Linux 命令 - Part 1 十个鲜为人知的 Linux 命令 - Part 2 十个鲜为人知的 Linux 命令 - Part 3 十个鲜为人知的 Linux 命令 - Part 4 42. lsb_release 'lsb_release' 命令会打印特殊发行版的信息.如果 lsb_

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

继续上篇文章11个鲜为人知的实用Linux命令在本文中,我们将关注其他几个不为人知的Linux命令,有些在管理桌面和服务器方面被证明是非常有用的. 12. <空格> 命令 你在终端上键入的每个命令都会记录到history,也能用history命令重新调用. 如何骗过history 命令呢?呵呵,你可以轻而易举地做到.在终端,只需要在键入命令之前输入一个或多个空格,这样你的命令就不会被记录了. 让我们体验一下吧,先在终端尝试五个常见的 Linux 命令并在命令之前留个空(例如** ls, pwd

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

Linux命令行吸引了大多数Linux爱好者.一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务.Linux命令和它们的转换对于Linux用户.Shell脚本程序员和管理员来说是最有价值的宝藏.有些Linux命令很少人知道,但不管你是新手还是高级用户,它们都非常方便有用. 这篇文章的目的是介绍一些少有人知的Linux命令,它们一定会高效地帮你管理你的桌面/服务器. 1. sudo !!命令 没有特定输入sudo命令而运行,将给出没有权限的错误.那么,你不需要重写整个命令,仅仅输

Linux命令集

Abstract 在安装.使用和维护Linux系统中,我们都会用到大量的命令,而且命令参数繁多,这也可说是linux系统的一大特色,所以经常会忘记.这里记录我使用Linux当中用到过的命令,用于备查. -------------------------------------------------------------------------------- Table of Contents 1. 最常用的命令列表 2. chmod----改变一个或多个文件的存取模式(mode) 3. ch

每个开发人员应该知道的10个Linux命令

作为一名软件工程师,学习Linux是我所做的最好投资.因为Linux是一个用户必须理解和维护的系统,所以日常体验就像向水坑加水滴一样.时间一长,水坑就会成为湖泊,甚至是海洋.所以我们必须杜微慎防. 今天,我作为一名30多岁的工程师,仍然受益于我几年前机缘巧合学到的一大堆知识,在我还是一个具有雄心壮志的初学者的时候.在另一篇博客中,我已经更详细地解释了为什么Linux对于软件开发人员来说是一个更加务实的选择. 在这篇博文中,我将分享一些不太受欢迎但非常有用的Linux命令,我个人极力推荐.如果你是

在Linux命令行下令人惊叹的惊叹号(!)

'!'符号在Linux中不但可以用作否定符号,还可以用来从历史命令记录中取出命令或不加修改的执行之前运行的命令.下面的所有命令都已经在Bash Shell中经过确切地检验.尽管我没有试过,但大多都不能在别的Shell中运行.这里我们介绍下Linux命令行中符号'!'那惊人和奇妙的用法. 1. 使用数字从历史命令列表中找一条命令来执行 您也许没有意识到您可以从历史命令列表(之前已经执行的命令集)中找出一条来运行.首先,通过"history"命令查找之前命令的序号. $ history 使

Linux 命令神器:lsof 入门

Linux 命令神器:lsof 入门 lsof是系统管理/安全的尤伯工具.我大多数时候用它来从系统获得与网络连接相关的信息,但那只是这个强大而又鲜为人知的应用的第一步.将这个工具称之为lsof真实名副其实,因为它是指"列出打开文件(lists openfiles)".而有一点要切记,在Unix中一切(包括网络套接口)都是文件. 有趣的是,lsof也是有着最多开关的Linux/Unix命令之一.它有那么多的开关,它有许多选项支持使用-和+前缀. usage: [-?abhlnNoOPRs

Linux 命令大全-网络资源

Linux  命令大全 地址: http://man.linuxde.net/ 说明: 包括网络.系统等命令查询---备查询.

PHP执行Linux命令常用的6个函数

一般情况下,很少会用php去执行linux命令,不过特殊情况下,你也许会用到这些函数.以前我知道有二个函数可以执行linux命令,一个是exec,一个是shell_exec.其实有很多的,结合手册内容,介绍以下6个函数. 1,exec函数 <?php      $test = "ls /tmp/test";   //ls是linux下的查目录,文件的命令      exec($test,$array);       //执行命令      print_r($array);