您的位置:

Linux usr目录概述与常用功能

一、usr目录概述

Linux系统的/usr目录是一个非常重要的目录,它是Unix Shared Resources(UNIX共享资源)在系统维护和管理上的分离。/usr目录中的内容不会经常变更,主要存放了系统执行文件、库文件、man文件、文档、计划任务等等。/usr目录下含有比较重要的bin、lib、local、sbin、share等目录。

/usr 目录的文件应该是只读或者是不可析构(不可修改)的。如果该目录下的内容被改动了,那么这些服务将会受到影响。因此,在日常运维中,尽量不要随意更改/usr目录中的内容。

二、usr目录中常用的子目录和文件

1. /usr/bin目录

/usr/bin目录是Unix标准的程序安装路径之一,随着软件的安装,其中存储了大量可执行程序的二进制文件,包括常用的系统命令、编辑器、编译器等程序,用户也可以自行安装程序以添加到该目录下。在命令行输入命令时,系统首先在/usr/bin中寻找相应的可执行程序。

2. /usr/lib目录

/usr/lib是Unix系统用于保存共享库文件的目录。其中包括如crt(C-runtime库),libc(GNU C运行时库)等系统库,也包括了许多第三方库文件,如mysql、openssl等。开发人员在编译程序时也会用到/usr/lib中的库文件。

3. /usr/local目录

/usr/local是Unix系统中存储本地软件和自行编译软件的目录。当用户需要自行编译程序时,将生成的可执行文件和库放在这个目录中,这样方便管理。在执行命令时,系统会先在/usr/local/bin目录下查找可执行文件。

4. /usr/sbin目录

/usr/sbin是Unix系统中系统管理员使用的工具程序目录。这个目录包含的工具对于系统管理员而言是必须的,例如系统启动或停止,打印服务管理,备份和网络管理,都需要管理员使用/usr/sbin目录下的工具。

5. /usr/share目录

/usr/share是Unix系统中存放共享数据的目录。其中包括像特别的时间记录(zoneinfo),文档以及 man pages 等文件。系统中的大部分程序都依赖它,例如文档编辑器,播放器和一些游戏。

三、常用的/usr目录操作

1、查看/usr目录下文件夹及文件

$ ls /usr

该命令可以查看/usr目录下的文件和文件夹。同时可以使用ls -la /usr命令查看详细信息。

2、在/usr/local目录下编译程序

首先,用户需要下载程序源代码包并解压缩,然后切换到解压后的源码文件目录,执行./configure命令可以查看编译选项。
接下来,执行make命令编译程序,最后使用sudo make install命令将编译后的文件安装到/usr/local目录下。

$ tar xvf xx.tar.gz
$ cd xx
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

3、安装软件到/usr/local目录

由于系统默认的路径/usr/bin存储了大量可执行程序,这些程序是为系统或软件服务而准备,所以尽量不要随意修改/usr/bin,否则会引起系统故障或无法正常运行,因此安装软件时建议安装到/usr/local目录。

$ tar zxvf xx.tar.gz
$ cd xx
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

4、更改/usr/local的属主和属组

在一定的情况下,以上安装操作需要root权限,因此在安装软件的同时,会将安装后的文件使用root权限进行修改,此时会将文件的属主和属组修改为root。因此安装完成后需要更改文件的属主和属组也就是更改文件的权限。

$ sudo chown -R owner:group /usr/local

其中owner表示文件的属主,group表示文件的属组。

总结

/usr目录下的重要文件和文件夹都有各自的作用并有着严格的使用规范,因此在使用时应该格外注意不要任意更改文件内容,以免给系统带来风险。同时,需要安装软件时建议将软件安装到/usr/local目录下,并格外注意文件权限。