`
ruvuoai
  • 浏览: 95755 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Bash 使用技巧大补贴

阅读更多
Bash 是我们经常与之打交道的 Shell 程序,本文针对其使用技巧进行了搜罗。相信在你看过这些内容之后,定会在 Bash 的世界里游刃有余。

    * 从历史中执行命令

      有时候,我们需要在 Bash 中重复执行先前的命令。你当然可以使用上方向键来查看之前曾经运行过的命令。但这里有一种更好的方式:你可以按 Ctrl + r 组合键进入历史搜索模式,一旦找到需要重复执行的命令,按回车键即可。
    * 重复命令参数

      先来看一个例子:

      mkdir /path/to/exampledir
      cd !$

      本例中,第一行命令将创建一个目录,而第二行的命令则转到刚创建的目录。这里,“!$”的作用就是重复前一个命令的参数。事实上,不仅是命令的参数可以重复,命令的选项同样可以。另外,Esc + . 快捷键可以切换这些命令参数或选项。
    * 用于编辑的快捷键
          o Ctrl + a:将光标定位到命令的开头
          o Ctrl + e:与上一个快捷键相反,将光标定位到命令的结尾
          o Ctrl + u:剪切光标之前的内容
          o Ctrl + k:与上一个快捷键相反,剪切光标之后的内容
          o Ctrl + y:粘贴以上两个快捷键所剪切的内容
          o Ctrl + t:交换光标之前两个字符的顺序
          o Ctrl + w:删除光标左边的参数(选项)或内容
          o Ctrl + l:清屏
    * 处理作业

      首先,使用 Ctrl + z 快捷键可以让正在执行的命令挂起。如果要让该进程在后台执行,那么可以执行 bg 命令。而 fg 命令则可以让该进程重新回到前台来。使用 jobs 命令能够查看到哪些进程在后台执行。

      你也可以在 fg 或 bg 命令中使用作业 id,如:
      fg %3

      又如:
      bg %7
    * 使用置换
          o 命令置换

            先看例子:
            du -h -a -c $(find . -name *.conf 2>&-)

            注意 $() 中的部分,这将告诉 Bash 运行 find 命令,然后把返回的结果作为 du 的参数。
          o 进程置换

            仍然先看例子:
            diff <(ps axo comm) <(ssh user@host ps axo comm)

            该命令将比较本地系统和远程系统中正在运行的进程。请注意 <() 中的部分。
          o xargs

            看例:
            find . -name *.conf -print0 | xargs -0 grep -l -Z mem_limit | xargs -0 -i cp {} {}.bak

            该命令将备份当前目录中的所有 .conf 文件。
    * 使用管道

      下面是一个简单的使用管道的例子:
      ps aux | grep init

      这里,“|”操作符将 ps aux 的输出重定向给 grep init。

      下面还有两个稍微复杂点的例子:
      ps aux | tee filename | grep init

      及:
      ps aux | tee -a filename | grep init
    * 将标准输出保存为文件

      你可以将命令的标准输出内容保存到一个文件中,举例如下:
      ps aux > filename

      注意其中的“>”符号。

      你也可以将这些输出内容追加到一个已存在的文件中:
      ps aux >> filename

      你还可以分割一个较长的行:
      command1 | command2 | ... | commandN > tempfile1
      cat tempfile1 | command1 | command2 | ... | commandN > tempfile2
    * 标准流:重定向与组合

      重定向流的例子:
      ps aux 2>&1 | grep init

      这里的数字代表:
          o 0:stdin
          o 1:stdout
          o 2:sterr

      上面的命令中,“grep init”不仅搜索“ps aux”的标准输出,而且搜索 sterr 输出。

原文地址:http://blog.chinaunix.net/u1/37411/showart_289914.html
分享到:
评论

相关推荐

    Bash使用 文档.doc

    Bash 使用文档 bash 是一种广泛使用的 shellcript 语言,主要应用于 Linux 操作系统中。下面是 bash 的一些重要知识点: 一、什么是 shell shell 是 Linux 系统中,用户和内核之间的交互程序。它翻译用户输入的...

    Gitxmind GIt bash 使用 xmind

    Gitxmind GIt bash 使用 xmindGitxmind GIt bash 使用 xmindGitxmind GIt bash 使用 xmindGitxmind GIt bash 使用 xmindGitxmind GIt bash 使用 xmindGitxmind GIt bash 使用 xmind

    Linux中高效编写Bash脚本的9个技巧

    当Bash使用未声明变量时使脚本退出 未初始化的变量可能导致脚本行为不可预测。为了避免这种情况,可以在脚本开头设置`nounset`选项。这样,如果脚本尝试使用未声明的变量,将会触发一个错误并使脚本退出。 ```...

    Git Bash使用详细

    Git Bash使用详细

    Bash参考手册.pdf

    Bash函数是可以重复使用的命令块,用户可以定义自己的函数,然后在脚本中调用这些函数。函数可以接受参数,可以返回值。 7. Bash流程控制 Bash提供了多种流程控制方法,包括: * 条件语句:if、elif、else等 * ...

    我觉得最好的Bash Script

    Bash Script 是 UNIX/Linux 中非常重要的软件之一,几乎所有的 Linux 和大部分的 UNIX 都可以使用 Bash。Shell 作为系统与用户之间的交互接口,几乎是你在 UNIX 工作平台上最亲密的朋友,因此,学好 shell 是学习 ...

    bash高级编程 advanced bash script

    总的来说,掌握Bash高级编程技巧不仅能够让你在日常的Linux使用中得心应手,还能为你的IT职业生涯开启新的可能性,特别是在系统管理、持续集成、自动化测试等领域。因此,无论你是初学者还是经验丰富的开发者,深入...

    AIX 6.1 bash包及安装

    通过以上步骤,你可以在AIX 6.1系统上成功安装并使用bash 4.2版本。记住,更新shell后,系统管理员应确保所有脚本和程序都能与新版本兼容,因为不同版本的Bash可能有不同的语法和行为。此外,定期更新和维护软件包是...

    bash.acp&bash.stx

    使用像EditPlus这样的编辑器,结合定制的Bash语法高亮和自动补全功能,可以极大地提升Bash脚本开发的生产力。 安装和使用这些配置文件非常简单。只需将`bash.acp`和`bash.stx`文件复制到EditPlus的安装目录下的...

    bash官方手册/Bash Reference Manual

    "bash 官方手册/Bash Reference Manual" bash 官方手册是 GNU 项目的一部分,由 Chet Ramey 和 Brian Fox 编写,提供了 Bash shell 的详细参考手册。该手册涵盖了 Bash shell 的所有方面,包括基本语法、shell ...

    linux-Bash风格指南规范最佳实践和实用技巧

    **Linux Bash风格指南:规范、最佳实践与实用技巧** 在Linux世界中,Bash shell脚本是日常自动化任务和系统管理的重要工具。了解并遵循良好的Bash编程风格,不仅可以提高脚本的可读性和可维护性,还能避免潜在错误...

    Bash使用 (很详细的讲解)

    Bash使用 命令补齐相关 常用的快捷键 编程相关 变量 参 数 函数 操作符 条件测试和流程控制 算术运算 输入和输出重定向 信号与自陷 作业控制 注意与建议 代码sample 配置文件 bash...

    bash v203- bash的windows本地实现

    综上所述,bash v203的Windows本地实现为Windows用户提供了一种在本地环境中直接使用Unix/Linux命令行工具的方式,结合UnxUtils,可以极大地增强Windows系统的命令行功能,尤其对于开发者和系统管理员而言,这是一个...

    bash-4.4版本升级手册带安装包

    此外,检查当前系统的Bash版本,可以使用`bash --version`命令。 ### 二、下载与解压 1. 首先,从可靠来源下载Bash 4.4的源代码包,这里提供的是`bash-4.4.tar.gz`。可以使用`wget`命令下载,例如: ``` wget ...

    高级bash shell手册

    编写高效、可维护的Bash脚本需要遵循一定的最佳实践,如注释、错误处理、适当使用变量和函数,以及避免命令替换和引用陷阱。 通过深入阅读《高级Bash Shell手册》并实践其中的示例,用户可以掌握Bash的高级特性和...

    bash超酷脚本实例

    通过实践书中的每个脚本,你将逐渐掌握bash的语法和技巧,从而能够编写出自己的实用脚本来解决实际问题。 此外,bash脚本的编写也对提高英语水平有所帮助,因为大多数开源文档和技术资料都是英文的。在实践中学习...

    Linux使用技巧:Bash测试和比较函数

    在Linux系统中,Bash(Bourne-Again SHell)是一种广泛使用的命令行解释器,它提供了丰富的功能,包括文件、算术和字符串的测试与比较。掌握Bash的测试和比较操作对于提高Linux使用效率和编写shell脚本至关重要。在...

    详细的Bash介绍

    执行Bash脚本,可以使用`bash hello`或`sh hello`命令。若要使脚本可直接运行,需使用`chmod`命令赋予执行权限,如`chmod u+x hello`,然后通过`./hello`运行。 3. **变量与运算** Bash中的变量定义无需预声明,...

Global site tag (gtag.js) - Google Analytics