Bash 命令快速指南

Bash 命令快速指南

摘自书籍,用于自查。

内建命令

命令描述
:扩展参数列表,执行重定向操作
.读取并执行指定文件中的命令(在当前shell环境中)
alias为指定命令定义一个别名
bg将作业以后台模式运行
bind将键盘序列绑定到一个readline函数或宏
break退出for、while、select或until循环
builtin执行指定的shel1内建命令
caller返回活动子函数调用的上下文
cd将当前目录切换为指定的目录
command执行指定的命令,无需进行通常的shell查找
compgen为指定单词生成可能的补全匹配
complete显示指定的单词是如何补全的
compopt修改指定单词的补全选项
continue继续执行for、while、select或until循环的下一次迭代
declare声明一个变量或变量类型。
dirs显示当前存储目录的列表
disown从进程作业表中删除指定的作业
echo将指定字符串输出到STDOUT
enable启用或禁用指定的内建shell命令
eval将指定的参数拼接成一个命令,然后执行该命令
exec用指定命令替换shell进程
exit强制shel以指定的退出状态码退出
export设置子shelI进程可用的变量
fc从历史记录中选择命令列表
fg将作业以前台模式运行
getopts分析指定的位置参数
hash查找并记住指定命令的全路径名
help显示帮助文件
history显示命令历史记录
jobs列出活动作业
kill向指定的进程ID (PID)发送一个系统信号
let计算一个数学表达式中的每个参数
local在函数中创建一个作用域受限的变量
logout退出登录shell
mapfile从STDIN读取数据行,并将其加人索引数组
popd从目录栈中删除记录
printf使用格式化字符串显示文本
pusha向目录栈添加一个目录
pwd显示当前工作目录的路径名
read从STDIN读取一行数据并将其赋给一个变量
readarray从STDIN读取数据行并将其放人索引数组
readonly从STDIN读取一行数据并将其赋给一个不可修改的变量
return强制函数以某个值退出,这个值可以被调用脚本提取
set设置并显示环境变量的值和shell属性
shift将位置参数依次向下降一个位置
shopt打开/关闭控制shell可选行为的变量值
source读取并执行指定文件中的命令 (在当前shell环境中)
suspend暂停shell的执行,直到收到一个SIGCONT信号
test基于指定条件返回退出状态码0或1
times显示累计的用户和系统时间
trap如果收到了指定的系统信号,执行指定的命令
type显示指定的单词如果作为命今将会如何被解释
typeset声明一个变量或变量类型。
ulimit为系统用户设置指定的资流的上限
umask为新建的文件和目录设置默认权限
unalias删除指定的别名
unset删除指定的环境变量或shell属性
wait等待指定的进程完成,并返回退出状态码

常见的 Bash 命令

命令描述
bzip2采用Burrows-Whecler块排序文本压统算法和霍夫受编码进行压缩
cat列出指定文件的内容
chage修改指定系统用户账户的密码过期日期
chfn修改指定用户账户的备注信息
chgrp修改指定文件或目录的默认属组
chmod为指定文件或目录修改系统安全权限
chown修改指定文件或目录的默认属主
chpasswd读取一个包含登录名/密码的文件并更新密码
chsh修改指定用户账户的默认shelI
clear从终端仿真器或虚拟控制台终端删除文本
compress最初的Unix文件压缩工具
coproc在后台模式中生成子shell,并执行指定的命令
cp将指定文件复制到另一个位置
crontab初始化用户的crontable文件对应的编辑器 (如果允许的话
cut删除文件行中指定的位置
date以各种格式显示日期
df显示所有挂载设备的当前磁盘空间使用情况
du显示指定文件路径的磁盘使用情况
eracs调用emacs文本编辑器
file查看指定文件的文件类型
find对文件进行递归查找
free查看系统上可用的和已用的内存
gawk使用编程语言命令的流编辑器
grep在文件中查找指定的文本字符串
gedit调用GNOME桌面编辑器
getopt解析命令选项 (包括长格式选项)
groups显示指定用户的组成员关系
groupadd创建新的系统组
groupmod修改已有的系统组
gzip采用Lempel-Ziv编码的GNU项目压缩工具
head显示指定文件内容的开头部分
help显示bash内建命令的帮助页面
killall根据进程名向运行中的进程发送一个系统信号
kwrite调用KWrite文本编辑器
less查看文件内容的高级方法
link用别名创建一个指向文件的链接
ln创建针对指定文件的符号链接或硬链接
ls列出目录内容
makewhatis创建能够使用手册页关键字进行搜索的whatis数据库
man显示指定命令或话题的手册页
mkdir在当前目录下创建指定目录
more列出指定文件的内容,在每屏数据后暂停下来
mount显示虚拟文件系统上挂载的磁盘设备或将磁盘设备挂载到虚拟文件系统上
mv重命名文件
nano调用nano文本编辑器
nice在系统上使用不同优先级来运行命令
passwd修改某个系统用户账户的密码
ps显示系统上运行中进程的信息
pwd显示当前目录
renice修改系统上运行中应用的优先级
rm删除指定文件
rmdir删除指定目录
sed使用编辑器命令的文本流行编辑器
sleep在指定的一段时间内暂停bash shell操作
sort基于指定的顺序组织数据文件中的数据
stat显示指定文件的文件统计数据
sudo以root用户账户身份运行应用
taii显示指定文件内容的末尾部分
tar将数据和目录归档到单个文件中
top显示活动进程以及其他重要的系统统计数据
touch新建一个空文件,或更新一个已有文件的时间戳
wmount从虚拟文件系统上删除一个已挂载的磁盘设备
upt ime显示系统已经运行了多久
useradd新建一个系统用户账户
userdel删除已有系统用户账户
usermod修改已有系统用户账户
vi调用vim文本编辑器
wmstat生成一个详尽的系统内存和CPU使用情况报告
whereis显示指定命令的相关文件,包括二进制文件、源代码文件以及手册页
which查找可执行文件的位置
who显示当前系统中的登录用户
whoami显示当前用户的用户名
xargs从STDIN中获取数据项,构建并执行命令
zipWindows下PKZIP程序的Unix版本

环境变量

变量描述
*含有所有命令行参数 (以单个文本值的形式)
@含有所有命令行参数 (以多个文本值的形式)
#命令行参数数目
?最近使用的前台进程的退出状态码
-当前命令行选项标记
$当前shell的进程ID(PID)
!最近执行的后台进程的PID
0命令行中使用的命令名称
_shell的绝对路径名
BASH用来调用shell的完整文件名
BASHOPIS允许冒号分隔列表形式的shelI选项
BASHPID当前bash shell的进程ID
BASHALIASED含有当前所用别名的数组
BASH ARGC当前子函数中的参数数量
BASHARGV含有所有指定命令行参数的数组
BASH_CNOS含有命令的内部散列表的数组
BASH_COWMAND当前正在被执行的命令名
BASH ENV如果设置了的话,每个bash脚本都会尝试在运行前执行由该变量定义的起始
BASH_ENECUTION_STRING在-c命令行选项中用到的命令
BASH_LINENO含有脚本中每个命令的行号的数组
BASH REMATCH含有与指定的正则表达式匹配的文本元素的数组
BASH_SOURCE含有shelI中已声明函数所在源文件名的数组
BASH_SUBSHELL当前shell生成的子shell数目
BASH VERSINFO含有当前bash shell实例的主版本号和次版本号的数组
BASH_VERSION当前bash shell实例的版本号
BASH XTRACEFD当设置一个有效的文件描述符整数时,跟踪输出生成,并与诊断和错误信息分离开文件描述符必须设置-x启动
COLUMNS含有当前bash shell实例使用的终端的宽度
COMP_CWORD含有变量COMP_WORDS的索引值,COMP_WORDS包含当前光标所在的位
COMP_KEY调用补全功能的按键
COMP_LINE当前命令行
COMP_POINT当前光标位置相对于当前命令起始位置的索引
COMP_TYPE补全类型所对应的整数值
COMP_WORDBREAKS在进行单词补全时用作单词分隔符的一组字符
COMP_WORDS含有当前命令行上所有单词的数组
COMPREPLY含有由shell函数生成的可能补全码的数组
COPROC含有用于匿名协程IO的文件描述符的数组
DIRSTACK含有目录栈当前内容的数组
EMACS如果设置了该环境变量,则shell认为其使用的是emacs shell缓冲区,同时禁止行辑功能
ENV当shelI以POSIX模式调用时,每个bash脚本在运行之前都会执行由该环境变量所定义的起始文件
EUID当前用户的有效用户ID (数字形式)
FCEDITfc命令使用的默认编辑器
FIGNORE以冒号分隔的后缀名列表,在文件名补全时会被忽略
FUNCNAME当前执行的shell函数的名称
FUNCNEST嵌套函数的最高层级
GLOBIGNORE以冒号分隔的模式列表,定义了文件名展开时要忽略的文件名集合
GROUPS含有当前用户属组的数组
histchars控制历史记录展开的字符 (最多可有3个)
HISTCMD当前命令在历史记录中的编号
HISTCONTROL控制哪些命令留在历史记录列表中
HISTFILE保存shell历史记录列表的文件名(默认是.bash_history)
HISTFILESIZE保存在历史文件中的最大行数
HISTIGNORE以冒号分隔的模式列表,用来决定哪些命令不存进历史文件
HISTSIZE最多在历史文件中保存多少条命令
HISTIMEFORMAT设置后,决定历史文件条目的时间戳的格式字符串
HOSTFILE含有shell在补全主机名时读取的文件的名称
HOSTNAME当前主机的名称
HOSTTYPE当前运行bash shell的机器
IGNOREEOFshell在退出前必须收到连续的EOF字符的数量。如果这个值不存在,默认是1
INPUTRCreadline初始化文件名(默认是.inputrc)
LANGshell的语言环境分类
LC_ALL定义一个语言环境分类,它会覆盖LANG变量五一江串传排字时用的对照表顺序
LC_COLLATE设置对字符串值排序时用的对照表顺序
LC_CTYPE决定在进行文件名扩展和模式匹配时,如何解释其中的字符
LC_MESSAGES决定解释前置美元符 ( $ )的双引号字符串的语言环境设置
LC_NUMERIC决定格式化数字时的所使用的语言环境设置
LINENO脚本中当前执行代码的行号
LINES定义了终端上可见的行数
MACHTYPE用“cpu-公司-系统”格式定义的系统类型
MAILCHECKshell多久查看一次新邮件 (以秒为单位,默认值是60)
MAPFILE含有mapfile命令所读人文本的数组,当没有给出变量名的时候,使用该环境变量
OLDPWDshell之前的工作目录
OPTERR设置为1时,bash shell会显示getopts命令产生的错误
OSTYPE定义了shell运行的操作系统
PIPESTATUS含有前台进程退出状态码的数组
POSIXLY_CORRECT如果设置了该环境变量,bash会以POSIX模式启动
PPIDbash shell父进程的PID
PROMPT_COMMAND如果设置该环境变量,在显示命令行主提示符之前会执行这条命令
PS1主命令行提示符字符串
PS2次命令行提示符字符申
PS3select命令的提示符
PS4如果使用了bash的-x选项,在命令行显示之前显示的提示符
PWD当前工作目录
RANDOM返回一个0~32 767的随机数,对其赋值可作为随机数生成器的种子
READLINE_LINE保存了readline行缓冲区中的内容
READLINE_POINT当前readline行缓冲区的插人点位置
REPLY涩妃毡韵裴拥玉缅页贻潇脱帮命令的默认变量
SECONDS自shell启动到现在的秒数,对其赋值将会重置计时器
SHELLshell的全路径名
SHELLOPTS已启用bash shell选项列表,由冒号分隔
SHLVL表明shell层级,每次启动一个新的bash shell时计数加1
TIMEFORMAT指定了shell显示的时间值的格式
TMOUTselect和read命令在没输人的情况下等待多久(以秒为单位)。默认值为零,表示无限长
TMPDIR如果设置成目录名,shell会将其作为临时文件目录
UID当前用户的真实用户ID(数字形式)

以上所有内容来自书籍《Linux命令行与shell脚本编程大全》1


  1. 【美】Richard Blum Christine Bresnahan.《Linux命令行与shell脚本编程大全》(第3版).人民邮电出版社 ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值