linux如何压缩磁盘,Linux初级运维(十二)——磁盘及文件系统管理

一、磁盘管理

1、 机械式硬盘:

U盘、光盘、软盘、硬盘、磁带

2、 格式化:(Partition) 创建文件系统

MBR:主引导记录 (512byte)

Master Boot Record

Main Boot Record

446bye:BootLoader, 是一个程序。引导加载器

64bytes:

16bytes:标识一个分区

2bytes:Magic Number

标记MBR是否有效。

3、硬连接和符号连接

硬连接:是指两个存储块指向一个引导号

符号连接:(又叫软连接)是指一个文件指向另外一个文件

创建连接  :ln [-s -v]  SRC (源文件)  DEST(目标文件)

ln SRC   DEST   硬连接

ln -s SRC DEST  软连接

硬链接特点:

1、只能对文件创建,不能应用于目录;

2、不能跨文件系统;

3、创建硬链接会增加文件被链接的次数;

符号链接:

1、可应用于目录;

2、可以跨文件系统;

3、不会增加被链接文件的链接次数;

4、其大小为指定的路径所包含的字符个数;

du:

-s  查看文件的大小

-sh  查看目录的总容量

df : 显示整个磁盘的分区情况

linux如何压缩磁盘,Linux初级运维(十二)——磁盘及文件系统管理_第1张图片

linux如何压缩磁盘,Linux初级运维(十二)——磁盘及文件系统管理_第2张图片

df -p -i

二、设备文件

b:块设备   按块为单位,随机访问的设备  (硬盘)

c:字符设备   按字符为单位,线性设备  (键盘)

/dev

主设备号:(major number)   标识设备类型

次设备号:(minor number)   标识同一种类型中不同设备

mknod

mknod [OPTION]... NAME TYPE [MAJOR MINOR]

-m MODE

硬盘设备的设备文件名:

IDE,ATA: hd

SATA:sd

SCSI:sd

USB:sd

a,b,c,...  来区别同一类型下的不同设备

IDE:

第一个IDE口:主、从

/dev/hda  , /dev/hdb

第二个IDE口:主、从

/dev/hdc , /dev/hdd

hda:

hda1:第一个分区

hda2:第二个分区

hda3:第三个分区

hda4:

hda5:第一个逻辑分区

查看当前系统识别了几块硬盘:  fdisk -l  [/dev/to/some_device_file]

linux如何压缩磁盘,Linux初级运维(十二)——磁盘及文件系统管理_第3张图片

三、Linux支持的文件系统

1、管理磁盘分区:

fdisk /dev/sda

p:显示当前硬件的分区,包括没有保存的改动

n:创建新分区

e:扩展分区

p:主分区

d:删除一个分区

w:保存退出

q:不保存退出

t:修改分区类型

L:

l:显示所有支持的所有类型

2、文件系统管理

格式化分区:重新创建文件系统会损坏原有文件

mkfs:make file systemc

-t FSTYPE

文件系统类型:

ext2

ext3

cat /proc/filesystems:查看当前内核所支持文件系统类型:

linux如何压缩磁盘,Linux初级运维(十二)——磁盘及文件系统管理_第4张图片

3、专门管理ext系列文件:

mke2fs:

-j:创建ext3 类型文件系统

-b BLOCK_SIZE : 指定块大小,默认为 4096  可以取值为 1024  或2048或4096

-L  LABEL:指定分区卷标

-m # :指定预留给超级用户的块数百分比

- i   #:用于指定为多少字节的空间创建一个 inode  默认为 8192  ,这里给出的数值应该为块大小的2^n 倍。

-N :指定inode个数;

-F :强制创建文件系统

-E:用户指定额外文件系统属性;

4、blkid:查询或查看磁盘设备的相关属性

UUID

TYPE

LABEL  :查看卷标

4caf4a844ef7594268b2b339ffdb19a6.png

e2label :用于查看或定义卷标

e2label  设备文件 卷标 :设定卷标

5、tune2fs:调整文件系统的相关属性

-j:不损害原有数据,将ext2 升级为ext3;

-L  LABEL:设定或修改卷标

-m # :调整预留百分比

-r # :指定预留多少块

-o :设定默认挂载选项;

-c # :指定挂载次数达到#次之后进行自检, 0或-1 表示关闭此功能

-i  # :每挂载使用多少天后进行自检,0或-1  表示关闭此功能

-l: 显示超级块中的信息;

dumpe2fs:显示文件属性信息

-h :只显示超级块的信息

fsck :检查并修复Linux文件系统

-t FSTYPE :指定文件系统类型

-a :自动修复

e2fsck :专用于修复ext2/ext3 文件系统

-f :强制检查;

-p:自动修复

四、挂载与卸载

挂载:将新的文件系统关联至当前根文件系统

卸载:将新的文件系统从当前根文件系统中移除。

mount:挂载

mount 设备 挂载点

设备:

设备文件: /dev/sda5

卷标:LABEL=“”

UUID: UUID=“”

挂载点:目录

1、此目录没有被其他进程使用

2、目录得事先存在

3、目录中的原有的文件将会被暂时隐藏。

mount:显示当前系统已经挂载的设备及挂载点

mount [options] [-o options] DEVICE MOUNT_POINT

-a:表示挂载/etc/fstab文件中定义的所有文件系统

-n:默认情况下,mount命令每挂载一个设备,都会把挂载的设备信息保存至/etc/mtab文件;使用-n选项意味着挂载设备时,不把信息写入此文件。

-t FSTYPE:指定正在挂载设备上的文件系统的类型;不适用此选项事, mount会调用blkid命令获取对应文件系统的类型;

-r:只读挂载,挂载光盘时,常用此选项。

-w:读写挂载,一般默认是读写挂载

-o:指定额外的挂载选项,也既指定文件系统启用的属性;

remount:重新挂载当前文件系统

ro:挂载为只读

rw:读写挂载

挂载完成后,要通过挂载点访问对应文件系统上的文件。

umount:卸载某文件系统

umount 设备

umount  挂载点

卸载注意事项:

挂载的设备没有进程使用;

练习题:

1、调整其预留百分比为3%

tune2fs -m 3 -L DATA /dev/sda7

2、以重新挂载的方式挂载此文件系统为不更新访问时间戳,并验证其效果

stat /backup/inittab

cat /backup/inittab

stat

mount -o remount,noatime /backup

cat

stat

3、对此文件系统强行做一次检测

e2fsck -f /dev/sda7

4、删除复制而来的所有文件,并将此文件系统重新挂载为同步(sync);而后在此复制/etc目录中的所有文件至此挂载点,体验其性能变化:

rm -rf /dev/sda7

mount -o remount,sync /backup

cp -r /etc/* /backup

五、swap分区

free -m

fdisk命令中,调整分区类型为82:

创建交换分区:

mkswap /dev/sda8

-L  LABEL

swapon /dev/sda8  :启用这个分区的swap

swapoff /dev/sda8 :停用这个分区的swap

回环设备:

loopback:使用软件来模拟实现硬件

dd命令:转化并复制一个文件

if=输入数据的来源

of=数据存储目标

bs-1

count=2

seek=# :创建数据文件时,跳过的空间大小;

dd if=/dev/sad of=/mnt/usb/mbr.backup bs=512 count=1

dd if =/mnt/usb/mbr.backup of=/dev/sda bs=512 count=1

cat /dev/cdrom > /root/rhe15.iso  制作镜像

mount命令:可以挂载iso镜像:

mount  DEVICE MOUNT_POINT

-o loop: 挂载本地回环设备,因此可以挂载镜像

mount /dev/sda5 /mnt/test

文件系统的配置文件: /etc/fstab

linux如何压缩磁盘,Linux初级运维(十二)——磁盘及文件系统管理_第5张图片

os在初始时,会自动挂载此文件中定义的每个文件系统

要挂载的设备    挂载点   文件系统类型   挂载选项   转储频率(每多少天做一次完全备份)   文件系统检测次序(只有根可以为1,0表示不检查)

/dev/sda5       /mnt/test     ext3          defaults    0     0

mount -a :挂载/etc/fstab 文件中定义的所有文件系统

fuser:验证进程正在使用的文件或套接字文件

-v:查看某文件上正在运行的进程

-k:

-m

fuser -km MOUNT_POINT :终止正在访问此挂载点的所有进程。

练习:

1、创建一个5G的分区,文件系统为ext3,卷标为MYDATA,块大小为 1024,预留管理空间为磁盘分区的3%,要求开机后可以自动挂载至/data目录,并且自动挂载的设备要使用卷标进行引用:

2、创建一个本地回环文件/var/swaptemp/swapfile来用于swap,要求大小为 512MB,卷标为SWAP—FILE ,且开机自动启用此交换设备:

mkdir /var/swaptemp

dd if=/dev/zero of=/var/swaptemp/swapfile bs=1M count=512

mkswap LABLE=SWAP-FILE /var/swaptemp/swapfile

/etc/fstab

/var/swaptemp/swapfile     swap   swap    defaults   0   0

3、上述第一问,如何让其自动挂载的同时启用ACL功能:

/etc/fstab

LABEL=‘MYDATA’     /data    ext3    defaults,acl   0   0

六、压缩、解压缩命令

压缩格式:gz ,bz2 ,xz ,zip ,Z

压缩算法:算法不同,压缩比也会不同

gzip: .gz

gzip  /PATH/TO/SOMEFILE : 压缩完成后会删除原文件

-d:表示解压缩,相当于 gunnzip

-# :1-9 ,指定压缩比,默认是6

gunzip:

gunzip  /PATH/TO/SOMEFILE.gz :解压完成后会删除原文件

zcat /PATH/TO/SOMEFILE.gz  : 不解压的情况下,查看文件的内容

bzip2 : .bz2

比gzip有着更大压缩比的压缩工具,使用格式近似

bzip2 /PATH/TO/SOMEFILE

-d:解压缩

-#:1-9,默认是6

-k:压缩时保留原文件

bunzip2 /PATH/TO/SOMEFILE.bz2

bzcat /PATH/TO/SOMEFILE.bz2 :不解压的情况下,查看文件的内容

xz:  .xz

xz  /PATH/TO/SOMEFILE

-d:表示解压缩

-# :1-9,默认是6

-k :压缩时保留原文件

unxz:表示解压缩

xzcat:表示不解压查看文件内容

zip:既归档又压缩的工具

zip FILENAME.zip  FILE1  FILE2 ... : 压缩后不删除源文件

unzip FILENAME.zip

archive: 归档,归档本身并不意味着压缩

tar:归档工具, .tar

-c:创建归档文件

-f FILE.tar  :操作的归档文件

-x :展开归档,还原归档

--xattrs :归档时,保留文件的扩展性信息

-t :不展开归档,直接查看归档了哪些文件

-zcf:归档并调用gzip压缩

-zxf:调用gzip解压缩并展开归档

练习:写一个脚本

从键盘让用户输入几个文件,脚本能够将此几个文件归档压缩成一个文件:

read:

-p “PROMPT”:给出提示

linux如何压缩磁盘,Linux初级运维(十二)——磁盘及文件系统管理_第6张图片

七、while语句

脚本编程:

顺序结构

选择结构

if

case

循环结构

for

while

until

while循环: 适用于循环次数未知的场景

语法:

while CONDITION;do

statement

...

done

练习: 显示一个菜单给用户:

d|D) show disk usages。

m|M) show memory usages。

s|S) show swap usages。

*)quit

当用户给定选项后显示相应的内容:

linux如何压缩磁盘,Linux初级运维(十二)——磁盘及文件系统管理_第7张图片

扩展:当用户选择完成,显示相应信息后,不推出,而让用户再一次选择,再次显示相应内容;除了用户使用quit:

linux如何压缩磁盘,Linux初级运维(十二)——磁盘及文件系统管理_第8张图片

你可能感兴趣的:(linux如何压缩磁盘)