10 个有用的 bash 技巧 - Nicky's blog

June 27th, 2007

10 个有用的 bash 技巧

Category: Ubuntu, Author: Nicky, Popularity: 8%

这是一篇老文章,被人了 digg 出来,虽然老,但对 Linux 新手来说不得不看。最早的中文翻译也不知道出自于哪里,找了一篇标注为 05 年的文章《十个 Linux bash 小技巧》,原文来自于这里。我把其中几条比较重要和常用的技巧提了出来,使用了一些自己的话来表达如下:

1、轻松调用先前的命令

bash 在一个历史缓冲区中保留先前执行过的命令,并且允许你通过上下光标键来翻动它们,还可以通过 Ctrl-R “快速查找”,重复按 Ctrl-R 可以在整个匹配的命令列表中循环查找。

2、使用命令别名

在终端里使用快捷方式这篇文章也提到过这个问题,把一些常用的命令或带参数的命令组合取一个别名,能提高很多工作效率。例如:在 ~/.bashrc 中加入一句 alias ll=’ls -l’ 后,我们使用 ll 命令就能完成 ls -l 同样的事情。

3、使用文件名自动补全

如果想进入 /usr/share/applications 目录,只需要在终端输入 /usr/share/app 然后按一下 tab 键就自动完成了这个目录的输入,如果双击 tab 键还能查看以这个打头的所有目录或文件。就是因为这个功能把我养懒了,很多稍微长点的命令都记不住全称了。

4、使用快捷键编辑命令行

Bash 支持使用快捷键来编辑命令行,如:Ctrl-A 或 Home 键可以把光标移动到命令行的开始,Ctrl-E 或 End 键能让光标移动到末尾,Ctrl-W 可以删除光标前的字 (不包含光标所在字符),Ctrl-K 将删除光标后的所有字符 (包含光标所在字符),Ctrl-Y 可以撤消一个删除。

6、在后台运行任务

bash 允许你在后台运行一个或多个任务,并且可选择地挂起或重新开始任何当前任务。要在后台运行一个任务,在其命令行后面添加一个 & 记号。例子如下:
bash> tail -f /var/log/messages &
[1] 614

这种方式的每个后台任务都被分配一个任务 ID,并在控制台输出。任务可以用命令 fg jobnumber 从后台调到前台,jobnumber 是你想调到前台的任务 ID。举例如下:
bash> fg 1

Tags:, , .
评论数量(7) | Add Comments
本文网址:http://www.osxcn.com/ubuntu/10-shortcuts-to-master-bash.html



7 Comments so far

» You can leave a response or Trackback .

  1. Gravatar Icon yeahlang Says:

    学过一个月Linux,但是实在不是我玩的,呵呵~
    不搞技术,电脑是拿来用的,对我来说

  2. Gravatar Icon yeahlang Says:

    不是十个吗?还有四个呢?

  3. Gravatar Icon Nukq Says:

    这段时间Ctrl-z … fg 比较常用,emacs里的shell有时候比较弱,
    一些复杂命令不得不Ctrl-z挂起emacs,回到shell干完活 再fg回emacs去。

  4. Gravatar Icon psy Says:

    关于第6条,有一个相关的命令:用jobs呼出后台运行程序的列表(包括job number和详细命令名称)。这时候 可以用fg来处理。

  5. Gravatar Icon Nukq Says:

    嗯,像我这种只会vim初级应用的,不知道如何编辑多个文件。
    于是经常在需要修改多个配置文件的时候 Ctrl+z , jobs, fg xxx来回跳 -_-!!

  6. Gravatar Icon dNgpNg Says:

    Bash的许多快捷方式和Emacs是一致的,因为默认情况下Bash是运行在Emacs Mode,当然,以前也试着改过用Vi Mode使用Bash,感觉怪怪的

    $ set -o emacs 或 $ set -o vi

  7. Gravatar Icon sysboy Says:

    请问一下,如何清除
    历史缓冲区中保留的先前执行过的命令?谢谢!

leave a reply