Linux下一切皆文件与指令的本质(可执行程序),which指令等

news/2024/10/20 3:35:36/

Linux下一切皆文件

在这里插入图片描述

  1. 在Linux下的话,一切皆文件。主要是看待诸如软硬件设备与磁盘文件的看法:一切皆文件,比如说显示器它也是文件,键盘也是文件,普通文件肯定是文件。
  2. 首先就是显示器这个东西,它其实就是可以打印东西的,问题就在于,这是谁打印的,实际上就是你的程序在向显示器打印,站在程序的角度,就是在向显示器写入数据。那能不能从显示器读取?不会的,那些你看起来是在从显示器读取数据的行为,实际上是从键盘在读取数据,然后只不过是给你回显到显示器上面而已,为了让你看到你输入的效果而已。对于显示器,程序只负责写,读方法为空
  3. 如果说把键盘也当做文件来看待的话,那他提供的方法站在程序的角度之上***,程序只能从键盘那个文件读,不能写,写方法为空。***
  4. 对于一个正儿八经的普通文件来讲的话,那当然读写方法都有。
  5. 因此不管是对于那些普通文件还是键盘还有显示器,他们都有读写方法,在我Linux看来的话,能过去读,能够去写,那自然都是文件。
  6. 可能有时候部分读写方法为空,比如说键盘,显示器之类,但我就认为他与普通文件是一样的。Linux下一切皆文件网卡也是文件,也可以收发数据。
  7. ***正是因为Linux下面一切文件,所以说对于指令echo加一个字符串的话,在以前的说法就是说把这个字符串给他打印在显示器上,但实际上,其实就是把这个字符串给他写入到显示器文件当中。***是默认把这个字符串给他写入到显示器文件当中。
    在这里插入图片描述
  8. 但凡能够去读,能够去写,这样的设备文件的话,一般来讲就当成文件,在Linux下的话,一切皆文件
  9. 键盘啊,显示器啊这些东西它与文件实际上没有任何区别,就是其实你往文件当中去写,跟你往显示器里面去写一模一样,你还看不到,而且你也根本就不知道他在干啥,到后来你就会发现就是从文件上当中读写与从显示器跟键盘当中读写其实根本没有任何差别。

Linux下指令的本质

  1. 首先到底是怎么去看待指令?这个指令究竟是什么东西,
  2. 首先,指令和可执行程序都是可以被执行的,所谓的指令,本质上就是可执行程序。
  3. 当输入一条指令的时候,首先是先在系统当中去查找这条指令,当输入一条非法的指令的话,就会返回command not found。
    在这里插入图片描述
  4. 所以指令一定是在系统的某一个位置存在的
  5. 指令就是可执行程序,然后你输入的指令首先是需要经过在系统当中去查找匹配,如果找到了,然后就去对应执行那个可执行程序
  6. 指令是在系统中特定的路径下存在的,这些指令一定是某种可执行程序,你肯定是可执行程序,如果不是可执行程序的话,凭什么就能够让你运行起来,这些肯定都是用c/c++/Python或某些脚本语言写的可执行程序
  7. 指令的本质就是可执行程序,和我们自己写的代码编译好的程序没有本质区别。
  8. 把可执行程序放到系统的某些特定路径下,这就是安装。把可执行程序从系统的某些路径下面删掉,其实这个行为就是卸载
  9. 这个世界上所有的指令,软件与工具全部都是可执行程序,所以对于指令而言,看了一番,说白了其实就是别人写好的可执行程序然后放在系统中仅此而已。
  10. 指令的本质就是一个文件,只不过是可执行文件.exe罢了,就是直接安装到了系统的某种路径下。
  11. 指令它其实并不神秘,只不过是系统当中的一个可执行程序文件而已,所以学指令其实就是在学一个一个的可执行程序的用法而已。
  12. 指令就是在Linux系统上面编好的一个软件,二进制指令罢了,我们一定能够在系统中去找到他
    在这里插入图片描述
  13. 在这里插入图片描述

which 指令(查看指令所在系统路径)

  1. which 就是查看对应指令它的一个路径
    在这里插入图片描述
  2. 指令的话一般是在Linux系统的根目录下/usr/bin/下

http://www.ppmy.cn/news/53894.html

相关文章

标准ACL配置

标准ACL配置 【实验目的】 掌握标准ACL的配置。 验证配置。 【实验拓扑】 实验拓扑如图1所示。 图1 实验拓扑 设备参数如表所示。 表1 设备参数表 设备 接口 IP地址 子网掩码 默认网关 R1 S0/3/0 192.168.1.1 255.255.255.252 N/A Gi0/0/0 192.168.2.1 255.…

【python中的魔法方法有哪些?】

__init__(self, ...): 类的构造函数,用于创建一个类的实例并初始化它的属性。__str__(self): 返回对象的字符串表示形式,可以用于打印对象或者转化成字符串。__repr__(self): 返回对象的字符串表示形式,通常是用于开发者调试和查看对象信息。…

Qt中JSON字符串的使用

Qt中JSON字符串的使用 JSON是一种对源自Javascript的对象数据进行编码的格式,但现在广泛用作互联网上的数据交换格式。有一种应用场景:存储变化的坐标对。存储JSON数组字符串即可。 从 Qt 5.0 就开始提供处理 Json 数据的操作支持,Qt中的JS…

数据结构,二叉树

1.二叉树 度&#xff1a;每一个节点的子节点数量 二叉树中&#xff0c;任意节点的度<2 根节点&#xff1a;最顶层的节点 数高&#xff1a;数的总层数 左子节点&#xff1a;左下方的节点 根节点的左子树&#xff1a;根节点的左边部分 2.二叉查找树 特点&#xff1a; …

设定 SLO 有哪些原则

针对核心和非核心应用&#xff0c;以及强弱依赖关系&#xff0c;我们在设定 SLO 时的要求也是不同的&#xff0c;具体来说&#xff0c;可以采取下面 4 个原则。 第一&#xff0c;核心应用的 SLO 要更严格&#xff0c;非核心应用可以放宽。 这么做&#xff0c;就是为了确保 SRE…

stp 相关配置

display stp [Huawei]display stp interface GigabitEthernet 0/0/1 display stp brief []stp mode {stp|rstp|mstp} 默认mstp undo stp enable 关闭交换机或某个接口stp协议 stp root primary 指定根桥&#xff0c;优先级0且不能更改 stp root secondary 指定备…

Linux shell命令行基础

shell简介 shell 与内核沟通的界面、应用程序等。用于将用户操作传递给内核执行。 shell是面向过程 的若类型的解释性语言&#xff0c;不需要编译即可直接执行&#xff0c;常用于作脚本 Linux中的shell 在/etc/shells文件中 存储Linux包含的shell。 最常用的是bash&#xff0c;…

什么牌子台灯好用不伤眼睛?盘点国内值得入手的护眼灯

选择一款不伤眼睛的台灯主要看光照柔和、光照范围广&#xff0c;符合标准照度国A或国AA、显色指数Ra90以上、无眩光、RG0无危害蓝光、无可视频闪等&#xff0c;对于现在许多青少年的近视率增加&#xff0c;一旦近视就无法恢复&#xff0c;保护好眼睛&#xff0c;在学习阅读时&a…