Linux学习之基础知识——Linux文件系统简介
本篇概述
Linux系统一直遵循着一切皆文件的精神,要深入了解和学习Linux,那了解它的文件系统就必不可少。本篇就是以CentOS 6与CentOS 7 为例,简单介绍Linux的文件系统以及常见的文件夹,以及与文件系统相关的几条的常用命令。
Linux的文件系统
与常见的Windows系统不同,Linux目录结构的最顶端并不是几个并列的目录,如C、D、E这样分为多个磁盘,而是一个单一的倒置树状结构,所有的磁盘均挂载在根目录或根目录下的目录中。在系统安装完成后,就可以使用tree命令来查看当前工作目录的完整树状结构。
Linux一切皆文件的思想,在其文件系统中也体现的淋漓尽致。不同作用、不同所属的文件,都分门别类,各自存储,这样的存储形式,为Linux的系统配置和操作提供了极大地便利。
Linux中常见的几个目录
/ 根目录
/boot 启动加载器,boot loader,引导文件存放目录,存放内核文件、引导加载器等
/etc 存放系统配置文件,如用户口令、网络设置、系统配置和个人配置等。
/dev 设备文件和特殊文件的存放目录
/bin 基本的二进制可执行文件目录,所有用户可用,用于具体的应用,不能关联到独立分区,binary
/sbin 系统管路员二进制可执行文件存放目录,用于系统管理,system binary
/lib 启动时程序依赖的基本共享库文件以及内核模块文件
/lib64 专用于x86_64系统上的共享库文件存放目录(实际上自CentOS 7开始就只支持64位的系统了)
/root 管理员家目录,特权阶级,家目录都与众不同
/home 存放普通用户的家目录的目录
/usr 存放系统提供的共享数据
/var 存放长短可变的文件,如日志、邮件等。
/tmp 存放系统公共的临时文件。在系统重启后不会保存其中的文件。
以上皆为常见且常用到的目录,有些目录下还有子目录分类,存放不同类型的文件,这里不做过多介绍。
其中,在CentOS 6中,在根目录下和/usr目录下,均存在/bin与/sbin目录,而实际上,根目录下的/bin与/sbin和/usr下的/bin与/sbin文件是相同的。所以在之后的CentOS7中,根目录下的/bin与/sbin均为/usr目录下相同目录的软链接。在根目录下使用 ll 命令即可查看。如下图:
常见的与文件系统相关的命令
Linux中与文件系统相关的命令有很多,常用的如df、pwd、cd、ls、cat、file、stat、more、less等等,本篇先主要介绍df、pwd、cd、ls、cat这五个命令,其他的相关命令也会在后续陆续加入。
df
df命令主要用来查看磁盘空间上的可用空间以及磁盘利用率
语法:
df [option]
常用选项:
-a 显示全部的文件系统
-h 以高可读性的方式来显示输出的信息
-i 显示inode信息
-l 仅显示本地文件系统
如图为在CentOS 6下执行 df 命令
pwd
pwd命令可以以绝对路径的方式显示当前工作目录。特别注意的是:在Linux中,如果命令未指定目录,则所有操作都是在当前工作目录下执行的!!!
如图为在CentOS 6的管理员(root)账户的家目录下执行pwd命令。
cd
cd命令通常用来切换用来切换工作目录至目的目录。其中目的目录可以使用相对路径也可以使用绝对路径。至于相对路径和绝对路径的区别,会在后续更新中说明。在最初的一些使用中,可以使用绝对路径,也就是从根目录一直数到目的目录。
语法:
cd [option] dirname
常用选项:
-P 如果要切换的目的目录是一个符号目录(即软链接,类似于Windows中的快捷方式),则直接跳转到符号目录所指向的目录。
-L 如果要切换的目的目录时一个符号目录,则切换到该目录,而不跳转到它指向的目录。
其他用法:
cd 进入用户主目录。用户登录系统后就进入的目录即为用户主目录。
cd ~ 进入用户主目录
cd .. 进入当前目录的父目录。
cd - 返回切换前的目录。这种切换只能操作一次,即只能切换到上一次的目录,而不能切换到上上一次的目录。
cd ../.. 返回上两级目录,即父目录的父目录
ls
在进入目录后,目录下的文件时不会自动显示的,这时候就需要ls 命令来帮助我们完成这样工作。ls命令用来显示目录列表。ls 命令配合其选项可以显示很多文件和目录的信息。
语法:
ls [options] [dirname|filename]
常用选项:
ls -a 列出文件和目录,包括隐藏文件
ls -l 显示额外的信息,延伸为ll命令,作用与ls -l 相同
ls -R 递归的显示文件和目录
ls -ld 只显示目录和符号链接信息
ls -1 文件分行显示(注意:选项是数字1而非字母l)
ls -t 按mtime显示文件
ls -u 配合-t选项,显示并案atime从新到旧排序
ls -U 按目录存放顺序显示文件
ls -X 按文件后缀排序显示如图为在CentOS 7的管路员家目录中使用ls显示根目录/ 下的文件和目录。可以看到标注的目录为软链接。
cat
cat命令通常用来连接文件并在显示其中的内容。当然,只能是可读的非二进制文件,否则会出现乱码的状况。当显示的文件太大时,通常传给more或者less来帮助显示。
语法:
cat [option] filename
常用选项:
-n 从1开始对所有输出的行进行编号
-b --number-noblank 与-n 相似,但不对空白行编号
-s 当遇到连续两行以上空白时替换为一行空白
-A 显示不可打印字符并在尾行打印 “ $ ”如图为显示在 /app目录下的名为networks文件的内容。
当然,关于这几个命令还有更多的演示没有放上来,可以进行实际操作观察结果。更多的命令会在后续持续更新,敬请期待。
后附一张文件系统的图,但这只是一张示意图,只为说明其效用,并非文件系统真实的所属状态,还请注意!!!
如有谬误之处,还请指教,在下虚心学习。