本文介绍: Shell相当于是一个翻译,把我们计算机上的操作命令翻译计算机识别二进制命令,传递给内核以便调用计算机硬件执行相关的操作;同时,计算机执行完命令后,再通过Shell翻译自然语言呈现我们面前。bash(GNU Bourne-Again Shell)是最常用的一种shell,是当前大多数Linux发行版的默认Shell。最开始在Unix系统中流行的是sh,其全名是Bourne Shell,名字中的玻恩就是这个Shell的作者查看系统当前shell类型echo $SHELL。

一、概念

        shell是壳,是运行终端中的文本互动程序。Shell相当于是一个翻译,把我们计算机上的操作命令,翻译为计算机识别二进制命令,传递给内核以便调用计算机硬件执行相关的操作;同时,计算机执行完命令后,再通过Shell翻译成自然语言呈现我们面前。shell软件有:shbashksh、rsh、csh等。

        bash(GNU Bourne-Again Shell)是最常用的一种shell,是当前大多数Linux发行版的默认Shell。最开始在Unix系统中流行的是sh,其全名是Bourne Shell,名字中的玻恩就是这个Shell的作者。而bash作为sh的改进版本,提供了更加丰富的功能

        查看系统当前shell类型echo $SHELL

二、bash特性

        bash命令格式命令 选项 参数

                ls -a /home

        bash有两种使用方式:1、命令;2、脚本

(1)命令历史 history

        historyd OFFSET 删除某条记录

                 –c 删除所有历史

                n 显示历史中最近n条记录

        环境变量

                HISTSIZE:命令记录条数

                HISTFILE:~/.bash_history

                HISTFILESIZE:命令历史文件记录历史的条数

         调用历史中命令,输入!表示调用历史命令:

                !字符串:执行最近一条字符串”开头的命令

                !!:执行上条命令

        ctrl+r:搜索历史命令,根据关键字

                调用上一条命令的最后一个参数:Esc . 或 !$

        控制命令历史的记录方式

                环境变量:HISTCONTROL

                ignoredups:忽略重复的 连续且相同

                ignorespace:忽略空白开头的命令

                ignoreboth:上面两个生效

        修改环境变量方式export 变量名=值

(2)命令补全功能

        内部命令:

        外部命令bash根据PATH环境变量定义路径,自左向右搜索

        直接补全:tab键,只有唯一对应命令;不唯一在按tab会给出命令列表

(3)路径补全功能:

        把用户给定字符串当做路径的开头;

(4)命令行展开

        ~:展开用户的主目录

        ~USRNAME:展开指定用户下的主目录

        {}:可承载一个以逗号分隔的列表,并将其展开为多个路径

(5)命令的执行结果状态:成功or失败

        bash使用特殊变量$?保存最近一条命令执行结果状态

        0:成功 1~255:失败

        程序执行有两类结果:

                程序返回值,

                程序执行的状态结果。

(6)命令别名alias):

        通过alias命令别名

                alias:不带参数显示系统所有别名

                alias NAME=‘命名定义别名当前会话有效

                当前用户有效:~/.bashrc

                所有用户有效:/etc/bashrc

                修改配置文件后让文件生效需要source FILENAME

                撤销别名:unalias

                如果别名同原命令同名,要使用原命令通过:ls

(7)glob(globing)通配符

        bash中用于实现文件名通配的机制

        通配符*、?、[]

                *:任意长度的任意字符

                ?:任意单个字符

                []:匹配指定范围的任意单个字符,不区分大小

                取反:^

        专用字符集

        [:alnum:] [:alpha:] [:blank:] [:cntrl:]

        [:digit:] [:graph:] [:lower:] [:print:]

        [:punct:] [:space:] [:upper:] [:xdigit:]

(8)bash的快捷键

        ctrl+l:相当于clear,清屏操作

        ctrl+c取消命令的执行

        ctrl+d:退出、exit

        ctrl+a:光标跳转至命令首部

        ctrl+e:跳转至命令尾部

        ctrl+u:删除光标前的内容

        ctrl+k:删除光标后的内容

        ctrl+r:搜索历史命令,根据关键字

原文地址:https://blog.csdn.net/lurenyi168/article/details/132089782

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_12505.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注