插件窝 干货文章 bash基础特性是什么

bash基础特性是什么

命令 变量 输出 输入 446    来源:    2025-04-25

Bash(Bourne-Again SHell)是Linux/Unix系统中最常用的命令行解释器,具有以下核心特性:


1. 命令历史(History)

  • 记录执行过的命令(默认保存~/.bash_history
  • 快捷键:
    • /:浏览历史命令
    • !n:执行历史记录中第n条命令
    • !!:重复上一条命令
    • !string:执行最近以string开头的命令
    • Ctrl+R:反向搜索历史命令

2. 命令别名(Alias)

  • 简化常用命令: bash alias ll='ls -l' # 创建别名 unalias ll # 删除别名
  • 永久生效需写入~/.bashrc

3. 命令补全(Tab Completion)

  • 路径补全:输入部分路径后按Tab自动补全。
  • 命令补全:输入命令开头按Tab显示匹配选项。
  • 变量补全$开头的变量名可补全。

4. 通配符(Globbing)

  • *:匹配任意字符(如ls *.txt
  • ?:匹配单个字符(如file?.log
  • []:匹配指定范围(如[a-z]*
  • {}:扩展组合(如mkdir -p dir{1,2,3}

5. 输入/输出重定向

  • >:覆盖输出到文件(ls > file.txt
  • >>:追加输出到文件
  • <:从文件读取输入(sort < file.txt
  • 2>:重定向错误输出(cmd 2> error.log
  • &>:重定向标准输出和错误

6. 管道(Pipe)

  • 将一个命令的输出作为另一个命令的输入: bash cat file.txt | grep "keyword" | wc -l

7. 变量与环境变量

  • 自定义变量bash var="value" # 定义变量 echo $var # 使用变量
  • 环境变量bash export PATH=$PATH:/new/path # 临时生效 # 永久生效需写入 ~/.bashrc 或 /etc/profile

8. 脚本编程支持

  • 支持条件判断、循环、函数等: bash if [ -f file.txt ]; then echo "File exists." fi

9. 作业控制(Job Control)

  • &:后台运行命令(sleep 10 &
  • Ctrl+Z:暂停当前任务
  • fg/bg:切换前后台任务
  • jobs:查看后台任务列表

10. 快捷键

  • Ctrl+C:终止当前命令
  • Ctrl+D:结束输入(EOF)
  • Ctrl+L:清屏
  • Ctrl+A/Ctrl+E:移动光标到行首/行尾

11. 配置文件

  • ~/.bashrc:用户级配置(每次打开终端加载)
  • ~/.bash_profile:登录时加载(部分系统)
  • /etc/profile:系统级配置

12. 扩展功能

  • 数组arr=(1 2 3)
  • 算术运算$((3+5))let sum=3+5
  • 进程替换diff <(cmd1) <(cmd2)

掌握这些特性可显著提升命令行效率!如需深入了解某个功能,可进一步探讨。