`
mlc0202
  • 浏览: 102836 次
  • 来自: 北京
社区版块
存档分类
最新评论

/usr 的由来及/usr目录结构

阅读更多
linux 文件结构中,有一个很神奇的目录 —— /usr。之前一直没有怎么关注过它,反正程序都是安装在里边的,也没有什么值得追根溯源的东西。直到有一天 fedora 要简化整个文件系统体系,看到讨论才想到,usr 到底是什么的缩写呢,它又是怎么来的呢?
本文转自Delectat.com

讨论中,大部分观点认为:
•usr 是 unix system resources 的缩写;
•usr 是 user 的缩写;
•usr 是 unix software resources 的缩写。

根据常识判断,是 user 缩写的可能性不大,因为和 /home 冲突了嘛。不过是 system resources 还是 software resources 的缩写还真不好说。特此查了好多东西,却发现竟然连 wikipedia 也模棱两可。

后来终于找到了 相关的文档和介绍。(via,cache)


/usr usually contains by far the largest share of data on a system. Hence, this is one of the most important directories in the system as it contains all the user binaries, their documentation, libraries, header files, etc…. X and its supporting libraries can be found here. User programs like telnet, ftp, etc…. are also placed here. In the original Unix implementations, /usr was where the home directories of the users were placed (that is to say, /usr/someone was then the directory now known as /home/someone). In current Unices, /usr is where user-land programs and data (as opposed to ’system land’ programs and data) are. The name hasn’t changed, but it’s meaning has narrowed and lengthened from “everything user related” to “user usable programs and data”. As such, some people may now refer to this directory as meaning ‘User System Resources’ and not ‘user’ as was originally intended.(via 1,2)

/usr 是系统核心所在,包含了所有的共享文件。它是 unix 系统中最重要的目录之一,涵盖了二进制文件,各种文档,各种头文件,x,还有各种库文件;还有诸多程序,例如 ftp,telnet 等等。

曾经的 /usr 还是用户的家目录,存放着各种用户文件 —— 现在已经被 /home 取代了(例如 /usr/someone 已经改为 /home/someone)。现代的 /usr 只专门存放各种程序和数据,用户目录已经转移。虽然  /usr 名称未改,不过其含义已经从“用户目录”变成了“unix 系统资源”目录。值得注意的是,在一些 unix 系统上,仍然把 /usr/someone 当做用户家目录,如 Minix。

至此,真相大白。看来就像前一阵子的 /var/run 移到 /run 一样。

真的是不看不知道,一看吓一跳呀。原来 linux 几经进化,好多目录的诞生和用途已经产生了根本的变化。历史车轮在前进,长江后浪推前浪,正所谓:学习历史,收获真知;尽心竭力,前进不止。

附录:/usr 目录结构
•/usr/bin : 所有可执行文件,如 gcc,firefox 等(指不包含在 /sbin 和 /bin 内的);
•/usr/include : 各种头文件,编译文件等时需要使用; ◦/usr/include/’package-name’ : 程序特定的头文件;

•/usr/lib : 所以可执行文件所需要的库文件;
•/usr/local : /usr 通常只包含系统发行时自带的程序,而 /usr/local 则是本地系统管理员用来自由添加程序的目录;
•/usr/X11R6 : x 系统的二进制文件,库文件,文档,字体等。它不等同于 /usr 的作用,只有 x 才能调用这些库文件等,其他程序不读取或者使用。因为 linux 没有原生图形界面,而且 linux 大部分情况下是 for server 的,所以图形界面没有意义;其中 X11R6 代表 version 11 release 6; ◦/usr/X11R6/bin : x 的二进制文件,包含运行 x 的必须文件;
◦/usr/X11R6/include : x 相关的头文件;
◦/usr/X11R6/lib : x 库文件;
◦/usr/X11R6/lib/modules : x 的模块,启动时加载。缺少 video4linux, DRI and GLX 和 输入输出设备 模块,将工作不正常;
◦/usr/X11R6/lib/X11/fonts : x font server 的字体文件;

•/usr/doc : 文档。实际是 /usr/share/doc 的软链接;
•/usr/etc : 一个极少用到的配置文件存放地;
•/usr/games : 曾经包含游戏等文件,现在很少用到;
•/usr/info : 系统相关信息,是 /usr/share/info 的软链接;
•/usr/man : man 手册,已经移至 /usr/share/man;
•/usr/sbin : 类似 /sbin,root 可以执行。但此目录不包含在环境变量 $PATH 中,它包含的程序类似于 chroot, useradd, in.tftpd and pppconfig;
•/usr/share : 它包含了各种程序间的共享文件,如字体,图标,文档等。(/usr/local 对应的目录是  /usr/loca/share); ◦/usr/share/doc : 类似应用程序的 man 手册。它包含程序的说明文件,默认配置文件等;
◦/usr/share/info : 不常用,已经被 man 代替;
◦/usr/share/man : app 的 manual;
◦/usr/share/icons : 应用程序的图标等文件,分为 png,svg 等多种格式;
◦/usr/share/fonts : 字体文件,系统范围内可使用,~/.fonts 仅当前用户可用;

•/usr/src : linux 内核的源码和说明文档等; ◦/usr/src/linux : linux 源代码;
◦/usr/src/linux/.config : 内核编译过程产生的文件;通常由命令 ‘make config’ , ‘make menuconfig’ 或 ‘make xconfig’ 执行后产生;
◦/usr/src/linux/.depend, /usr/src/linux/.hdepend : ‘make dep’ 检测编译依赖时需要的文件,由 /usr/src/linux/.config 产生;
◦/usr/src/linux/COPYING : GNU license;
◦/usr/src/linux/Makefile : 编译内核所需的 Makefile;
◦/usr/src/linux/Rules.make : 当有多个 Makefile 时,根据它的规则执行 make;

•/usr/tmp : 已经被众多发行版抛弃的临时文件夹。
分享到:
评论

相关推荐

    Linux目录结构

    Linux 目录结构 /:根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin 应该和根目录放置在一个分区中 /bin:/usr/bin: /bin:/usr/bin: /bin:/usr/bin: /bin:/usr/bin:可执行二进制文件...

    linux的根目录下各个目录的基本含义

    附加的应用软件包/proc 所有正在运行进程的映象/root 超级用户的主目录/sbin 引导、修复或者恢复系统的命令/tmp 每次重启就消失的临时文件/usr 次要文件和命令层次结构/ust/bin 大多数命令和可执行文件/usr/include ...

    Linux服务器配置与管理:linux目录结构.pptx

    除/bin目录外,还有/usr/bin和/usr/local/bin目录,也存放有一些软件包所安装的程序文件 ②/sbin(System-only binaries) 用于存放只允许系统管理员(root)运行的一些系统维护程序 只有用root账户登录后,才能执行...

    GlusterFS测试小结

    基本的网络结构如图 Gluster的安装 服务器端的安装  建立好共享目录,并改变权限,可以是777  安装gluster。Configure/make/make install  在/usr/local/etc/glusterfs/下添加服务器端配置文件  用...

    银河麒麟V10系统+飞腾CPU交叉编译OpenCV

    下载完成后进入到下载目录执行下面的操作: tar -xvf nasm-2.13.03.tar.gz cd nasm-2.13.03/ ./configure make –j8 make install 执行上述过程中make时可能会报错,错误结果如下 ./include/nasmlib.h:194:1: error:...

    cudNN8.2.1 Linux版本【第一部分】,适用cuda11.x

    解压后请cd到cuda的目录下,执行以下操作完成cudnn的配置: mkdir cuda cd cuda mkdir lib64 将下载的压缩包复制到lib64中,解压。 以下操作请在下载完第二部分之后执行。 全部完成之后的文件夹结构应为 /PATH/TO/...

    linux的文件系统层级结构图

    /boot linux内核及引导系统程序所需的文件目录。安装系统分区的时候一般要分一个boot分区。常见分区:/boot 200M swap内存的1.5倍,其余的都给/. /dev 设备文件目录比如声卡磁盘光 /etc 操作系统的配置文件 /home ...

    邓州论坛FastCGI博客系统 v2.0.rar

    blog.sql是blog的数据库结构 conf/blog.conf 是配置文件 conf/nginx_example.conf 是nginx配置文件例子。按照这个配置就行了 然后cd 到 htdocs 启动 cblog 进程  local/spawn-fcgi/bin/spawn-fcgi -f...

    Linux那些事儿之我是Block层

    从2.6.15的内核开始,顶层目录下面有了一个叫做block的目录,内核目录结构变成了现在这个样子: localhost-1:/usr/src/linux-2.6.22.1 # ls COPYING Documentation MAINTAINERS README arch crypto fs init kernel mm...

    嵌入式系统/ARM技术中的linux的根目录下各个目录的基本含义

    附加的应用软件包/proc 所有正在运行进程的映象/root 超级用户的主目录/sbin 引导、修复或者恢复系统的命令/tmp 每次重启就消失的临时文件/usr 次要文件和命令层次结构/ust/bin 大多数命令和可执行文件/usr/include ...

    docker 启动elasticsearch镜像,挂载目录后报错的解决

    容器内部目录结构如上图,data是用来存放数据,logs用来存放日志。 接着查看下启动脚本 /usr/local/bin/docker-entrypoint.sh 前半部分我也是看的一知半解,不过真正和挂载目录相关的是最后这部分,这里处理了...

    MySQL数据库系统.docx

    ln –s /usr/local/mysql/bin/* /usr/local/bin ln –s /usr/local/mysql/lib/mysql/* /usr/lib/ ln –s /usr/local/mysql/include/mysql/* /usr/include/ 添加系统服务: 服务脚本文件位于源码软件包下的support_...

    邓州论坛FastCGI博客系统 2.0.rar

    blog.sql是blog的数据库结构 conf/blog.conf 是配置文件 conf/nginx_example.conf 是nginx配置文件例子。按照这个配置就行了 然后cd 到 htdocs 启动 cblog 进程 local/spawn-fcgi/bin/spawn-fcgi -f ./cblog -s ...

    redis-4.0.10.tar.gz

    它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。 可以自动备份 优势 :性能极高 – Redis能读的速度是110000次/s,写的...

    Linux操作系统中的文件目录结构详解

    目录结构及主要内容  “/”根目录部分有以下子目录:  /usr 目录包含所有的命令、程序库、文档和其它文件。这些文件在正常操作中不会被改变的。这个目录也包含你的Linux发行版本的主要的应用程序,譬如,Netscape...

    Linux 系统精解

    一,Linux基本目录结构 /bin 保存着普通用户常用的命令和程序。 /boot 保存着操作系统启动时需要的各种文件。 /dev 保存着硬件文件。 /etc 保存配置文件。 /home 普通用户的家目录。 /lib 保存着库文件。 /mnt 移动...

    CentOS7安装配置 Redis的方法步骤

    导语 Redis 不用多介绍了,下面开始安装配置吧。 安装 ... 解压并进入到目录 tar xzf redis-4.0.12.tar.gz、cd redis-4.0.12/;.../usr/local/redis 目录结构如下 将 Redis 添加系统服务,执行 vim /usr/li

    在linux命令下导出导入.sql文件的方法

    1、导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql #/usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql 敲回车后会提示输入密码 2、只导出表结构 mysqldump -u用户名 -p密码 -d ...

    java版bs公交服务网源码-lfcs:LFCS考试注意事项

    /usr/bin、/usr/lib、/usr/local、/usr/sbin、/usr/bin、/usr/share、/usr/src(内核源代码) /启动 包含压缩的内核映像、 initrd 、 GRUB /选择 独立的安装目录(不会分散在多个目录中)。 对于没有包管理器的情况...

Global site tag (gtag.js) - Google Analytics