本文共 1622 字,大约阅读时间需要 5 分钟。
bash 是 Unix/Linux 系统中的一个重要组成部分,它是一种 shell,可以理解为一个可执行程序。Shell 提供了用户与系统交互的接口,支持命令执行、文件管理等多种功能。
Shell 可以分为 GUI 和 CLI(图形用户界面与命令行用户界面)。
在 CLI 中,bash 和 zsh 是比较流行的选择。
Shell 和子shell 之间有一定的互相关联性。shell 的设定会影响子shell,而子shell 的设定也会反过来影响 shell。因此,用户应注意 shell 与子shell 之间的设置。
程序是固定的,但进程可以有多个。进程是程序的一个副本,主要用于理解程序的运行方式。注意:此处仅为理解性解释。
bash 具有多种功能,可以自定义工作环境(默认环境与自定义环境一致)。
bash 提供了丰富的命令行编辑功能,包括光标操作:
Ctrl + a:移动到行首Ctrl + e:移动到行尾Ctrl + u:删除从光标到行首的内容Ctrl + k:删除从光标到行尾的内容Ctrl + l:清屏bash 记录用户的命令历史,方便复查和重复执行命令。命令历史默认保存 1000 条记录。
historyhistory -chistory -d offset [n]history -w(默认保存至 ~/.bash_history)!n:执行第 n 条命令!-n:执行倒数第 n 条命令!!:执行上一条命令!string:执行最近一个以指定字符串开头的命令!$:引用上一条命令的最后一个参数(按 Esc + . 或 Alt + . 也可实现)bash 提供命令补全功能,支持路径和文件名通配。
命令补全:
PATH 环境变量指定的路径,找到与输入命令匹配的可执行文件。路径补全:
bash 允许定义命令别名。定义别名仅在当前 shell 的生命周期内有效。
alias command="COMMAND [options] [arguments]"aliasunalias aliasnamebash 支持命令替换,通过反引号()和强引用(""`)实现变量替换。
$()):将命令替换为其执行结果。 touch ./file-$(date +%F-%H-%M-%S).txt""):保留变量原样,不完成替换。bash 支持文件名通配(globbing)。
*:匹配任意长度的任意字符?:匹配任意一个字符[abc]:匹配指定范围内的任意单个字符[:space:]、[:punct:]、[:lower:]、[:upper:]、[:alpha:]、[:digit:]、[:alnum:]:匹配具体字符类型[^]:匹配不在指定范围内的任意单个字符bash 支持环境变量的使用。常见的环境变量包括:
PATH:命令搜索路径HISTORY:命令历史大小(默认 1000)bash 不仅是一个简单的 shell,还支持丰富的功能,如脚本编写、管道重定向、命令行展开等。这些功能使得 bash 成为 Linux 系统中不可或缺的工具。
转载地址:http://ghhfk.baihongyu.com/