在Linxu环境下执行一条命令,看似相同,实际上命令是分为不同类型:

  • bash内置命令:这种命令实际上是没有对应的可执行文件的,是bash内置的命令。
  • 普通外部命令: 这种命令对应一个可执行文件,文件放在一个特定目录下。
  • hashed外部命令:这种命令和普通外部命令的区别是,bash对于普通外部命令,会根据环境变量PATH依次搜索命令文件所在位置,找到后加载文件到内存中执行。而hashed命令是提前将命令文件位置进行hash映射(所谓哈希表)处理,在执行命令时,直接从hash表中找到目标位置,加载文件到内存中执行,这样执行效率更高。
  • aliased命令:所谓的别名命令,这种命令实际是替身,其真身是另外一个。

下面是一个例子:

~> type pwd
pwd is a shell builtin
~> type cd
cd is a shell builtin
~> type echo
echo is a shell builtin
~> type python3
python3 is /usr/bin/python3
~> type cat
cat is hashed (/usr/bin/cat)
~> type ls
ls is aliased to `ls --color=auto'
~> type tensorboard
-bash: type: tensorboard: not found

解释:

  • pwdcdecho都是bash的内置命令;
  • python3是普通的外部命令;
  • cat是hashed外部命令;
  • ls是一个别名命令,其真实命令是ls --color=auto

Linux命令的类型:如何看清一条命令的“真身”是什么?相关推荐

  1. 【重点】初窥Linux 之 我最常用的20多条命令

    [重点]初窥Linux 之 我最常用的20多条命令 玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我 ...

  2. python重复执行命令_怎样能重复执行一条命令直到运行成功

    在我们的日常工作中,需要我们重复做的工作简直不能太多.比如,我们想要确认网络是否是连通的,传统的做法就是使用 ping 命令不停去测试某个地址(比如百度).网络比较好还好说,但如果网络很差,那么就需要 ...

  3. oracle命令执行,sqlplus 如何执行上一条命令

    SQLPLUS 常用指令小收集 下面就介绍一下一些常用的sql*plus命令: 1. 执行一个SQL脚本文件 SQL>start file_name SQL>@ file_name 我们可 ...

  4. linux怎么看文件状态,linux查看文件类型-file、状态-stat

    linux查看文件类型-file.状态-stat 首页 计算机相关 linux命令 linux查看文件类型-file.状态-stat file 命令可以用来查看文件类型-i mime type -s ...

  5. Linux 命令之 type -- 显示指定命令的类型

    文章目录 一.命令介绍 二.命令格式 三.命令类型 四.常用选项 五.命令示例 (一)查看命令的类型 (二)显示外部命令的绝对路径 一.命令介绍 type 命令用来显示指定命令的类型,判断给出的指令是 ...

  6. Linux系统支持的目录文件有,【技术支持】linux操作系统有哪些文件和目录操作相关命令?...

    显示文件内容命令 用户需要查看一个文件的内容时,可以根据显示要求的不同选用以下的命令. cat命令 功能1:在标准输出上显示文件. 语法:cat [ - 选项 ] 文件 说明:该命令功能之一是用来显示 ...

  7. Linux基础(1)- 版本信息与基础命令

    RH124 笔记 Linux基础(1)- 版本信息与基础命令 Linux基础 Linux发行版本(Linux distributions) 终端(Terminal) 终端选项(options/flag ...

  8. linux小工具(1)查看shell的命令行历史记录

    前言: 在linux的shell终端下,针对需要重复执行的命令,为了进行比较高效的作业,我们会直接使用历史命令. 下面介绍几种常用的方法: (1) ↑ 和 ↓ 键操作: ↑:向前查找(更早输入的命令) ...

  9. linux之我常用的20条命令( 之三)

    快速清空一个文件 > > rumenz.log > :> rumenz.log > true > rumenz.log > cat /dev/null > ...

最新文章

  1. 单片机c语言控制显示器,单片机实现LCD液晶显示器控制原理..docx
  2. 游戏编程里面有哪些经典或者很酷的算法?
  3. 作者:张晴晴,山东农业大学硕士生。
  4. Spring Boot 你所不知道的超级知识学习路线清单
  5. 不规则物体形状匹配综述
  6. 我的R 之路: R最常见的小基础。。。。。。。。
  7. 神策分析 2.1 重磅上线!报警诊断、多主体分析、渠道追踪等赋能企业数字化经营...
  8. windows 8 下五笔98版和新世纪版的解决方案
  9. 发布和订阅业务交易事件库(BTE事件及函数)
  10. [管理]鼎捷软件售后服务体验
  11. 李广难封–有感于团队建设
  12. VBV缓冲区大小-MPEG2规范
  13. 根据SNP的位置从基因组提取上下游序列
  14. 微信小程序开发-语音录入与删除
  15. surprise库源码分析
  16. matlab dll 通达信,【通达信】通达信插件(dll)编程源码及讲解
  17. allegropcb建元件库_Cadence_PCB封装库的制作及使用
  18. Immersionbar学习笔记
  19. plc热电偶模块模拟量数据波动原因
  20. 2020牛客暑期多校训练营(第九场)E题 Groundhog Chasing Death

热门文章

  1. GameFramework篇:StarForce资源加载细节讲解(二:ResourceComponent详解)
  2. 制作一个机器螳螂【内附资料下载链接】
  3. 京东宣布将扩招1.5万员工
  4. 游戏显卡排名_2020年显卡天梯图
  5. C# 使用SharpGL-鼠标滚轮按键平移操作
  6. 1.1.4 图片自动编号
  7. QT学习C++(17)
  8. matlab .cls,请问CLS是什么意思?
  9. tcp 端口复用与惊群效应(REUSEADDR、REUSEPORT)
  10. autorun病毒手工清除办法