Linux文件系统管理

目录

Linux文件系统管理

一、Linux文件系统特性:

二、linux常见文件系统:

三、常用的硬盘管理命令:

1、df命令:

2、du命令:

3、fsck 文件系统修复命令

4、显示磁盘状态 dumpe2fs

5、查看文件的详细时间:stat 文件名

         6、判断文件类型

四、fdisk 命令手工分区

1、查看系统所有硬盘及分区

 2、 fdisk      /dev/sdb  进行磁盘分区(分区还没有分区号)

 3、格式化分区、建立文件系统

 4、建立挂载点、挂载硬盘

 5、查看系统已经挂载的分区

 6、自动挂载分区

六、parted 命令分区

1、parted 交互模式命令格式:

   2  建立分区  

2.1  修改分区表命令:mkladel gpt

2.2  建立文件系统分区命令:mkpart

  3、分配swap分区:


Linux文件系统管理

一、Linux文件系统特性:

      super  block(超级块):记录整个文件系统的信息,包括 block 与 inode 的总量,已经使用的 inode 和 block 的数量,未使用的 inode 和 block 的数量,block 与 inode 的大小,文件系统的挂载时间,最近一次的写入时间,最近一次的磁盘检验时间等。

       date  block(数据块,也称作  block):用来实际保存数据的(柜子的隔断),block  的大小(1KB、2KB 或 4KB)和数量在格式化后就已经决定,不能改变,除非重新格式化。每个blcok 只能保存一个文件的数据,要是文件数据小于一个 block 块,那么这个 block 的剩余空间不能被其他文件是要;要是文件数据大于一个 block 块,则占用多个 block 块。

      inodei  节点,标签):用来记录文件的权限(rwx),文件的所有者和属组,文件的大小,文件的状态改变时间,文件的最近一次读取时间,文件的最近一次修改时间,文件的数据真正保存的  block  编号。每个文件需要占用一个 inode

二、linux常见文件系统:

文件

系统

 描        述
ext4

ext4向下兼容 ext3、最大 1EB 文件系统和 16TB 文件、无限数量子目录、Extents 连续数据块概念、多块分配、延迟分配、持久预分配、快速 FSCK、日志校验、无日志模式、在线碎片整理、inode 增强、默认用 barrier 等。它是 CentOS6.x 的默认文件系统。

xfs

XFS 最早针对 IRIX 操作系统开发,是一个高性能的日志型文件系统,能够在断电以及操作系统崩溃的情况下保证文件系统数据的一致性。它是一个  64  位的文件系统,,目前 CentOS  7.x  XFS+LVM 作为默认的文件系统。

swap

swap  Linux 中用于交换分区的文件系统(类似于 Windows 中的虚拟内存),当内存不够用时,使用交换分区暂时替代内存。一般大小为内存的 2 倍,但是不要超过 2GB,它是 Linux 的必需分区。

NFS

NFS 是网络文件系统(Network File System)的缩写,是用来实现不同主机之间文件共享的一种网络服务,本地主机可以通过挂载的方式使用远程共享的资源。

iso9660光盘的标准文件系统。
vfat

就是 Windows 下的 fat32 文件系统,在 Linux 中识别为 vfat。支持最大 32GB 的分区和最大 4GB 的文件

NTFS

就是 Windows 下的 NTFS 文件系统,不过 Linux 默认是不能识别 NTFS 文件系统的,如果需要识别,则需要重新编译内核才能支持。它比 fat32 文件系统更加安全,速度更快,支持最大 2TB 的分区和最大 64GB 的文件

procLinux 中基于内存的虚拟文件系统,用来管理内存存储目录/proc
sysfs proc 一样,也是基于内存的虚拟文件系统,用来管理内存存储目录/sysfs
tmpfs也是一种基于内存的虚拟文件系统,不过也可以使用 swap 交换分区

三、常用的硬盘管理命令:

 1、df命令:

[root@localhost  ~]#  df  –ahT
#-a   显示特殊文件系统,这些文件系统几乎都是保存在内存中的。如/proc,因为是挂载在内存中,所以占用量都是 0
#-h  单位不再只用 KB,而是换算成习惯单位
#-T   多出了文件系统类型一列

2、du命令:

[root@localhost  ~]#  du  [选项]  [目录或文件名]
选项:
-a	显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量
-h	使用习惯单位显示磁盘占用量,如 KB,MB 或 GB 等
-s	统计总占用量,而不列出子目录和子文件的占用量

     注意:du  df 的区别:du 是用于统计文件大小的,统计的文件大小是准确的;df 是用于统计空间大小的,统计的剩余空间是准确的。

 3fsck 文件系统修复命令

[root@localhost  ~]#  fsck  –y  /dev/sdb1
#自动修复

4、显示磁盘状态 dumpe2fs

 5、查看文件的详细时间:stat 文件名

 6、判断文件类型

#file     文件名        判断文件类型

[root@localhost ~]# file install.log.syslog 
install.log.syslog: ASCII text


# type     命令名        判断命令类型

[root@localhost ~]# type cd
cd is a shell builtin

四、fdisk 命令手工分区

1、查看系统所有硬盘及分区

fdisk	-l
查看系统所有硬盘及分区

2、 fdisk      /dev/sdb  进行磁盘分区(分区还没有分区号)

[root@localhost ~]# fdisk /dev/sdb

# fdisk /dev/sdb 建立分区步骤

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): 

#fdisk交互命令

fdisk交互指令说明

命令说         明
a

设置可引导标记

b编辑bsd磁盘的标签
c设置DOS操作系统兼容标记
d删除一个分区
l显示系统所有已挂载硬盘
显示帮助菜单
n新建分区
o建立空白DOS分区表
p显示分区列表
q不保存退出
s新建空白SUN磁盘标签
t改变一个分区系统ID
u改变显示记录单位
v验证分区表
w保存退出
附加功能

建立分区步骤:

   n---p ----1 分区号----1 起始柱面-----分区大小+n(数字)(G代表你想要的分区的大小)

   n---e 扩展---2 分区号----- 起始柱面----结束柱面(所有剩余空间都分配给扩展分区)

n---l 逻辑---不用指定分区号---124 起始柱面(不用分配)----+n(数字)(G代表分区的大小)----w

      注意:Linux系统中硬盘1~4分区号是保留下来给主分区和扩展分区使用,逻辑分区不可以占用1-4分区编号。 

 3、格式化分区、建立文件系统

mkfs -t ext4 /dev/sdb1
mkfs -t ext4 /dev/sdb5

  4、建立挂载点、挂载硬盘

 5、查看系统已经挂载的分区

#用来查看是否新建硬盘的分区已经挂载

[root@localhost ~]# fdisk -l

[root@localhost ~]# mount

[root@localhost ~]# df -h

 

6、自动挂载分区

            修改分区自动挂载文件:vim  /etc/fstab

UUID=332a8e9d-95ba-4183-91e5-893a7fb42bfe  /disk5       ext4    defaults       1 2 
#采用UUID更安全,更好,因为下面的方式更硬盘后相同的文件名称有可能导致系统崩溃的风险。
/dev/sdb1                    /disk1                     ext4    defaults       1 2

解释:第一列:设备文件名      第二列:挂载点   第三列:文件系统       第四列:挂载选项

第五列:     1       是否可以被备份                0 不备份           1 每天备份  2不定期备份

第六列:      2       是否检测磁盘 fsck           0 不检测           1 启动时检测 2 启动后检测

 查询分区UUID可以用以下命令:

[root@localhost  ~]#  dumpe2fs  /dev/sdb5
#或
[root@localhost  ~]#  ls  -l  /dev/disk/by-uuid/

 重启测试

 如果/etc/fstab/错误,修复步骤如下:      

         第一步根据提示输入root密码,第二步因为没有写权限,需要用命令:

[root@localhost  ~]#  mount  -o  remount,rw  /
#获取读写权限

然后重新把分区挂载,现在可以修正/etc/fstab/文件的错误。

六、parted 命令分区

        Linux 系统中有两种常见的分区表 MBR 分区表(主引导记录分区表)和 GPT 分区表(GUID 分区表),其中:

       MBR 分区表:支持的最大分区是 2TB1TB=1024GB);最多支持 4 个主分区,或 3 个主分区 1个扩展分区。

      GPT 分区表:支持最大 18EB 的分区(1EB=1024PB=1024*1024TB);最多支持 128 个分区,其中 1 个系统保留分区,127 个用户自定义分区。

     parted 命令也有点缺点,就是命令只能格式化成 ext2 文件系统,不支持ext3、ext4 文件系统。

1、parted 交互模式命令格式:

[root@localhost  ~]#  parted  /dev/sdb
#划分/dev/sdb 硬盘
parted 交互命令                     
check  NUMBER做一次简单的文件系统检测
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER复制文件系统到另外一个分区
help  [COMMAND]显示所有的命令帮助

mklabel,mktable  LABEL-TYPE

创建新的磁盘卷标(分区表)
mkfs  NUMBER  FS-TYPE在分区上建立文件系统
mkpart  PART-TYPE  [FSTYPE]  START  EN创建一个分区
mkpartfs  PART-TYPE  FS-TYPE  START  END创建分区,并建立文件系统
move  NUMBER  START  END移动分区
name  NUMBER  NAME给分区命名
print  [devices|free|list,all|NUMBER]显示分区表,活动设备,空闲空间,所有分区
quit退出
rescue  START  END修复丢失的分区
resize  NUMBER  START  END修改分区大小
rm  NUMBER删除分区
select  DEVICE选择需要编辑的设备
set  NUMBER  FLAG  STATE改变分区标记
toggle  [NUMBER  [FLAG]]切换分区表的状态
unit  UNIT设置默认的单位
Version显示版本

   2  建立分区  

          查看分区交互命令显示解释:print

(parted)  print
#输入 print 指令
Model:  VMware,  VMware  Virtual  S  (scsi)	           
#硬盘参数,是虚拟机啊
Disk  /dev/sdb:  21.5GB	硬盘大小
Sector  size  (logical/physical):  512B/512B	
#扇区大小
Partition  Table:  msdos	#
分区表类型,就是 MBR 分区表

Number   Start	End	Size	Type	File  system	标志
1	32.3kB   5379MB   5379MB   primary
2	5379MB   21.5GB   16.1GB   extended
5	5379MB   7534MB   2155MB   logical	ext4
6	7534MB   9689MB   2155MB   logical	ext4
#看到1 分区没有格式化,2 分区是扩展分区不能格式化

使用 print 可以查看分区表信息总共七列,分别是:

Number:分区号         Start:分区起始位置     End:分区结束位置      Size:分区大小 

Type:分区类型           File  system:文件系统类型。  标志:Flags,就是分区的标记。

2.1  修改分区表命令:mkladel gpt

parted)  mklabel  gpt
#修改分区表命令
警告:  正在使用  /dev/sdb  上的分区。	
#由于/dev/sdb 分区已经挂载,所以有警告注意如果强制修改,原有分区及数据会消失
忽略/Ignore/放弃/Cancel?  ignore
#输入 ignore 忽略报错
警告: The existing disk label on /dev/sdb will be destroyed and all data on this disk will
be  lost.  Do  you  want  to  continue?
是/Yes/否/No?  yes	
#输入 yes
警告: WARNING: the kernel failed to re-read the partition table on /dev/sdb (设备或资源
忙).	As  a  result,  it  may  not  reflect  all  of
your  changes  until  after  reboot.	#
#下次重启后,才能生效

        注意:如果分区没有大于2TB,这步可以不执行,而且一定要把/etc/fstab文件中和原有分区内容删除掉,才能重启动,不要系统启动一定会报错。 

2.2  建立文件系统分区命令:mkpart

(parted)  mkpart
#输入创建分区命令,后面不要参数,全部靠交互指定
分区名称?	[]?  disk1	
#分区名称起名叫 disk1
文件系统类型?	[ext2]?	
#文件系统类型,直接回车,使用默认 ext2
起始点?  1MB	
#分区从 1MB 开始
结束点?  5GB	
#分区到 5GB 结束
#分区完成

格式化:

 转换分区格式为ext4:

3、分配swap分区:

   输入命令:fdisk  /dev/sdb——输入交互命令(t)——选择分区——修改分区系统ID82)——保存w

[root@localhost ~]# umount  /disk1
[root@localhost ~]# fdisk /dev/sdb

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 82

Command (m for help): w

 挂载swap分区

[root@localhost ~]# mkswap /dev/sdb1
Setting up swapspace version 1, size = 20971512 KiB
no label, UUID=89f12e5c-9f15-4ecf-a314-01a0b4039994

 挂载激活sawp分区:

[root@localhost ~]# swapon /dev/sdb1

 自动挂载sawp分区

  内存使用情况:free

语法
free(选项)

选项
-b # 以Byte为单位显示内存使用情况;
-k # 以KB为单位显示内存使用情况;
-m # 以MB为单位显示内存使用情况;
-g # 以GB为单位显示内存使用情况。 
-o # 不显示缓冲区调节列;
-s<间隔秒数> # 持续观察内存使用状况;
-t # 显示内存总和列;
-V # 显示版本信息。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值