搜索
首页运维安全bash基础特性是什么

bash基础特性是什么

May 14, 2023 pm 11:07 PM
bash

#bash基础特性之命令别名
bash在shell进程中可以为命令本身或者命令加上选项设定别名,设定后可以直接输入别名的方式调用其功能。
设定命令别名的方式为:~]# alias NAME=COMMAN。
撤销命令别名的方式为:~]# unalias NAME
查看当前bash中已经设定的命令别名方式为:~]# alias
注意1:此方式设定的命令别名生命周期只是当前shell进程。退出当前shell再登陆即已经失效。如需在shell启动后自动生效,需要设置bash的环境变量相关配置文件。
注意2:如果命令别名和命令名相同,则直接调用别名定义的命令其功能。如需直接调用该命令本身功能而非别名,可使用“~]# \COMMAND。

#bash基础特性之命令历史
bash在shell进程会自动保存其会话中用户曾经执行过的命令,在shell运行中该记录存储在内存空间中,shell进程结束时通过将其存储在“历史文件”来持久保存此前执行过的命令,每次shell进程启动都会读取该文件内容到内存空间中,每个用户都有其自己专用的历史文件。
历史相关参数的变量
HISTSIZE:SHELL进程的缓冲区保留的历史命令的条数
~]# echo $HISTSIZE 可查看其大小
~]# export HISTSIZE=# 可设置其大小
HISTFILESIZE:命令历史文件可保存的历史命令的条数
~]# echo $HISTFILESIZE 可查看其大小
~]# export HISTFILESIZE=# 可设置其大小
HISTFILE:当前用户的命令历史文件
~]# echo $HISTFILE 可查看文件名和地址
HISTCONTROL:当前用户记录命令历史的方式
~]# echo $HISTCONTROL 可查看文件名和地址
~]# export HISTCONTROL=方式名 可设置记录命令历史的方式
共有三种方式:
ignoredups:忽略重复的命令;重复是指连续且相同的命令;
ignorespace:以空白字符开头的命令不记入历史;
ignoreboth:上述两者同时生效;
查看和管理命令历史的相关命令
查看命令历史列表:~]# history 
命令用法:
history -c:清空命令历史;
history -d:OFFSET:删除指定的条目;
-a        将当前缓冲的历史行追加到历史文件中
-n        从历史文件中读取所有未被读取的行
-r        读取历史文件并将内容追加到历史列表中
                
调用命令历史列表中的命令以重执行之目的:
!#:再一次执行历史列表中的第#条命令;
!!:再一次执行上一条命令;
!STRING:再一次执行命令历史列表中最近一个以指定的STRING开头的命令;
                
调用上一条命令的最后一个参数:
快捷键:ESC, .(先后按下这个两个键)
     Alt + .(同时按下这两个键)
     !$:给出的上一个命令的参数
                
显示最近的n条件命令历史:history  #


#bash基础特性之快捷键 
Ctrl+a:光标跳至命令行首;
Ctrl+e:光标跳至命令行尾;
Ctrl+k:删除光标所在处至尾部的内容;
Ctrl+u:删除行首至光标所在处的内容;

#bash的特性之命令行展开:
把命令行的给定的特殊符号自动替换为相应字符串的机制;
~: 自动替换为用户家目录;
~USERNAME:自动替换为指定用户的家目录;
{ }:可承载一个以逗号分隔的路径列表,能够将其展开为多个独立路径;
示例:/tmp/{x,y,z} = /tmp/x  /tmp/y  /tmp/z
示例:/tmp/{x/y, m/{m,n}} = /tmp/x/y /tmp/m/m /tmp/m/n
示例:/tmp/{x,y}/z = /tmp/x/z  /tmp/y/z 

#bash的基础特性:命令补全和路径补全
命令补全:
shell程序在接收到用户执行命令补全的请求后(单击一下Tab),最左侧字符串将被当作命令去查找;
其查找机制:
    1):查找内部
    2):查找外部命令:去$PATH变量所指定的各路径下,自左而右逐个搜索各目录下的文件名;
查找完成后,给定的打头的字符串如果能惟一标识某命令程序文件的文件名,则直接自动补全为该命令,不能惟一标识,再击tab可给列表;如果还是没有反应则表示错误,没有任何命令可被此打头字符串标识;
路径补全:
在给定的起始路径的上级目录下,以对应路径下的打头字符串来逐一匹配上级目标下的每个文件:如果是惟一标识,Tab补全;不能惟一标识:tab, tab给出列表;错误路径:没有响应。

#bash的特性之glob
glob:文件名通配;快速引用多个文件;文件名整体匹配度检测
*:匹配任意长度的任意字符
?:匹配任意单个字符
[ ]:匹配指定集合内的任意单个字符 
[a-z]:表示所有的字母,不区分大小写
[0-9]:表示所有数字
[a-z0-9]:所有字母加数字
[[:upper:]]:所有大写字母
[[:lower:]]:所有小写字母
[[:digit:]]:所有数字
[[:alpha:]]:表示所有字母
[[:alunm:]]:表示所以字母加数字
[[:space:]]:表示空白字符
[[:punct:]]:表示所有标点符号
[^ ]:取反

以上是bash基础特性是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文转载于:亿速云。如有侵权,请联系admin@php.cn删除

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前By尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具