详解Linux系统中的usr⽬录
linux ⽂件结构中,有⼀个很神奇的⽬录 —— /usr。之前⼀直没有怎么关注过它,反正程序都是安装在⾥边的,也没有什么值得追根溯源的东西。直到有⼀天 fedora 要简化整个⽂件系统体系,看到讨论才想到,usr 到底是什么的缩写呢,它⼜是怎么来的呢?讨论中,⼤部分观点认为:
1.usr 是 unix system resources 的缩写;
2.usr 是 user 的缩写;
3.usr 是 unix software resources 的缩写。
根据常识判断,是 user 缩写的可能性不⼤,因为和 /home 冲突了嘛。不过是 system resources 还是 software resources 的缩写还真不好说。特此查了好多东西,却发现竟然连 wikipedia 也模棱两可。/usr 是linux系统核⼼所在,包含了所有的共享⽂件。
它是 unix 系统中最重要的⽬录之⼀,涵盖了⼆进制⽂件,各种⽂档,各种头⽂件,x,还有各种库⽂件;还有诸多程序,例如ftp,telnet 等等。
曾经的 /usr 还是⽤户的家⽬录,存放着各种⽤户⽂件 —— 现在已经被 /home 取代了(例如 /usr/someone 已经改为
/home/someone)。
现代的 /usr 只专门存放各种程序和数据,⽤户⽬录已经转移。虽然  /usr 名称未改,不过其含义已经从“⽤户⽬录”变成了“unix 系统资源”⽬录。值得注意的是,在⼀些 unix 系统上,仍然把 /usr/someone 当做⽤户家⽬录,如 Minix。
/usr ⽂件系统经常很⼤,因为所有程序安装在这⾥. /usr ⾥的所有⽂件⼀般来⾃Linux distribution;本地安装的程序和其他东西在/usr/local 下.这样可能在升级新版系统或新distribution时⽆须重新安装全部程序.
由于/usr中的⽂件不和特定的计算机相关,也不会在通常使⽤中修改,因此可以通过⽹络共享这个⽬录(⽂件系统),这样,当管理员安装了新的软件之后,所有共享这⼀⽂件系统的计算机均可以使⽤新的软件。
⾄此,真相⼤⽩。看来就像前⼀阵⼦的 /var/run 移到 /run ⼀样。
真的是不看不知道,⼀看吓⼀跳呀。原来 linux ⼏经进化,好多⽬录的诞⽣和⽤途已经产⽣了根本的变化。
/usr ⽬录结构linux怎么读取文件
/usr/bin : 所有可执⾏⽂件,如 gcc,firefox 等(指不包含在 /sbin 和 /bin 内的);
/usr/include : 各种头⽂件,编译⽂件等时需要使⽤;
/usr/include/’package-name’ : 程序特定的头⽂件;
/usr/lib : 所以可执⾏⽂件所需要的库⽂件;
/usr/local : 这⾥主要存放那些⼿动安装的软件,即不是通过“新⽴得”或apt-get安装的软件。它和/usr⽬录具有相类似的⽬录结构。让软件包管理器来管理/usr⽬录,⽽把⾃定义的脚本(scripts)放到/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 : 已经被众多发⾏版抛弃的临时⽂件夹。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。