详解Linux系统中的usr目录linux /usr目录




详解Linux系统中的usr目录linux /usr目录

2022-07-20 20:24:35 网络知识 官方管理员

linux文件结构中,有一个很神奇的目录——/usr。之前一直没有怎么关注过它,反正程序都是安装在里边的,也没有什么值得追根溯源的东西。直到有一天fedora要简化整个文件系统体系,看到讨论才想到,usr到底是什么的缩写呢,它又是怎么来的呢?讨论中,大部分观点认为:
1.usr是unixsystemresources的缩写;
2.usr是user的缩写;
3.usr是unixsoftwareresources的缩写。

根据常识判断,是user缩写的可能性不大,因为和/home冲突了嘛。不过是systemresources还是softwareresources的缩写还真不好说。特此查了好多东西,却发现竟然连wikipedia也模棱两可。/usr是linux系统核心所在,包含了所有的共享文件。

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

曾经的/usr还是用户的家目录,存放着各种用户文件——现在已经被/home取代了(例如/usr/someone已经改为/home/someone)。

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

/usr文件系统经常很大,因为所有程序安装在这里./usr里的所有文件一般来自Linuxdistribution;本地安装的程序和其他东西在/usr/local下.这样可能在升级新版系统或新distribution时无须重新安装全部程序.

由于/usr中的文件不和特定的计算机相关,也不会在通常使用中修改,因此可以通过网络共享这个目录(文件系统),这样,当管理员安装了新的软件之后,所有共享这一文件系统的计算机均可以使用新的软件。

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

真的是不看不知道,一看吓一跳呀。原来linux几经进化,好多目录的诞生和用途已经产生了根本的变化。

/usr目录结构

/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大部分情况下是forserver的,所以图形界面没有意义;其中X11R6代表version11release6;

/usr/X11R6/bin:x的二进制文件,包含运行x的必须文件;

/usr/X11R6/include:x相关的头文件;

/usr/X11R6/lib:x库文件;

/usr/X11R6/lib/modules:x的模块,启动时加载。缺少video4linux,DRIandGLX和输入输出设备模块,将工作不正常;

/usr/X11R6/lib/X11/fonts:xfontserver的字体文件;

/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.tftpdandpppconfig;

/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:内核编译过程产生的文件;通常由命令‘makeconfig’,‘makemenuconfig’或‘makexconfig’执行后产生;

/usr/src/linux/.depend,/usr/src/linux/.hdepend:‘makedep’检测编译依赖时需要的文件,由/usr/src/linux/.config产生;

/usr/src/linux/COPYING:GNUlicense;

/usr/src/linux/Makefile:编译内核所需的Makefile;

/usr/src/linux/Rules.make:当有多个Makefile时,根据它的规则执行make;

/usr/tmp:已经被众多发行版抛弃的临时文件夹。


发表评论:

最近发表
网站分类
标签列表