首页 运维 安全 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 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

在 Windows 上运行 shell 脚本文件的不同方法 在 Windows 上运行 shell 脚本文件的不同方法 Apr 13, 2023 am 11:58 AM

适用于 Linux 的 Windows 子系统第一种选择是使用适用于 Linux 或 WSL 的 Windows 子系统,这是一个兼容层,用于在 Windows 系统上本地运行 Linux 二进制可执行文件。它适用于大多数场景,允许您在 Windows 11/10 中运行 shell 脚本。WSL 不会自动可用,因此您必须通过 Windows 设备的开发人员设置启用它。您可以通过转到设置 > 更新和安全 > 对于开发人员来完成。切换到开发人员模式并通过选择是确认提示。接下来,查找 W

Ubuntu Bash性能对比:Ubuntu与Win10周年版 Ubuntu Bash性能对比:Ubuntu与Win10周年版 Jan 04, 2024 pm 09:36 PM

今年初,当Microsoft和Canonical发布Windows10Bash和Ubuntu用户空间,我尝试做了一些初步性能测试UbuntuonWindows10对比原生Ubuntu,这次我发布更多的,关于原生纯净的Ubuntu和基于Windows10的基准对比。Windows的Linux子系统测试完成了所有测试,并随着Windows10周年更新放出。默认的Ubuntu用户空间还是Ubuntu14.04,但是已经可以升级到16.04。所以测试首先在14.04测试,完成后将系统升级升级到16.04

五个鲜为人知的现代 Bash 脚本编写技术 五个鲜为人知的现代 Bash 脚本编写技术 Jun 26, 2023 pm 08:36 PM

程序员经常使用Bash命令语言创建Shell脚本来自动化手动任务。例如,他们会为各种配置、文件操作、生成构建结果和各种与DevOps相关的活动创建Bash脚本。几乎所有类Unix或基于Unix的操作系统都为用户提供预安装的Bash解释器,因此我们可以使用Bash编写更具可移植性的自动化脚本。正如我们已经知道的那样,Bash脚本编写是指使用Bash命令语言的语法、内置Bash命令和核心操作系统CLI程序(如GNU核心工具)编写一系列命令。标准且老式的Bash脚本通常执行一些命令并在终端上显示纯文本

Bash程序以找到A的B次方? Bash程序以找到A的B次方? Aug 30, 2023 pm 09:01 PM

这里我们将看到如何使用bash脚本获得数字A的B次方。逻辑很简单。我们必须使用“**”运算符或幂运算符来执行此操作。让我们看下面的程序来清楚地理解这个概念。示例#!/bin/bash#GNUbashScripta=5b=6echo"$(($a**$b))"输出15625

bash漏洞复现的示例分析 bash漏洞复现的示例分析 May 19, 2023 am 11:13 AM

BourneAgainShell(简称BASH)是在GNU/Linux上最流行的SHELL实现,于1980年诞生,经过了几十年的进化从一个简单的终端命令行解释器演变成了和GNU系统深度整合的多功能接口。Bash,Unixshell的一种。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上,包括Linux与MacOSXv10.4都将它作为默认shell。它也被移植到MicrosoftWindows上的Cygwin与MinGW,或是可以在MS-

今天是您获得 Windows 11 Bug Bash 贴纸的最后一天 今天是您获得 Windows 11 Bug Bash 贴纸的最后一天 May 13, 2023 pm 08:25 PM

上周微软宣布了BugBash,这是一项旨在吸引Windows内部人员完成任务(希望如此)以在长期和短期内改善Windows11开发的活动。最初在3月16日,大约有26个任务可供完成,但现在已经增长到了惊人的75个。不过,更重要的是:BugBash将于3月22日结束,同时还有机会获得BugBash特定贴纸这将出现在您的反馈中心。要参加Windows11BugBash,您需要从Dev频道获得最新的Windows11预览版本,即build2

使用 Bash 制作 Web 安全颜色 使用 Bash 制作 Web 安全颜色 Jul 07, 2023 pm 06:54 PM

当计算机显示器的调色板有限时,网页设计师通常使用一组Web安全颜色来创建网站。虽然在较新设备上显示的现代网站可以显示比最初的Web安全调色板更多的颜色,但我有时喜欢在创建网页时参考Web安全颜色。这样我就知道我的网页在任何地方都看起来不错。你可以在网上找到Web安全调色板,但我想拥有自己的副本以方便参考。你也可以使用Bash中的for循环创建一个。Bashfor循环Bash中的for循环的语法如下所示:for变量in集合;do语句;done例如,假设你想打印从1到3的所有数字。你可以快速在Bas

八个 Shell 命令,让你瞬间成为 Linux 命令行大师 八个 Shell 命令,让你瞬间成为 Linux 命令行大师 Jun 17, 2023 am 09:38 AM

拥有扎实的编程基础显然是一位优秀软件工程师的必备素质。无论是像Python这样的解释型语言,还是像C++这样的编译型语言,至少掌握一门编程语言至关重要。然而,这只是成为一个真正全面发展的工程师的一个方面。如果你在Shell环境下迷失方向,那些基础知识也就毫无用处了。在Bash中灵活运用命令将带你到达传统编程语言无法触及的领域。有时候,你实际上并不需要使用更强大的编程语言。通过仅仅使用Shell,你可以更快、更轻松地完成所需任务,而且不需要额外的依赖。在本文中,我们将探讨一些非常实用的Bash命令

See all articles