我们应该知道 Windows 有一个默认的安装目录专门用来安装软件。Linux 的软件安装目录也应该是有讲究的,遵循这一点,对后期的管理和维护也是有帮助的。
/usr
系统级的目录,可以理解为 C:/Windows/
, /usr/lib
可理解为 C:/Windows/System32
。
/usr/local
用户级的程序目录,可以理解为 C:/Progrem Files/
。用户自己编译的软件默认会安装到这个目录下。
/opt
用户级的程序目录,可以理解为 D:/Software
, opt 有可选的意思,这里可以用于放置第三方大型软件(或游戏),当你不需要时,直接rm -rf
掉即可。
在硬盘容量不够时,也可将 /opt
单独挂载到其他磁盘上使用。
源码放哪里?
/usr/src
系统级的源码目录。
/usr/local/src
用户级的源码目录。
拓展:
/opt
Here’s where optional stuff is put. Trying out the latest Firefox beta? Install it to /opt where you can delete it without affecting other settings. Programs in here usually live inside a single folder whick contains all of their data, libraries, etc.
这里主要存放那些可选的程序。你想尝试最新的 firefox 测试版吗?那就装到 /opt 目录下吧,这样,当你尝试完,想删掉 firefox 的时候,你就可 以直接删除它,而不影响系统其他任何设置。安装到 /opt 目录下的程序,它所有的数据、库文件等等都是放在同个目录下面。
举个例子:刚才装的测试版 firefox,就可以装到 /opt/firefox_beta 目录下,/opt/firefox_beta 目录下面就包含了运 行 firefox 所需要的所有文件、库、数据等等。要删除 firefox 的时候,你只需删除 /opt/firefox_beta 目录即可,非常简单。
/usr/local
This is where most manually installed(ie. outside of your package manager) software goes. It has the same structure as /usr. It is a good idea to leave /usr to your package manager and put any custom scripts and things into /usr/local, since nothing important normally lives in /usr/local.
这里主要存放那些手动安装的软件,即不是通过 “新立得” 或 apt-get 安装的软件。它和 /usr 目录具有相类似的目录结构。让软件包管理器来管理 /usr 目录,而把自定义的脚本 (scripts) 放到 /usr/local 目录下面,我想这应该是个不错的主意。
常用目录及用途
/bin
存放二进制可执行文件(ls,cat,mkdir 等),常用命令一般都在这里。
/etc
存放系统管理和配置文件
/home
存放所有用户文件的根目录,是用户主目录的基点,比如用户 user 的主目录就是 /home/user,可以用~user 表示
/usr
用于存放系统应用程序,比较重要的目录 /usr/local
本地系统管理员软件安装目录(安装系统级的应用)。这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录。
/usr/x11r6
存放 x window 的目录
/usr/bin
众多的应用程序
/usr/sbin
超级用户的一些管理程序
/usr/doc
linux 文档
/usr/include
linux 下开发和编译应用程序所需要的头文件
/usr/lib
常用的动态链接库和软件包的配置文件
/usr/man
帮助文档
/usr/src
源代码,linux 内核的源代码就放在 /usr/src/linux 里
/usr/local/bin
本地增加的命令
/usr/local/lib
本地增加的库
/opt
额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat 等都安装到这里。
/proc
虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息。
/root
超级用户(系统管理员)的主目录(特权阶级 ^o^)
/sbin
存放二进制可执行文件,只有 root 才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等。
/dev
用于存放设备文件。
/mnt
系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统。
/boot
存放用于系统引导时使用的各种文件
/lib
存放跟文件系统中的程序运行所需要的共享库及内核模块。共享库又叫动态链接共享库,作用类似 windows 里的.dll 文件,存放了根文件系统程序运行所需的共享文件。
/tmp
用于存放各种临时文件,是公用的临时文件存储点。
/var
用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等。
例:linux 中 lnmp 相关软件的安装目录
Nginx 目录: /usr/local/nginx/
MySQL 目录 : /usr/local/mysql/
MySQL 数据库所在目录:/usr/local/mysql/var/
PHP 目录 : /usr/local/php/
PHP 项目目录:/www/ 或者 /home/www/
FTP 目录:/usr/local/ftp/