【Linux】《Linux命令行与shell脚本编程大全 (第4版) 》笔记-ChapterA-bash 命令快速指南

附录A、bash 命令快速指南
  1. bash 内建命令
    命令描述
    &在后台启动作业
    ((x))执行数学表达式 x
    .在当前 shell 中读取并执行指定文件中的命令
    :什么都不做,始终成功退出
    [ t ]对条件表达式 t 进行求值
    [[ e ]]对条件表达式 e 进行求值
    alias为指定命令定义别名
    bg将当前作业置于后台运行
    bind将组合键绑定到 readline 函数或宏
    Break退出 for、while、select 或 until 循环
    builtin执行指定的 shell 内建命令
    caller返回活动子函数调用的上下文
    case根据模式有选择地执行命令
    cd将当前目录切换为指定的目录
    command执行指定的命令,不进行正常的 shell 查找(也就是说,绕过同名的别名或函数)
    compgen为指定单词生成可能的补全匹配
    complete显示指定的单词是如何补全的
    compopt修改指定单词的补全选项
    continue继续执行 for、while、select 或 until 循环的下一次迭代
    coproc在后台生成子 shell 并执行指定的命令
    declare声明变量或变量类型
    dirs显示当前已保存的目录列表
    disown从进程作业表中删除指定的作业
    echo将指定字符串输出到 STDOUT
    enable启用或禁用指定的内建 shell 命令
    eval将指定的参数拼接成一个命令, 然后执行该命令
    exec用指定命令替换 shell 进程
    exit强制 shell 以指定的退出状态码退出
    export设置可用于子 shell 进程的变量
    false将结果设置为 false 状态
    fc从历史记录列表(history list)中选择一组命令
    fg将作业恢复至前台
    for对列表中的每一项执行指定的命令
    function定义一个 shell 脚本函数
    getopts解析指定的位置参数
    hash查找并记住指定命令的完整路径名
    help显示 bash 内建命令的帮助页面
    history显示命令历史记录
    if根据条件表达式执行命令
    jobs列出活动作业
    kill向指定的进程 ID(PID )发送系统信号
    let计算数学表达式
    local在函数中创建局部变量
    logout退出已登录的 shell
    mapfile从 STDIN 中读取输入并将其放入索引数组(每个数组元素包含一行) popd
    printf使用格式化字符串显示文本
    pushd向目录栈压入一个目录
    pwd显示当前工作目录的完整路径名
    read从 STDIN 读取一行数据并将其中的每个单词赋给指定变量
    readarray从 STDIN 读取数据行并将其放入索引数组(一个数组元素对应一行)
    readonly从 STDIN 读取一行数据并将其赋给一个不可修改的变量
    return使函数以某个值退出,该值可由调用脚本(calling script)提取
    select显示带编号的单词列表, 允许用户进行选择
    set设置并显示环境变量的值和 shell 属性
    shift将位置参数依次向前移动一个位置
    shopt打开/关闭 shell 选项
    source在当前 shell 中读取并执行指定文件中的命令
    suspend暂停 shell,直至收到 SIGCONT 信号
    test根据指定条件返回退出状态码 0 或 1
    time显示执行指定命令所累计的真实时间(real time)、用户时间和系统时间
    times显示累计的用户时间和系统时间
    trap如果接收到特定的系统信号,就执行指定命令
    true返回为 0 的退出状态码
    type显示指定的单词作为命令名时, 如何被 shell 解释(也就是显示指定名称是外部命令、内建命令、别名、 shell 关键字或shell 函数)
    typeset声明变量或变量类型
    ulimit为系统用户设置指定的资源上限
    umask为新建的文件和目录设置默认权限
    unalias删除指定的别名
    unset删除指定的环境变量或 shell 属性
    until执行指定的命令,直到条件语句返回 true
    wait等待指定的进程结束,返回退出状态码
    while当条件语句返回 true 时,执行指定的命令
    { c; }在当前 shell 中指定一组命令
  • 准确地说,表中的 coproc、funtion、while 和 until 属于 shell 关键字(keyword),并非内建命令,通过 type 命令即可得知。
  1. bash shell 外部命令

    命令描述
    at在未来的特定时间执行指定的脚本或命令
    atq显示 at 命令队列中的作业
    atrm从 at 命令队列中删除指定的作业
    bash执行来自标准输入或指定文件中的命令, 或是启动一个子 shell
    bc使用 bc 的专用语言执行算术运算
    bzip2采用 Burrows-Wheeler 块排序文本压缩算法和霍夫曼编码进行压缩
    cat列出指定文件的内容
    chage修改指定系统用户账户的密码过期日期
    chfn修改指定用户账户的备注信息
    chgrp修改指定文件或目录的属组
    chmod修改指定文件或目录的权限
    chown修改指定文件或目录的属主
    chpasswd读取包含用户名/密码的文件并更新相应用户的密码
    chsh修改指定用户账户的默认 shell
    clear清空终端仿真器或虚拟控制台终端中的文字
    compress最初的 Unix 文件压缩工具
    cp将指定文件复制到另一个位置
    crontab启动用户的 cron 表文件对应的编辑器(如果允许的话)
    cut打印文件中指定的部分
    date以各种格式显示日期
    df显示所有已挂载设备的当前磁盘使用情况
    dialog在文本终端环境中创建窗口对话框
    du显示指定目录的磁盘使用情况
    emacs调用 Emacs 文本编辑器
    env在修改过的环境中执行指定命令或显示所有的环境变量
    exit终止当前进程
    expr执行指定的算术表达式
    fdisk维护或创建指定磁盘的分区表
    file查看指定文件的文件类型
    find查找文件
    free查看系统可用的和已用的内存
    fsck检查并根据需要修复指定的文件系统
    gawk调用 gawk 编辑器
    Grep在文件中查找指定模式的字符串
    gedit调用 GNOME 桌面编辑器
    getopt解析命令选项(包括长格式选项)
    gdialog创建 GNOME Shell 窗口对话框
    groups显示指定用户的组成员关系
    groupadd创建新的用户组
    groupmod修改已有的用户组
    gunzip出自 GNU 项目的文件解压缩工具,采用 Lempel-Ziv 压缩算法
    gzcat出自 GNU 项目的压缩文件内容显示工具, 采用 Lempel-Ziv 压缩算法
    gzip出自 GNU 项目的文件压缩工具, 采用 Lempel-Ziv 压缩算法
    head显示指定文件的开头部分
    kdialog创建 KDE 窗口对话框
    killall根据进程名向运行中的进程发送系统信号
    kwrite调用 KWrite 文本编辑器
    less查看文件内容的高级命令
    link使用别名创建文件链接
    ln创建指定文件的符号链接或硬链接
    ls列出目录内容或文件信息
    lvcreate创建 LVM 卷
    lvdisplay显示 LVM 卷
    lvextend增加 LVM 卷的大小
    lvreduce减少 LVM 卷的大小
    mandb创建能够使用手册页关键字进行搜索的数据库
    man显示指定命令或话题的手册页
    mkdir创建指定目录
    mkfs使用指定文件系统格式化分区
    mktemp创建临时文件或目录
    more显示指定文件的内容,每显示一屏数据后就暂停
    mount显示或挂载磁盘设备到虚拟文件系统中
    mv重命名文件或目录
    nano调用 nano 文本编辑器
    nice在系统中用指定的优先级运行命令
    nohup执行指定的命令,同时忽略 SIGHUP 信号
    passwd修改用户的账户密码
    printenv显示指定环境变量或所有的环境变量的值
    ps显示系统中运行进程的信息
    pvcreate创建物理 LVM 卷
    pvdisplay显示物理 LVM 卷
    Pwd显示当前工作目录
    renice修改系统中运行进程的优先级
    rm删除指定文件或目录
    rmdir删除指定的空目录
    sed调用流编辑器 sed
    setterm修改终端设置
    sleep在指定的一段时间内暂停 bash shell 操作
    sort根据指定的顺序对文件内容进行排序
    stat显示指定文件的相关信息
    sudo以 root 用户账户身份运行应用程序
    tail显示指定文件的末尾部分
    tar将数据和目录归档到单个文件中
    tee将信息发送到 STDOUT 和 STDIN
    top显示活动进程以及重要的系统统计数据
    touch新建一个空文件或更新已有文件的时间戳
    umount从虚拟文件系统中卸载磁盘设备
    uptime显示系统已经运行了多久
    useradd新建用户账户
    userdel删除用户账户
    usermod修改用户账户
    vgchange激活或停用 LVM 卷组
    vgcreate创建 LVM 卷组
    vgdisplay显示 LVM 卷组
    vgextend增加 LVM 卷组大小
    vgreduce减少 LVM 卷组大小
    vgremove删除 LVM 卷组
    vi调用 vi 文本编辑器
    vim调用 vim 文本编辑器
    vmstat生成一份详尽的系统内存和 CPU 使用情况的报告
    wc显示文本文件统计情况
    whereis显示指定命令的相关文件,包括二进制文件、源代码文件以及手册页
    which查找可执行文件的位置
    who显示当前系统中的登录用户
    whoami显示当前用户的用户名
    xargs从 STDIN 中获取数据项, 构建并执行命令
    xterm调用 xterm 终端仿真器
    zenity创建 GNOME Shell 窗口小部件
    zipWindows PKZIP 程序的 Unix 版本
  2. bash shell 环境变量

    命令描述
    *包含所有命令行参数(以单个文本值的形式)
    @包含所有命令行参数(以多个文本值的形式)
    #命令行参数数目
    ?最近使用的前台进程的退出状态码
    -当前命令行选项标记
    $当前 shell 的进程 ID(PID )
    !最近执行的后台进程的 PID
    0命令行中使用的命令名
    _shell 的绝对路径名
    BASH用来调用 shell 的完整路径名
    BASHOPTS已启用的 shell 选项(以冒号分隔形式显示)
    BASHPID当前 bash shell 的 PID
    BASH_ALIASES数组变量,包含当前所用的别名
    BASH_ARGC当前函数的参数数量
    BASH_ARGV数组变量,包含所有的命令行参数
    BASH_CMDS数组变量,包含命令的内部哈希表
    BASH_COMMAND当前正在运行的命令名
    BASH_ENV如果设置的话, 每个 bash 脚本都会尝试在运行前执行由该变量定义的启动文件
    BASH_EXECUTION_STRING在-c 命令行选项中指定的命令
    BASH_LINENO数组变量,包含脚本中每个命令的行号
    BASH_REMATCH数组变量,包含正则表达式所匹配的文本(索引为 0 的元素是整个正则表达式所匹配的部分。索引为 n 的元素是第 n 个带有圆括号的子正则表达式所匹配的部分)
    BASH_SOURCE数组变量,包含 shell 中已定义函数所在源文件名
    BASH_SUBSHELL当前 shell 生成的子 shell 数目
    BASH_VERSINFO数组变量,包含当前 bash shell 实例的主版本号和次版本号
    BASH_VERSION当前 bash shell 实例的版本号
    BASH_XTRACEFD如果设置为有效的文件描述符整数,则所产生跟踪信息会与诊断和错误消息分开。文件 描述符必须事先执行 set -x
    BROWSER首选 Web 浏览器的绝对路径名
    COLUMNS当前 bash shell 实例所用的终端宽度
    COMP_CWORD变量 COMP_WORDS 的索引值, COMP_WORDS 包含当前光标所在的位置
    COMP_KEY调用补全功能的按键
    COMP_LINE当前命令行
    COMP_POINT当前光标位置相对于当前命令起始处的索引
    COMP_TYPE补全类型对应的整数值
    COMP_WORDBREAKS在进行单词补全时作为单词分隔符的一组字符
    COMP_WORDS数组变量,包含当前命令行上的所有单词
    COMPREPLY数组变量,包含可能的补全结果
    COPROC数组变量,包含用于匿名协程 I/O 的文件描述符
    DBUS_SESSION_BUS_ADDRESS当前登录会话的 D-Bus 地址,用于提供连接映射
    DE当前登录 shell 的桌面环境
    DESKTOP_SESSION在 LXDE 环境中,包含当前登录 shell 的桌面环境
    DIRSTACK数组变量,包含目录栈当前内容
    DISPLAY图形应用程序映射,用于显示图形用户界面的位置
    EDITOR定义部分 shell 命令使用的默认编辑器
    EMACS如果设置的话, shell 会认为其使用的是 Emacs shell 缓冲区,同时禁止行编辑功能
    ENV当 shell 以 POSIX模式调用时,每个 bash 脚本在运行之前都会执行由该环境变量所定义的启动文件
    EUID当前用户的有效用户 ID (数字形式)
    FCEDITfc 命令使用的默认编辑器
    FIGNORE以冒号分隔的后缀名列表,在文件名补全时会被忽略
    FUNCNAME当前执行的 shell 函数的名称
    FUNCNEST嵌套函数的最高级别
    GLOBIGNORE以冒号分隔的模式列表, 文件名扩展时会将其忽略
    GROUPS数组变量,包含当前用户属组
    histchars控制历史记录扩展,最多可有 3 个字符
    HISTCMD当前命令在历史记录中的编号
    HISTCONTROL控制哪些命令会被保存在历史记录列表中
    HISTFILE保存 shell 历史记录列表的文件名(默认是~/.bash_history)
    HISTFILESIZE历史记录文件(history file)能保存的最大命令数量
    HISTIGNORE以冒号分隔的模式列表, 用来决定哪些命令不会被保存在历史文件中
    HISTSIZE能写入历史记录列表(history list)的最大命令数量
    HISTTIMEFORMAT如果设置的话, 该变量决定了历史文件条目时间戳所使用的格式字符串
    HOME当前登录会话的主目录名
    HOSTALIASES文件名, 某些 shell 命令要用到的各种主机名别名都保存在该文件中
    HOSTFILEshell 在补全主机名时要读取的文件名
    HOSTNAME当前主机名
    HOSTTYPE当前运行 bash shell 的机器
    IFS在分割单词时作为分隔符使用的一系列字符
    IGNOREEOFshell 在退出前必须收到的一系列 EOF 字符的数量。如果未设置,则默认是 1
    INFODIRinfo 命令的搜索目录列表(以冒号分隔)
    INPUTRCreadline 初始化的文件名(默认是~/.inputrc)
    INVOCATION_IDsystemd 用于标识登录 shell 和其他单元的 128 位(128-bit)随机标识符
    JOURNAL_STREAM文件描述符的设备和 inode 编号(十进制格式) 列表(以冒号分隔)。仅当 STDOUT 或 STDERR 连接到日志系统时才设置
    LANGshell 的语言环境种类(locale category)
    LC_ALL定义语言环境种类,能够覆盖 LANG 变量
    LC_ADDRESS确定地址信息的显示方式
    LC_COLLATE设置字符串排序时采用的排序规则
    LC_CTYPE决定如何解释出现在文件名扩展和模式匹配中的字符
    LC_IDENTIFICATION包含语言环境的元数据信息
    LC_MEASUREMENT设置用于测量单位的语言环境
    LC_MESSAGES决定在解释前面带有$的双引号字符串时采用的语言环境设置
    LC_MONETARY定义货币数值的格式
    LC_NAME设置名称的格式
    LC_NUMERIC决定格式化数字时采用的语言环境设置
    LC_PAPER设置用于纸张标准和格式的语言环境
    LC_TELEPHONE设置电话号码的结构
    LD_LIBRARY_PATH以冒号分隔的目录列表, 其中的目录会先于标准库目录被搜索
    LC_TIME决定格式化日期和时间时采用的语言环境设置
    LINENO当前正在执行的脚本语句的行号
    LINES定义了终端上可见的行数
    LOGNAME当前登录会话的用户名
    LS_COLORS定义用于显示文件名的颜色
    MACHTYPE用“CPU–公司–系统”(CPU-company-system)格式定义的系统类型
    MAIL如果设置的话,定义当前登录会话的邮件文件会被一些邮件程序间歇地搜索,以查找新邮件
    MAILCHECKshell 应该多久检查一次新邮件(以秒为单位,默认为 60 秒)
    MAILPATH以冒号分隔的邮件文件名列表,一些邮件程序会间歇性地在其中搜索新邮件
    MANPATH以冒号分隔的手册页目录列表, 由 man 命令搜索
    MAPFILE数组变量,当未指定数组变量作为参数时,其中保存了 mapfile 所读入的文本
    OLDPWDshell 先前使用的工作目录
    OPTARG包含选项所需的参数值, 由 getopts 命令设置
    OPTERR如果设置为 1 ,则 bash shell 会显示 getopts 命令产生的错误
    OPTINDgetopts 命令要处理的下一个参数的索引
    OSTYPE定义了 shell 所在的操作系统
    PAGER设置某些 shell 命令在查看文件时使用的分页实用工具
    PATH以冒号分隔的目录列表, shell 会在其中搜索外部命令
    PIPESTATUS数组变量,包含前台进程的退出状态
    POSIXLY_CORRECT如果设置的话, bash 会以 POSIX 模式启动
    PPIDbash shell 父进程的 PID
    PROMPT_COMMAND如果设置的话, 在显示命令行主提示符之前执行该命令
    PROMPT_DIRTRIM用来定义使用提示符字符串\w 或\W 转义时显示的拖尾(trailing)目录名的数量(使用一组英文句点替换被删除的目录名)
    PS0如果设置的话, 该变量会指定在输入命令之后、执行命令之前,由交互式 shell 显示的内容
    PS1主命令行提示符
    PS2次命令行提示符
    PS3select 命令的提示符
    PS4在命令行之前显示的提示符(如果使用了 bash 的-x 选项的话)
    PWD当前工作目录
    RANDOM返回一个介于 0 ~ 32 767 的随机数(对该变量的赋值可作为随机数生成器的种子)
    READLINE_LINE当使用 bind –x 命令时, 保存 Readline 缓冲区的内容
    READLINE_POINT当使用 bind –x 命令时, 指明了 Readline 缓冲区内容插入点的当前位置
    REPLYread 命令的默认变量
    SECONDS自 shell 启动到现在的秒数(对其赋值会重置计数器)
    SHELLbash shell 的完整路径
    SHELLOPTS已启用的 bash shell 选项(以冒号分隔)
    SHLVLshell 的层级;每启动一个新的 bash shell,该值增加 1
    TERM登录会话当前使用的终端类型, 相关信息由该变量所指向的文件提供
    TERMCAP登录会话当前使用的终端类型, 相关信息由该变量提供
    TIMEFORMAT指定了 shell 的时间显示格式
    TMOUTselect 命令和 read 命令在无输入的情况下等待多久(以秒为单位。默认值为 0,表示一直等待)
    TMPDIR目录名, 保存 bash shell 创建的临时文件
    TZ如果设置的话, 用于指定系统的时区
    TZDIR定义时区文件所在的目录
    UID当前用户的真实用户 ID (数字形式)
    USER当前登录会话的用户名
    VISUAL如果设置的话, 用于定义某些 shell 命令默认使用的全屏编辑器
  • 可以使用 printenv 命令来显示当前定义的环境变量。在启动时建立的 shell 环境变量在不同的 Linux 发行版中(经常)会有所不同。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值