声明:以下内容均来学习自《Linux就该这么学》一书
Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。此外,Linux系统中的文件和目录名称对大小写敏感。
1、Linux系统中常见目录名称及作用
/boot | 开机所需文件——内核、开机菜单以及所需配置文件等 |
/dev | 以文件形式存放任何设备与接口 |
/etc | 配置文件 |
/home | 用户家目录 |
/bin | 存放单用户模式下还可以操作的命令 |
/lib | 开机时用到的函数库,以及/bin与/sbin下面的命令要调用的函数 |
/sbin | 开机过程中需要的命令 |
/media | 用于挂载设备文件的目录 |
/opt | 放置第三方的软件 |
/root | 系统管理员的家目录 |
/srv | 一些网络服务的数据文件目录 |
/tmp | 任何人都可以使用的“共享”临时目录 |
/proc | 虚拟文件系统,例如系统内核、进程、外部设备及网络状态等 |
/usr/local | 用户自行安装的软件 |
/usr/sbin | Linux系统开机时不会使用到的软件/命令/脚本 |
/usr/share | 帮助与说明文件,也可放置共享文件 |
/var | 主要存放经常变化的文件,如日志 |
/lost+found | 当文件系统发生错误时,将一些丢失的文件片段存放在这里 |
2、挂载mount
当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,这个关联的动作就是“挂载”。挂载是在使用硬件设备前所执行的最后一步操作,只需使用mount命令把硬盘设备或分区与一个目录文件进行关联,然后就能在这个目录中看到硬件设备中的数据了。
mount用于挂载文件系统:mount 文件系统 挂载目录。
-a | 挂载所有在/etc/fstab中定义的文件系统 |
-t | 指定文件系统的类型 |
-a 参数会在执行挂载后自动检查/etc/fstab文件中有无疏漏被挂载的设备文件,如果有,则进行自动挂载操作。
# 将设备/dev/sdb2挂载到/backup目录下
mount /dev/sdb2 /backup
上述方法在重启后挂载就会失效。如果想让硬件设备和目录永久地进行自动关联,就必须把挂载信息按照指定的填写格式:设备文件 挂载目录 格式类型 权限选项 是否备份 是否自检 写入到/etc/fstab文件中。
设备文件 | 一般为设备的路径+设备名称,也可以写唯一识别码(UUID,Universally Unique Identifier) |
挂载目录 | 指定要挂载的目录,需要在挂载前创建好 |
格式类型 | 指定文件系统的格式,比如Ext3、Ext4、XFS、SWAP、iso9600等 |
权限选项 | 若设置为defaults,则默认权限为:rw、suid、dev、exec、auto、nouser、async |
是否备份 | 若为1则开机后使用dnmp进行磁盘备份,为0则不备份 |
是否自检 | 若为1则开机后进行磁盘自检,为0则不自检 |
3、umount
用于撤销已经挂载的设备文件:unmount [挂载点/设备文件]。
umount /dev/sdb2
4、fdisk
用于管理磁盘分区:fdisk [磁盘名称]。它提供了添加、删除、转换分区等功能于一身的“一站式分区服务”。与直接写到命令后面的参数不同,这条命令的参数是交互式的。
m | 查看全部可用的参数 |
n | 添加新的分区 |
d | 删除某个分区信息 |
l | 列出所有可用的分区类型 |
t | 改变某个分区的类型 |
p | 查看分区信息 |
w | 保存并退出 |
q | 不保存直接退出 |
5、df -h
用于查看挂载状态和硬盘使用量信息。
6、du
用于查看文件数据占用量,即查看一个或多个文件占用了多大的硬盘空间:du [参数] 文件
# 查看/home/ln占用的空间大小
du -sh /home/ln# 查看Linux系统目录下所有一级目录分别占用的空间大小
du -sh/*
7、交换分区
SWAP(交换)分区是一种通过在硬盘中预先划分一定的空间,然后把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术,其设计目的是为了解决真实物理内存不足的问题。但由于交换分区是通过硬盘设备读写数据的,速度比物理内存慢,所以只有当真实的物理内存耗尽后才会调用交换分区的资源。
8、磁盘容量配额
使用quota命令对磁盘容量进行配额管理,从而限制用户的硬盘可用容量或所能创建的最大文件个数。
软限制:
当达到软限制时会提示用户,但仍允许用户在限定的额度内继续使用。
硬限制:
当达到硬限制时会提示用户,并强制终止用户的操作。
9、软硬链接
硬链接(hard link)
理解为一个指向原始文件的指针,系统并不为它分配独立的索引节点inode文件。所以,硬链接文件与原始文件其实是同一个文件,只是名字不同。我们每添加一个硬链接,该文件的inode连接数就会增加1;而且只有当该文件的inode连接数为0时,才算彻底将它删除。换言之,由于硬链接实际上是指向原文件inode的指针,因为即便原始文件被删除,依然可以通过硬链接文件来访问。注意,由于技术的局限性,我们不能跨分区对目录文件进行链接。
软链接(符号链接symbolic link)
仅仅包含所链接文件的路径名,因为能链接目录文件,也可以跨越文件系统进行链接。但是,当原始文件被删除后,链接文件也将失效。
ln命令
用于创建链接文件:ln [参数] 目标
-s | 创建“符号链接”(如果不带-s参数,则默认创建硬链接) |
-f | 强制创建文件或目录的链接 |
-i | 覆盖前先询问 |
-v | 显示创建链接的过程 |