zoukankan      html  css  js  c++  java
  • 红帽学习笔记[RHCSA] 第九课[文件归档、硬盘、分区以及自动挂载、Swap、链接]

    文件归档

    • tar是什么

    通过tar命令可以将大型文件汇集成一个文件(归档),注意没有压缩功能。

    • 压缩方式

    gzip

    通过gzip过滤文档,使用最广泛

    bzip2

    通常比gzip压缩小,但是不如gzip广泛

    xz

    比较新,压缩率比较高

    • tar命令参数介绍
    -A 追加文件至归档
    -c 创建一个新的归档
    -v 列出处理文件的过程
    -f 要操作的归档的名字
    -t 列出归档内容
    -x 从归档文件中解压出内容
    -a 使用文档后缀名来决定压缩程序
    -j bzip2 压缩方式
    -J xz压缩方式
    -z gzip压缩方式
    
    • tar命令操作
    # 创建tar
    [root@master kane]# tar cf 1.tar ./tar_test/
    # 查看tar内容
    [root@master kane]# tar -tf 1.tar 
    ./tar_test/
    ./tar_test/11.q
    ./tar_test/22.q
    ./tar_test/44.q
    ./tar_test/33.q
    # 解压出来
    [root@master test]# ls
    1.tar
    [root@master test]# tar -xvf 1.tar 
    ./tar_test/
    ./tar_test/11.q
    ./tar_test/22.q
    ./tar_test/44.q
    ./tar_test/33.q
    [root@master test]# ls
    1.tar  tar_test
    # 创建一个使用gzip压缩的文件
    [root@master kane]# tar -zcf 2.tar ./tar_test/
    # 比较一下 1.tar 与 2.tar 。发现2.tar确实小了很多
    [root@master test]# ll
    total 16
    -rw-r--r--. 1 root root 10240 Oct 22 14:57 1.tar
    -rw-r--r--. 1 root root   178 Oct 22 15:01 2.tar
    drwxr-xr-x. 2 root root    50 Oct 22 14:57 tar_test
    

    硬盘

    • 分类
    /dev/sd      表示串口设备
    /dev/hd      表示并口设备(现在很难找并口设备)
    /dev/vd    虚拟出来的
    
    • 硬盘设备的命名规则
    # 按设备
    第一块  /dev/sda
    第二款  /dev/sdb
    # 按分区
    第一个分区 /dev/sda1
    第二个分区 /dev/sda2
    
    • 硬盘结构
    # 物理结构
    机械硬盘与固态硬盘(寿命不如机械硬盘)
    # 逻辑结构
    1. 磁道:以盘片为中心,半径大小不同的同心圆组成的环形区域。
    2. 扇区:磁道上的一段圆弧
    3. 柱面:虚的,类似于筒壁
    

    分区创建、使用

    • 为什么要分区
    1. 便于管理
    2. 不同类型的数据分开放
    3. 分隔操作系统
    4. 初始化硬盘
    
    • 分区的类型
    1. 主分区:
       安装操作系统,启动和引导操作系统。最多只能有`4`个主分区。MBR(Master Boot Recorder) 主要开机扇区,放置硬盘的信息。一共512B,前面446B字节是程序,`64B`表示分区每个分区是16B。所以一共只能有4个主分区。最后两个字节是保留位。
    2. 扩展分区:
       为了解除只有4个主分区的限制就有了扩展分区。但是扩展分区占用主分区的编号,最多只能有一个扩展分区。可以在扩展分区上创建逻辑分区供我们来使用
    3. 逻辑分区:
       在扩展分区上创建逻辑分区来使用。
    4. 注意:
       分区不是无限的,对于串口设备,最多15个。`1~4`主分区或扩展分区`5-15`逻辑分区。即使主分区只用了一个分区号,逻辑分区也不能使用前面四个分区号。
    
    • 创建分区的步骤
    1. 进入到分区操作
    2. 通知内核读取分区表
    3. 创建文件系统即格式化
    4. 挂载使用
    
    • 创建主分区 操作
    1. 操作在虚拟机上操作,需要添加一块硬盘给虚拟机。
    2. 查看硬盘情况
    [root@localhost Desktop]# lsblk
    NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda             8:0    0   20G  0 disk 
    ├─sda1          8:1    0  500M  0 part /boot
    └─sda2          8:2    0 19.5G  0 part 
      ├─rhel-root 253:0    0 17.5G  0 lvm  /
      └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb             8:16   0   20G  0 disk 
    sr0            11:0    1 1024M  0 rom 
    3. 使用fdisk 进入到 sda硬盘的分区
    [root@master Desktop]# fdisk /dev/sda
    4. 查看分区(此时还没有分区)使用命令 p
    命令(输入 m 获取帮助):p
    
    磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区
    Units = 扇区 of 1 * 512 = 512 bytes
    扇区大小(逻辑/物理):512 字节 / 512 字节
    I/O 大小(最小/最佳):512 字节 / 512 字节
    磁盘标签类型:dos
    磁盘标识符:0x0000220c
    
       设备 Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     1026047      512000   83  Linux
    /dev/sda2         1026048    41943039    20458496   8e  Linux LVM
    5. 使用fdisk进入到sdb开始分区
    [root@localhost Desktop]# fdisk /dev/sdb
    6. 创建一个主分区
    Command (m for help): n
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): 
    Using default response p
    Partition number (1-4, default 1): 
    First sector (2048-41943039, default 2048): 
    Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +1000M
    Partition 1 of type Linux and of size 1000 MiB is set
    
    Command (m for help): p
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0xb43d3ed1
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048     2050047     1024000   83  Linux
    7. 注:关于扇区大小,精确计算扇区位置比较复杂直接使用 +{K,M,G}比较方便
    8. 保存 w 自动退出
    9. 通知内核
    [root@localhost Desktop]# partprobe
    10. 创建文件系统即格式化
    [root@localhost Desktop]# mkfs.ext4 /dev/sdb1
    mke2fs 1.42.9 (28-Dec-2013)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    Stride=0 blocks, Stripe width=0 blocks
    64000 inodes, 256000 blocks
    12800 blocks (5.00%) reserved for the super user
    First data block=0
    Maximum filesystem blocks=262144000
    8 block groups
    32768 blocks per group, 32768 fragments per group
    8000 inodes per group
    Superblock backups stored on blocks: 
    	32768, 98304, 163840, 229376
    
    Allocating group tables: done                            
    Writing inode tables: done                            
    Creating journal (4096 blocks): done
    Writing superblocks and filesystem accounting information: done
    11. 挂在到目录上
    [root@localhost Desktop]# mount /dev/sdb1 /first
    12. 查看分区
    [root@localhost Desktop]# lsblk
    NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda             8:0    0   20G  0 disk 
    ├─sda1          8:1    0  500M  0 part /boot
    └─sda2          8:2    0 19.5G  0 part 
      ├─rhel-root 253:0    0 17.5G  0 lvm  /
      └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb             8:16   0   20G  0 disk 
    └─sdb1          8:17   0 1000M  0 part /first
    sr0            11:0    1 1024M  0 rom 
    
    • 创建 扩展分区 逻辑分区
    1. 直接进入sdb
    [root@localhost Desktop]# fdisk /dev/sdb
    2. 创建扩展分区,创建了10个G
    Command (m for help): n
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): e
    Partition number (2-4, default 2): 
    First sector (2050048-41943039, default 2050048): 
    Using default value 2050048
    Last sector, +sectors or +size{K,M,G} (2050048-41943039, default 41943039): +10G
    Partition 2 of type Extended and of size 10 GiB is set
    
    Command (m for help): p
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0xb43d3ed1
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048     2050047     1024000   83  Linux
    /dev/sdb2         2050048    23021567    10485760    5  Extended
    3. 创建逻辑分区
    Command (m for help): n
    Partition type:
       p   primary (1 primary, 1 extended, 2 free)
       l   logical (numbered from 5)
    Select (default p): l
    Adding logical partition 5
    First sector (2052096-23021567, default 2052096): 
    Using default value 2052096
    Last sector, +sectors or +size{K,M,G} (2052096-23021567, default 23021567): +1G
    Partition 5 of type Linux and of size 1 GiB is set
    
    Command (m for help): p
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0xb43d3ed1
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048     2050047     1024000   83  Linux
    /dev/sdb2         2050048    23021567    10485760    5  Extended
    /dev/sdb5         2052096     4149247     1048576   83  Linux
    4. 保存-通知内核-格式化-挂载
    [root@localhost Desktop]# partprobe
    [root@localhost Desktop]# mkfs.ext4 /dev/sdb5
    [root@localhost Desktop]# mount /dev/sdb5 /second
    5. 查看分区
    [root@localhost Desktop]# 
    [root@localhost Desktop]# lsblk
    NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda             8:0    0   20G  0 disk 
    ├─sda1          8:1    0  500M  0 part /boot
    └─sda2          8:2    0 19.5G  0 part 
      ├─rhel-root 253:0    0 17.5G  0 lvm  /
      └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
    sdb             8:16   0   20G  0 disk 
    ├─sdb1          8:17   0 1000M  0 part /first
    ├─sdb2          8:18   0    1K  0 part 
    └─sdb5          8:21   0    1G  0 part /second
    sr0            11:0    1 1024M  0 rom  
    6. 查看文件系统
    [root@localhost Desktop]# df -H
    Filesystem             Size  Used Avail Use% Mounted on
    /dev/mapper/rhel-root   19G  3.2G   16G  17% /
    devtmpfs               949M     0  949M   0% /dev
    tmpfs                  958M  144k  958M   1% /dev/shm
    tmpfs                  958M  9.3M  949M   1% /run
    tmpfs                  958M     0  958M   0% /sys/fs/cgroup
    /dev/sda1              521M  125M  397M  24% /boot
    /dev/sdb1              1.1G  2.6M  944M   1% /first
    /dev/sdb5              1.1G  2.7M  951M   1% /second
    

    分区自动挂载

    • 查看文件/etc/fstab
    [root@localhost Desktop]# cat /etc/fstab
    
    #
    # /etc/fstab
    # Created by anaconda on Thu Aug 15 20:39:14 2019
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/rhel-root   /                       xfs     defaults        1 1
    UUID=a0d45f55-dcf8-4d8e-b32d-4d1eb66a07bc /boot                   xfs     defaults        1 2
    /dev/mapper/rhel-swap   swap                    swap    defaults        0 0
    
    • 自动挂载的三种方式
    1. 使用UUID
    2. 使用label
    3. 使用设备名(不建议,因为设备名有可能会更换)
    
    • UUID
    1. 查看UUID
    [root@localhost Desktop]# blkid /dev/sdb5
    /dev/sdb5: UUID="1eb4fbaa-5744-48e1-809d-90181843eddb" TYPE="ext4" 
    /* 在没创建文件系统的时候是没有UUID的*/
    2. 编辑/etc/fstab文件
    UUID=1eb4fbaa-5744-48e1-809d-90181843eddb /third xfs defaults 0 0 
    设备或分区或镜像名 挂载点 文件系统类型 挂载选项 是否备份 是否开机检测
    3. 重启虚拟机
    4. 查看目录情况,可以看到已经自动挂载上了
    [root@localhost Desktop]# df -h
    Filesystem             Size  Used Avail Use% Mounted on
    /dev/mapper/rhel-root   18G  3.0G   15G  17% /
    devtmpfs               905M     0  905M   0% /dev
    tmpfs                  914M   84K  914M   1% /dev/shm
    tmpfs                  914M  8.9M  905M   1% /run
    tmpfs                  914M     0  914M   0% /sys/fs/cgroup
    /dev/sdb5              190M  1.6M  175M   1% /third
    /dev/sda1              497M  119M  379M  24% /boot
    
    • 标签
    1. 重新创建一个逻辑分区db6
    1. 查看分区标签(默认为空)
    [root@localhost Desktop]# e2label /dev/sdb6
    
    2. 设置一个标签
    [root@localhost Desktop]# e2label /dev/sdb6 game
    [root@localhost Desktop]# e2label /dev/sdb6
    game
    3. 编辑 /etc/fstab 添加以标签为开始的自动挂载
    LABEL=game /forth ext4 defaults 0 0
    4. 重启后查看文件系统
    [root@localhost Desktop]# df -h
    Filesystem             Size  Used Avail Use% Mounted on
    /dev/mapper/rhel-root   18G  3.0G   15G  17% /
    devtmpfs               905M     0  905M   0% /dev
    tmpfs                  914M  152K  914M   1% /dev/shm
    tmpfs                  914M  8.9M  905M   1% /run
    tmpfs                  914M     0  914M   0% /sys/fs/cgroup
    /dev/sdb6              190M  1.6M  175M   1% /forth
    /dev/sdb5              190M  1.6M  175M   1% /third
    /dev/sda1              497M  119M  379M  24% /boot
    

    注:上述编辑完 /etc/fstab后先mount -a测试一下是否正确,否则可能导致虚拟机启动不了。

    Swap虚拟内存

    • 虚拟内存是一种计算机内存管理的一种结束,可以把不常用的数据缓存到硬盘上。
    • 两种方式
    1. 交换分区
    2. 交换文件
    
    • 查看虚拟内存
    [root@localhost Desktop]# free -h
                 total       used       free     shared    buffers     cached
    Mem:          1.8G       809M       1.0G       9.6M       912K       268M
    -/+ buffers/cache:       539M       1.3G
    Swap:         2.0G         0B       2.0G
    
    • 使用文件作为Swap
    1. 创建文件/swap/swapfile,使用dd用指定大小的块拷贝到问价中
    [root@localhost Desktop]# dd if=/dev/zero of=/swap/swapfile bs=1M count=1024
    1024+0 records in
    1024+0 records out
    1073741824 bytes (1.1 GB) copied, 7.59467 s, 141 MB/s
    2. 将文件转成swap
    root@localhost Desktop]# mkswap /swap/swapfile
    Setting up swapspace version 1, size = 1048572 KiB
    no label, UUID=7df01b33-7874-4ae9-b275-1306427bcf82
    3. 激活swap
    [root@localhost Desktop]# swapon /swap/swapfile
    swapon: /swap/swapfile: insecure permissions 0644, 0600 suggested.
    4. 查看发现多了1个G
    [root@localhost Desktop]# free -h
                 total       used       free     shared    buffers     cached
    Mem:          1.8G       1.7G        77M       9.7M       168K       1.0G
    -/+ buffers/cache:       711M       1.1G
    Swap:         3.0G         0B       3.0G
    5. 配置开机生效
    vi /etc/fstab
    /swap/swapfile swap swap defaults 0 0
    6. 关闭swap
    [root@localhost Desktop]# swapoff /swap/swapfile
    [root@localhost Desktop]# free -h
                 total       used       free     shared    buffers     cached
    Mem:          1.8G       1.7G        75M       9.8M       168K       1.0G
    -/+ buffers/cache:       711M       1.1G
    Swap:         2.0G         0B       2.0G
    7. 重启一次看看开机是否挂载上
    root@localhost Desktop]# free -h
                 total       used       free     shared    buffers     cached
    Mem:          1.8G       818M       1.0G       9.8M       916K       266M
    -/+ buffers/cache:       551M       1.2G
    Swap:         3.0G         0B       3.0G
    
    • 使用分区作为swap
    1. 创建一个 1G swap 分区
    [root@localhost Desktop]# fdisk /dev/sdb
    Command (m for help): n
    Partition type:
       p   primary (0 primary, 1 extended, 3 free)
       l   logical (numbered from 5)
    Select (default p): l
    Adding logical partition 8
    First sector (2926592-20973567, default 2926592): 
    Using default value 2926592
    Last sector, +sectors or +size{K,M,G} (2926592-20973567, default 20973567): +1G
    Partition 8 of type Linux and of size 1 GiB is set
    Command (m for help): t
    Partition number (1,5-8, default 8): 8
    Hex code (type L to list all codes): 82
    Changed type of partition 'Linux' to 'Linux swap / Solaris'
    
    Command (m for help): p
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0xed07c356
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048    20973567    10485760    5  Extended
    /dev/sdb5            4096      413695      204800   83  Linux
    /dev/sdb6          415744      825343      204800   83  Linux
    /dev/sdb7          827392     2924543     1048576   82  Linux swap / Solaris
    /dev/sdb8         2926592     5023743     1048576   82  Linux swap / Solaris
    /* 创建后需要用t命令去修改分区类型为 82( Linux swap / Solaris ) */
    2. 保存退出后通知内核
    3. 格式化成 交换分区 
    [root@localhost Desktop]# mkswap /dev/sdb8
    Setting up swapspace version 1, size = 1048572 KiB
    no label, UUID=0cf98e08-cfe7-4818-8a39-2c51987c0677
    4. 激活后查看又多了1G
    [root@localhost Desktop]# swapon /dev/sdb8
    [root@localhost Desktop]# free -h
                 total       used       free     shared    buffers     cached
    Mem:          1.8G       830M       996M       9.8M       1.7M       273M
    -/+ buffers/cache:       555M       1.2G
    Swap:         4.0G         0B       4.0G
    

    软连接与硬链接

    硬链接:基本不用,硬链接与cp类似,但是硬链接不占用内存。硬连接不更新文件时间。创建时不能跨分区

    软连接:符号连接,类似windows快捷方式,占用i接待你,创建的时候没有其他限制

    touch testfile
    #创建硬链接
    ln testfile testfile.hard
    # 创建软连接
    ln -s testfile testfile.hard
    
    
    # 硬链接在原来的文件删除时还是好用的,软连接不好用
    # 开机自启其实就是创建软连接
    
  • 相关阅读:
    专利申请流程
    安装Fedora16与Windows7共存双系统
    rpm检查依赖性
    C++中的static函数和extern关键字
    asp.net 浏览服务器文件
    如何用批处理文件写:获取当前日期的前一天
    有一个无效 SelectedValue,因为它不在项目列表中。
    .net 4.0 检测到有潜在危险的 Request.Form 值。
    ckeditor 在C#中使用
    使用任务计划程序自动执行任务
  • 原文地址:https://www.cnblogs.com/primadonna/p/11732481.html
Copyright © 2011-2022 走看看