Linux command 命令

目录

  • [一. 判断命令是否存在](#一. 判断命令是否存在)
  • [二. 显示命令所在的路径](#二. 显示命令所在的路径)
  • [三. 绕过别名,直接执行真正的命令](#三. 绕过别名,直接执行真正的命令)

一. 判断命令是否存在

🔷多用于bash脚本中,有些第三方命令可能没有被安装,因此需要判断命令是否存在。

bash 复制代码
if ! command -v keytool >/dev/null 2>&1; then
    echo "【keytool】命令并没有被安装, 请确认!"
    exit 1
fi

if ! command -v openssl >/dev/null 2>&1; then
    echo "【openssl】命令并没有被安装, 请确认!"
    exit 1
fi

二. 显示命令所在的路径

  • which有点类似
bash 复制代码
apluser@FengYeHong-HP:~$ command -v grep
alias grep='grep --color=auto'
apluser@FengYeHong-HP:~$
apluser@FengYeHong-HP:~$ command -v cat
/usr/bin/cat
apluser@FengYeHong-HP:~$

三. 绕过别名,直接执行真正的命令

🔷在环境构筑的时候,有可能对原生的linux命令进行二次封装,添加一些默认的配置项。

bash 复制代码
# 取别名
alias rm='rm -i'
alias ls='ls --color=auto'

🔷如果不想使用默认的配置项,可通过command命令,忽略alias别名。

  • 此时删除文件的时候,并不会进行任何提示
bash 复制代码
command rm file.txt
相关推荐
Zhang~Ling35 分钟前
Linux多线程互斥锁:从现象到原理解析
linux·运维·网络
ambition202423 小时前
操作系统同步:读者-写者问题与读写公平法详解(附每个 PV 操作含义)
linux·开发语言·数据结构·unix
zmzmzmalo3 小时前
Linux ELF文件加载与内存管理揭秘
linux·网络·数据库
三言老师10 小时前
K8s集群运行时自动化运维全覆盖落地实操(下)
linux·运维·服务器·网络
ltl11 小时前
HAProxy HTX 与 HTTP 路径:内部表示、改写落点与协议分叉
linux
ltl11 小时前
可拆分 OS:CXL 内存池化如何动摇本地 DRAM 假设
linux
ltl11 小时前
Tetragon 强制执行:Override 与 SIGKILL 各自保证什么
linux
lengjingzju11 小时前
编译与调试完全指南—第6章 性能分析工具
linux
躺不平的理查德12 小时前
嵌入式 Linux 系统移植与 SD 卡量产镜像制作
linux·运维·服务器
一直走下去-明13 小时前
centos7无法安装tcpreplay
linux·运维