Linux下/usr/bin与/usr/local/bin/区别总结

Linux下/usr/bin与/usr/local/bin/区别总结

2017年10月13日 12:30:17 2puT 阅读数:15930

版权声明:本文为博主原创文章! github地址:https://github.com/lina-not-linus 博客地址: https://blog.csdn.net/Lina_ACM/article/details/78224656

一.

很多应用都安装在/usr/local下面,那么,这些应用为什么选择这个目录呢?理解了最根源的原因后,也许对你理解linux组织文件的方式有更直观的理解。
答案是:Automake工具定义了下面的一组变量:

  1. Directory variable Default value

  2.  

  3.  

  4.  

    prefix /usr/local

  5.  

  6.  

  7.  

    exec_prefix ${prefix}

  8.  

  9.  

  10.  

    bindir ${exec_prefix}/bin

  11.  

  12.  

  13.  

    libdir ${exec_prefix}/lib

  14.  

  15.  

  16.  

  17.  

  18.  

  19.  

    includedir ${prefix}/include

  20.  

  21.  

  22.  

    datarootdir ${prefix}/share

  23.  

  24.  

  25.  

    datadir ${datarootdir}

  26.  

  27.  

  28.  

    mandir ${datarootdir}/man

  29.  

  30.  

  31.  

    infodir ${datarootdir}/info

  32.  

  33.  

  34.  

    docdir ${datarootdir}/doc/${PACKAGE}

  35.  

  36.  

  37.  

而GUN下面绝大部分应用的编译系统都是用automake。
于是乎,你看到的很多很多应用都安装在了/usr/local/目录下

二.

首先注意usr 指 Unix System Resource,而不是User
然后通常/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变
/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件

如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,比如我的一台服务器的PATH变量为
echo $PATH 
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dean/bin 
这里/usr/local/bin优先于/usr/bin,

https://blog.csdn.net/lina_acm/article/details/78224656

2017年10月13日 12:30:17 2puT 阅读数:15930

版权声明:本文为博主原创文章! github地址:https://github.com/lina-not-linus 博客地址: https://blog.csdn.net/Lina_ACM/article/details/78224656

一.

很多应用都安装在/usr/local下面,那么,这些应用为什么选择这个目录呢?理解了最根源的原因后,也许对你理解linux组织文件的方式有更直观的理解。
答案是:Automake工具定义了下面的一组变量:

  1. Directory variable Default value

  2.  

  3.  

  4.  

    prefix /usr/local

  5.  

  6.  

  7.  

    exec_prefix ${prefix}

  8.  

  9.  

  10.  

    bindir ${exec_prefix}/bin

  11.  

  12.  

  13.  

    libdir ${exec_prefix}/lib

  14.  

  15.  

  16.  

  17.  

  18.  

  19.  

    includedir ${prefix}/include

  20.  

  21.  

  22.  

    datarootdir ${prefix}/share

  23.  

  24.  

  25.  

    datadir ${datarootdir}

  26.  

  27.  

  28.  

    mandir ${datarootdir}/man

  29.  

  30.  

  31.  

    infodir ${datarootdir}/info

  32.  

  33.  

  34.  

    docdir ${datarootdir}/doc/${PACKAGE}

  35.  

  36.  

  37.  

而GUN下面绝大部分应用的编译系统都是用automake。
于是乎,你看到的很多很多应用都安装在了/usr/local/目录下

二.

首先注意usr 指 Unix System Resource,而不是User
然后通常/usr/bin下面的都是系统预装的可执行程序,会随着系统升级而改变
/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件

如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,比如我的一台服务器的PATH变量为
echo $PATH 
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/dean/bin 
这里/usr/local/bin优先于/usr/bin,

https://blog.csdn.net/lina_acm/article/details/78224656

linux 系统中的 /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin 目录的区别

/bin
This directory contains executable programs which are needed in single user mode and to bring the sys‐ tem up or repair it.

/sbin
Like /bin, this directory holds commands needed to boot the system, but which are usually not executed by normal users.

/usr/bin
This is the primary directory for executable programs. Most programs executed by normal users which are not needed for booting or for repairing the system and which are not installed locally should be placed in this directory.

/usr/sbin
This directory contains program binaries for system administration which are not essential for the boot process, for mounting /usr, or for system repair.

/usr/local/bin
Binaries for programs local to the site.

/usr/local/sbin
Locally installed programs for system administration.

linux 系统中的 /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin 目录的区别

https://www.cnblogs.com/smallrookie/p/7089008.html

原文地址:https://www.cnblogs.com/wangziyi0513/p/10268888.html

时间: 2024-10-07 20:16:58

Linux下/usr/bin与/usr/local/bin/区别总结的相关文章

linux下无法启动eclipse:/usr/local/jdk1.6.0_17/bin/../jre/lib/i386/client/libjvm.so: cannot restore segmen

解决办法: vi /etc/sysconfig/selinux 将: SELINUX=enforcing 改为: #SELINUX=enforcingSELINUX=disabled 重启linux linux下无法启动eclipse:/usr/local/jdk1.6.0_17/bin/../jre/lib/i386/client/libjvm.so: cannot restore segmen

linux下编译make文件报错“/bin/bash^M: 坏的解释器,使用grep快速定位代码位置

一.linux下编译make文件报错"/bin/bash^M: 坏的解释器 参考文章:http://blog.csdn.net/liuqiyao_01/article/details/41542101#comments 自己测试的结果: [1]使用windows 下的编辑工具 新建文件doc2unix.sh #!/usr/bin/env bash # test PID=$(ps -aef | grep nginx | grep -v grep | grep master |awk '{print

C3P0在Linux下的Failed to get local InetAddress for VMID解决方法

com.mchange.v2.c3p0.impl.C3P0ImplUtils generateVmId 信息: Failed to get local InetAddress for VMID. This is unlikely to matter. At all. We'll add some extra randomness java.net.UnknownHostException: Along.Fedora: Along.Fedora at java.net.InetAddress.ge

解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题

PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到linux下再运行一次已确保能支持多平台. 今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令: [plain] view plain copy sudo ./build.sh 但是却没有任何反应.于是我换了指令,用 [plain] view plain copy chmod u+x build.sh ./build.sh 报错 "build.sh  /bin/bash^M: 坏的解释器:没有那个文件或目

解决 linux下编译make文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题

PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到linux下再运行一次已确保能支持多平台. 今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令: sudo ./build.sh 但是却没有任何反应.于是我换了指令,用 chmod u+x build.sh ./build.sh 报错 "build.sh  /bin/bash^M: 坏的解释器:没有那个文件或目录". 以前遇到这个问题,换了几种编译方法就解决了,单这次还是不行,于是又换:bash

linux下目录读权限与执行权限区别

如果你在linux下用过ls,细心的你会发现目录竟然有可执行权限!如: drwxrwxr-x 11 cl cl 4096  9月 25 14:22 ./ drwxr-xr-x 49 cl cl 4096 10月 10 16:00 ../ drwxrwxr-x  5 cl cl 4096  9月 23 10:58 algorithm/ drwxrwxr-x  2 cl cl 4096  9月 23 21:44 temp/ why?? 在网上查了一下才发现是这个意思: 目录的可执行权限是表示你可否在

Linux下ps -ef和ps aux的区别及格式详解

Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格, System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同.现在的大部分Linux系统都是可以同时使用这两种方式的. ps -ef 是用标准的格式显示进程的.其格式如下 其中各列的内容意思如下 UID     //用户ID.但输出的是用户名 P

Linux下ps -ef和ps aux的区别及格式详解-转

原文:https://www.linuxidc.com/Linux/2016-07/133515.htm Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同.现在的大部分Linux系统都是可以同时使用这两种方式的. ps -ef 是用标准

Linux下执行.sh命令出现-bash: ./bin/start.sh: /bin/bash^M: bad interpreter: No such file or directory

原因是 文件的格式是dos,修改为unix 就OK了 查看文件格式  用vim 打开出错的文件    按 ESC键     再按shift+冒号   输入 set  ff  回车   可以看见 该文件的格式 fileformat=dos按shift + 冒号  输入  set ff=unix 回车 发现没反应,那就对了. 可以按 shift + 冒号  set ff 查看  fileformat=unix --------------------- 原文:https://blog.csdn.ne

Linux下hosts,host.conf,resolv.conf的区别

这三个文件都位于 /etc/目录下 1.hosts文件. 和Windows系统下的host的文件相类似,就是一个文本文件,里面存放一些IP和域名的对应关系. 2.host.confvi /etc/host.conf order hosts bind #表示先查询本地hosts文件,如果没有结果,再尝试查找BIND dns服务器. multi on                   # "multi" 指定是否"/etc/hosts"文件中指定的主机可以有多个地址,