部分 Bash 内置命令的详解

1. :(冒号)

  • 功能:无操作命令,仅扩展参数并执行重定向,返回零退出状态。

  • 语法: [arguments]

  • 示例

    bash 复制代码
    : # 无操作

2. .(点) 或 source

  • 功能:在当前 shell 环境中读取并执行指定文件中的命令,返回文件中最后一个命令的退出状态。

  • 语法. filename [arguments]source filename [arguments]

  • 示例

    bash 复制代码
    . script.sh # 执行 script.sh 文件中的命令

3. alias

  • 功能:定义或显示别名。

  • 语法alias [-p] [name[=value] ...

  • 示例

    bash 复制代码
    alias ll='ls -l' # 定义别名 ll
    alias # 显示所有别名

4. bg

  • 功能:将挂起的作业放到后台运行。

  • 语法bg [jobspec ...]

  • 示例

    bash 复制代码
    bg %1 # 将作业 1 放到后台运行

5. bind

  • 功能:显示或修改 readline 键绑定。

  • 语法bind [-m keymap] [-lpsvPSV] [-q function] [-u function] [-r keyseq] [-f filename] [-x keyseq:shell-command] keyseq:function-name

  • 示例

    bash 复制代码
    bind -l # 列出所有 readline 函数

6. break

  • 功能:退出循环。

  • 语法break [n]

  • 示例

    bash 复制代码
    while true; do break; done # 退出循环

7. builtin

  • 功能:执行指定的 shell 内置命令。

  • 语法builtin shell-builtin [arguments]

  • 示例

    bash 复制代码
    builtin cd /tmp # 使用内置的 cd 命令

8. cd

  • 功能:更改当前工作目录。

  • 语法cd [-L|[-P [-e]] [dir]

  • 示例

    bash 复制代码
    cd /tmp # 切换到 /tmp 目录

9. command

  • 功能:执行命令,忽略 shell 函数查找。

  • 语法command [-pVv] command [arg ...]

  • 示例

    bash 复制代码
    command ls # 执行 ls 命令,忽略同名函数

10. compgen

  • 功能:生成可能的补全匹配。

  • 语法compgen [option] [word]

  • 示例

    bash 复制代码
    compgen -c # 列出所有命令

11. complete

  • 功能:指定如何补全命令参数。

  • 语法complete [-abcdefgjksuv] [-o comp-option] [-DE] [-A action] [-G globpat] [-W wordlist] [-F function] [-C command] [-X filterpat] [-P prefix] [-S suffix] name [name ...]

  • 示例

    bash 复制代码
    complete -W "start stop restart" mycommand # 为 mycommand 指定补全选项

12. compopt

  • 功能:修改补全选项。

  • 语法compopt [-o option] [-DE] [+o option] [name]

  • 示例

    bash 复制代码
    compopt -o filenames # 设置补全选项为文件名

13. continue

  • 功能:继续下一次循环迭代。

  • 语法continue [n]

  • 示例

    bash 复制代码
    for i in 1 2 3; do continue; done # 继续下一次循环

14. declaretypeset

  • 功能:声明变量并设置属性。

  • 语法declare [-aAfFgilrtux] [-p] [name[=value] ...

  • 示例

    bash 复制代码
    declare -i num=10 # 声明整数变量 num

15. dirs

  • 功能:显示目录栈。

  • 语法dirs [+n] [-n] [-clpv]

  • 示例

    bash 复制代码
    dirs # 显示目录栈

16. disown

  • 功能:从作业表中移除作业。

  • 语法disown [-ar] [-h] [jobspec ...]

  • 示例

    bash 复制代码
    disown %1 # 移除作业 1

17. echo

  • 功能:输出参数。

  • 语法echo [-neE] [arg ...]

  • 示例

    bash 复制代码
    echo "Hello, World!" # 输出 Hello, World!

18. enable

  • 功能:启用或禁用 shell 内置命令。

  • 语法enable [-a] [-dnps] [-f filename] [name ...]

  • 示例

    bash 复制代码
    enable -n test # 禁用内置的 test 命令

19. eval

  • 功能:将参数作为命令执行。

  • 语法eval [arg ...]

  • 示例

    bash 复制代码
    eval "ls -l" # 执行 ls -l 命令

20. exec

  • 功能:用指定命令替换 shell。

  • 语法exec [-cl] [-a name] [command [arguments]]

  • 示例

    bash 复制代码
    exec ls # 用 ls 命令替换当前 shell

21. exit

  • 功能:退出 shell。

  • 语法exit [n]

  • 示例

    bash 复制代码
    exit 0 # 退出 shell,返回状态 0

22. export

  • 功能:标记变量或函数为导出到后续命令的环境。

  • 语法export [-fn] [name[=word]] ...

  • 示例

    bash 复制代码
    export PATH=$PATH:/usr/local/bin # 导出 PATH 变量

23. fc

  • 功能:修复命令(编辑并重新执行历史命令)。

  • 语法fc [-e ename] [-lnr] [first] [last]fc -s [pat=rep] [cmd]

  • 示例

    bash 复制代码
    fc -l # 列出最近的历史命令

24. fg

  • 功能:将后台作业放到前台运行。

  • 语法fg [jobspec]

  • 示例

    bash 复制代码
    fg %1 # 将作业 1 放到前台运行

25. getopts

  • 功能:解析位置参数。

  • 语法getopts optstring name [args]

  • 示例

    bash 复制代码
    getopts ":a:" opt # 解析选项 -a

26. hash

  • 功能:记住命令的完整路径。

  • 语法hash [-lr] [-p filename] [-dt] [name]

  • 示例

    bash 复制代码
    hash -r # 清除所有记住的命令路径

27. help

  • 功能:显示内置命令的帮助信息。

  • 语法help [-dms] [pattern]

  • 示例

    bash 复制代码
    help cd # 显示 cd 命令的帮助信息

28. history

  • 功能:显示或操作命令历史。

  • 语法history [n]history -chistory -d offsethistory -anrw [filename]history -p arg [arg ...]history -s arg [arg ...]

  • 示例

    bash 复制代码
    history # 显示命令历史

29. jobs

  • 功能:列出活动作业。

  • 语法jobs [-lnprs] [ jobspec ... ]jobs -x command [ args ... ]

  • 示例

    bash 复制代码
    jobs # 列出所有作业

30. kill

  • 功能:向进程发送信号。

  • 语法kill [-s sigspec | -n signum | -sigspec] [pid | jobspec] ...kill -l [sigspec | exit_status]

  • 示例

    bash 复制代码
    kill -9 1234 # 向进程 1234 发送 SIGKILL 信号

31. let

  • 功能:执行算术表达式。

  • 语法let arg [arg ...]

  • 示例

    bash 复制代码
    let "a = 5 + 5" # 计算 5 + 5

32. local

  • 功能:在函数中定义局部变量。

  • 语法local [option] [name[=value] ...

  • 示例

    bash 复制代码
    local var=10 # 定义局部变量 var

33. logout

  • 功能:退出登录 shell。

  • 语法logout

  • 示例

    bash 复制代码
    logout # 退出登录 shell

34. mapfilereadarray

  • 功能:从标准输入读取行到数组。

  • 语法mapfile [-n count] [-O origin] [-s count] [-t] [-u fd] [-C callback] [-c quantum] [array]

  • 示例

    bash 复制代码
    mapfile -t lines < file.txt # 将 file.txt 的内容读入数组 lines

35. popd

  • 功能:从目录栈中移除目录。

  • 语法popd [-n] [+n] [-n]

  • 示例

    bash 复制代码
    popd # 移除目录栈顶的目录

36. printf

  • 功能:格式化输出。

  • 语法printf [-v var] format [arguments]

  • 示例

    bash 复制代码
    printf "Hello, %s\n" "World" # 输出 Hello, World

37. pushd

  • 功能:将目录添加到目录栈顶。

  • 语法pushd [-n] [+n] [-n]pushd [-n] [dir]

  • 示例

    bash 复制代码
    pushd /tmp # 将 /tmp 目录添加到目录栈顶

38. pwd

  • 功能:打印当前工作目录的绝对路径。

  • 语法pwd [-LP]

  • 示例

    bash 复制代码
    pwd # 打印当前工作目录

39. read

  • 功能:从标准输入读取一行。

  • 语法read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

  • 示例

    bash 复制代码
    read -p "Enter your name: " name # 提示用户输入名字

40. readonly

  • 功能:标记变量或函数为只读。

  • 语法readonly [-aAf] [-p] [name[=word] ...]

  • 示例

    bash 复制代码
    readonly var=10 # 将变量 var 标记为只读

41. return

  • 功能:从函数中返回。

  • 语法return [n]

  • 示例

    bash 复制代码
    return 0 # 从函数中返回,状态为 0

42. set

  • 功能:设置或取消设置 shell 选项和位置参数。

  • 语法set [--abefhkmnptuvxBCEHPT] [-o option-name] [arg ...]

  • 示例

    bash 复制代码
    set -x # 启用命令跟踪

43. shift

  • 功能:移动位置参数。

  • 语法shift [n]

  • 示例

    bash 复制代码
    shift # 移动位置参数

44. shopt

  • 功能:切换 shell 选项。

  • 语法shopt [-pqsu] [-o] [optname ...]

  • 示例

    bash 复制代码
    shopt -s extglob # 启用扩展模式匹配

45. suspend

  • 功能:挂起 shell 的执行。

  • 语法suspend [-f]

  • 示例

    bash 复制代码
    suspend # 挂起 shell

46. test[

  • 功能:评估条件表达式。

  • 语法test expr[ expr ]

  • 示例

    bash 复制代码
    [ -f file.txt ] # 检查 file.txt 是否存在

47. times

  • 功能:打印 shell 和进程的累计用户和系统时间。

  • 语法times

  • 示例

    bash 复制代码
    times # 打印时间信息

48. trap

  • 功能:设置信号处理程序。

  • 语法trap [-lp] [[arg] sigspec ...]

  • 示例

    bash 复制代码
    trap "echo 'Signal received'" SIGINT # 捕获 SIGINT 信号

49. type

  • 功能:显示命令的类型。

  • 语法type [-aftpP] name [name ...]

  • 示例

    bash 复制代码
    type ls # 显示 ls 命令的类型

50. ulimit

  • 功能:控制 shell 和进程的资源限制。

  • 语法ulimit [-HSTabcdefilmnpqrstuvx [limit]]

  • 示例

    bash 复制代码
    ulimit -n 1024 # 设置文件描述符限制为 1024

51. umask

  • 功能:设置文件创建掩码。

  • 语法umask [-p] [-S] [mode]

  • 示例

    bash 复制代码
    umask 022 # 设置文件创建掩码为 022

52. unalias

  • 功能:移除别名。

  • 语法unalias [-a] [name ...]

  • 示例

    bash 复制代码
    unalias ll # 移除别名 ll

53. unset

  • 功能:移除变量或函数。

  • 语法unset [-fv] [name ...]

  • 示例

    bash 复制代码
    unset var # 移除变量 var

54. wait

  • 功能:等待指定进程并返回其终止状态。

  • 语法wait [n ...]

  • 示例

    bash 复制代码
    wait %1 # 等待作业 1 完成
相关推荐
古希腊掌握嵌入式的神17 分钟前
[Linux]解决虚拟机 ubantu系统下网络的问题
linux·运维·服务器
MonkeyKing_sunyuhua23 分钟前
Ubuntu 22.04 上安装阿里云 CLI(命令行工具)
linux·ubuntu·阿里云
未来之窗软件服务1 小时前
系统安全——文件监控-FileMonitor
运维·服务器·数据库·系统安全
Ki13811 小时前
将树莓派5当做Ollama服务器,C#调用generate的API的示例
linux·树莓派·ollama
VermouthSp1 小时前
Linux驱动开发 块设备
linux·驱动开发
SummerGao.1 小时前
CentOS 7 源码安装libjsoncpp-1.9.5库
linux·运维·centos·jsoncpp
SummerGao.1 小时前
【解决】Linux命令报错:Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64
linux·运维·centos
獨枭1 小时前
Linux 一键配置 Vim 为开发利器
linux·运维·vim
技术小齐1 小时前
网络运维学习笔记(DeepSeek优化版)026 OSPF vlink(Virtual Link,虚链路)配置详解
运维·网络·学习
黑不溜秋的2 小时前
Ubuntu24.04 配置远程桌面服务
linux·运维·服务器