mktemp
创建临时文件供shell脚本使用
补充说明mktemp命令 被用来创建临时文件供shell脚本使用。
语法1mktemp(选项)(参数)
选项123-q:执行时若发生错误,不会显示任何信息;-u:暂存文件会在mktemp结束前先行删除;-d:创建一个目录而非文件。
参数文件:指定创建的临时文件。
test
执行条件表达式。
概要1test [expr]
主要用途
执行条件表达式。
参数文件操作符:123456789101112131415161718192021222324252627282930313233343536-a FILE 如果文件存在,则为true。-b FILE 如果文件是块特殊的,则为true。-c FILE 如果文件是特殊字符,则为true。-d FILE 如果文件是目录,则为true。-e FILE 如果文件存在,则为true。-f FILE 如果文件存在并且是常规文件,则为true。-g FILE 如果文件是set-group-id,则为true。-h FILE 如果文件是符号链接,则为true。-L FILE 如果文件是符号链接,则为true。-k FILE 如果文件的粘滞位(sticky)设置了,则为true。-p FILE 如果文件是命名管道,则为true。-r FILE 如果您可以读取文件,则为true。-s FILE 如果文件存在且不为空,则为true。-S FILE ...
getent
查询 DNS 名称服务器中的命名空间
语法1getent [选项] 主机名或域名
选项12345678-h # 显示帮助信息 -n # 不解析 DNS 名称 -p # 打印解析过程 -s # 只输出有关已知主机的信息 -t # 指定 DNS 查询类型 (默认为 NXDOMAIN) -U # 使用顶级域名服务器 -V # 显示版本信息 -O # 以其他模式解析命名空间
主机名或域名可以是通配符 (例如 *.example.com) 或单个主机名。如果指定了 -h 选项,则显示帮助信息。如果指定了 -n 选项,则不再解析 DNS 名称。如果指定了 -p 选项,则打印解析过程。如果指定了 -s 选项,则只输出有关已知主机的信息。如果指定了 -t 选项,则指定 DNS 查询类型 (默认为 NXDOMAIN)。如果指定了 -U 选项,则使用顶级域名服务器。如果指定了 -V 选项,则显示版本信息。如果指定了 -O 选项,则解析命名空间以其他模式。
实例
查看所有已知账户:
1getent passwd
这将列出所有已知账户的密码文件,例如 /etc/p ...
service
控制系统服务的实用工具
补充说明service命令 是Redhat Linux兼容的发行版中用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。
语法1service(选项)(参数)
选项12-h:显示帮助信息;--status-all:显示所服务的状态。
参数
服务名:自动要控制的服务名,即/etc/init.d目录下的脚本文件名;
控制命令:系统服务脚本支持的控制命令。
实例当修改了主机名、ip地址等信息时,经常需要把网络重启使之生效。
123456789101112service network status配置设备:lo eth0当前的活跃设备:lo eth0service network restart正在关闭接口 eth0: [ 确定 ]关闭环回接口: [ 确定 ]设置网络参数: ...
modetest
DRM/KMS驱动程序libdrm中的模式测试工具
补充说明modetest 是一个用于测试和验证 DRM(Direct Rendering Manager)驱动程序功能的命令行工具。
安装
源码:Mesa / drm · GitLab
下载:Index of /libdrm (dri.freedesktop.org)
编译
1234./configure --prefix=/opt/ --host=aarch64-linux-gnumake && make install## 编译删除make distclean
__参考__:libdrm调试准备 - 简书
语法1modetest [选项]
选项123456789101112131415161718# 查询选项-c 列出连接器-e 列出编码器-f 列出帧缓冲-p 列出 CRTCs 和平面# 测试选项-P <plane_id>@<crtc_id>:<w>x<h>[+<x>+<y& ...
jq
一个灵活的轻量级命令行JSON处理器
补充说明jq 是 stedolan 开发的一个轻量级的和灵活的命令行JSON处理器,源码请参考 jq 项目主页
jq 用于处理JSON输入,将给定过滤器应用于其JSON文本输入并在标准输出上将过滤器的结果生成为JSON。
最简单的过滤器是.,它将jq的输入未经修改地复制到其输出中(格式设置除外)。
请注意,jq 当前仅支持64位双精度浮点数(IEEE754)。
安装12345# Debian系,如 Ubuntusudo apt-get install jq# RedHat系, 如 CentOSyum install jq
语法123jq [options] <jq filter> [file...]jq [options] --args <jq filter> [strings...]jq [options] --jsonargs <jq filter> [JSON_TEXTS...]
选项1234567891011121314151617-c 紧凑而不是漂亮的输出;-n ...
bc
算术操作精密运算工具
补充说明bc命令 是一种支持任意精度的交互执行的计算器语言。bash内置了对整数四则运算的支持,但是并不支持浮点运算,而bc命令可以很方便的进行浮点运算,当然整数运算也不再话下。
语法1bc(选项)(参数)
选项123456-i:强制进入交互式模式;-l:定义使用的标准数学库;-w:对POSIX bc的扩展给出警告信息;-q:不打印正常的GNU bc环境信息;-v:显示指令版本信息;-h:显示指令的帮助信息。
参数文件:指定包含计算任务的文件。
实例算术操作高级运算bc命令它可以执行浮点运算和一些高级函数:
123echo "1.212*3" | bc 3.636
设定小数精度(数值范围)
123echo "scale=2;3/8" | bc0.37
参数scale=2是将bc输出结果的小数位设置为2位。
进制转换
1234#!/bin/bashabc=192echo "obase=2;$abc" | bc
执行结果为:11000000,这是用bc将十进制转换成二进制。
1234#!/bin/b ...
pushd
将目录添加到目录堆栈顶部。
概要1pushd [-n] [+N | -N | dir]
主要用途
将目录添加到目录堆栈顶部,切换当前工作目录到该目录。
旋转目录堆栈,使堆栈的新顶部成为当前工作目录。
没有参数时,交换目录堆栈的前两个目录。
选项1-n 抑制添加目录引起的当前工作目录变化。
参数+N(可选):不带参数执行dirs命令显示的列表中,左起的第N个目录将作为堆栈顶部,在它前面的会移动到底部。(从0开始计数)
-N(可选):不带参数执行dirs命令显示的列表中,右起的第N个目录将作为堆栈顶部,在它前面的会移动到底部。(从0开始计数)
dir(可选):要推送的目录。
返回值返回成功除非提供了非法选项或执行出现错误。
例子123456# 添加目录到堆栈,改变了当前工作目录。[user2@pc ~]$ dirs~[user2@pc ~]$ pushd ~/Desktop~/Desktop ~[user2@pc Desktop]$
123456789101112131415# 添加目录到堆栈,当前工作目录不变。[user2@pc ~]$ dirs~[user2@pc ...
pkexec
以其他用户身份执行命令
补充说明pkexec 允许授权用户以另一个用户的身份执行 PROGRAM。如果未指定PROGRAM,则将运行默认 shell。如果未指定用户名,则程序将以管理超级用户 root的身份执行。
语法12pkexec [--version] [--disable-internal-agent] [--help]pkexec [--keep-cwd] [--user username] PROGRAM [ARGUMENTS...]
选项12345678PROGRAM 运行的程序ARGUMENTS... 传递给程序的参数--version 输出版本号然后退出--disable-internal-agent 避免将注册自己的文本身份验证代理--help 输出帮助文本然后退出--keep-cwd 运行位置,默认在 /home/<username>/--user <username> 需要运行的用户名
返回值成功完成后,返回值为 PROGRAM 的返回值。
127: 在未获得授权或者身份验证发生错误
126: 用户关闭身份验证对话框而无法获得授权
...
lscpu
显示有关CPU架构的信息
补充说明lscpu命令 是显示有关CPU架构的信息。
语法1lscpu [选项]
选项12345678910-a, --all # 打印在线和离线CPU(默认为-e)-b, --online # 仅打印在线CPU(-p的默认值)-c, --offline # 打印离线CPU-e, --extended[=<list>] # 打印出一个扩展的可读格式-p, --parse[=<list>] # 打印出可解析的格式-s, --sysroot <dir> # 将指定的目录用作系统根目录-x, --hex # 打印十六进制掩码,而不是CPU列表-h, --help # 显示此帮助并退出-V, --version # 输出版本信息并退出
参数1234567891011可用列: CPU 逻辑CPU编号 CORE 逻辑核心号码 SOCKET 逻辑套接字号 ...