首页 / LINUX / linux Bash
linux Bash
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux Bash,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3736字,纯文字阅读大概需要6分钟。
内容图文
![linux Bash](/upload/InfoBanner/zyjiaocheng/934/5cdeb19c11514df6ae62c17f738b92a5.jpg)
Linux Bash基础特性
1、 命令补全
bash执行命令: 内部命令:help命令 外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文 件,第一次找到即为要执行的命令; 直接补全:Tab,用户给定的字符串只有一条惟一对应的命令; 以用户给定的字符串为开头对应的命令不惟一,则再次Tab会给出列表;2、 命令历史
history 环境变量: HISTSIZE:命令历史记录的条数; HISTFILE:~/.bash_history; HISTFILESIZE:命令历史文件记录历史的条数; history -d OFFSET 删除指定命令历史记录 -c 清除历史命令记录 history #: 显示历史中最近的#条命令; -a: 手动追加当前会话缓冲区的命令历史至历史文件中; 调用历史中的命令: !#: 重复执行第#条指令; !!: 执行最后一条历史命令 !string 执行当前历史命令中最近执行过的以string字符开始的历史命令 调用上一条命令的最后一个参数: !$: ESC, . Alt+. 控制命令历史的记录方式: 环境变量:HISTCONTROL ignoredups:忽略重复的命令;连续且相同方为“重复”; ignorespace:忽略所有以空白开头的命令; ignoreboth:ignoredups, ignorespace; 修改环境变量值的方式:export 变量名="值" 变量赋值:把赋值符号后面的数据存储于变量名指向内存空间;3、 路径补全
把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名; 如果惟一:则直接补全; 否则:再次Tab,给出列表;4、 命令行展开
~: 展开为用户的主目录 ~USERNAME:展开为指定用户的主目录 {}:可承载一个以逗号分隔的列表,并将其展开为多个路径/tmp/{a,b} = /tmp/a, /tmp/b /tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi5 、命令别名(alias)
通过alias命令实现: (1) alias 显示当前shell进程所有可用的命令别名; (2) alias NAME='VALUE' 定义别名NAME,其相当于执行命令VALUE; 注意:在命令行中定义的别名,仅对当前shell进程有效;如果想永久有效,要定义在配置文件 中; 仅对当前用户:~/.bashrc 对所有用户有效:/etc/bashrc Note: 编辑配置给出的新配置不会立即生效; bash进程重新读取配置文件: source /path/to/config_file . /path/to/config_file 撤消别名:unalias unalias [-a] name [name ...] Note: 如果别名同原命令的名称,则如果要执行原命令,可使用"\COMMAND";6 、命令的执行结果状态
成功 失败 bash使用特殊变量$?保存最近一条命令的执行状态结果: 0:成功 1-255:失败 程序执行有两类结果: 程序的返回值; 程序的执行状态结果;7、 glob (globbing)
bash中用于实现文件名“通配” 通配符:*, ?, [] (1) * 任意长度的任意字符 a*b: aab, ab, a123b, abc (2) ? 任意单个字符 a?b: aab ab, a12b, abc (3) []匹配指定范围内的任意单个字符 [0-9] [a-z]:不区分字符大小写 (4) [^] 匹配指定范围外的任意单个字符 [^0-9] 专用字符集合: [:digit:]:任意数字,相当于0-9 [:lower:]:任意小写字母 [:upper:]: 任意大写字母 [:alpha:]: 任意大小写字母 [:alnum:]:任意数字或字母 [:space:]:空格 [:punct:]:标点符号8、 bash的快捷键
Ctrl+l: 清屏,相当于clear命令; Ctrl+a:跳转至命令开始处; Ctrl+e:跳转至命令结尾处; Ctrl+c:取消命令的执行; Ctrl+u: 删除命令行首至光标所在处的所有内容; Ctrl+k: 删除光标所在处至命令行尾部的所有内容;9、 bash的的I/O重定向及管道
程序:指令+数据 读入数据:Input 输出数据:Output 打开的文件都有一个fd: file descriptor (文件描述符) 标准输入:keyborad, 0 标准输出:monitor, 1 标准错误输出:monitor, 2 I/O重定向:改变标准位置 输出重定向:COMMAND > NEW_POS, COMMAND >> NEW_POS >:覆盖重定向,目标文件中的原有内容会被清除; >>: 追加重定向,新内容会追加至目标文件尾部; # set -C: 禁止将内容覆盖输出至已有文件中; 强制覆盖:>| # set +C: 2>: 覆盖重定向错误输出数据流; 2>>: 追加重定向错误输出数据流; 标准输出和错误输出各自定向至不同位置: COMMAND > /path/to/file.out 2> /path/to/error.out合并标准输出和错误输出为同一个数据流进行重定向: &>:覆盖重定向 &>>:追加重定向 COMMAND > /path/to/file.out 2> &1 COMMAND >> /path/to/file.out 2>> &1 输入重定向:< tr命令:转换或删除字符 tr [OPTION]... SET1 [SET2] HERE Documentation:<< # cat << EOF # cat > /path/to/somefile << EOF 管道: COMMAND1 | COMMAND2 | COMMAND3 |... Note:最后一个命令会在当前shell进程的子shell进程中执行; tee命令: tee [OPTION]... [FILE]...内容总结
以上是互联网集市为您收集整理的linux Bash全部内容,希望文章能够帮你解决linux Bash所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。