Linux的文件系统
本文主要介绍Linux的文件系统。
I、tree命令
1.1、tree命令安装
如果你使用的Ubuntu系统可以使用sudo apt-get install tree
来安装tree
命令。
其他系统类似的安装方法。
1.2、tree命令的使用
1、可以使用tree /
命令来查看整个目录的结构,但是由于我们的目录结构很深层,所以输出的内容很多。
2、我们可以使用tree -L 1 /
可以根据参数只输出1层的目录:
我们就根据这个目录结构来说明Linux的文件系统。
II、一级目录
可以使用ls
命令查看各个一级目录下的具体内容,下面我们来分别说明。
2.1 /bin
/bin
目录是包含一些二进制文件的目录,即可以运行的一些应用程序。 可以在这个目录中找到上面提到的 ls 程序。文件系统树的其他部分有更多的 bin 目录,但我们将在一会儿讨论这些目录。
ls /bin
2.2 /boot
/boot
目录包含的是系统启动所需的文件,不要动它!
2.3 /dev
/dev
目录中包含的是设备文件,其中许多是在启动时或甚至在运行时生成的。 例如,如果你将新的网络摄像头或 USB 随身碟连接到你的机器中,则会自动弹出一个新的设备条目。
2.4 /etc
/etc
目录中包含大部分的系统配置文件,例如,包含系统名称、用户及其密码、网络上计算机名称以及硬盘上分区的安装位置和时间的文件都在这里。 如果是 Linux 的新手,最好是不要在这里接触太多,直到你对系统的工作有更好的理解。
2.5 /home
/home
目录中包含了所有的用户目录,如果你使用的是公共服务器,可以在里面找到自己的目录。
2.6 /lib
/lib
是库文件所在的地方。库是包含应用程序可以使用的代码文件。它们包含应用程序用于在桌面上绘制窗口、控制外围设备或将文件发送到硬盘的代码片段。
在文件系统周围散布着更多的 lib 目录,但是这个直接挂载在 / 的 /lib 目录是特殊的,除此之外,它包含了所有重要的内核模块。 内核模块是使你的显卡、声卡、WiFi、打印机等工作的驱动程序。
2.7 /media
在/media
目录中,当你插入外部存储器试图访问它时,将自动挂载它。
2.8 /opt
/opt
目录通常是你编译软件(即,你从源代码构建,并不是从你的系统的软件库中安装软件)的地方。应用程序最终会出现在 /opt/bin
目录,库会在 /opt/lib
目录中出现。
稍微的题外话:应用程序和库的另一个地方是 /usr/local
,在这里安装软件时,也会有 /usr/local/bin
和/usr/local/lib
目录。开发人员如何配置文件来控制编译和安装过程,这就决定了软件安装到哪个地方。
2.9 /proc
/proc
就像 /dev
是一个虚拟目录。它包含有关你的计算机的信息,例如关于你的 CPU 和你的 Linux 系统正在运行的内核的信息。与 /dev
一样,文件和目录是在计算机启动或运行时生成的,因为你的系统正在运行且会发生变化。
2.10 /root
/root
目录很明显是系统root用户的主目录。 它与其他用户的主目录是分开的,因为你不应该动它。 所以把自己的东西放在你自己的目录中。
2.11 /run
/run
是另一个新出现的目录。系统进程使用它来存储临时数据。这是另一个不要动它的文件夹。
2.12 /sbin
/sbin
与 /bin
类似,但它包含的应用程序只有root(s表示的super )才需要。你可以使用 sudo
命令使用这些应用程序,该命令暂时允许你在许多 Linux 发行版上拥有root用户权限。/sbin
目录通常包含可以安装、删除和格式化各种东西的工具。你可以想象,如果你使用不当,这些指令中有一些是致命的,所以要小心处理。
2.13 /usr
/usr
目录是在 UNIX 早期用户的主目录所处的地方。然而,正如我们上面看到的,现在 /home
是用户保存他们的东西的地方。如今,/usr
包含了大量目录,而这些目录又包含了应用程序、库、文档、壁纸、图标和许多其他需要应用程序和服务共享的内容。
你还可以在 /usr
目录下找到 bin
,sbin
,lib
目录,它们与挂载到根目录下的那些有什么区别呢?现在的区别不是很大。在早期,/bin
目录(挂载在根目录下的)只会包含一些基本的命令,例如 ls
、mv
和rm
;这是一些在安装系统的时候就会预装的一些命令,用于维护系统的一个基本的命令。 而 /usr/bin
目录则包含了用户自己安装和用于工作的软件,例如文字处理器,浏览器和一些其他的软件。
但是许多现代的 Linux 发行版只是把所有的东西都放到 /usr/bin
中,并让 /bin
指向 /usr/bin
,以防彻底删除它会破坏某些东西。因此,Debian、Ubuntu 和 Mint 仍然保持 /bin
和 /usr/bin
(和 /sbin
和 /usr/sbin
)分离;其他的,比如 Arch 和它衍生版,只是有一个“真实”存储二进制程序的目录,/usr/bin
,其余的任何 bin
目录是指向 /usr/bin
的“假”目录。
2.14 /srv
/srv
目录包含服务器的数据。如果你正在 Linux 机器上运行 Web 服务器,你网站的 HTML文件将放到 /srv/http
(或 /srv/www
)。 如果你正在运行 FTP 服务器,则你的文件将放到 /srv/ftp
。
2.15 /sys
/sys
是另一个类似 /proc
和 /dev
的虚拟目录,它还包含连接到计算机的设备的信息。
2.16 /tmp
/tmp
包含临时文件,通常由正在运行的应用程序放置。文件和目录通常(并非总是)包含应用程序现在不需要但以后可能需要的数据。
你还可以使用 /tmp
来存储你自己的临时文件 —— /tmp
是少数挂载到根目录下而你可以在不成为root用户的情况下与它进行实际交互的目录之一。
2.17 /var
/var
目录主要包含了放在 /var/log
子目录的日志文件之类。
III、其他一些与目录相关的命令
1、可以使用命令pwd
来查看当前目录。
2、使用cd
命令打开任意目录。
【参考】
[1] Linux 文件系统详解 | Linux 中国