爆赞,基础又全面的Linux命令合集(九)其他命令

举报
Lucifer三思而后行 发表于 2021/10/28 13:06:54 2021/10/28
【摘要】 🍌 其他命令 1️⃣ hash 命令 – 显示与清除命令运行时查询的哈希表hash命令负责显示与清除命令运行时系统优先查询的哈希表(hash table)。当执行hash命令不指定参数或标志时,hash命令向标准输出报告路径名列表的内容。此报告含有先前hash命令调用找到的当前shell环境中命令的路径名。而且还包含通过正常命令搜索进程调用并找到的那些命令。语法:语法格式: hash [...

🍌 其他命令

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 

🍎 扩展:知识干货

⭐️ 点击下载 👉 超全 Linux 8/7/6/5 安装包合集下载地址 ⭐️

❤️ 也可以扫码关注公众号,菜单栏自取!❤️


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。