bash基础特性是什么
发布时间 - 2023-05-14 00:00:00 点击率:次#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:]]:表示所有标点符号
[^ ]:取反
# 命令行
# 多个
# 列表中
# 将其
# 按下
# 如需
# 条数
# 可查
# 看其
# 直接调用
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Internet Explorer官网直接进入 IE浏览器在线体验版网址
JavaScript模板引擎Template.js使用详解
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
微信公众帐号开发教程之图文消息全攻略
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
如何在IIS服务器上快速部署高效网站?
laravel怎么通过契约(Contracts)编程_laravel契约(Contracts)编程方法
微信小程序制作网站有哪些,微信小程序需要做网站吗?
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优
Python函数文档自动校验_规范解析【教程】
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
如何选择PHP开源工具快速搭建网站?
Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】
悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音
佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】
Laravel队列由Redis驱动怎么配置_Laravel Redis队列使用教程
如何选择可靠的免备案建站服务器?
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
如何快速上传自定义模板至建站之星?
如何在阿里云虚拟服务器快速搭建网站?
青岛网站建设如何选择本地服务器?
如何快速生成可下载的建站源码工具?
Linux系统命令中screen命令详解
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
如何在IIS管理器中快速创建并配置网站?
如何用狗爹虚拟主机快速搭建网站?
如何快速登录WAP自助建站平台?
如何在阿里云高效完成企业建站全流程?
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
*服务器网站为何频现安全漏洞?
长沙做网站要多少钱,长沙国安网络怎么样?
C++时间戳转换成日期时间的步骤和示例代码
在线制作视频网站免费,都有哪些好的动漫网站?
Laravel怎么实现验证码(Captcha)功能
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
JS经典正则表达式笔试题汇总
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
新三国志曹操传主线渭水交兵攻略
如何快速搭建自助建站会员专属系统?
如何在 React 中条件性地遍历数组并渲染元素
如何在宝塔面板中修改默认建站目录?
Laravel如何创建自定义Artisan命令?(代码示例)
在线制作视频的网站有哪些,电脑如何制作视频短片?
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
如何快速搭建FTP站点实现文件共享?

