在Linux下,一切皆文件。这是我们嵌入式Linux开发与应用这门课的老师经常挂在嘴边的一句话。足以体现出在Linux操作系统中,对于一切资源的管理都是对文件的操作。
Linux系统中每一个分区都是一个文件系统,都有自己的目录层次。Linux会将这些在不同分区的,单独的文件系统按一定的方式形成一个系统的总目录层次结构。
Linux下可以通过shell命令来操作文件,但是功能有一定限制;我们也可以通过系统调用或者C语言的库函数对文件进行操作。
Linux既然采用了树形结构的目录形式,整个OS只有一棵文件树,这样方便OS对文件进行统一管理。Linux操作系统中的这颗文件树的树根叫做根文件系统,用“/”表示,可以通过使用cd /命令直接到达根目录。各个磁盘是通过挂载以文件夹的形式访问
文件名中不能出现/和空格,因为/是用来划分路径的,而空格是用来终止一个路径名的。
根文件系统:
Linux文件分类:
通过ls -l可以查看文件类型和属性
结果分多行显示,距离说明一下每行显示的意义。例如第一行exec这个文件的信息行。首先,我们看到这行以“-”开头,表示exec是一个普通文件。同时注意到第三行以d开头,这说明new是一个目录文件。
接着看第一个符号后面的信息,注意到后面仍旧有9个字符。这9个字符分成3组,即每3个一组,”w"表示可写,“r”表示可读,“x”表示可执行。第一组3个符号表示的是文件拥有者对该文件的权限;第二组3个符号表示该文件拥有者所在组的其他用户对该文件的权限;第3组表示系统其他用户对该文件的权限。
之后,可以看到有个数字,对于普通文件,这个数字表示硬链接计数,对于目录文件来说这个数字表示第一级子目录数。接下来的两组信息分别是文件拥有者和拥有者所在组,然后是文件大小(单位是字节,其中目录文件的大小就是4096),接着是文件最后的修改日期,最后就是文件名。
对目录文件的读权限,意味着可以查看目录下的所有文件列表;对目录的写权限意味着具有删除和移动目录的权限。
所有的目录文件都具有可执行权限,否则我们无法进行搜索,因此执行权限位也被称为搜索位。
另外,可以看到,文件的颜色是不同的。其实不同的颜色就代表了文件的类型是什么。
绿色:文件是绿色代表文件是可执行文件,例如上图中的cat。
白色:白色表示文件是普通文件。
红色:红色代表文件是压缩文件。
灰色:其他文件。
蓝色:蓝色代表这是一个目录文件。
青色:青色代表的是连接文件。
黄色:黄色代表设备文件。
在Linux下以"."开始的文件是隐藏文件,例如上图的.swm就是一个隐藏压缩文件。
l表示是一个链接文件,当使用ls -l命令列举当前目录下文件以及文件属性的时候,就会显示软链接真正的位置,如上图所示。我们可以看到ping4和ping6都是ping命令的链接。 当然了,ping是红色的,代表它是压缩文件,但是它同时也是可执行文件。它就是我们在command下使用的ping命令。