linux文件系统使用和管理,Linux磁盘使用及文件系统管理

Linux磁盘使用及文件系统管理

新建

欢迎来到 来到大浪涛天的博客 !

一、Linux磁盘使用及文件系统管理

1.mount 命令

mount [-fnrsvw] [-t vfstype] [-o options] device dir

1-1.命令选项:

-r:只读

-w:只写

-n:默认情况下设备的挂载和卸载的操作会同步更新到/etc/mtab文件中,-n用于禁止此特性

-t vfstype:指明要挂载的文件系统的类型,多数情况下可以省略,此时mount通过blkid来判断要挂载设备的文件系统类型

-L:挂载的时候以卷标的方式指明设备

[[email protected] /]# mke2fs -L mydata /dev/sdb1

[[email protected] /]# blkid /dev/sdb1

/dev/sdb1: LABEL="mydata" UUID="6e6ccefa-884b-4271-8547-8368637c15dd" TYPE="ext2"

[[email protected] /]# mount -L mydata /mnt

-U:挂载的时候以uuid来指明设备

[[email protected] mnt]# blkid /dev/sdb1

/dev/sdb1: UUID="b95393c7-b40d-4767-9d5a-be05c811ed0d" TYPE="xfs"

[[email protected] mnt]# mount -U b95393c7-b40d-4767-9d5a-be05c811ed0d /mnt

-o options:挂载选项

sync/async:同步/异步操作;

atime/noatime:文件或目录被访问时是否更新其访问时间戳;同时对文件和目录生效,关闭对性能有大幅度提升,Centos7 上默认是延迟的,所以有时候访问文件的时候,访问的时间戳没有即时更新

diratime/nodiratime:目录在访问时是否更新其访问的时间戳;只对目录生效,关闭对性能有大幅度提升,Centos7 上默认是延迟的,所以有时候访问文件的时候,访问的时间戳没有即时更新

acl:支持使用文件acl功能

remount:重新挂载后面添加新的属性,例如下面这个,重新挂载让/dev/sdb1这分区支持acl。

[[email protected] /]# mount -o remount,acl /mnt

[[email protected] /]# setfacl -m u:test:rw- /mnt/fstab

[[email protected] /]# getfacl /mnt/fstab

可以使用tune2fs来更改文件系统的选项,让该文件系统支持acl的功能,这样即使mount -o 没加acl的选项依然支持acl,如:

[[email protected] /]# tune2fs -o acl /dev/sdb1

[[email protected] /]# tune2fs -l /dev/sdb1 |grep "Default mount"

Default mount options: user_xattr acl

ro:只读

rw:读写

dev/nodev:此设备是否允许创建设备文件

exec/noexec:此设备是否允许被执行程序文件

auto/noauto:此设备是否允许自动挂载

user/nouser:是否允许普通用户挂载文件系统

suid/nosuid:是否允许程序文件上的suit/guid权限生效

defaults: Use default options: rw, suid, dev, exec, auto, nouser, and async.

1-2.mount 的bind功能

可以实现将一个目录绑定到另外一个目录,作为其临时访问入口

[[email protected] etc]# mkdir /network

[[email protected] etc]# mount --bind /etc/sysconfig/network-scripts/ /network/

[[email protected] etc]# ls /network |grep ifcfg-eth0

ifcfg-eth0

[[email protected] etc]# umount /network/

[[email protected] etc]# ls /network |grep ifcfg-eth0

[[email protected] etc]# echo $?

1

1-3.查看当前系统下的mount选项

mount

cat /etc/mtab

cat /etc/proc/mounts

[[email protected] etc]# cat /proc/mounts

1-4.挂载特殊设备如光盘和iso文件

挂载光盘

mount -r /dev/cdrom /mnt

sr0是指sata接口的光驱设备

[[email protected] etc]# mount -r /dev/cdrom /media/

mount: 在 /dev/sr0 上找不到媒体

挂载本地的回环设备,如.iso或者.img等设备

mount -o loop /PATH/TO/SOME_LOOP_FILE MOUNT_POINT

1-5.umount的特殊情况处理

umount:如果卸载出现繁忙,有用户在访问,强行卸载 umount -lf

[[email protected] ~]# umount /mnt

umount: /mnt:目标忙。

(有些情况下通过 lsof(8) 或 fuser(1) 可以

找到有关使用该设备的进程的有用信息)

[[email protected] ~]# lsof /mnt

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

bash 1619 root cwd DIR 8,17 4096 2 /mnt

[[email protected] ~]# fuser -v /mnt

用户 进程号 权限 命令

/mnt: root kernel mount /mnt

root 1619 ..c.. bash

[[email protected] ~]# fuser -km /mnt

/mnt: 1619c

[[email protected] ~]# umount /mnt

2.swap文件的创建及启用

生产环境中sawp分区格外重要,特别是针对内存不够的服务器,当系统内存不够的时候,Kernel会将一部分睡眠状态的存储在内存的数据转储到swap分区当中,这样当转储完成后系统可以从内存空间释放这部分内存,

重新分配给需要内存的其他程序,所以swap分区也叫交换分区,值得注意的是交换分区的大小不是越大越好的,一般最大只能是内存的两倍,当内存足够大的时候,交换分区建议设置成和内存相同大小,因为交换分区

是直接使用硬盘的,当交换分区里的数据量太大很可能会出现性能瓶颈的。

2-1.mkswap 创建swap文件

mkswap 创建swap文件,用于增加swap分区的空间,如:

[[email protected] ~]# mkswap /dev/sdb1

mkswap: /dev/sdb1: warning: wiping old ext2 signature.

正在设置交换空间版本 1,大小 = 2096124 KiB

无标签,UUID=d869ebd3-e8f0-48a7-995a-f9d98862ec67

2-2.swapon,swapoff的用法

swapon和swapoff 分别用于启动和关闭swap文件,例如:

[[email protected] ~]# free -m |grep Swap

Swap: 1023 1 1022

[[email protected] ~]# swapon /dev/sdb1

[[email protected] ~]# free -m |grep Swap

Swap: 3070 1 3069

[[email protected] ~]# swapoff /dev/sdb1

[[email protected] ~]# free -m |grep Swap

Swap: 1023 1 1022

2-3.swap -a 的参数

-a 是自动挂载/etc/fstab里面设定了的swap分区,当/etc/fstab里定义好了,可以直接用swapon -a实现自动挂载swap文件。

3./etc/fstab 文件:

设定除根文件系统以外的其他文件系统能够开机时自动挂载,每行定义一个要挂载的文件系统及相关属性,其中fstab包含6个字段,字段的相关详解如下:

要挂载的设备:

设备文件

LABLE

UUID

伪文件系统:如sysfs,proc,tmpfs等

挂载点

swap 类型的文件挂载点为swap,其余的为自己设置的挂载点

文件系统类型

挂载选项

defaults,使用默认的挂载选项,centos7中的默认挂载选项有:rw, suid, dev, exec, auto, nouser, and async

如果有多个挂载选项,彼此之间以“,”相分隔,如:defaults,acl,noatime,noexec

转储频率

0: 从不备份;

1: 每天备份;

2: 每隔一天备份;

自检次序:

0: 从不自检

首先自检,通常用于根文件系统,其他文件系统不能用1,否则会到维护模式

次级自检

4.df命令

df 用于显示文件系统磁盘空间的使用情况,命令格式为:

df [OPTION]... [FILE]...

常见参数有:

-l: 仅显示本地文件系统的相关信息,网络文件系统则不显示

[[email protected] ~]# mount -t nfs 10.211.55.241:/home/test/1 /mnt

[[email protected] ~]# df -l |grep "/mnt"

[[email protected] ~]# df -h |grep "/mnt"

10.211.55.241:/home/test/1 30G 12G 18G 40% /mnt

-h: 常见的格式显示出大小(例如:1K 234M 2G)

[[email protected] ~]# df -k |grep "/mnt"

10.211.55.241:/home/test/1 30705152 11980800 18724352 40% /mnt

[[email protected] ~]# df -h |grep "/mnt"

10.211.55.241:/home/test/1 30G 12G 18G 40% /mnt

-i 显示inode的使用状态而非blocks的使用状态

[[email protected] ~]# df -i |head -n 2

文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点

/dev/mapper/centos_centos7--tmp-root 15360000 144235 15215765 1% /

5.du命令

显示指定的文件已使用的磁盘空间的总量,包括在层次结构中以 这些以指定文件为根的目录在内。这里的“已使用的磁盘空间”意思 为指定的文件下的整个文件层次结构所使用的空间。

在没给定参数的情况下,du 报告当前目录所使用的磁盘空间,命令格式为:

du [options] [file...]

常见参数有:

-s: sumary,显示目录时不是显示某个文件的大小,而是显示目录的总的大小

[[email protected] ~]# du -sh /usr

3.3G /usr

-h: 常见的格式显示出大小(例如:1K 234M 2G)

[[email protected] ~]# du -sh /etc

41M /etc

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值