1./usr (Unix System Resource)目录
1.1 介绍
历史:曾经usr是user的缩写是HOME目录,现在已经被/home取代,现在usr被称为Unix System Resource,即Unix系统资源的缩写。
/usr文件系统经常很大,因为所有程序都安装在这里。这个目录下的所有文件一般来自Linux distribution;本地安装的程序和其他东西在/usr/local下。这样,在升级新版系统或新distribution时,无须重新安装全部程序。由于/usr中的文件不与特定的计算机相关,也不会在通常使用中修改,因此可以通过网络共享这个目录(文件系统)。
1.2 作用
/usr 是系统核心所在,包含了所有的共享文件,是 unix 系统中最重要的目录之一,涵盖了二进制文件,各种文档、头文件、库文件;此外还有诸多程序,例如ftp,telnet等等。
1.3 相关目录
/usr/local:主要存放手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录。自定义的脚本(scripts)可以放到/usr/local目录下面。
/usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:/Windows/System32。
/usr/src:系统级的源码目录。
/usr/local/src:用户级的源码目录。
2./opt目录
2.1 介绍
在Linux系统中,/opt目录主要用来安装可选的第三方软件包和应用程序。这些软件和应用程序通常不是Linux系统默认安装的,而是需要用户自行下载和安装。
1.2 作用
作用是存放第三方软件和应用程序。当用户需要安装某些软件和应用程序时,可以将它们下载到/opt目录中进行安装。这样做的好处是,用户可以将软件和应用程序独立安装在/opt目录中,而不是安装在系统的默认路径下。这样做可以避免对系统的影响,也方便管理和维护。
/opt目录下的软件和应用程序是可选的,也就是说,用户可以根据自己的需求选择是否安装这些软件或应用程序。如果用户决定卸载某个软件或应用程序,只需将其在/opt目录下的相应子目录删除即可。
在/opt目录下,通常会建立一些子目录,用于存放不同类型的软件或应用程序。例如,一些大型的商业软件或游戏可能会在/opt目录下建立自己的子目录。
3./etc目录(et cetera)
在Linux系统中,/etc目录是系统配置文件存放的目录,通常被称为“et cetera”的缩写,也可以简写为“etc”。该目录包含了许多系统级别的配置文件,如网络设置、用户账户、启动脚本、软件包管理器的配置、系统安全等。因为这些文件对于系统的正常运行非常重要,所以/etc目录通常只能由管理员用户访问和修改。
在/etc目录中,可以找到许多重要的配置文件,如:
/etc/passwd:系统用户配置文件,记录了所有用户的信息。
/etc/group:用户组配置文件,记录了所有用户组的信息。
/etc/xinetd.conf:xinetd服务的配置文件,用于控制系统的网络服务。
通过编辑这些配置文件,可以对系统进行更改和管理。/etc目录是Linux系统中非常重要的一个目录,对系统的运行和管理非常重要。
4./var目录
4.1 介绍
/var目录在Linux系统中非常重要,包含了许多经常变化的文件,如日志文件、邮件、打印机相关文件、数据库、软件包和锁文件等。英文含义是“Variable”,也可以解释为“Versioned Archives”。
4.2 作用
日志文件:这些文件记录了系统和应用程序的运行状态、错误信息、警告等,如/var/log/messages、/var/log/syslog等。通过查看这些日志文件,系统管理员可以及时发现问题并进行故障排除。
邮件:发送和接收的电子邮件信息,保存在/var/mail目录下。
数据库相关文件:数据库的运行和存储文件,如MySQL等。
软件包:包括已安装的软件和库文件,保存在/var/lib目录下。
Lock文件:锁定文件、运行进程的pid文件等,保存在/var/lock目录下。
运行目录:保存正在运行的进程的PID文件,保存在/var/run目录下。
4.3 相关解释
/var/log:这个是登录文件放置日志的的目录。里面比较重要的文件/var/log/messages,/var/log/harry(记录登陆者信息)等。
/var/run/:某些程序启动服务后,会将他们PID放置在这个目录下。
/var/lib:程序本身执行的过程中需要使用到的数据文件放置的目录。再次目录下各自的软件应该要有各自的目录。举例来说,Mysql的数据库放置到/var/lib/mysql,而rpm的数据库则放到/var/lib/rpm目录下。
5.lib,lib64,lib32,libx32
lib目录:这个目录主要包含了一些目标文件(object files)和库。这些库文件通常是由编译器生成的,用于链接和加载其他程序或库。在Linux系统中,这些目标文件和库是用来支持许多应用程序和程序的运行。
lib64目录:这个目录主要包含64位的目标文件和库。在Linux系统中,64位架构通常使用x64或x86-64作为代表。这个目录下的文件主要是为支持64位程序的运行而准备的。
lib32目录:这个目录主要包含32位的目标文件和库。在Linux系统中,32位架构通常使用x86作为代表。这个目录下的文件主要是为支持32位程序的运行而准备的。
libx32目录:这个目录是面向x32 ABI的目标文件和库。x32 ABI使用32位地址空间,但可以使用x86-64的一些特性,如更多寄存器和更优良的浮点运算等。32位代表x86架构,而x32代表地址总线。
6./dev
/dev目录是一个非常重要的目录,它包含了所有Linux系统中使用的外部设备。然而,这里并不是放的外部设备的驱动程序,这和Windows、DOS操作系统不一样。它实际上是一个访问这些外部设备的端口。Linux沿袭Unix的风格,将所有设备认成是一个文件。
需要注意,Linux中没有C、D、E盘的区分,根目录是“/”,磁盘(设备目录)固定的语法是硬盘:/dev/xxyn xx分区名前两个字母标明分区所在设备类型。如:hd(IDE磁盘)或 sd(SCSI磁盘,u盘) y是字母,表示分区所在的设备。如:/dev/hda(第一个IDE磁盘)或/dev/sdb (第二个SCSI磁盘) n是数字,代表分区。
7./home
/home目录是用户的主目录,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。这个目录是用户在登录系统后默认进入的目录,也是用户存储自己的文件和数据的地方。
在/home目录下,每个用户都有自己的子目录,例如/home/username。这些子目录是用户的个人空间,用于存储个人文件、下载、备份等。
除了用户的主目录外,/home目录下还可以创建其他公共目录,例如共享文件夹、公共下载目录等,供多个用户共享使用。
8./bin,/sbin
/bin目录包含了Linux系统的基本命令和工具。这些命令和工具是系统管理员和用户都可以使用的,如ls、cd、chmod、echo等等。
/bin目录下的命令可以被所有用户使用,即使在单用户模式下也可以使用。这些命令通常是一些小型的、基础的、必要的工具,用于维护和管理Linux系统。
/bin目录下的命令通常是二进制可执行文件,而不是文本文件。这些命令的执行速度比较快,而且可以在不同的系统架构上运行,具有很好的兼容性。
/sbin目录主要放置一些系统管理的必备程序,例如cfdisk、dhcpcd、dump、e2fsck、fdisk、halt、ifconfig、ifup、ifdown、init、insmod、lilo、lsmod、mke2fs、modprobe、quotacheck、reboot、rmmod、runlevel、shutdown
9./mnt
/mnt目录是一个挂载点,用于临时挂载其他文件系统或设备。这个目录通常被用来挂载外部存储设备,如硬盘、U盘、移动硬盘等。
当用户需要挂载外部存储设备时,可以将设备挂载到/mnt目录下。这个目录可以被所有用户访问,并且可以在不重启系统的情况下卸载挂载的文件系统或设备。
10.sys
/sys是Linux下的一个特殊的目录,属于Linux文件系统层次结构中的根目录。
在Linux系统中,/sys目录被用来表示系统中的设备及其驱动程序。它是一个类似于proc文件系统的特殊文件系统,用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息。
在/sys目录下,可以找到许多与设备相关的信息,例如设备驱动程序、设备配置、设备状态等等。这些信息可以通过读取和写入/sys目录下的文件来获取和修改。
例如,在/sys/class/net目录下,可以找到网络接口相关的信息,如网卡、IP地址等等。通过读取和修改这些文件,可以实现对网络接口的配置和控制。
11./boot目录
/boot目录存放的是开机所需的文件,包括内核、开机菜单和所需配置文件等。这些文件在系统启动时会被加载和执行,以初始化系统并加载必要的驱动程序。
/boot目录下通常包含以下文件和目录:
内核(Kernel):这是系统的核心程序,负责管理系统的硬件和软件资源。内核文件通常以vmlinuz或bzimage的形式存在。
开机菜单(grub):这是一个引导加载器,用于加载和启动内核。它通常包含一些菜单选项,允许用户选择启动哪个内核版本或操作系统。
配置文件:这些文件用于配置内核和引导加载器的参数。例如,GRUB配置文件(/boot/grub/grub.cfg)用于设置引导加载器的菜单选项和启动参数。
Initrd文件:是初始化RAM磁盘(initrd)文件,用于在系统启动时加载一些必要的驱动程序和模块。它通常包含一些内核模块和程序,以便在系统启动时加载和运行。
System.map文件:是一个内核符号表文件,用于将内核代码中的符号(函数名、变量名等)映射到相应的内存地址。它对于调试内核代码和诊断问题非常重要。