其他命令
1️⃣ hash 命令 – 显示与清除命令运行时查询的哈希表
hash命令负责显示与清除命令运行时系统优先查询的哈希表(hash table)。
当执行hash命令不指定参数或标志时,hash命令向标准输出报告路径名列表的内容。此报告含有先前hash命令调用找到的当前shell环境中命令的路径名。而且还包含通过正常命令搜索进程调用并找到的那些命令。
语法:
语法格式: hash [参数] [目录]
常用参数:
参数 | 描述 |
-d |
在哈希表中清除记录 |
-l |
显示哈希表中的命令 |
-p<指令> |
将具有完整路径的命令加入到哈希表中 |
-r |
清除哈希表中的记录 |
-t |
显示哈希表中命令的完整路径 |
参考实例:
显示哈希表中的命令:
hash -l
删除哈希表中的命令:
hash -r
向哈希表中添加命令:
hash -p /usr/sbin/adduser myadduser
在哈希表中清除记录:
hash -d
显示哈希表中命令的完整路径:
hash -t
2️⃣ grep 命令 – 强大的文本搜索工具
grep是“global search regular expression and print out the line”的简称,意思是全面搜索正则表达式,并将其打印出来。这个命令可以结合正则表达式使用,它也是linux使用最为广泛的命令。
grep命令的选项用于对搜索过程的补充,而其命令的模式十分灵活,可以是变量、字符串、正则表达式。需要注意的是:一当模式中包含了空格,务必要用双引号将其引起来。
linux系统支持三种形式的grep命令,大儿子就是grep,标准,模仿的代表。二儿子兴趣爱好多-egrep,简称扩展grep命令,其实和grep -E等价,支持基本和扩展的正则表达式。小儿子跑的最快-fgrep,简称快速grep命令,其实和grep -F等价,不支持正则表达式,按照字符串表面意思进行匹配。
语法:
语法格式: grep [参数]
常用参数:
参数 |
描述 |
-i |
搜索时,忽略大小写 |
-c |
只输出匹配行的数量 |
-l |
只列出符合匹配的文件名,不列出具体的匹配行 |
-n |
列出所有的匹配行,显示行号 |
-h |
查询多文件时不显示文件名 |
-s |
不显示不存在、没有匹配文本的错误信息 |
-v |
显示不包含匹配文本的所有行 |
-w |
匹配整词 |
-x |
匹配整行 |
-r |
递归搜索 |
-q | 禁止输出任何结果,已退出状态表示搜索是否成功 |
-b |
打印匹配行距文件头部的偏移量,以字节为单位 |
-o | 与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位 |
参考实例:
支持多文件查询并支持使用通配符:
grep zwx file_* /etc/hosts
输出匹配字符串行的数量:
grep -c zwx file_*
列出所有的匹配行,并显示行号:
grep -n zwx file_*
显示不包含模式的所有行:
grep -vc zwx file_*
不再显示文件名:
grep -h zwx file_*
只列出符合匹配的文件名,不列出具体匹配的行:
grep -l zwx file_*
不显示不存在或无匹配的文本信息:
grep -s zwx file1 file_1 grep zwx file1 file_1
递归搜索,不仅搜索当前目录,还搜索子目录:
grep -r zwx file_2 *
匹配整词,以字面意思去解释他,相当于精确匹配:
grep zw* file_1 grep -w zw* file_1
匹配整行,文件中的整行与模式匹配时,才打印出来:
grep -x zwx file_*
不输出任何结果,已退出状态表示结果:
grep -q zwx file_1 echo $? grep -q zwx file_5 echo $? grep -q zwx file5 echo $?
查找一个文件中的空行和非空行:
grep -c ^$ file_1 grep -c ^[^$] file_1
匹配任意或重复字符用“.”或“*”符号来实现:
grep ^z.x file_1 grep ^z* file_6
3️⃣ wait命令 – 等待指令
wait命令用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。该指令等待作业时,在作业标识号前必须添加备份号”%”。
语法:
语法格式:wait [参数]
常用参数:
参数 |
描述 |
22 或%1 |
进程号 或 作业号 |
参考实例:
等待作业号为1的作业完成后再返回:
wait %1 find / -name password
4️⃣ bc命令 – 浮点运算
bc的英文全拼为“ Binary Calculator ”,是一种支持任意精度的交互执行的计算器语言。bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下。
语法:
语法格式:bc [选项]
常用参数:
参数 |
描述 |
-i |
强制进入交互式模式 |
-l |
定义使用的标准数学库 |
-w |
定义使用的标准数学库 |
-q |
打印正常的GNU bc环境信息 |
参考实例:
算术操作高级运算bc命令它可以执行浮点运算和一些高级函数:
echo "1.212*3" | bc
设定小数精度(数值范围):
echo "scale=2;3/8" | bc
计算平方和平方根:
echo "10^10" | bc echo "sqrt(100)" | bc
5️⃣ history命令 – 显示与操纵历史命令
history命令用于显示用户以前执行过的历史命令,并且能对历史命令进行追加和删除等操作。
如果你经常使用Linux命令,那么使用history命令可以有效地提升你的效率。
语法:
语法格式: history [参数] [目录]
常用参数:
参数 |
描述 |
-a |
将当前shell会话的历史命令追加到命令历史文件中,命令历史文件是保存历史命令的配置文件 |
-c |
清空当前历史命令列表 |
-d |
删除历史命令列表中指定序号的命令 |
-n |
从命令历史文件中读取本次Shell会话开始时没有读取的历史命令 |
-r |
读取命令历史文件到当前的Shell历史命令内存缓冲区 |
-s |
将指定的命令作为单独的条目加入命令历史内存缓冲区。在执行添加之前先删除命令历史内存缓冲区中最后一条命令 |
-w |
把当前的shell历史命令内存缓冲区的内容写入命令历史文件 |
参考实例:
显示最近的10条命令:
history 10
将本次登录的命令写入历史文件中:
history -w
将命令历史文件中的内容读入到目前shell的history记忆中 :
history -r
将当前Shell会话的历史命令追加到命令历史文件中:
history -a
清空当前历史命令列表:
history -c