乐趣区

关于linux运维:oeasy教您玩转linux010107那啥在哪-whereis

回顾上次内容 ????

上次讲了 ls 的参数 (arguement) 和选项 (option) 的设置。

当初咱们要制作这样一个列表:????

  • 对于 /proc 门路进行列表
  • 对子门路递归列表
  • 显示暗藏文件
  • 显示详细信息
  • 其中容量应用人们熟知的单位

大家遗记了吗?!!????

没关系,咱们能够查手册,???? 那么做完了之后能够思考,ls 到底在哪?????

ls 在哪?????

想要晓得 ls 在哪就得用新命令 whereis,命令的参数是 ls,综合起来就是:

whereis ls

咱们能够失去 ls 两个硬盘地位:

  /bin/ls
  /usr/share/man/man1/ls.1.gz

为什么 ls 在硬盘里?????

  • ls 文件最开始在 /bin 这个地位
  • 当我在命令行敲击之后 ls 回车之后
  • 操作系统要求运行 ls 程序
  • 操作系统分配内存空间给 ls
  • 操作系统把 ls 从硬盘加载到内存中
  • 操作系统调配 cpu 资源去执行程序
  • 最终把 ls 的后果输入到规范输入流(屏幕)上

为什么 ls 命令对应两个地位呢 ????

咱们能够对 whereis 收回询问:

whatis whereis

whereis 能够帮咱们定位命令的地位

然而 whereis 形容太简略了,咱们能够查问 whereis 的手册 man:????

man whereis

咱们能够查问到 whereis 的具体内容:????

试试选项的性能

whereis -b ls
  • b 的意思是 binary 二进制
  • 查找 whereis 二进制
  • 二进制文件在 /bin 里
whereis -m
  • m 的意思是 manual 文档
  • 查找 whereis 的文档
  • 文档在 /usr/share/man 外面

总结来说:whereis -b ls 是二进制命令,whereis -m 另一个是帮忙手册。

那 ls 的源文件在哪呢?这有点简单 … ????

失去 ls 源文件

  • dpkg -S /bin/ls

    • dpkg 是 Debian Package 是 Debian 的包治理命令
    • -S 是在曾经装置的包外面查找 search
    • /bin/ls 是具体文件的地位
    • 失去后果是 coreutils(外围利用)
  • 设置源

    1. sudo vi /etc/apt/sources.txt
    2. 关上源的配置文件
    3. sudo 是应用管理员权限

      • vi 是文本编辑器
      • /etc/apt/sources.txt 是源的配置文件
    4. 间接输出 G(间接到最初一行 Ground)

      • 留神这个时候左下角是空白状态
    5. 间接输出 o(在以后行前面增加一行)

      • 留神左下角变成了 Insert(插入状态)
    6. 将上面粘贴到最初一行

      • deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
      • 这条设置的是 debian 的源的地位
    7. 摁下 esc

      • 留神左下角不再是 Insert(插入状态), 而是退回到了空白
    8. 顺次摁下

      • :
      • w
      • q
      • 回车
      • 保留并退出 vi
  • 用 apt 下载源代码

    1. apt 是高级包治理的命令
    2. 运行 sudo apt update(更新源)
    3. sudo apt source coreutils(取得源代码)
    4. 在以后文件夹下找到 coreutilsXXX 文件夹
    5. 进入 src 源文件文件夹 (source)
    6. ls ls.*
    7. 找到了 ls.c 文件 (ls 的 c 语言源文件)

思考 ????

咱们真的能够取得 ls 源代码,这太棒了!???? 可是如果有多个版本的命令比方:

  • java8
  • java13

那我到底用的是那个版本的 java 呢?咱们下次再说。????

退出移动版