自动清理linux文件系统,Linux之文件系统管理

Linux之文件系统管理

文件系统不仅包含着文件中的数据而且还有文件系统的结构,不同Linux发行版本之间的文件系统差别很少,主要表现在系统管理的特色工具以及软件包管理方式的不同,文件目录结构基本上都是一样的。

Linux的文件结构是单个的树状结构,根目录是“/”,其他目录都要位于根目录下。每个目录一般都存放

特定类型的文件,下表常见目录:

/  根目录,只能包含目录,不能包含具体文件

/bin  存放可执行文件。很多命令就对应/bin目录下的某个程序,例如 ls、cp、mkdir。/bin目录对

所有用户有效

/dev  硬件驱动程序。例如声卡、磁盘驱动等,还有如

/dev/null、/dev/console、/dev/zero、/dev/full 等文件

/etc  主要包含系统配置文件和用户、用户组配置文件

/lib  主要包含共享库文件,类似于Windows下的DLL;有时也会包含内核相关文件

/boot  系统启动文件,例如Linux内核、引导程序等

/home  用户工作目录(主目录),每个用户都会分配一个目录

/mnt  临时挂载文件系统。这个目录一般是用于存放挂载储存设备的挂载目录的,例如挂载CD-ROM的cdrom目录

/proc  操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。/proc目录伪装的文件系统proc的挂载目录,proc并不是真正的文件系统

/tmp 临时文件目录,系统重启后不会被保存。

/usr  /user目下的文件比较混杂,包含了管理命令、共享文件、库文件等,可以被很多用户使用

/var 主要包含一些可变长度的文件,会经常对数据进行读写,例如日志文件和打印队列里的文件

/sbin和 /bin 类似,主要包含可执行文件,不过一般是系统管理所需要的,不是所有用户都需要

文件系统类型

ext2:早期linux中常用的文件系统

ext3:ext2的升级版,带日志功能

ext4:ext4的升级版,增加很多新的功能

RAMFS:内存文件系统,速度很快

iso9660:光盘或光盘镜像

NFS:网络文件系统,由SUN发明,主要用于远程文件共享

ocfs2, gfs2:集群文件系统

ceph,moosefs, mogilefs, hdfs, gfs, glusterfs:分布式文件系统

创建文件系统工具

mkfs命令:新建文件系统在指定的分区上

语法 : mkfs [-V] [-t fstype] [fs-options] filesys [blocks] [-L Lable]

常见参数选项

device:检查的硬盘分区,例如:/dev/sdb1

-V: 详细显示模式

-t: 指定系统的类型,Linux 的预设值为 ext2

-c: 检查分区是否有坏道

-l bad_blocks_file : 将有坏道的block文件加到 bad_blocks_file 里面

block: 指定block 的大小

-L: 建立lable标签

示例:1、检查已经创建的/dev/sdb1

5575c22bc6f2ffbde7e577c2c49d56d3.png

2、/dev/sdb1指定创建类型ext4

3288059311078f55fa65e23cc9b8c953.png

ae57e10e077f78bc7c0ca52385e19f0a.png

2df952ab78c6f7d7a2f04fa871c2b3ed.png

mke2fs命令:用于创建磁盘分区上的“etx2/etx3”文件系统

语法 mke2fs(选项)(参数)

常见参数选项

-b:指定区块大小,单位为字节

-c:检查是否有损坏的区块

-f:指定不连续区段的大小,单位为字节

-F:不管指定的设备为何,强制执行mke2fs

-i:指定字节/inode"的比例

-N:指定要建立的inode数目

-L:设置文件系统的标签名称

-m:指定给管理员保留区块的比例,预设为5%

-q:执行时不显示任何信息

-r:指定要建立的ext2文件系统版本

示例:重新指定/dev/sdb1文件系统类型ext2,指定管理员保留区域比例7%

c96df578a2ade79dce75e03be2d69edf.png

20ce831070c02797b4aaedbf8dbf3a39.png

文件系统属性查看及调整工具

e2label:获取或设置ext2、ext3文件系统对应的分区的卷标

语法:e2label device [ new-label ]

常见参数选项

device:分区设备名称

new-label:新设定的卷标名称,不能超过16字符

示例:设定/dev/sdb1,新标签为mydata

3bf35909881ec8acfdceb877cae75cb8.png

tune2fs是调整和查看ext2/ext3文件系统的文件系统参数。文件系统自检,而且是可以通过tune2fs命令,自行定义自检周期及方式。

语法:tune2fs [选项] device

常用参数选项

-l:查看文件系统信息

-c:max-mount-counts 设置强制自检的挂载次数,如果开启,每挂载一次mount conut就会加1,超过次数就会强制自检

-i:interval-between-checks[d|m|w] 设置强制自检的时间间隔[d天m月w周]

-m:reserved-blocks-percentage 保留块的百分比

-j:将ext2文件系统转换为ext3类型的文件系统

-L:volume-label 类似e2label的功能,可以修改文件系统的标签

-r:reserved-blocks-count 调整系统保留空间

-o:设置或清除默认挂载的文件系统选项

-O:文件系统属性的启动或关闭

示例:转换/dev/sdb1文件系统为ext3,更新标签为mydata1

ac21f93f866c9dc0ac958fcd7590b705.png

dumpe2fs:显示“ext2/ext3”文件系统的超级块和块组信息

语法:dumpe2fs [-bh] 设备名称

常见参数选项

-h :显示超级块信息

示例:显示/dev/sdb1超级块组信息

cc5940a0e0405462951093097d070338.png

文件系统检测工具

fsck命令:用于检查并且试图修复文件系统中的错误

语法:fsck(选项)(参数)

常见参数选项

-a:自动修复文件系统

-A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统

-N:不执行指令,仅列出实际执行会进行的动作

-P:当搭配"-A"参数使用时,则会同时检查所有的文件系统

-r:采用互动模式,在执行修复时询问问题,让用户得以确认并决定处理方式

-R:当搭配"-A"参数使用时,则会略过/目录的文件系统不予检查

-s:依序执行检查作业,而非同时执行

-t:指定要检查的文件系统类型

-V:显示指令执行过程。

示例:如不清楚哪个文件出了问题,可以直接: fsck ---->输入:y

e2fsck命令:用于检查第二扩展文件系统的完整性,通过适当的选项可以尝试修复出现的错误,

一般用于ext系列。

e2fsck执行后的传回值及代表意义如下:

0 没有任何错误发生

1 文件系统发生错误,并且已经修正

2 文件系统发生错误,并且已经修正

4 文件系统发生错误,但没有修正

8 运作时发生错误

16 使用的语法发生错误

128 共享的函数库发生错误

语法:[选项] FLIE

常见参数选项

-a:自动修复文件系统不提示;

-d:显示排错信息;

-f:即使文件系统没有错误迹象,仍强制地检查正确性;

-F:执行前先清除设备的缓冲区;

-t:显示时间信息;

-v:执行时显示详细的信息;

-y:采取非互动方式执行,所有的问题均设置以"yes"回答。

示例:检查/dev/sdb1是否有问题,如发现问题便自动修复:

e2fsck -a -y /dev/sdb1

文件系统的挂载

挂载文件系统,目前有两种方法: 用mount来挂载;通过/etc/fstab文件来开机自动挂载

语法:mount [options] [-o mount_options] device directory

[options]常见参数选项

-a:挂载/etc/fstab配置文件中指定的文件系统

-r:以只读方式挂载文件系统

-w:以可读/写模式挂载文件系统

-t fstype:指定被挂载的文件系统类型为fstype

-o mount_options:在命令行中指定挂载选项

[-o mount_options]常见参数选项

dev:允许读取文件系统上的字符设备或块设备

exec:运行执行挂载分区上的程序

noexec:禁止执行该文件系统上的程序

nouser:禁止非root用户挂载或卸载该文件系统

user:允许某个普通用户挂载该文件系统,但禁止其他普通用户卸载该文件系统

users:允许任何用户可以挂载或卸载该文件系统

fuser查看或终止正在访问指定挂载点:

# fuser -v MOUNT_POINT  //查看正在访问挂载点

# fuser -km MOUNT_POINT  //终止所有正在访问指定的挂载点的进程

相关挂载配置文件:/etc/fstab,理解配置文件中个字段信息:

要挂载的设备或伪文件系统  :设备文件、LABEL=、UUID=、伪文件系统名称

挂载点   :挂载文件名称

文件系统类型           :ext2、ext3、ext4、sawp

挂载选项           :defaults

转储频率             :0: 不转储   1: 每天转储   2: 每隔一天转储

自检次序                  :0:不自检     1:首先自检,通常只有/才为1

示例:

[root@localhost ~]# cat /etc/fstab

#

# /etc/fstab

# Created by anaconda on Tue Aug 25 13:54:49 2015

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/MyVG01-root /                       xfs     defaults        0 0

UUID=af94db7d-e070-4d85-9e0c-ef44c8404033 /boot                   xfs     defaults        0

0

/dev/mapper/MyVG01-usr  /usr                    xfs     defaults        0 0

/dev/mapper/MyVG01-swap swap                    swap    defaults        0 0

示例:/dev/sdb1挂载在/tmp/Mydata1上,并且开机自动挂载,查看当前挂载点

0eb330ee74e135564e317d22ad299d81.png

0f52d9f0c52cb7f366084858435ac8a9.png

umount命令:用来卸载某个目录下已经挂载的文件系统

语法:umount [options] directory

options:

-a:卸载/etc/mtab文件中记录的所有文件系统

-t fstype:只卸载fstype类型的文件系统

示例:取消/tmp/Mydata1挂载

89d374580d395cdc35216aa309a56e79.png

交换分区简述:当系统的物理内存不够用的时,就需要将物理内存中的一部分空间释放出来,以供

当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间

被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。因此系统总是

在物理内存不够时,才进行Swap交换

一般设置swap大小:

4G以内的物理内存,SWAP 设置为内存的2倍

4-8G的物理内存,SWAP 等于内存大小

8-64G 的物理内存,SWAP 设置为8G

64-256G物理内存,SWAP 设置为16G

注:交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷

查看当前swap状态用free命令

4aaab23ad45beec5f56a4916fd1aa3b7.png

启用交换分区:swapon

关闭交换分区:swapoff

示例:磁盘添加swap,SWAP标签swap-files,大小2G,并设置开机自动挂载,挂载点为/tmp/swap(注

:fdisk ID的编号示83,它代表这个分区是ext的分区,82才是Linux swap文件系统)

892d5be3ea340e27280b8da2da4bb53b.png

2d124bebd846319b8bfd749c04f4f844.pngbf2c013cc963d5f9625b4944825ece14.png5504f8249b7bb29e8a85b86f6810ba39.pngb3b2a078de54a9c7d61f1e45561e237e.pngbc2e981266e12b223f05639527e2e953.png09a7d2c022c7efdc4a4982d03ea01183.png6e282235bbcd6b7dc88c0d3d0d02fba3.png

文件系统占用情况查看工具命令:free、df、du

free命令:空闲的、已用的物理内存及swap内存,及被内核使用的buffer

语法:free [选项]

常见参数选项:

-b:以Byte为单位显示内存使用情况

-k:以KB为单位显示内存使用情况

-m:以MB为单位显示内存使用情况

-g:以GB为单位显示内存使用情况

命令比较简单,前面已经有示例做了演示,这里不在做演示

df命令:查看文件系统的磁盘空间情况

语法:df [选项] [文件]

常见参数选项

-h:方便阅读方式显示

-i:显示inode信息

du命令:查看使用空间的

语法:du [选项][文件]

常见参数选项

-a:显示目录中个别文件的大小。

-m:以MB为单位输出。

-h:以K,M,G为单位,提高信息的可读性。

-L:显示选项中所指定符号链接的源文件大小。

-l:重复计算硬件链接的文件。

示例:查看当前系统磁盘、/tmp/log目录使用情况

97a6f014e33ae894d035708ba725ba7f.png

linux链接文件:硬链接(Hard Link)、符号链接(Symbolic Link)/也称软链接。ln命令默认产生硬链接。

硬连接:指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身

和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

符号连接(Symbolic Link),也叫软连接。类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

练习:新建aa、bb、cc文件,aa硬链接bb,aa软链接cc,aa插入 mytest,删除aa文件,查看bb,cc文件

b662ee5c665dbeba54cbb22333b26441.png7be09097b1d5fded6ff231e0f529c46d.png

通过练习得知:

1、删除符号连接cc,对aa,bb无影响

2、删除硬连接bb,对aa,cc也无影响

3、删除原文件aa,对硬连接bb没有影响,导致符号连接cc失效

4、同时删除原文件aa,硬连接bb,整个文件会真正的被删除

练习:创建一个10G文件系统,类型为ext4,要求开机可自动挂载至/mydata目录;

94b355ecd3d97cb358602f6a8382ffed.png4d9363a41f5d6db301ff9dfcbeb6762a.png0e79962fdf95be468cb8c8db20691618.png55b4124c39e14ce06c1f34901d4b2ca3.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值