Linux下各目录的结构说明及使用介绍
Linux下各目录的结构说明及使用介绍:
/bin:二进制可执行命令。
/dev:单位专用档案。
/etc:系统管理和配置文件。
/etc/rc.d:启动配置文件和脚本。
/home:用户主文件夹的基点。例如,用户的主目录是/home/user,可以用~user表示。
/lib:标准编程库,也称为动态链接共享库,其工作方式与 Windows 中的 .dll 文件相同。
/sbin:系统管理命令,这里是系统管理员使用的管理程序。
/tmp:公共临时文件存储点。
/root:系统管理员的主目录。
/mnt:系统提供该目录是为了允许用户临时挂载其他文件系统。
/lost+found:此文件夹通常为空。系统非正常关闭留下的“无家可归”文件就在这里。
/proc:虚拟目录,是系统内存的映射。可以直接访问该文件夹来获取系统信息。
/var:某些大文件的溢出区域,例如各种服务的日志。
/usr:最大的文件夹。几乎所有需要使用的程序和文件都在这个文件夹中。包括:
/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:新增本地目录根文件系统。
正常情况下,根文件系统所占用的空间一般应该比较小,因为里面的大部分文件不需要经常更改,而且文件系统包含严格的文件,而小的文件系统则不需要经常更改。变化往往不易损坏。根目录通常不包含任何文件,除了名为 /vmlinuz 的标准系统引导映像之外。所有其他文件都位于根文件系统的子文件夹中。
1。 /bin 目录
/bin 目录包含启动所需的命令或普通用户可以使用的命令(可能在启动后)。这些命令都是二进制文件(bin是binary的缩写)的可执行程序,大部分都是系统的重要系统文件。
2。 /sbin目录
/sbin目录与/bin类似,也是用来存放二进制文件的。由于大部分文件是系统管理员使用的基本系统程序,虽然普通用户在必要且允许的情况下可以使用它们,但普通用户一般无法访问它们。
3。 /etc目录
/etc目录存放各种系统配置文件,包括用户信息文件/etc/passwd、系统初始化文件/etc/rc等,Linux正是依赖这些文件才能正常运行。
4。/root目录
/root目录是超级用户的目录。
5。 /lib 目录
/lib 目录是根文件系统上的程序所需的共享目录,存放根文件系统程序运行所需的共享文件。这些文件包含可以被许多程序共享的代码,以避免每个程序都包含相同子例程的副本,从而使可执行文件更小并节省空间。
6。 /lib/modules 目录
/lib/modules 目录包含系统内核,可以加载各种模块,特别是恢复损坏的系统时需要重新启动系统的模块(例如网络和文件系统驱动程序)。
7。/dev目录
/dev目录存放设备文件,即设备驱动程序,用户通过设备驱动程序访问外部设备。例如,用户可以通过访问 yao/mouse 来访问鼠标输入,就像任何其他文件一样。
8。 /tmp 目录
/tmp 目录存放程序运行时产生的信息和数据。但是,启动后最好使用/var/tmp而不是/tmp来运行程序,因为前者会占用更多的磁盘空间。
9。 /boot 目录
/boot 目录存放引导加载程序使用的文件,例如 lilo,内核映像通常放在这里而不是放在根目录中。但是,如果有很多内核映像,该文件夹可能会变得非常大,在这种情况下,最好使用单独的文件系统。另外需要注意的是,确保核心镜像必须位于IDE硬盘的前1024个柱面内。
10。 /mnt目录
/mnt目录是系统管理员临时挂载文件系统的安装点。该程序不支持在 /mnt 中自动安装。/mnt 可以分为许多子文件夹。例如,/mnt/dosa 可以是使用 msdos 文件系统的软驱,/mnt/exta 可以是使用 ext2 文件系统的软驱,/mnt/cdrom 光驱等。
11。 /proc、/usr、/var、/home 目录
其他文件系统的挂载点。
用户树可以分为小部分,每个部分可以位于自己的磁盘或分区上。主要部分是 root、/usr、/var 和 /home 文件系统。每个部分都有不同的目的。
每台机器都有一个根文件系统,其中包含系统启动所需的文件以及需要挂载的其他文件系统。根文件系统必须有足够的内容用于单用户模式。它还应该包含用于修复损坏的系统、恢复备份等的工具。
/usr 文件系统包含一般操作所需的所有命令、库、手册页和其他不可变文件。
/usr 不应有正常使用过程中需要更改的文件。这允许该文件系统中的文件通过网络共享,这可以更有效,因为它节省了磁盘空间(/usr 很容易达到数百兆字节)并且更易于管理(当您升级应用程序时,只需要更新主/ usr 必须改,不用每台机器都改)文件系统虽然在本地磁盘,但是可以只读挂载,以减少系统崩溃时对文件系统的损坏。
/var 文件系统包含会更改的文件,例如假脱机目录(用于邮件、新闻、打印机等)、日志文件、格式化手册页和临时文件。传统上,/var 中的所有内容都位于 /usr 下的某个位置,但无法以只读方式挂载 /usr。
/home 文件系统包含用户的主目录,这是系统上的所有实际数据。一个大的/home可以分为多个文件系统,/home下必须添加一级名称,如/home/students、/home/staff等。
详细介绍如下:
/ etc 文件系统
/etc 目录包含各种系统配置文件,下面对其中一些进行说明。对于其他程序,您应该知道它们属于哪个程序并阅读该程序的手册页。许多网络配置文件也位于 /etc 中。
1。 /etc/rc 或 /etc/rc.d 或 /etc/rc?.d:在启动或更改运行级别时运行的脚本或脚本的目录。
2。 /etc/passwd:用户数据库,其中提供用户名、真实姓名、用户主目录、加密密码等用户信息。
3。 /etc/fdprm:软盘参数表,描述各种软盘格式。可以使用setfdprm进行设置。有关详细信息,请参阅 setfdprm 手册页。
4。 /etc/fstab:指定启动时自动挂载的文件系统列表。还包含有关使用 swapon -a 启用的交换区域的信息。
5。 /etc/group:与/etc/passwd类似,但它描述的不是用户信息,而是组信息。包含不同组的数据。
6。 /etc/inittab:初始化配置文件。
7。 /etc/issue:包含登录提示之前用户的输出信息。通常包含系统的简短描述或欢迎消息。具体内容由系统管理员确定。
8。 /etc/magic:“文件”的配置文件。包含各种文件格式的描述,“文件”根据该格式猜测文件类型。
9。 /etc/motd:motd是当天消息的缩写,用户登录后自动读取。内容由系统管理员确定。
通常用于通知信息,例如有关预定关机时间的警告等。
10。 /etc/mtab:当前挂载的文件系统列表。由脚本(scritp)初始化并由mount命令自动更新。当需要当前安装的文件系统的列表时使用(例如 df 命令)。
11。 /etc/shadow:安装了影子密码软件的系统上的影子密码文件。影子密码文件将 /etc/passwd 文件中的加密密码移动到 /etc/shadow 中,该文件只能由超级用户(root)读取。这使得破译密码变得更加困难,从而提高了系统的安全性。
12。 /etc/login.defs:登录命令的配置文件。
13。 /etc/printcap:与 /etc/termcap 类似,但用于打印机。语法不同。
14。 /etc/profile、/etc/csh.login、/etc/csh.cshrc:在登录或启动期间由 bourne 或 cshells 执行的文件。这允许系统管理员为所有用户建立全局默认环境。
15。 /etc/securetty:确认安全终端,即。哪个终端允许超级用户(root)登录。通常,仅指定虚拟控制台,因此不可能(或至少很难)通过调制解调器或网络闯入系统并获得超级用户权限。
16。 /etc/shells:列出可用的 shell。 chsh 命令允许用户在此文件指定的范围内更改登录 shell。服务进程 ftpd 向机器提供 ftp 服务,它检查用户 shell 是否列在 /etc/shells 文件中。如果没有,用户将不被允许登录。
17。 /etc/termcap:终端性能数据库。解释不同终端使用哪些“转义序列”控件。编写程序时,不要直接读取转义序列(这仅适用于特定品牌的终端),而是从 /etc/termcap 中查找要完成的工作的正确序列。这样,大多数程序就可以在大多数终端上运行了。
Yao 文件系统
Yao 库包含所有设备的设备文件。设备文件以特定约定命名,该约定在设备列表中指定。设备文件是系统在安装时生成的,可以稍后通过/dev/makedev来描述。/dev/makedev.local是系统管理员为本地设备文件(或连接)编写的描述文件(即一些非标准设备驱动程序不属于标准makedev的一部分)。下面简单介绍一下/dev手下的一些常用文件。
1。/dev/console:系统控制台,是直接与系统相连的监视器。
2。/dev/hd:ide硬盘驱动接口。例如:/dev/hda 指的是第一个硬盘,had1 指的是/dev/hda 的第一个分区。如果系统中有其他硬盘也可以:/dev/hdb、/dev/hdc、. 。 。 。 .;如果有多个分区,则顺序为: hda1, hda2 。 。 。 。 。 .
3。 /dev/sd:scsi磁盘驱动器接口。如果系统有scsi硬盘,则不会访问/dev/had,但会访问/dev/sda。
4。/dev/fd:软盘驱动器驱动程序。例如:/dev/fd0 指系统的第一张软盘,通常称为 A 盘,/dev/fd1 指第二张软盘,...,/dev/fd1 h1440 表示访问 1 号驱动器中的 4.5。密度盘。
5。 yao/st:scsi 磁带驱动器驱动程序。
6。 /dev/tty:提供虚拟控制台支持。例如:/dev/tty1 指系统的第一个虚拟控制台,/dev/tty2 指系统的第二个虚拟控制台。
7。 /dev/pty:提供远程登录伪终端支持。通过telnet登录时使用/dev/pty设备。
8。 /dev/ttys:计算机串行接口,对于DOS来说是“com1”端口。
9。/dev/cua:计算机串行接口,与调制解调器一起使用的设备。
10。/dev/null:“黑洞”,写入设备的所有信息都消失了。例如:当你想在屏幕上隐藏输出信息时,只需在/dev/null中输入输出信息即可。
/usr 文件系统
/usr 是一个非常重要的文件夹。通常这个文件系统非常大,因为所有程序都安装在这里。 /usr 中的所有文件一般都来自 Linux 发行版;本地安装的程序和其他东西都位于 /usr/local 下,因为这样在升级新系统或新发行版时无需重新安装所有程序。 /usr目录下的很多内容都是可选的,但是这些功能会让用户使用系统更加高效。 /usr 可以容纳许多大型软件包及其配置文件。下面列出了一些重要的文件夹(一些不太重要的文件夹已被省略)。
1。 /usr/x11r6:包含 x window 系统中的所有可执行程序、配置文件和支持文件。为了简化x的开发和安装,x的文件没有集成到系统中。 x window系统是一个功能强大的图形环境,提供了大量的图形实用程序。如果用户熟悉Microsoft Windows,他们就不会对X Window系统感到无助。
2。 /usr/x386:与 /usr/x11r6 类似,但专门用于 x 11 版本 5。
3。 /usr/bin:集中了几乎所有的用户命令,是系统的软件目录。其他命令位于/bin 或/usr/local/bin 中。
4。 /usr/sbin:包含根文件系统不必要的系统管理命令,例如大多数实用程序。
5。 /usr/man、/usr/info、/usr/doc:这些目录包含所有手册页、gnu 信息文档和各种其他文档文件。每个在线手册“部分”都有两个子文件夹。例如:/usr/man/man1 包含在线手册第一部分的源代码(未格式化的原始文件),/usr/man/cat1 包含第一部分的格式化内容。在线手册分为以下九个部分:内部命令、系统调用、库函数、设备、文件格式、游戏、宏包、系统管理和内核程序。
6。 /usr/include:包含C语言头文件。这些文件大多以.h结尾,用于描述C语言程序中使用的数据结构、子过程和常量。为了保持一致性,实际上应该将其放置在 /usr/lib 下,但约定保留了该名称。
7。 /usr/lib:包含程序或子系统未更改的数据文件,包括一些站点范围的配置文件。 lib这个名字来自于library;原始的编程库也在/usr/lib 中。当程序被编译时,它会与其中的库链接。还有许多程序在其中存储配置文件。
8。 /usr/local:本地安装的软件和其他文件都放在这里。这与 /usr 非常相似。用户可以在这里找到一些主要的软件包,如tex、emacs等。
/var 文件系统
/var 包含系统正常运行过程中需要更改的数据。通常,该数据所在的文件夹的大小会频繁变化或扩展。原来/var目录的一些内容都在/usr中,但是为了保持/usr目录的相对稳定性,需要经常更改的目录都放在/var中。每个系统都是临时的,即不通过网络与其他计算机共享。下面列出了一些重要的文件夹(省略了一些不太重要的文件夹)。
1。 /var/catman:包含格式化的帮助页面(man)。帮助页面的源文件一般存放在/usr/man/catman;某些手册页可能具有存储在 /usr/man/cat 中的预格式化版本。其他手册页在首次查看时必须进行格式化。格式化的版本存储在 /var/man 中,因此其他人再次查看同一页面时不必等待格式化。 (/var/catman 经常被清除,就像清除临时目录一样。)
2。 /var/lib:存放系统正常运行过程中需要更改的文件。
3。 /var/local:存储/usr/local中安装的程序(即系统管理员安装的程序)的变量数据。请注意,如果需要,即使是本地安装的程序也会使用其他 /var 目录,例如 /var/lock。
4。 /var/lock:锁定文件。许多程序遵循在 /var/lock 中创建锁定文件的约定,以支持它们正在使用的特定设备或文件。当其他程序注意到锁定的文件时,它们将不再使用该设备或文件。
5。 /var/log:各种程序的日志文件,特别是login(/var/log/wtmplog记录所有对系统的登录和注销)和syslog(/var/log/messages记录所有内核和系统程序信息的存储)。 /var/log 中的文件经常无限增长,应定期清除。
6。 /var/run:存储有关系统的信息文件,这些信息文件在下次系统启动之前有效。例如,/var/run/utmp 包含有关当前登录用户的信息。
7。 /var/spool:“假脱机”程序所在的目录,例如邮件、新闻、打印队列和其他队列工作文件夹。每个不同的线轴在 /var/spool 下都有自己的子文件夹。例如,用户的邮箱存储在/var/spool/mail中。
8。 /var/tmp:允许更大的临时文件或必须比 /tmp 存在更长时间。请注意,系统管理员可能不允许 /var/tmp 中存在非常旧的文件。
/proc 文件系统
/proc 文件系统是一个伪文件系统,这意味着它是一个实际上不存在的目录,因此它是一个非常特殊的目录。它不驻留在磁盘上,而是由内核在内存中生成。该目录用于提供有关系统的信息。下面描述了一些最重要的文件和目录(/proc 文件系统在 proc 手册页上有更详细的描述)。
1。 /proc/x:进程x的信息目录,其中x是该进程的标识号。每个进程在/proc下都有一个名为自己进程号的目录。
2。 /proc/cpuinfo:存储处理器(cpu)信息,例如cpu类型、制造商、型号和性能等。
3。 /procices:当前运行的内核配置的设备驱动程序列表。
4。 /proc/dma:显示当前使用的dma通道。
5。 /proc/filesystems:核心配置文件系统信息。
6。 /proc/interrupts:显示占用的中断信息和常驻信息,以及占用的中断数量。
7。 /proc/ioports:当前使用的i/o端口。
8。 /proc/kcore:系统物理内存映像。它与物理内存的大小完全相同,但实际上并不占用那么多内存;仅当程序访问它时才创建它。(注意:/proc 下的任何内容都不会占用磁盘空间,除非您将其复制到某个地方。)
9。 /proc/kmsg:内核发送的消息。它还将被发送到系统日志。
10。 /proc/ksyms:内核符号表。
11。 /proc/loadavg:系统“平均负载”; 3个无意义的指标指示系统当前的工作负载。
12。 /proc/meminfo:有关内存使用情况的各种信息,包括物理内存和交换分区(swap)。
13。 /proc/modules:存储当前加载的内核模块的信息。
14。 /proc/net:网络协议状态信息。
15。 /proc/self:存储在程序进程目录中的指向/proc的符号链接。当两个进程查看 /proc 时,这些将是不同的连接。这主要是方便程序有自己的进程文件夹。
16。 /proc/stat:系统的各种状态,例如系统启动后缺页的次数。
17。 /proc/uptime:系统启动的时间长度。
18。 /proc/version:内核版本。
/usr/local 一般是安装软件的目录。该文件夹对应Windows下的programefiles文件夹
/opt。该目录是一些主要软件的安装目录或者一些服务程序的安装目录
例如:你刚刚安装的firefox试用版可能安装在/opt/firefox_beta目录下。 /opt/firefox_beta 文件夹包含运行 firefox 所需的所有文件、库、数据等。当你想删除firefox时,只需要删除/opt/firefox_beta文件夹即可,非常简单。
/usr/local
这里主要存放手动安装的软件,即不是通过“Synaptic”或apt-get安装的软件。它具有与 /usr 文件夹类似的文件夹结构。我认为让包管理器管理 /usr 文件夹并将自定义脚本放置在 /usr/local 文件夹中是个好主意。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网