bash shell的基础特性之一

一、命令历史

bash会记录此前用户在shell会话中执行的命令于缓冲区中;正常退出时,会被记录于当前用户家目录下隐藏文件.bash_history中;

环境变量:

HISTSIZE:命令历史记录的条数;

HISTFILE:命令历史文件路径;

HISTFILESIZE:

history命令:

-c:清空命令历史;

-d #: 删除历史中指定的命令;

-a: 当缓冲区中的历史手动追加文件;

history #: 显示最近的多少条命令;

调用过去执行过的命令:

!#:调用历史中的第#条命令;

!!: 重复执行上一条命令

!string:调用历史中最近一个以string开头的命令;

调用过去执行过的命令的最后一个参数:

!$:

ESC, .

Alt+.

二、命令补全

命令搜索机制:

PATH环境变量:由冒号分隔的路径

hash:把此前搜索到路径缓存到内存中;

kv: key-value

ls --> /bin/ls

命令补全:TAB

三、路径补全

把用户给出的路径字符串当前路径起始,并在其指定的上级目录下搜索以指定的字符串开头的文件名;

如果惟一:直接补全;

否则:两次Tab,可列出;

四、 命令行展开的功能

~: 展开为当前用户的主目录;

~USERNAME:展开为指定用户的家目录;

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

/var/{log,cache,run} = /var/log /var/cache /var/run

五、命令的执行结果状态,由bash追踪和保存

成功:0

失败:1-255

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

程序的执行结果有两种:

程序的返回值;

程序的状态结果;

六、命令别名

命令的另一个引用符号,由bash程序维护;

alias/unalias

alias: 查看所有已经定义别名;

alias NAME=COMMAND:定义别名;

如果别名同原命令名,想直接执行原命令,则需使用\COMMAND

unalias NAME: 撤消别名;

时间: 2024-10-23 03:59:21

bash shell的基础特性之一的相关文章

bash shell学习-基础 (笔记)

When you hoist the sails to cross the sea, you willride the wind and cleave the waves. "长风破浪会有时,直挂云帆济沧海" 参考资料:鸟哥的Linux私房菜 基础学习篇(第三版) 一.认识shell 1.什么是shell shell是一种“提供使用者界面”来实现用户与内核通信的软件(命令解释器) 2.为什么要学习shell ①命令行界面的shell在各大Linux发行版中都一样: ②远程管理时命令行界

BASH SHELL 脚本基础

什么是shell     Linux系统的shell作为操作系统的外壳,为用户提供使用操作系统的接口.它是命令语言.命令解释程序及程序设计语言的统称. shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层.当从shell或其他程序向Linux传递命令时,内核会做出相应的反应.            shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其他应用程序所调用.用户在提示符下输入的命令都

Bash shell编程基础

1.何谓shell script shell script是利用shell的功能写一个"程序",这个程序是使用纯文本文件,将一些shell的语法与命令(包括外部命令)写在里面,搭配正则表达式,管道命令与数据流重定向,条件判断语句等功能,以达到我们所想要的处理目的. 2.脚本或程序源文件都是纯文本文件. 3.脚本或程序的执行一般有两种方式: 编译执行:预处理-->编译-->汇编-->链接:编译执行是一种计算机语言的执行方式. 由编译程序将目标代码一次性编译成目标程序,再

Bash脚本编程——基础特性

1.命令别名(alias) 1.1 alias命令实现 (1) alias  显示当前shell进程所有可用的命令别名: (2) alias NAME='VALUE'  定义别名NAME,其相当于执行命令VALUE: 注意:在命令行中定义的别名,仅对当前shell进程有效:如果想永久有效,要定义在配置文件中.仅对当前用户:~/.bashrc,对所有用户有效:/etc/bashrc. Note: 编辑配置给出的新配置不会立即生效: bash进程重新读取配置文件: source /path/to/c

Linux上bash的部分基础特性:

命令补全: tab shell程序在接收到用户执行命令的请求,分析完成后,最左侧的字符串会被当做命令 命令查找机制: 查找内部命令: 根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名 给定的打头字符如果能唯一标识某命令文件程序,则直接补全 给定的打头字符如果不能唯一标识某命令文件程序,在一次tab,会给出列表 路径补全:tab 在给定的起始路径下,以对应路径下的打头字串来逐一匹配其实路径下的每个文件 如果能唯一标识,则直接补全 否则,再一次tab,给出列表 双击Tab: /2Ta

Bash Shell脚本编程-基础特性知识

Bash Shell的基础特性: 命令历史: history:shell内建命令 环境变量HISTFILE定义用户退出命令历史列表的存储位置 #echo $HISTFILE /root/.bash_history # echo $HISTFILESIZE   HISTFILE指向的文件持久留存的历史命令条目 1000 # echo $HISTSIZE           当前bash进程所留存的历史命令条目数 1000 # history -d 123            删除历史列表中的第1

bash shell基础编程

一. BASH Shell编程基础 1. BASH Shell的可执行文件 (1) 内部命令 (2) 外部命令 (3) 脚本文件 2. BASH Shell的命令解释过程 在path指定范围内查找(外部命令) ...... 3. BASH Shell的变量 (1) 变量的分类 -按作用域分 a. 局部变量 b. 全局变量 -按用途分 a. 自定义变量 b. 系统环境变量(path) c. 特殊变量 (2) 定义和引用变量 -定义变量: 即用即定义.不用加$ 注: 可用export命令将变量输出为

bash shell基础特性之三(数组)

bash shell基础特性之三(数组) 一.数组定义 数组指连续的多个独立内存空间,每个内存空间相当于一个变量. bash shell只支持一维数组,但参数个数没有限制. 数组元素:数组名+索引(从0开始编号) 声明数组:declare -a ARRAR_NAME(其实不用声明,按数组方式直接赋值给变量即可,BASH就知道那是数组) 关联数组:declare -A ARRAY_NAME 数组元素的赋值:一次赋值全部元素.指定索引进行赋值.一次只赋值一个元素 (1) array=(var1 va

CentOS系统Shell编程语言基础之Bash的基础特性简介

bash的基础特性之命令历史: 命令历史:shell进程会在其会话中保存此前用户提交执行过的命令~]#history定制history的功能,可通过环境变量实现HISTSIZE:shell进程可保留的命令历史的条数HISTFILE:持久保存命令历史的文件, ".bash_history"HISTFILESIZE:命令历史文件的大小 命令用法: history [-c] [-d offset] [n]or history -anrw [filename]or history -ps ar