当前位置: 首页 > Linux

Linux_10

时间:2023-04-06 19:43:42 Linux

的目录结构在Windows中,我们会看到磁盘驱动器的标志,如C:\、E:\,文件名和目录名跟在驱动器名后面。Linux与Windows完全不同。在Linux中,可以在根目录下运行ls来观察它的目录结构:/-根目录顾名思义,根目录就是所有目录所在的目录。它是Linux中所有目录的根。从某种概念上讲,它有点类似于Windows中的磁盘驱动器符号。正如您稍后将看到的,所有其他目录都以/开头。/bin-存放重要用户二进制文件的目录bin是binary的缩写,/bin目录存放的是非常重要的用户二进制文件,其实就是一些程序。需要注意的是,/bin中存放的命令都是单用户维护模式下可以操作的命令。root用户和普通用户都可以使用这些命令。在/bin中,我们可以看到我们经常使用的Linux命令程序,例如chmod和du。/boot——存放系统启动所需文件的目录。/boot主要存放系统启动所需的文件,如EFI、GRUB、Linux内核等。/dev-设备文件目录Linux把一切都当作一个文件,设备也不例外,不管是物理硬件设备还是虚拟设备。物理硬件,例如第一个检测到的硬盘将挂载到/dev/sda,第二个将挂载到/dev/sdb,依此类推。虚拟设备,例如null、random、stderr、stdin和stdout。/etc——配置文件目录etc的意思是Etcetera,表示一些其他相关的东西。/etc从UNIX早期开始就被用来存放配置文件,一直沿用至今。需要注意的是,系统配置文件存放在/etc中,用户特定的配置文件放在每个用户的/home目录下。/home-用户目录/home目录存放每个用户的用户目录。比如有一个用户叫tom,/home/tom就是他的用户目录,用户数据和用户配置存放在每个用户的用户目录文件中,比如每个用户的.bashrc文件,.ssh目录等。普通用户只能访问自己的用户目录,不能访问其他用户,但是root用户没有这个限制。/lib-重要的共享库目录/lib目录存放了/bin和/sbin中那些重要的二进制文件(程序)所需要的共享库。另外,/usr/bin中的二进制文件(程序)所需要的共享库都存放在/usr/lib中。/lost+found-恢复文件目录每个Linux文件系统都有一个/lost+found目录。当文件系统崩溃时,下次启动时会进行文件系统自检,删除崩溃时损坏的文件。放入/lost+found,您可以尝试查找和恢复这些文件。当你将一些可移动媒体(如CD、U盘、CD-ROM等)挂载到电脑上时,系统会自动在/media下创建一个子目录,然后你就可以通过访问这个子目录来访问媒体。例如,如果你在电脑中插入一张光盘,/media目录下会自动生成一个子目录,你可以通过访问这个子目录来访问光盘中的内容。/mnt——临时挂载点目录mnt是mount的缩写。系统挂载各种设备后,会在/mnt目录下生成相应的设备目录,如挂载的光驱、文件系统、光盘等/opt-可选包目录opt表示Optional,可选软件系统安装的包存放在/opt目录下。/proc-内核和进程文件目录/proc是一个虚拟目录,不包含任何标准文件。系统启动时,会检测当前的内核和硬件信息,并将这些信息放在这个目录下(其实都在内存中)。可以使用cat/proc/meminfo查看一些内存信息,也可以使用cat/proc/version查看Linux内核信息。/root-root用户的主目录不同于/home/{username}中普通用户的主目录。root用户的家目录专门放在/root中。/run-应用程序状态目录/run目录用于存放应用程序在运行过程中需要的一些短期文件,如socket、pid文件。这些文件对这些应用程序的运行非常重要,所以不能放在/tmp目录下,因为/tmp目录下的文件可能会被系统清空。/sbin-供系统管理员使用的二进制文件目录/sbin目录有点类似于/bin目录,两者都存放二进制文件。比较特别的是/sbin目录存放了所有的系统管理命令程序,一般只有root用户才能使用。/srv——服务数据目录/srv目录主要用来存放系统提供的一些网络服务数据。如果在机器上运行HTTP服务器提供静态文件,/srv/http目录会存放这些静态文件。如果你运行一个FTP服务器对外提供文件,那么/srv/ftp目录就会存放这些文件。/tmp-临时文件目录应用程序将在/tmp目录中存储一些临时文件。一般来说,系统重启后,/tmp下的文件会自动清除,也会被一些监控程序清除。/usr——用户二进制文件和只读文件目录用户使用的程序存放在/usr目录下。可以清楚地发现,Linux将普通用户和系统使用的程序分开存放。比如上面提到的,系统使用的程序,一些重要的程序存放在/bin中,那些不重要的程序放在/usr/bin中。不太重要的系统管理程序存放在/usr/sbin而不是/sbin。usr又称UNIXSoftwareResource,是较早的说法。下面是/usr目录下几个常用子目录的含义:/usr/bin存放用户命令/usr/include存放编程语言头文件和包含文件/usr/lib存放库函数和各种应用程序的目标文件/usr/local存放系统管理员下载软件的安装目录/usr/sbin存放不常用的系统命令/usr/src存放源代码/var-变化数据目录/var一般用于存放频繁变化的数据,如日志文件和缓存文档。下面是/var目录下几个常见子目录的含义:/var/cache存放应用程序运行时产生的临时文件/var/lib存放程序在执行过程中需要使用的数据文件,每一个软件在这个目录下每个都有自己的目录/var/lock存放程序的锁定状态/var/log存放各种日志文件/var/mail存放个人邮件/var/run有些程序会保存他们的运行后的pid和socket文件根据FHS官方文档(http://www.pathname.com/fhs/),软件安装规范指出,它们的主要目的是让用户知道安装的软件通常在哪个目录,所以他们希望独立的软件开发者、操作系统生产者和想要维护系统的用户能够遵循FHS标准。换句话说,FHS的重点是规范每个具体目录应该放什么样的数据。这样做的好处有很多,因为Linux操作系统可以在现有的面貌下(目录结构不变)开发出开发者想要的独特风格。1.Shareable:挂载时可以与其他系统共享的目录,可以将可执行文件、用户邮箱等数据共享给网络上的其他主机进行挂载;2.不可共享:自己的机器与程序相关的设备文件或so??cket文件等,只与自己的机器有关,当然不适合与其他主机共享。3.不变的:有些数据不经常变化,不随分布变化。例如库、文件描述文件、系统管理员管理的主机服务配置文件等;4.易变的:经常变化的数据,比如登录文件,普通用户可以自己接收的新闻组等。其实FHS只是定义了目录树结构的三级目录下应该放什么数据,分别是下面三个目录的定义:/(root,根目录):与引导系统相关/usr(unix软件资源):与软件安装/执行相关/var(变量):与系统运行相关