对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识。
目前成都创新互联公司已为数千家的企业提供了网站建设、域名、网站空间、网站改版维护、企业网站设计、八宿网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
当在使用Linux的时候,如果您通过ls
–l / 就会发现,在/下包涵很多的目录,比如etc、usr、var、bin ... ...
等目录,而在这些目录中,我们进去看看,发现也有很多的目录或文件。文件系统在Linux下看上去就象树形结构,所以我们可以把文件系统的结构形象的称为
树形结构。
文件系统的是用来组织和排列文件存取的,所以她是可见的,在Linux中,我们可以通过ls等工具来查看其结构,在Linux系统中,我们见到的都是树形结构;比如操作系统安装在一个文件系统中,他表现为由/
起始的树形结构。linux文件系统的最顶端是/,我们称/为Linux的root,也就是
Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。
由于linux是开放源代码,各大公司和团体根据linux的核心代码做各自的操作,编程。这样就造成在根下的目录的不同。这样就造成个人不能使用他人的linux系统的PC。因为你根本不知道一些基本的配置,文件在哪里。。。这就造成了混乱。这就是FHS(Filesystem
Hierarchy Standard
)机构诞生的原因。该机构是linux爱好者自发的组成的一个团体,主要是是对linux做一些基本的要求,不至于是操作者换一台主机就成了linux的‘文盲’。
linux的文件系统是采用级层式的树状目录结构,在此结构中最上层是根目录“/”,然后在此目录下再创建其它的目录。
在linux世界里。一切皆文件
1)linux的目录中有且只有一个根目录/,
2)linux的各个目录存放的内容是规划好的,不用乱放文件,
3)linux是以文件的形式管理我们的设备,因此linux系统。一切皆文件,
4)linux的各个文件目录下存放什么内容,大家必须有一个认识,
5)你的脑海里应该有一颗linux的目录树。
/bin:存放二进制可执行文件,常用命令一般都在这里;
/etc:存放系统管理和配置文件;
/home:存放所有用户文件的根目录,是用户主目录的基点;
/usr:存放系统应用程序;
/opt:额外安装的可选应用程序包所放置的位置;
/proc:虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
/root:超级用户的主目录;
/sbin:存放二进制可执行文件,只有root才能访问。存放的是系统管理员使用的系统级别的管理命令和程序;
/dev:存放设备文件;
/mnt:系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
/boot:存放用于系统引导时使用的各种文件;
/lib:存放着和系统运行相关的库文件;
/tmp:存放各种临时文件,是公用的临时文件存储点;
/var:存放运行时需要改变数据的文件,也是某些大文件的溢出区;
/lost+found:这个目录平时是空的,系统非正常关机而留下的文件。
Linux系统的最高一级目录是根目录(/),相当于windows系统中的计算机。在根目录下会有一些一级目录,首先我们要了解这些目录的作用。(重点)
boot目录中的文件,都是系统启动时必须的。如果误删了,系统一定会启动失败。没事别动它。
/lib/和/lib64/目录中放的是函数库。函数库就是程序集合,函数就是程序。
一些需要平凡调用的程序,就封装成一个函数库了。函数库降低了开发人员的开发难度,提升了效率。所有的成熟语言都会有完整的函数库的。Linux系统是C语言开发的函数库。
Linux的函数库的命名规则:.so+数字结尾命名的文件就是函数库。
这个目录就是意外崩溃或者关机之后的文件修复目录。开机时通过fsck工具自动修复。如果自动修复不了,手动其实也解决不了什么问题。所以这个目录知道有什么作用就可以了。
我们在之前的文章已经解释了挂载,知道只要是一个已经建立的空目录就可以作为挂载点。
那么系统虽然准备了三个默认挂载目录/media、/mnt、/misc,但是到底在哪个目录中挂载什么设备都可以由管理员自己决定。
例如刚接触Linux的时候,默认挂载目录只有/mnt一个,所以养成了在/mnt下建立不同目录挂载不同设备的习惯。如/mnt/cdrom 挂载光盘,/mnt/usb挂载U盘,这都是可以的。
官方推荐/media目录挂载光盘,/misc目录挂网络存储设备,/mnt/挂载U盘或者移动盘。根据自己的需求和使用习惯进行分配就可以。
/bin/、/sbin/、/usr/bin/、/usr/sbin/、/boot/、/dev/、/etc/、/home/、/lib/、/lib64/、/mnt/、/tmp/、/root/、/usr/、/var/
/lost+found/、/media/、/misc/、/opt/
/proc/、/sys/、/selinux/、/srv/
我们安装好linux系统后,linux系统也会像windows系统一样,自动生成很多的文件和目录,这些目录都包含了不同的含义。下面,我们就来介绍一下这些目录都代表着什么?以及,在命令行界面,我们如何在不同的目录之间切换。
一、linux系统目录结构。
我们这里介绍的是linux系统的常规目录结构,不管什么版本的linux系统,一般都会包括以下这些目录。
bin: linux命令目录(二进制)。
sbin: linux命令目录(起级管理员使用),s就是Super User的意思。
boot: linux启动目录,存有linux内核 (引导、长/皮鞋)。
dev: linux存放硬件目录,以抽象的文件形式存放(device设备)。
etc: linux配置文件目录。
lib: linux系统函数库文件目录,相当于window中的.dll文件。
mnt: linux挂载用,早期版本只有这一个挂载,建议挂载额外设备,如:U盘、移动硬盘和分区。
medie: linux挂载用,系统建议挂载媒体设备。
misc: linux挂载用,建议挂载NFS服务的共享目录。
opt: linux大型软件安装目录。
sys: linux虚拟文件系统,包含底层硬件的信息,保存在内存当中,主要保存内核相关信息。
tmp: linux存放临时文件,会定期自动删除。
usr: linux一般应用程序默认安装目录 【 unix soft resource 】。
var: linux动态数据及进程改变保存位置(如日志、邮件、缓存、网站 )。
home: linux用户的主目录家目录,子目录以用户名为文件夹名。
root: linux起级管理员目录。
proc: linux虚拟文件夹,存在于内存中,保存着系统的实时信息,如内存、CPU等硬件信息。
当然,不同的发行版本,有可能会或多或少地添加一些自己的目录。
二、如何在目录之间进行切换?
linux的目录切换命令,跟windows系统的dos下的命令基本上一样。如果使用过dos的,那在linux系统下切换目录就不是难事了。
1、切换到当前用户的家目录。我们只需要在命令行界面输入如下命令,就可以切换到当前用户的家目录:
cd
这时,我们可以在命令行界面中看到,当前目录是~ 位置,~代表的是当前用户的家目录。如下图:
2、切换到指定的目录。下面的命令是切换到 /home/目录,是以绝对路的形式来切换。
cd /home
如果我们已经在一个目录里了,要想切换到同级目录或上级目录的同级目录,就必须使用绝对路径。上面的命令切换后,当前目录换成了home。如下图:
3、切换到上一个目录。 切换到上一个目录,即切换到当前目录的前一个目录。命令如下:
cd -
我们当前目录是home,输入这个命令后,就又切回到当前用户家目录了。如下图:
4、切换到上一级目录。以相对路径的形式切换。命令如下:
cd ..
一个点代表的是自己,这里的两个点..代表的是上一级目录(父目录)。
5、切换到当前目录下的子目录。下面的这个命令是切换到当前目录下的gao目录里。
cd gao
如果要切换到其它用户的家目录,必须是管理员,普通用户没有这个权限。
6、切换到根目录。有时,我们进入目录比较深,有好几级了,这时,我们可以通过如下命令直接回到linux根目录
cd /
这里的/代表的就是linux系统的根目录,也是linux系统的最大的目录,上面介绍的所有目录都是存放在这个根目录里的。
好了,上面我们系统地介绍了一下linux系统的目录整体结构,以及如何在这些目录之间进行切换。操作很简单,相信大家也很容易就能上手。