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
 
 
 

/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 目录的区别

Linux修改PATH环境变量

https://www.jianshu.com/p/9d680bdbc170

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

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

    一.linux下编译make文件报错“/bin/bash^M: 坏的解释器 参考文章:http://blog.csdn.net/liuqiyao_01/article/details/41542101 ...

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

    原文:https://www.cnblogs.com/5201351/p/4206461.html Linux下ps -ef和ps aux的区别及格式详解 Linux下显示系统进程的命令ps,最常用的 ...

  3. Linux下的hosts文件和network文件区别

    Linux下的hosts文件和network文件区别   Linux下有两种与计算机名相关的配置文件     1.hosts文件,路径:/etc/hosts,此文间是在网络上使用的, 用于解析计算机名 ...

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

    PS背景:我在公司做sdk 的pc端开发,所以经常会在win下编译通过之后跑到linux下再运行一次已确保能支持多平台. 今儿在win下跑完一程序,然后放到linux下跑的时候,我用指令: [plai ...

  5. linux 下su 和sudo 的用法以及区别

    一. 使用 su 命令临时切换用户身份 1.su 的适用条件和威力 su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用 ...

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

    Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格, System V风格和BSD 风格 ...

  7. Linux下ps -ef和ps aux的区别

    Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格, ...

  8. Linux下ps -ef 和 ps aux的区别

    Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格, ...

  9. Linux下的正斜杠"/"和"\"的区别

    今天在检查root目录时发现有一个名为"\"的文件,觉得很奇怪,从来没见过,就准备用Vim打开看看,很自然地输入命令查看一下,结果居然打不开. [root@localhost ~] ...

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

    原文:https://www.linuxidc.com/Linux/2016-07/133515.htm Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区 ...

随机推荐

  1. Docker Mongo数据库主从同步配置方法

    一.具体操作方法 1.启两个Mongo容器 docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles --r ...

  2. Spark的历史与发展(目录)

    对于一个具有相当技术门槛与复杂度的平台,Spark从诞生到正式版本的成熟,经历的时间如此之短,让人感到惊诧.2009年,Spark诞生于伯克利大学AMPLab,最开初属于伯克利大学的研究性项目.它于2 ...

  3. Object C函数指针@selector

    其作用相当于函数指针,现在我看到的大多说用法都是在调用某些函数需要传递一个 函数指针 参数时,使用@selector.它会在当前类里面查找selector后面所跟的函数,返回一个SEL类型的值.  S ...

  4. Elasticsearch学习笔记——常用命令

    1.创建一个名字为index的topic curl -XPUT http://localhost:9200/index 2.创建一个mapping curl -XPOST http://localho ...

  5. Elasticsearch学习笔记——分词

    1.测试Elasticsearch的分词 Elasticsearch有多种分词器(参考:https://www.jianshu.com/p/d57935ba514b) Set the shape to ...

  6. Linux下常见命令

    =============挂载和登陆命令======================================== Mount:挂载命令. 比方挂载光驱mount /dev/cdrom /mnt ...

  7. Nginx 反向代理获取设备真实的IP地址

    package com.das.common.util; import org.apache.commons.lang3.StringUtils; import org.springframework ...

  8. Inside The C++ Object Model(二)

    ============================================================================2-0. 关键字explicit被引入C++,提 ...

  9. Web容器初始化过程

    一.SpringMVC启动过程 Spring的MVC是基于Servlet功能实现的,每个web工程中都有一个web.xml文件,web容器在启动的时候会加载这个配置文件,当一个web应用加载到web容 ...

  10. Spark JDBC To MySQL

    mysql jdbc driver下载地址https://dev.mysql.com/downloads/connector/j/ 在spark中使用jdbc1.在 spark-env.sh 文件中加 ...