Linux学习文档(12):磁盘管理、文件系统管理、压缩工具

Linux磁盘管理

I/O Ports:I/O设备地址

一切皆文件:
    open(),read(),write(),close()

    块设备:block,存取单位"块"
    字符设备:char,存取单位"字符"

    设备文件:关联至一个设备的驱动程序,进而能够跟与之对应的硬件设备进行通信

        设备号码:
            主设备号:标识设备类型
            次设备号:标识同一类型下的不同设备

        硬盘接口类型:
            并口:
                IDE :133MB/s
                SCSI:640MB/s
            串口:
                SATA:6Gbps/s
                SAS :6Gbps/s
                USB :480MB/s


        /dev/DEV_FILE
            磁盘设备的设备文件命名:

            SCSI,SATA,SAS,USB:/dev/sd
                不用设备:a-z
                    /dev/sda,/dev/sdb,...
                同一设备上的不同分区:1,2,3....
                    /dev/sda1,/dev/sda5...

        机械式硬盘:
            track:磁道
            cylinder:柱面
            secotr:扇区
                512字节

            如何分区:
                按柱面

            0磁道0扇区:512字节
                MBR(主引导记录):
                    446自己:引导加载器
                    前64个字节存储分区表
                        16bytes:标识一个分区
                    2字节:55AA

                    4个主分区(/dev/sda1,2,3,4):
                        3主分区+1扩展(N个逻辑分区,逻辑分区从5开始编号)

分区管理工具:fdisk,parted,sfdisk...
    fdisk:对于一块儿硬盘来讲,最多只能管理15个分区

    # fdisk -l       #查看硬盘分区状态
    # fdisk device   #device指的是要操作的硬盘,比如/dev/sda,/dev/sdb..
        子命令:
            p   #显示已存在分区
            n   #创建新分区
            d   #删除指定分区
            w   #写入磁盘并退出
            q   #不保存退出
            m   #获取帮助
            l   #列出所有分区ID

    查看内核是否已经识别新的分区:
        cat /proc/partations

    如果发现在文件中未发现新分区,使用以下操作重新读取硬盘分区表
        partx -a /dev/DEVICE
            -n M:N

Linux文件系统管理:

Linux文件系统:ext2,ext3,ext4,xfs
    swap:交换分区
    光盘:iso9660
Windows:fat32,ntfs
网络文件系统:NFS,CIFS
集群文件系统:GFS2,OCFS2
分布式文件系统:ceph
    mossefs,mogilefs,GlusterFS,Lustre

根据其是否支持"journal"功能:
    日志型文件系统  :ext3,ext4,xfs,...
    非日志型文件系统:ext2,vfat

文件系统的组成部分:
    内核中的模块:ext4,xfs,vfat
    用户空间管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat

Linux的虚拟文件系统:VFS

创建文件系统:
    /proc/filesystems        #当前文件系统所支持的文件系统类型存放位置,没写nodev的是正在使用的文件系统
    mkfs命令:
        (1) mkfs.FS_TYPE [OPTION] /dev/DEVICE
                FS_TYPE:ext4,xfs,btrfs,vfat

        (2) mkfs -t FS_TYPE /dev/DEVICE
                -t:指定文件系统类型
                -L 'LABEL' :设定卷标

        mke2fs:ext系列文件系统专用管理工具
                -t {ext2|ext3|ext4} :指定文件系统类型,只能指定ext系列的文件系统
                -b {1024|2048|4096} :指定块大小
                -L 'LABEL':卷标
                -j  :相当于 -t ext3
                -i #:指定比例关系,为数据空间每多少个字节创建一个inode,此大小不应该小于block大小
                -N #:为数据空间创建多少个inode
                -m #:为管理人员预留的空间占据的百分比
                -O FEATURE[,...]:启用指定特性
                    -O ^FEATURE:关闭指定特性

查看分区属性信息:
    blkid [OPTION]... [分区名称]         #也可以什么都不跟,默认查看到的是所有的分区属性信息
        -U UUID:根据UUID查找对应设备
        -L LABLE:根据卷标查找对应设备
            例:
                blkid /dev/sda1
            LABEL:卷标,分区描述
            UUID:全局唯一标识符
            TYPE:文件系统类型

压缩工具

(1) compress [OPTION] FILE ...(很少有人使用)                  #不加任何选项可压缩,会删除源文件
        -d:解压缩,相当于uncompress
        -c:将压缩结果打印到屏幕上,可结合重定向保留源文件进行压缩
            例:compress -c test.txt > test.txt.Z
        -v:显示详情

(2) gzip [OPTION]... FILE ...
        -d:解压缩,相当于gunzip
        -c:将压缩或解压缩的结果输出至屏幕
        -#:1-9,手动指定压缩比例,值越大压缩比就越大,默认为6

(3) bzip2 [OPTION]... FILE ...
        -d:解压缩,相当于bunzip2
        -k:压缩并保留源文件
        -#:1-9,手动指定压缩比例

(4) xz [OPTION]... FILE ...
        -d:解压缩,相当于unxz
        -k:压缩并保留源文件
        -#:1-9,手动指定压缩比例

(5) zip [OPTION]... FILE ...
        -r:指定文件夹,压缩文件夹
        例:zip -r /testdir/sysconfig /etc/sysconfig/   #将/etc/sysconfig目录压缩到/testdir/sysconfig,会自动添加.zip后缀
    unzip FILENAME:解压缩

tar工具

语法:
    tar [OPTION]... [FILE]....
        -c:创建打包文件
        -f:打包的文件
        -v:查看打包过程
        -C:展开tar包到指定位置
        -t:预览

    (1) 创建归档
        tar -c -f 打包后的文件名.tar FILE...
            例:tar -cvf /app/sysconfig.tar /etc/sysconfig     #将/etc/sysconfig目录打包到/app下的sysconfig.tar文件

    (2) 追加文件至打包后的文件中,不能将新文件追加到已经压缩的文件中
        tar -r -f 打包后的文件名.tar FILE...

    (3) 查看打包后文件中的文件列表
        tar -t -f 打包后的文件名.tar

    (4) 展开归档
        tar -x -f 打包的文件名.tar
        tar -x -f 打包的文件名.tar -C 要展开到的目标位置

    (5)结合压缩工具实现:打包并压缩
        -j:bzip2
        -z:gzip
        -J:xz

cpio工具
功能:从某个地方复制文件,或将处理过的数据放到归档文件中

cpio命令通过重定向的方式将文件进行打包备份,还原恢复的工具,可以解压以".cpio"或者".tar"结尾的文件

语法:
    cpio [OPTION] > 文件名或设备名
    cpio [OPTION] < 文件名或设备名

选项:
    -o:将文件打包成打包文件或者重定向到设备中
    -i:解包,将多个文件解包到某个地方
    -t:预览
    -v:显示过程
    -d:解包后生成目录,自动的建立目录,默认
    -c:新的存储格式

例子:
    (1) 创建          
        find ./etc/ | cpio -ov > etc.cpio                       #找到当前目录下的/etc/目录并且将结果交给管道后的cpio打包处理
    (2) 预览
        cpio -tv < etc.cpio                                     #预览当前文件夹中的etc.cpio文件
    (3) 解包
        cpio -idv < etc.cpio                                    #解包到当前目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值