V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wellwellwell
V2EX  ›  macOS

有哪些方式可以知道,某个命令是不是系统自带的(MacOS 和 Linux )?

  •  
  •   wellwellwell · 2022-09-17 18:04:13 +08:00 · 1377 次点击
    这是一个创建于 580 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有哪些方式可以知道,某个命令是不是系统自带的,比如 ls 、cat 、grep 这些命令是系统自带的,这主要来自我们的经验,exa fzf ripgrep 不是系统自带的,需要自行安装,也是来自我们的经验。

    我想知道有没有什么方法可以知道某个命令是不是系统本来就有的,或者有什么网站可供查询。

    因为选择使用系统自带的命令,更适合作为可分享的脚本代码

    7 条回复    2022-09-18 10:10:05 +08:00
    hahasong
        1
    hahasong  
       2022-09-17 18:08:22 +08:00   ❤️ 2
    /bin /sbin /usr/bin /usr/sbin 是系统自带的
    kkocdko
        2
    kkocdko  
       2022-09-17 18:22:29 +08:00
    @hahasong 不对哦,自行安装上的也在这些目录里。

    “系统自带”包含 shell build-in 命令(只要有 shell 就有),core-utils 和发行版镜像中自带的程序。

    1. shell build-in 的命令可以用 type 查询。
    [kkocdko@fedora apps]$ type cd
    cd is a shell builtin
    [kkocdko@fedora apps]$ type gcc
    gcc is /usr/bin/gcc

    2. 类似 cat ,du 这些命令属于 core-utils:
    https://www.gnu.org/software/coreutils/

    3. 至于发行版自行决定自带的程序,那就只能拆一下常见发行版的镜像,看看 /usr/bin 里有什么,然后导出个列表。
    hahasong
        3
    hahasong  
       2022-09-18 01:13:50 +08:00   ❤️ 1
    @kkocdko 自行安装的在 /usr/local/bin 里
    kkeep
        4
    kkeep  
       2022-09-18 02:19:27 +08:00 via Android
    which
    kkeep
        5
    kkeep  
       2022-09-18 02:20:05 +08:00 via Android
    有意思,但是更多的是让客户端装吧
    bao3
        6
    bao3  
       2022-09-18 09:28:14 +08:00 via iPhone   ❤️ 1
    1# 3# 的回答是对的,仅限于 Unix 类系统,不适用于 Linux 类系统。
    标准的 Unix 类 OS 都遵循 1# 3# 的规范,但这里要单独去看 Linux ,因为 Linux 太开放了,入门也太简单,所以 Linux 使用者很大一部分是乱放文件位置,或者从源编译时编译的配置文件也不遵守这个原则。

    用户自己安装的程序一定是放在 /use/local/ 下的 bin 、lib 、etc 这些。同样也是 Linux 不在这个规则,所以你搜到的很多 Linux/VPS 不光软件会放在 /usr/bin ,用户安装的软件配置文件都可能放在 /etc ……

    我看 2# 还在用 fodra linux 作为评论基础,这个就…… 反正他讲的是没错,但适用规则有误。
    ihipop
        7
    ihipop  
       2022-09-18 10:10:05 +08:00 via Android
    自行安装里面也分通过包管理器安装或者自行编译安装。

    如果自带说的是装机就有,那没有一个标准的,哪怕同一个发行版,不同的发行大小都可能不带一样的东西。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2381 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 16:07 · PVG 00:07 · LAX 09:07 · JFK 12:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.