bash的常见特性及文本查看命令

Posted 小兔无情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bash的常见特性及文本查看命令相关的知识,希望对你有一定的参考价值。

(一)bash的基础特性

  • 命令补全
    • shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令;
    • 命令查找机制:shell首先会在内部命令中匹配查找,如果没有找到,则会在PATH环境变量设置的目录中,自左向右逐个搜索目录下的文件名
    • 补全:如果给定的打头字符串可以唯一的标识某命令程序文件,则按“tab”键直接补全;否则需要按两下“tab”键,给出列表
  • 路径补全
    • 在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件。
    • 如果能唯一标识,则按“tab”键直接补全;否则需要按两下“tab”键,给出列表
  • 命令行展开
    • ~:展开为用户的家目录,或指定的用户的家目录
    • {}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径。例如:/tmp/{a,b}相当于/tmp/a,/tmp/b
  • 命令的执行状态结果
    • bash通过状态返回值来输出此结果
      • 成功:0
      • 失败:1-255
    • 命令执行完成之后,其状态返回值会保存于bash的特殊变量“$?”中。可以用“echo $?”查看。
    • 命令的返回值和命令的执行状态返回值不是一回事儿
  • 引用命令的执行结果:
    • $(COMMAND)或者`COMMAND`。例如mkdir $(date +%H-%M-%S)
  • 引用
    • 强引用:单引号‘‘,其内部的任何字串都直接显示,不做任何替换
    • 弱引用:双引号"",其内部的
    • 命令引用:反引号``或者$()

(二)目录管理类的命令

  • mkdir:创建目录/make directories
    • 命令的操作对象为路径的基名,基名之前的路径名必须要存在
    • -p:会创建缺失的父目录
    • -v:显示创建的详细过程,比如创建了哪些父目录/verbose
    • -m MODE:创建目录时直接给定权限,否则则为默认权限
  • rmdir:删除空目录/remove empty directories
    • 目录不空会报错
    • -p:迭代删除空目录
    • -v:显示删除过程

问题1:如何创建四个路径:/tmp/x/y1,/tmp/x/y2,/tmp/x/y1/a,/tmp/x/y1/b?

答案:mkdir -pv /tmp/x/{y1/{a,b},y2}

问题2:如何创建四个路径:a_c, a_d, b_c, b_d?

答案:mkdir -v {a,b}_{c,d}

  • tree:显示目录的树状结构,例如tree /tmp/x
    • -L #:指定要显示的树的深度

以上是关于bash的常见特性及文本查看命令的主要内容,如果未能解决你的问题,请参考以下文章

linux学习12 bash的常见特性及文本查看命令实战

6.shell脚本基础和grep文本处理工具企业应用

3-2bash特性详解

08-bash基础特性及基础命令

[鸟哥linux视频教程整理]03_02_Linux文件管理类命令及bash特性详解

bash变量及bash脚本编程算术运算介绍