bash shell的特性有哪些

 我来答
氯凭芽C4
2021-02-04 · TA获得超过120个赞
知道小有建树答主
回答量:431
采纳率:83%
帮助的人:34.6万
展开全部

命令历史:shell进程会在会话中保存此前用户提交执行过的命令;

  • 查看历史命令:

  • ~]# history

  • 定制history的功能,可通过环境变量来实现

  • HISISIZE:shell进程可保留的命令历史条数

  • HISIFILE:持久保存命令历史的文件 (.bash_history)

  • HISIFILESIZE:命令历史文件的大小

  • 用法:

  • -c:清空当前历史命令; -a:将历史命令缓冲区中命令写入历史命令文件中; -r:将历史命令文件中的命令读入当前历史命令缓冲区; -w:将当前历史命令缓冲区命令写入历史命令文件中;-d:删除指定命令历史条目;

  • 显示最近#条历史命令 (history #)

  • 调用历史列表中的命令 ( ! number)

  • 再次执行上一条命令 (!!)

  • 再一次执行历史列表中最近一个以STRING开头的命令 (!STRING)

  • 调用上一条命令的最后一个参数 (ESC+.、file !$、file alt+.

  • 控制命令历史的方法

  • 环境变量:HISICONTROL

  • 参数:
    ignorespace:忽略以空白字符开头的命令
    ignoredups:忽略以空白字符开头的命令
    ignoreboth:以上两者同时生效
    echo $HISTCONTROL

  • 修改变量值
    HISICONTROL=Ignorespace

  • bash 基础特性之:命令补全

  • 命令补全:

  • shell程序在接收到用户执行命令的请求,分析完成后,最左侧的字符串会被当作命令;

  • 命令查找机制:

  • 根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名\

  • 给定的打头字符串如果能唯一标识某命令程序文件,则直接补全\

  • 不能惟一标识某命令程序文件,再击打一次tab键,会给出列表;

  • 路径补全:

  • 在给定的起始路径下,以对应路径下的打头字符串来逐一匹配起始路径下的每个文件 (tab)    《Linux就该这么学》 一起学习linux

  • 如果能惟一标识,则直接补全。否则,再一次tab给出列表;

  • bash 基础特性之:命令行展开

  • ~:自动展开为用户的家目录,或指定的用户家目录;

  • {}:可承载一个以逗号分割的路径列表;

  • 例如:


    [options] [directory] 列出树形目录中目录的内容; -l:level 指定显示的层级

  • tree命令:

  • mkdir /tmp/{a,b},相当于 mkdir /tmp/a,mkdir /tmp/b;

  • 创建/tmp/sysroot目录下包含以下文件

  • |--bin

  • |--etc

  • |--sysconfig

  • |--network-scripts

  • |--sbin

  • |--usr

  • |--local

  • |--bin

  • |--sbin

  • |--var

  • |--cache

  • bash 基础特性之:命令的执行状态结果

  • 命令执行的状态结果

  • bash通过状态返回值来输出此结果 (成功:0,失败:1-255);

  • 命令执行完成后,其状态返回值保存于bash的特殊变量中 " $? ";

  • 命令正常执行时,有的还会有命令返回值,其根据命令及其功能不同,结果各不相同;

  • 两种引用命令的执行结果

  • $(COMMAND)

  • `COMMAND`

  • 示例:mkdir $(date +%H-%M-%S)

  • bash 基础特性之:引用

  • 强引用:' '

  • 弱引用:" "

  • 命令引用: ` `

  • bash 基础特性之:快捷键

  • Ctrl+a:跳转至命令行行首

  • Ctrl+e:跳转至命令行行尾

  • Ctrl+u:删除行首至光标所在处之间的所有字符

  • Ctrl+k:删除光标所在处至行尾的所有字符

  • Ctrl+l:清屏(等同clear)

  • bash 基础特性之:globbing

    globbing:文件名通配

  • 星号 :匹配任意长度的任意字符 (pa,pa,pa,pa);

  • 问号?:匹配任意单个字符(pa?,??pa,p?a,p?a?);

  • 中括号[]:匹配指定范围内的任意单个字符 ([a-z] [A-Z] [0-9] [a-z0-9]);

  • [^]:匹配指定范围外的任意单个字符([^[:upper:]],[^0-9],[^[:alnum:]]);

  • bash 基础特性之:命令hash

  • hash命令:

  • -d COMMAND,删除

  • -r 情况hash缓存

  • 执行命令的查找顺序: hash、alias、path;

  • 解释:

  • 把命令的查找结果,缓存在缓存中就叫hash;

  • 什么时候需要清空hash表,hash缓存不正确时;

  • bash 基础特性之:变量

    转载于:https://blog.51cto.com/51eat/2409637

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式