基础篇:Linux 常用命令总结(四)

其他命令


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


上一篇:基础篇:数据库 SQL 入门教程(一)


下一篇:最受DBA欢迎的250篇学习文档