欢迎光临散文网 会员登陆 & 注册

oeasy教您玩转linux010107那啥在哪 whereis

2020-08-29 08:10 作者:oeasy  | 我要投稿

那啥在哪whereis

回忆上次内容😌

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

现在我们要整这么一个列表🗒

  • 对于 /proc路径进行列表

  • 对子路径递归列表

  • 显示隐藏文件

  • 显示详细信息

  • 其中容量使用人们熟知的单位

你都忘了?!!!😱

  • 没关系

  • 查手册啊📕

做完了之后思考,ls到底在哪?🤔

ls在哪?🤔

  • 想要知道ls在哪就得用新命令whereis

  • 我们的命令(command)的名字是whereis

  • 我们whereis命令的参数是ls

  • 综合起来就是

whereis ls

  • 我们得到了ls两个硬盘位置

  • /bin/ls

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

  • 为什么在硬盘里?🤔

为什么ls在硬盘里?🤔

  • ls文件最开始在/bin这个位置

  • 当我在命令行敲击之后ls回车之后

  • 操作系统要求运行ls程序

  • 操作系统分配内存空间给ls

  • 操作系统把ls从硬盘加载到内存中

  • 操作系统分配cpu资源去执行程序

  • 最终把ls的结果输出到标准输出流(屏幕)上

为什么两个位置??🤔

  • 我们可以对whereis发出灵魂之问whatis

  • whatis whereis

  • whereis可以帮我们定位命令的位置

whereis太简单了,这个恐怕要查文档

  • 我们查询whereis的手册man📕

  • man whereis

  • 我们可以查询到whereis的手册📕

来试试选项的功能

  • whereis -b ls

    • b的意思是binary二进制

    • 查找whereis二进制

    • 二进制文件在/bin里

  • whereis -m ls

    • m的意思是manual文档

    • 查找whereis的文档

    • 文档在/usr/share/man里面

  • 这两个

  • 一个是二进制命令

  • 另一个是帮助手册

那ls的源文件在哪呢?这有点复杂...🧐

得到ls源文件

  • dpkg -S /bin/ls

  • dpkg是debian package是debian的包管理命令

  • -S是在已经安装的包里面查找search

  • /bin/ls是具体文件的位置

  • 得到结果是coreutils(核心应用)

设置源

  • sudo vi /etc/apt/sources.txt

    • 打开源的配置文件

    • sudo 是使用管理员权限

    • vi 是文本编辑器

    • /etc/apt/sources.txt是源的配置文件

    • 直接输入G(直接到最后一行Ground)

    • 注意这个时候左下角是空白状态

    • 直接输入o(在当前行后面添加一行)

    • 注意左下角变成了Insert(插入状态)

    • 将下面粘贴到最后一行

    • deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

    • 这条设置的是debian的源的位置

    • 摁下esc

    • 注意左下角不再是Insert(插入状态),而是退回到了空白

    • 依次摁下

    • :

    • w

    • q

    • 回车

    • 保存并退出vi

用apt下载源代码

  • apt是高级包管理的命令

  • 运行sudo apt update(更新源)

  • sudo apt source coreutils(获得源代码)

  • 在当前文件夹下找到coreutilsXXX文件夹

  • 进入src源文件文件夹(source)

  • ls ls.*

  • 找到了ls.c文件(ls的c语言源文件)

思考🤔

  • 我们真的可以获得ls源代码,这太棒了!👊

  • 可是如果有多个版本的命令比如

  • java8

  • java13

  • 那我到底用的是那个版本的java呢?🙄

  • 我们下次再说*


oeasy教您玩转linux010107那啥在哪 whereis的评论 (共 条)

分享到微博请遵守国家法律