linux(3)磁盘与文件系统管理/查看硬盘、内存空间/文件系统的操作/ 文件的压缩和打包

一.磁盘与文件系统管理

1.分区与文件系统
分区:记录每一个分区的开始柱面和结束柱面
主引导区(master boot recorder):记录分区的数据,记录硬盘里所有的分区信息
分区划分好后,要将分区格式化为系统可以识别的文件系统
磁盘的最小物理存储单位是:扇区
分区时格式化文件系统的最小存储单位:逻辑块,以扇区为基础,大小为2的n次方,但是一个块只能容纳一个文件
linux的ext2文件系统每个文件内容分为两部分:存储文件的属性(放在inode中),文件的内容(放在块中)

例:

读取文件系统的信息: dumpe2fs   /dev/sda1
数据读取:日志+元数据+数据存放区记录。CPU>主存储器(RAM)>硬盘,为加快速度,linux采用异步处理的方式,先从硬盘中读取文件时,会将块数据存到内存即主存储器的缓冲区中,若被修改,则变为脏数据,必须写回到硬盘中。
载入点:必须为目录,即进入文件系统的入口
linux支持的文件系统:
(1)传统文件系统:ext2,MS-DOS,FAT
(2)日志式文件系统:ext3,NTFS
(3)网络文件系统:NFS

2.文件系统的操作

(1)查看当前磁盘容量:(一般用 df -h )
df (disk free) -a 则多出/proc, 大小为0,放在内存中的 / -i 查看inode /df -h 文件名 查看文件使用情况
(2)查看各个文件容量(du -k/m/a/)
(3)创建连接文件 ln -s /bin/huhu /huhu ,则进入/huhu后实际读取的是/bin/huhu 下的内容
(4)分区: fdisk -l 设备名称(不要加数字,分区针对整个硬盘设备,而不是某个分区)
删除分区:d 选择分区号 p 查看分区信息
(5)磁盘格式化:mke2fs 设备名称

3.创建虚拟内存swap(/dev/zero,是一个输入设备,你可你用它来初始化文件.)
(1)使用dd命令,在/tmp目录下创建一个64M的文件
dd if=/tmp/zero of=/tmp/swap bs=4k count=16382
[[email protected] /]$ dd if=/dev/zero of=/tmp/swap bs=4k count=16382
16382+0 records in
16382+0 records out
67100672 bytes (67 MB) copied, 9.66832 s, 6.9 MB/s
dd:转换命令并且复制
if:要转换的输入文件格式
of:输出的文件
bs:一个分区的大小
count:有多少个分区,即bs
(2)使用mkswap将/tmp/swap的文件格式转化为虚拟内存的格式
mkswap /tmp/swap

[[email protected] /]$ mkswap /tmp/swap
mkswap: /tmp/swap: warning: don‘t erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1, size = 65524 KiB
no label, UUID=ce0a57a9-de6e-4714-bbd6-c4e81f8264de

(3)使用swapon启动/tmp/swap (可以用free查看内存使用情况)
swapon /tmp/swap
(4)swapoff /tmp/swap 关闭swap文件

二. 文件的压缩与打包(注意:当使用gzip或者bzip2不加参数压缩时,源文件都消失,但是tar时源文件和目的文件都存在)
常见的压缩文件的名字:(tar主要是为了备份重要的文件,dd可以备份整个磁盘和分区)
(1)*.bz2:bz2程序文件压缩的文件
(2)*.gz:gzip程序压缩的文件
(3)*.tar:tar程序打包的数据,并没有压缩过 (tar程序可以将多个文件打包成一个文件(或目录))
(4)*.tar.gz:tar程序打包的数据而且用gzip压缩过。
(5)*.Z:使用compress程序压缩的文件
1. gzip/zcat
gzip a(文件名) :将文件 a打包为a.gz,原来的不存在
zcat a.gz:查看压缩文件的内容
gzip -d a.gz (解压缩):将a.gz解压为a ,原来的压缩文件不存在
gzip -c a(文件名)>新的压缩文件名 : 将文件 a打包为a.gz,原来的仍存在,以数据流重导向进行处理
也可以用gzip -d a.gz >b 此时出现a和b两个文件
gzip -(1-9) 文件名:压缩等级,9最好但慢,一般为6
2. bzip2/bzcat/bunzip2
(1)bzip2 文件名 > 新文件名 压缩并重命名
(2)bzcat *.bz2 查看压缩文件内容
[[email protected] Desktop]$ bzcat d.txt.bz2
i miss you ~
(3)bzip2 -d *.bz2 解压缩 或者用 bunzip2 压缩文件 也可以
3. tar (参数必须用f结尾,前三个参数不能同时存在,一般为 cvf,xvf,tvf)
(1)-c 压缩
(2)-x 解压
(3)-t 查看tar的文件
(4)-v 压缩的过程中显示文件名如下所示
[[email protected] Desktop]# tar -cvf fee.txt.tar fee.txt
fee.txt
[[email protected] Desktop]# tar -cvf yy.tar yy
yy/
yy/d.txt
(5)-f 使用文件名,一般后面直接加文件名
(6)-z 用gzip方式压缩
(7)-j 用bzip2的方式压缩
(8)-p 使用源文件的原来属性
(9)-P 使用绝对路径来压缩
(10)-N ‘2016/02/14‘ 比时间新的才会打包
(11)--exclude file 打包时不打包这个文件 --exclude 文件名 -gcvf
例子:
(1)把yy文件夹打包成yy.tar
[[email protected] Desktop]$ tar -cvf yy.tar yy
yy/
yy/fee.txt
yy/y/
yy/d.txt
(2)查看已打包文件的内容
[[email protected] Desktop]$ tar tvf yy.tar
drwxrwxr-x yuanyuan/yuanyuan 0 2016-01-26 17:49 yy/
-rw-rw-r-- yuanyuan/yuanyuan 10240 2016-01-26 02:11 yy/fee.txt
drwxrwxr-x yuanyuan/yuanyuan 0 2016-01-26 17:49 yy/y/
-rwxrwxr-x yuanyuan/yuanyuan 47 2016-01-26 00:39 yy/d.txt
(3)解压打包文件
[[email protected] Desktop]$ tar xvf yy.tar
yy/
yy/fee.txt
yy/y/
yy/d.txt
(4)用gzip工具对yy进行打包
[[email protected] Desktop]$ tar -zcvf yy.tar.gz yy
yy/
yy/fee.txt
yy/y/
yy/d.txt
(5)对gzip打包备份的文件解压
[[email protected] Desktop]$ tar -zxvf yy.tar.gz
yy/
yy/fee.txt
yy/y/
yy/d.txt
(6)用bzip2工具对 yy 进行打包为 y1y.tar.gz
[[email protected] Desktop]$ tar -jcvf y1y.tar.gz yy
yy/
yy/fee.txt
yy/y/
yy/d.txt
(7) 打包yy后直接解压,不产生中间文件
tar -cvf - yy | tar -xvf -
4.dd (除了复制,最大的用处是备份)
dd if=输入文件 of =输出文件 bs=(块大小,默认为 512字节) count=bs数
(1)备份/dev/hda的MBR
dd if=/dev/hda of=/tmp/mbr.back bs=512 count=1
(2)备份/dev/hda1整个分区
dd if=/dev/hda1 of=/some/path/文件名
of路径不能在if的目录中,要不然一直循环!!!

时间: 2024-10-11 00:55:55

linux(3)磁盘与文件系统管理/查看硬盘、内存空间/文件系统的操作/ 文件的压缩和打包的相关文章

chapter8:Linux磁盘与文件系统管理之(1)认识Ext2文件系统

8.1认识EXT2文件系统 8.1.1 硬盘的组成与分区 8.1.2 文件系统的特性 8.1.3 Ext2文件系统(inode) 8.1.4   与目录树的关系 8.1.5   Ext2/Ext3文件的访问与日志功能 8.1.6    Linu文件系统的操作 8.1.7    挂载点 8.1.8    其它Linux支持的文件系统与VFS

第8章 文件系统管理(1)_文件系统和常用命令

1. 文件系统 (1)ext2文件系统 ext2是ext文件系统的升级版本,RedHat Linux7.2版本以前的系统默认都是ext2文件系统.1993年发布,最大支持16TB的分区和最大2TB的文件(1TB=1024GB=1024*1024KB) (2)ext3文件系统 ext3文件系统是ext2文件系统的升级版本,最大的区别就是带日志功能,以在系统突然停止时提高文件系统的可靠性.支持最大16TB的分区和最大2TB的文件. (3)ext4文件系统 它是ext3文件的升级版.ext4在性能.伸

文件系统管理之分区与创建文件系统

对于机械式磁盘,首先会经过生产厂商的低级格式化(划分磁道的过程),然后需要创建分区(根据柱面划分),最后经过高级格式化(格式化成使用的文件系统),再挂载(将设备关联至根文件系统),之后就可以正常的使用这个磁盘设备了 分区命令:fdisk 这个命令是一个交互式命令 fdisk -l [device] 查看当前系统所有磁盘设备(或某磁盘设备)上的分区,输出内容形似: 可以看出,分区是根据柱面划分的 fdisk device 实现对某设备进行分区相关操作 进入交互式模式之后,使用m子命令可以查看可以使

python 中文件输入输出及os模块对文件系统的操作

整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2.对打开文件进行读取时,readline()与readlines()的区别在于是否一次性的读取所有的内容,并将每行的信息作为列表中的一个子项. 例如:文件test.txt中 1,3,4 2,35,6 分别用readline与readlines对其进行读取 r=file_object.readline(

磁盘及文件系统管理之硬盘结构

磁道 当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道(Track). 柱面 在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面(Cylinder). 扇区 磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区(Sector).硬盘的第一个扇区,叫做引导扇区. MBR ----> GPT:全局唯一标识分区表(GUID Partition Table) 主引导记录(Master Boot Record,缩

Linux下如何备份恢复和查看硬盘MBR与分区表

主引导记录(Master Boot Record,MBR),位于一个硬盘的0柱面.0盘面.1扇区,共512字节.具体划分依次为:引导代码区440字节.磁盘签名4字节.空白(Ox0000)2字节.MBR分区表(Disk Partition Table,DPT)64字节.结束标志(Ox55AA)2字节.其中的MBR分区表(DPT)区别于另一种"全局唯一标识分区表(GUID Partition Table,GPT)".本文今天仅讨论MBR及DPT. 废话不多说了,下面先介绍如何备份.恢复MB

Linux磁盘分区及文件系统管理之基础概念

设备文件关联至设备的驱动程序,是设备的访问入口 设备号Major 主设备号,区分设备类型,用于标明设备所需要的驱动程序Minor 次设备号,区分同种类型下的不同设备 创建设备文件mknod 每一个设备就是一个节点. 查看设备10代表的是主设备号175,235,260代表的次设备号. 引用磁盘设备的方式1.设备名称 2.卷标 3.UUID 磁盘设备1.IDE 设备名称为:/dev/hd[a-z]2.SCSI.SATA.USB.SAS设备名称为:/dev/sd[a-z]如果磁盘设备有分区该如何标识?

磁盘和文件系统管理

我们知道一块磁盘是可以被分区成多个分区的(partition),以Windows的观点来看,你可能会有一颗磁盘并且将他分区成为C:, D:, E:盘,那个C, D,E就是分区.Linux的设备都是以文件的型态存在,磁盘设备接口的不同也早就了磁盘文件名的不同.即IDE接口的磁盘设备文件名都是/dev/hd[a-z]的格式,例如:/dev/hda./dev/hdb.SCSI, SATA, SAS, USB接口的磁盘设备文件名都是:/dev/sd[a-z],例如sda.sdb,磁盘设备的命名主要是根据

磁盘及文件系统管理-小结

回顾:磁盘,磁盘分区,fs Centos6,7:/dev/sd[a-z[# 管理分区:fdisk,parted,sfdisk 创建文件系统: Linux fs类型:ext2,ext3,ext4,xfs,reiserfsf,iso9660,swap 文件系统的组织结构中的术语: block groups,block,inode table,inode,inode bitmap,block bitmap block groups:内部分为元数据区和数据区 block groups包括blocks,