目录
前言
通过前面的实验,我们已经将关于Ubuntu系统的其余八大部分命令行都做完了,接下来我们将进行一些其他部分的linux系统的命令行实验。
实验目的
1.掌握Ubuntu系统下其他部分命令行的原理及使用
实验内容
本次实验主要是掌握Linux系统下的其他部分的使用,主要包括以下内容:
第九部分(其他部分):
1.hash命令 – 显示与清除命令运行时查询的哈希表
2.wait命令 – 等待指令
3.bc命令 – 浮点运算
4.rmmod命令 – 删除模块
5.history命令 – 显示与操纵历史命令
实验环境
树莓派4B,系统为Ubuntu 20.10系统 。实验的编程环境为Terminal终端程序
实验步骤
1.hash命令 – 显示与清除命令运行时查询的哈希表
(1)命令格式
hash [参数] [目录]
(2)命令功能
hash命令负责显示与清除命令运行时系统优先查询的哈希表(hash table)。当执行hash命令不指定参数或标志时,hash命令向标准输出报告路径名列表的内容。此报告含有先前hash命令调用找到的当前shell环境中命令的路径名。而且还包含通过正常命令搜索进程调用并找到的那些命令。
(3)命令参数
参数 | 功能说明 |
---|---|
-d | 在哈希表中清除记录 |
-l | 显示哈希表中的命令 |
-p<指令> | 将具有完整路径的命令加入到哈希表中 |
-r | 清除哈希表中的记录 |
-t | 显示哈希表中命令的完整路径 |
(4)使用范例
例一:显示哈希表中的命令:
命令:
hash -l
输出:
例二:删除哈希表中的命令:
命令:
hash -r
输出:
例三:向哈希表中添加命令
命令:
hash -p /usr/sbin/adduser myadduser
例四:在哈希表中清除记录:
命令:
hash -d
例五:显示哈希表中命令的完整路径:
命令:
hash -t
输出:
2.wait命令 – 等待指令
(1)命令格式
wait [参数]
(2)命令功能
wait命令用来等待指令的指令,直到其执行完毕后返回终端。该指令常用于shell脚本编程中,待指定的指令执行完成后,才会继续执行后面的任务。该指令等待作业时,在作业标识号前必须添加备份号”%”。
(3)命令参数
参数 | 功能说明 |
---|---|
22或%1 | 进程号或者作业号 |
(4)使用范例
例一:等待作业号为6的作业完成后再返回:
命令:
wait %6
3.bc命令 – 浮点运算
(1)命令格式
bc [选项]
(2)命令功能
bc命令是一种支持任意精度的交互执行的计算器语言。bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下。
(3)命令参数
参数 | 功能说明 |
---|---|
-i | 强制进入交互式模式 |
-l | 定义使用的标准数学库 |
-w | 定义使用的标准数学库 |
-q | 打印正常的GNU bc环境信息 |
(4)使用范例
例一:算术操作高级运算bc命令它可以执行浮点运算和一些高级函数:
命令:
echo "1.212*3" |bc
3.636
例二:设定小数精度(保留两位小数):
命令:
echo "scale=2;3/8" | bc
0.37
例三:计算平方和平方根:
命令:
echo "10^10" | bc
10000000000
echo "sqrt(100)" | bc
10
4.rmmod命令 – 删除模块
(1)命令格式
rmmod [参数] [模块名称]
(2)命令功能
rmmod命令用于删除模块。 执行rmmod命令,可删除不需要的模块。Linux操作系统的核心具有模块化的特性,因此在编译核心时,不需要吧全部功能都放入核心,可以将这些功能编译成一个个单独的模块,待有需要时再分别载入它们。
(3)命令参数
参数 | 功能说明 |
---|---|
-a | 删除所有目前不需要的模块 |
-s | 把信息输出至syslog常驻服务,而非终端机界面 |
-v | 显示指令执行的详细信息 |
-f | 强制移除模块,使用此选项比较危险 |
-w | 等待着,知道模块能够被除时再移除模块 |
(4)使用范例
例一:卸载模块pppoe并显示执行信息:
命令:
rmmod -v pppoe
例二:卸载bridge模块
命令:
rmmod bridge
例三:卸载bridge模块并将错误信息写入syslog:
命令:
rmmod -s bridge
例四:孤立正在使用的bridge模块,知道不被使用:
命令:
rmmod -w bridge
例五:删除正在使用的bridge模块(-f可以删除正在使用的模块,非常危险,慎用):
命令:
rmmod -f bridge
5.history命令 – 显示与操纵历史命令
(1)命令格式
history [参数] [目录]
(2)命令功能
history命令用于显示用户以前执行过的历史命令,并且能对历史命令进行追加和删除等操作。
(3)命令参数
参数 | 功能说明 |
---|---|
-a | 将当前shell会话的历史命令追加到命令历史文件中,命令历史文件是保存历史命令的配置文件 |
-c | 清空当前历史命令列表 |
-d | 删除历史命令列表中指定序号的命令 |
-d | 只列出文本文件,本参数需配合”-l”参数使用 |
-n | 从命令历史文件中读取本次Shell会话开始时没有读取的历史命令 |
-r | 读取命令历史文件到当前的Shell历史命令内存缓冲区 |
-s | 将指定的命令作为单独的条目加入命令历史内存缓冲区。在执行添加之前先删除命令历史内存缓冲区中最后一条命令 |
-w | 把当前的shell历史命令内存缓冲区的内容写入命令历史文件 |
(4)使用范例
例一:显示最近的10条命令
命令:
history 10
输出:
例二:将本次登录的命令写入历史文件中:
命令:
history -w
例三:将命令历史文件中的内容读入到目前shell的history记忆中 :
命令:
history -r
例四:将当前Shell会话的历史命令追加到命令历史文件中:
命令:
history -a
例五:清空当前历史命令列表:
命令:
history -c
输出: