Linux操作系统实教程-RHEL10-Rocky10-微课视频版 课件 第5-7章 磁盘与文件管理 -提供Internet服务_第1页
Linux操作系统实教程-RHEL10-Rocky10-微课视频版 课件 第5-7章 磁盘与文件管理 -提供Internet服务_第2页
Linux操作系统实教程-RHEL10-Rocky10-微课视频版 课件 第5-7章 磁盘与文件管理 -提供Internet服务_第3页
Linux操作系统实教程-RHEL10-Rocky10-微课视频版 课件 第5-7章 磁盘与文件管理 -提供Internet服务_第4页
Linux操作系统实教程-RHEL10-Rocky10-微课视频版 课件 第5-7章 磁盘与文件管理 -提供Internet服务_第5页
已阅读5页,还剩339页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux操作系统授课教师XXX学院第5章磁盘与文件管理第1章Linux简介与安装第2章Linux用户接口与软件包管理器第3章Shell脚本编程第4章系统管理第5章磁盘与文件管理第6章组建Linux局域网第7章提供Internet服务Linux操作系统第5章磁盘与文件管理本章学习目标:了解强制位与粘贴位、文件隐藏属性、ACL了解逻辑卷管理、硬盘阵列、硬盘配额的概念熟练掌握硬盘管理相关命令的使用熟练掌握文件与目录管理相关命令的使用熟练掌握文件与目录安全相关命令的使用熟练掌握文件的压缩与解压缩相关命令的使用掌握逻辑卷的设置方法掌握硬盘配额的设置方法5.1实例—硬盘管理硬盘管理是Linux系统管理的重要组成部分,涉及分区创建、格式化、挂载、空间监控以及数据备份与同步等操作。高效的硬盘管理能优化存储资源利用率,确保数据安全并提升系统性能。Linux将存储设备视为块设备(如/dev/sda),通过分区表(如MBR或GPT)组织数据。分区后需格式化为文件系统(如ext4、XFS)并挂载到目录才能使用。RHEL10和Rocky10默认推荐XFS文件系统,因其在高性能、大容量存储场景下表现出色,支持元数据校验和日志优化。5.1.1查看硬盘分区:lsblk、blkid、fdisk-l、parted、nvme1.lsblklsblk命令列出系统中所有块设备、分区及其挂载点,以树状结构展示设备关系,支持LVM、RAID和NVMe设备。支持自定义输出和文件系统信息查看。示例如下。lsblk //显示所有块设备及其挂载点lsblk-f //显示文件系统类型和UUIDlsblk-p //显示完整设备路径lsblk-oNAME,SIZE,FSTYPE,MOUNTPOINT //自定义输出格式lsblk-d //仅显示硬盘注意:查看NVMe设备(如/dev/nvme0n1)时,lsblk-p能更好区分命名空间。5.1.1查看硬盘分区:lsblk、blkid、fdisk-l、parted、nvme2.blkidblkid命令显示块设备的UUID、文件系统类型和标签,适合确认分区属性或配置/etc/fstab。示例如下。blkid //列出所有设备的UUID和类型blkid/dev/sda1 //查看指定分区的详细信息blkid-sUUID/dev/sdb1 //显示UUID,UUID是配置自动挂载的首选标识blkid-ovalue-sUUID/dev/sdb1 //仅输出UUIDblkid-sTYPE/dev/sdb1 //显示文件系统类型blkid-ovalue-sTYPE/dev/sdb1 //仅输出文件系统类型5.1.1查看硬盘分区:lsblk、blkid、fdisk-l、parted、nvme3.fdisk-lfdisk-l命令列出硬盘分区表信息,输出包括分区号、起始/结束扇区、类型等。示例如下。fdisk-l //列出所有硬盘的分区表fdisk-l/dev/sda //查看/dev/sda的分区表5.1.1查看硬盘分区:lsblk、blkid、fdisk-l、parted、nvme4.partedparted命令支持查看和编辑MBR及GPT分区表,适合大容量硬盘。提供交互模式和脚本化操作,输出详细的分区布局。示例如下。parted-l //列出所有硬盘的分区信息parted/dev/sdbprint //查看/dev/sdb的分区布局parted-s/dev/sdbprintfree //显示/dev/sdb的可用空间5.1.1查看硬盘分区:lsblk、blkid、fdisk-l、parted、nvme5.nvmenvme命令查看NVMe设备信息。执行dnfinstallnvme-cli命令安装nvme命令。示例如下。nvmelist //列出所有NVMe设备nvmelist-ojson //以JSON格式输出5.1.2分区:fdisk、parted、gdisk、partprobe、partx1.fdiskfdisk命令用于交互式分区,主要用于MBR分区表,也支持简单GPT操作。进入交互模式后,通过命令(如n、d、t、w)管理分区。fdisk命令的语法如下。fdisk[选项]<设备>常用选项:-l(列出分区表信息,无需交互)、-u(指定单位,如扇区或字节)、-t(指定分区表类型,如gpt)、-c(禁用DOS兼容模式)。进入交互模式后,常用交互命令:n(新建分区,主分区p或扩展分区e)、d(删除分区)、t(设置分区类型,如82为swap)、w(保存并退出)、q(退出不保存)。示例如下。fdisk/dev/sdb //进入/dev/sdb交互模式,下面3行为交互操作#n(新建分区),p(主分区),1(分区号),默认起始/结束扇区#t(设置类型),83(ext4)#w(保存退出)fdisk-l/dev/sdb //验证分区结果5.1.2分区:fdisk、parted、gdisk、partprobe、partx2.partedparted命令支持MBR和GPT分区表,提供交互和非交互模式,适合大硬盘和自动化脚本。可创建、删除、调整分区大小。parted命令的语法如下。parted[选项][设备][子命令]交互模式示例如下。parted/dev/sdc //进入交互模式,下面4行为交互操作mklabelgpt //创建GPT分区表mkpartprimaryxfs1MiB100% //创建XFS分区占满硬盘print //查看分区quit //退出非交互模式示例如下。parted-s/dev/sdcmklabelmsdos //创建MBR分区表parted/dev/sdcmkpartprimaryext41MiB50GiB //创建50GiB主分区parted/dev/sdcrm1 //删除第1个分区parted-s/dev/sdcmkpartlogicalxfs50GiB100GiB //创建逻辑分区5.1.2分区:fdisk、parted、gdisk、partprobe、partx3.gdiskgdisk命令专为GPT分区表设计,类似fdisk的交互式操作,适合UEFI系统和大容量硬盘。gdisk命令的语法如下。gdisk[选项]<设备>常用选项:-l(列出分区表信息)、-u(指定单位)。常用的交互命令有:n(新建分区)、d(删除分区)、t(设置分区类型,如8300为Linux文件系统)、w(保存并退出)、q(退出不保存)。示例如下。gdisk/dev/sdd //进入/dev/sdd交互模式,下面2行为交互操作#n(新建分区),1(分区号),默认起始/结束扇区,8300(Linux文件系统)#w(保存退出)gdisk-l/dev/sdd //验证分区结果5.1.2分区:fdisk、parted、gdisk、partprobe、partx4.partprobepartprobe命令通知内核更新分区表,避免重启系统。partprobe命令的语法如下。partprobe[选项][设备]常用选项:-d(仅显示操作,不执行)、-s(显示分区表摘要)。示例如下。partprobe/dev/sdb //同步/dev/sdb的分区表partprobe-s //显示所有分区表摘要5.1.2分区:fdisk、parted、gdisk、partprobe、partx5.partxpartx命令直接与内核交互,用于管理和操作硬盘分区表,特别是在动态添加、删除或更新分区时通知内核,而无需重启系统或重新扫描设备。它不修改分区表本身,仅通知内核读取或更新分区信息。partx命令的语法如下。partx[选项]<设备>示例如下。partx-l/dev/sdb //列出/dev/sdb的分区信息partx-a/dev/sdb //通知内核添加/dev/sdb的所有分区partx-d--nr1/dev/sdb //从内核移除/dev/sdb的第1个分区partx-u/dev/sdb //更新内核中的/dev/sdb分区表partx-s/dev/sdb //显示/dev/sdb分区的详细信息5.1.3格式化分区:mkfs、mkswap、swapon、swapoff1.mkfs系列命令mkfs是通用格式化工具,通过指定文件系统类型调用子命令(如mkfs.ext4、mkfs.xfs),这些子命令可以单独使用。mkfs命令的语法如下。mkfs[选项][-t文件系统类型]<设备>示例如下。mkfs.ext4/dev/sdb1 //格式化/dev/sdb1为ext4mkfs.xfs/dev/sdc1 //格式化/dev/sdc1为XFSmkfs.vfat/dev/sdd1 //格式化为FAT32mkfs-text4-L"data"/dev/sdb2 //格式化/dev/sdb2为ext4,设置标签为datamkfs.xfs-L"storage"/dev/sdd1 //格式化为XFS,标签为storagemkfs.xfs-f/dev/sdc2 //强制格式化XFSmkfs.ext4-m2/dev/sdb3 //格式化/dev/sdb3为ext4,设置保留块比例为2%mkfs.xfs-lsize=128m/dev/sdc3 //设置XFS日志大小128MBmkfs.ext4-b2048/dev/sdb4 //设置ext4块大小2KiB5.1.3格式化分区:mkfs、mkswap、swapon、swapoff2.mkswapmkswap命令将分区或文件初始化为交换分区,配合swapon启用。mkswap命令语法如下。mkswap[选项]<设备>常用选项:-L<标签>(设置分区标签)、-U<UUID>(指定UUID)、-f(强制初始化)。3.swapon/swapoff启用或禁用交换分区或交换文件。语法如下。swapon[选项][设备|文件]swapoff[选项][设备|文件]常用选项:-s(显示交换空间状态)、-p<优先级>(设置交换优先级)、-a(启用/etc/fstab中的所有交换空间)。示例如下。mkswap/dev/sdb2 //格式化/dev/sdb2为交换分区mkswap-L"SWAP1"/dev/sdc2 //格式化/dev/sdc2为交换分区,设置swap标签为SWAP1swapon/dev/sdb2 //启用交换分区swapoff/dev/sdb2 //禁用交换分区swapon-s //查看已启用的交换分区swapon-a //启用/etc/fstab中的所有交换空间创建交换文件示例如下。ddif=/dev/zeroof=/swapfilebs=1Mcount=1024 //创建1GiB交换文件chmod600/swapfile //设置权限mkswap/swapfile //初始化交换文件swapon/swapfile //启用交换文件5.1.4检查与修复文件系统:fsck、xfs_repair、btrfscheck、tune2fs1.fsckfsck命令检查和修复文件系统一致性,格式化后可验证分区状态,支持ext4、vfat等,可自动或交互式修复。示例如下。fsck/dev/sdb1 //检查/dev/sdb1fsck-txfs/dev/sdc1 //检查/dev/sdc1的XFS文件系统fsck-y/dev/sdb1 //自动修复fsck-f/dev/sdd1 //强制检查文件系统fsck-n/dev/sdc1 //仅检查不修复fsck.ext4-f/dev/sdb2 //强制检查ext4fsck-A //检查/etc/fstab中所有文件系统fsck-C/dev/sdb1 //显示检查进度条fsck-p/dev/sdc1 //自动修复轻微错误5.1.4检查与修复文件系统:fsck、xfs_repair、btrfscheck、tune2fs2.xfs_repairxfs_repair命令专为XFS文件系统设计,修复XFS文件系统的元数据、目录结构和日志损坏,不支持交互式修复。示例如下:xfs_repair/dev/sdc1 //修复XFS文件系统xfs_repair-n/dev/sdc1 //仅检查不修复xfs_repair-L/dev/sdc2 //清除损坏日志5.1.4检查与修复文件系统:fsck、xfs_repair、btrfscheck、tune2fs3.btrfscheckbtrfscheck命令检查和修复Btrfs文件系统,RHEL10支持,适合快照和压缩场景。示例如下。btrfscheck/dev/sdd1 //检查Btrfs文件系统btrfscheck--repair/dev/sdd1 //修复Btrfsbtrfscheck--progress/dev/sdd1 //显示进度5.1.4检查与修复文件系统:fsck、xfs_repair、btrfscheck、tune2fs4.tune2fstune2fs命令调整ext4文件系统参数,如启用定期检查或设置挂载计数。示例如下。tune2fs-c20/dev/sdb1 //设置20次挂载后检查tune2fs-i6m/dev/sdb1 //设置6个月检查一次tune2fs-l/dev/sdb1 //查看文件系统信息5.1.5挂载卸载:mount、umount、findmnt、e2label、xfs_admin、fstab1.mountmount命令挂载文件系统或查看当前挂载状态,支持指定类型和选项。示例如下。mount/dev/sdb1/mnt //挂载/dev/sdb1到/mntmount-txfs/dev/sdc1/data //指定XFS挂载mount-oro/dev/sdd1/backup //只读挂载mount-oremount,rw/mnt //重新挂载为读写mount //查看所有挂载mount|grep/mnt //过滤/mnt的挂载信息mount--bind/data/mnt/share //绑定挂载mount-a //挂载/etc/fstab定义的所有文件系统mount-onoatime/dev/sdb1/mnt //使用noatime优化性能mountUUID="123e4567-e89b-12d3-a456-426614174000"/mnt/data //挂载ext4文件系统5.1.5挂载卸载:mount、umount、findmnt、e2label、xfs_admin、fstab2.umountumount命令卸载文件系统,支持按设备或挂载点指定。示例如下。umount/mnt //卸载/mntumount/dev/sdc1 //按设备卸载umount-l/mnt //延迟卸载umount-f/mnt //强制卸载5.1.5挂载卸载:mount、umount、findmnt、e2label、xfs_admin、fstab3.findmntfindmnt命令查看挂载点详细信息,支持树状输出和/etc/fstab对比。示例如下。findmnt //显示所有挂载点findmnt/mnt //查看/mnt详情findmnt-s //显示/etc/fstab内容findmnt-txfs //仅显示XFS挂载findmnt-oSOURCE,TARGET,FSTYPE,OPTIONS //自定义输出5.1.5挂载卸载:mount、umount、findmnt、e2label、xfs_admin、fstab4.e2labele2label命令设置或查看ext4文件系统标签,便于/etc/fstab配置。示例如下。e2label/dev/sda1MYDATA //设置ext4标签e2label/dev/sda1 //查看标签5.xfs_adminxfs_admin命令设置或查看XFS文件系统标签和UUID。示例如下。xfs_admin-LMYDATA/dev/sdb1 //设置XFS标签xfs_admin-l/dev/sdb1 //查看标签5.1.5挂载卸载:mount、umount、findmnt、e2label、xfs_admin、fstab6./etc/fstab配置文件/etc/fstab定义系统启动时的挂载配置,包含UUID/设备路径、挂载点、文件系统类型、挂载选项、转储频率和检查顺序。正确配置确保自动挂载,错误可能导致启动失败。RHEL10/Rocky10推荐UUID挂载,新增nofail选项防止挂载失败影响启动,支持并行挂载。/etc/fstab配置文件,定义自动挂载。文件中每一行的格式为:<设备><挂载点><类型><选项><dump><pass>其中dump(备份标志)和pass(fsck检查顺序)通常设为0。设备字段为UUID或路径。自动挂载分区的示例如下。mkdir/mnt/storage //创建挂载点blkid/dev/sdb1

//获取UUID,假如为123e4567-e89b-12d3-a456-426611566000vim/etc/fstab //配置/etc/fstab,添加如下一行UUID=123e4567-e89b-12d3-a456-426611566000/mnt/storagexfsdefaults00mount-a //挂载/etc/fstab定义的所有文件系统findmnt/mnt/storage //查看挂载点5.1.6硬盘空间管理:df、du、ncdu1.dfdf命令显示已挂载文件系统的空间使用情况,支持可读格式和自定义输出。示例如下。df-h //可读格式显示df-T //显示文件系统类型df-i //若显示100%,需删除小文件或调整文件系统df-i/home //查看inode使用df/mnt //查看/mnt使用情况df-h--output=source,fstype,size,used,avail

//自定义输出df-B1M

//以MiB为单位显示5.1.6硬盘空间管理:df、du、ncdu2.dudu命令统计文件或目录的实际硬盘空间占用情况,支持递归分析和排序。示例如下。du-sh/home //统计/home总大小du-h/var/log--max-depth=1 //查看/var/log一级目录大小du-ah/data|sort-rh //按大小排序显示du-shc*.txt //统计.txt文件总大小du-h--exclude="*.bak"/backup //排除.bak文件du-h--time/var //显示修改时间du-h--max-depth=1/var|sort-rh //查找硬盘空间占用大的目录du--inodes/home //统计inode占用du-xh--max-depth=1/ //硬盘满时,查找大目录,定位问题5.1.6硬盘空间管理:df、du、ncdu3.ncduncdu命令提供交互式界面,支持浏览和删除大文件,适合快速定位空间占用。执行dnfinstallncdu命令安装ncdu。示例如下。ncdu/var //分析/var目录ncdu-x/ //分析根目录,不跨文件系统ncdu-r/var/log //只读模式分析日志目录ncdu--exclude="*.log"/var //排除.log文件5.1.7其他硬盘相关命令:vmstat、iostat、iotop1.vmstatvmstat命令实时监控系统性能,包括进程、内存、硬盘I/O等。vmstat命令的语法如下。vmstat[选项][间隔][次数]常用选项:-a(显示活跃/非活跃内存)、-d(显示硬盘统计)、-p<分区>(显示指定分区的I/O统计)、-s(显示内存和系统统计摘要)、-S<单位>(指定单位,如k为KB、K为KiB)、-w(宽输出格式,适合大数字)。示例如下。vmstat1 //每秒显示系统状态vmstat-d //显示硬盘统计vmstat-p/dev/sda1 //显示sda1的I/O统计vmstat-s //显示内存详情vmstat-Sm25 //每2秒显示系统状态,共5次,以MB为单位5.1.7其他硬盘相关命令:vmstat、iostat、iotop2.iostatiostat命令监控硬盘I/O和CPU使用情况,需安装sysstat包(dnfinstallsysstat)。iostat命令的语法如下。iostat[选项][间隔][次数]常用选项:-d(显示硬盘统计)、-x(显示详细I/O信息)、-h(可读格式显示)、-k(以KB/s为单位)、-m(以MB/s为单位)、-p<设备>(显示指定设备的统计)。示例如下。iostat //显示整体统计iostat-x1 //每秒显示详细I/Oiostat-dsda //显示sda的统计iostat-m-psda1 //以MB/s显示sda1统计iostat-N //显示LVM设备统计5.1.7其他硬盘相关命令:vmstat、iostat、iotop3.iotopiotop命令实时监控进程的硬盘I/O使用情况,需安装iotop包(dnfinstalliotop)。iotop命令的语法如下。iotop[选项]常用选项:-o(仅显示有I/O的进程)、-b(批处理模式,非交互输出)、-n<次数>(指定刷新次数)、-d<秒>(设置刷新间隔)。示例如下。iotop //实时监控I/Oiotop-o //仅显示有I/O的进程iotop-b-n5 //批处理模式,显示5次5.1.8制作镜像文件:dd、mkisofs、xorriso、losetup1.dddd命令以块为单位低级复制数据,支持自定义块大小和进度显示,适合创建硬盘镜像。dd命令的语法如下。dd[选项]常用选项:if=<文件>(指定输入文件或设备)、of=<文件>(指定输出文件或设备)、bs=<大小>(设置块大小)、count=<数量>(复制的块数)、skip=<数量>(跳过输入的块数)、seek=<数量>(跳过输出的块数)、status=progress(显示复制进度)、conv=<选项>(转换选项,如sparse创建稀疏文件、fsync强制同步)。示例如下。ddif=/dev/sdaof=/backup/sda.imgbs=4Mstatus=progress //备份sdaddif=/dev/zeroof=/mnt/test.imgbs=1Mcount=100 //创建100MiB空镜像ddif=/backup/sda.imgof=/dev/sdbbs=4M //恢复镜像到sdbddif=/dev/sda1of=/backup/sda1.imgbs=4Mconv=sparse //备份分区。创建稀疏镜像ddif=/dev/sda1of=/backup/sda1.imgbs=4Mstatus=progressconv=sparse //创建稀疏镜像5.1.8制作镜像文件:dd、mkisofs、xorriso、losetup2.mkisofsmkisofs命令创建ISO镜像,支持Joliet和RockRidge扩展。执行dnfinstallgenisoimage命令安装mkisofs(genisoimage)。mkisofs命令的语法如下。mkisofs[选项][目录]常用选项如下。-o<文件>:指定输出文件名。-r:添加RockRidge扩展(Linux权限支持)。-J:添加Joliet扩展(Windows兼容)。-V<卷标>:设置卷标。-b<文件>:指定启动扇区文件(如isolinux.bin)。-boot-load-size<大小>:设置启动扇区加载大小。-U:允许非标准文件名。-iso-level<级别>:设置ISO级别(1-4)。示例如下。mkisofs-o/tmp/boot.iso/boot //创建/boot的ISO镜像mkisofs-r-J-V"DATA"-o/tmp/data.iso/data //创建带扩展的ISOmkisofs-bisolinux.bin-o/tmp/boot.iso/boot //创建启动ISO5.1.8制作镜像文件:dd、mkisofs、xorriso、losetup3.xorrisoxorriso命令是现代化ISO镜像创建工具,替代mkisofs,支持高级功能。执行dnfinstallxorriso命令安装xorriso。xorriso命令的语法如下。xorriso[选项]常用选项:-outdev<文件>(指定输出文件)、-volid<卷标>(设置卷标)、-asmkisofs(模拟mkisofs命令)、-rock(添加RockRidge扩展)、-joliet(添加Joliet扩展)、-boot_image<类型>(设置启动镜像,如isolinux)。示例如下。xorriso-asmkisofs-o/tmp/data.iso-r-J-volid"DATA"/data //创建ISOxorriso-outdev/tmp/boot.iso-volid"BOOT"-rock/boot //创建带扩展的ISO5.1.8制作镜像文件:dd、mkisofs、xorriso、losetup4.losetuplosetup命令用来管理loop设备,挂载镜像或查看loop状态。losetup命令的语法如下。losetup[选项][设备][文件]常用选项:-f(查找可用loop设备)、-P(扫描分区)、--offset<字节>(指定偏移量)、-d<设备>(卸载loop设备)、-l(列出loop设备)。5.挂载镜像mount命令通过loop设备挂载镜像的示例如下。mount-oloop/tmp/data.iso/mnt/data //挂载ISO镜像mount-oloop/backup/sda1.img/mnt/sda1 //挂载分区镜像mount-oloop,offset=1048576/backup/sda.img/mnt/sda

//挂载分区镜像(偏移1MiB)losetup命令挂载镜像的示例如下。mkdir/mnt/test //创建挂载点losetup-f-P/backup/sda1.img //绑定镜像到loop设备losetup-l //列出loop设备mount/dev/loop0/mnt/test //挂载镜像ls/mnt/test //检查内容umount/mnt/test //卸载losetup-d/dev/loop0 //卸载loop设备5.1.9数据同步:sync数据同步将内存缓冲区数据写入硬盘,防止断电或异常关机导致数据丢失。Linux的sync命令强制刷新文件系统缓存,将修改的inode、块数据和映射文件写入存储设备。现代文件系统(如ext4、XFS、Btrfs)通过日志和自动缓存管理减少了手动同步的必要性,但在关键操作(如备份、设备卸载、数据库事务)后仍建议执行sync。sync命令刷新所有文件系统缓冲区,将数据写入硬盘。sync命令的语法如下。sync[选项][文件|目录]示例如下。sync //同步所有缓冲区数据sync;sync;sync //多次执行(传统习惯)sync/mnt/usb //同步/mnt/usb所在文件系统sync--file-system/dev/sdb1 //同步/dev/sdb1文件系统sync-f/data //同步/data及其依赖注意:频繁运行sync可能降低性能,仅在必要时使用。卸载设备前运行sync,确保数据完整。现代系统自动同步,sync多用于脚本或手动确认。安全卸载USB的示例如下。cp/data/bigfile.txt/mnt/usb //复制数据到USBsync/mnt/usb //同步USB数据umount/mnt/usb //卸载USB设备5.1.10图形化分区管理:gparted图形化分区管理工具为硬盘管理提供直观界面,适合桌面环境或LiveCD场景。GParted是主流的开源工具,支持创建、删除、调整分区大小及格式化,兼容ext4、XFS、vfat等多种文件系统。相比命令行工具,图形化工具操作更易上手,但需图形环境支持,服务器环境通常仍依赖命令行。执行dnfinstallgparted命令(从Fedora40软件仓库)安装GParted。GParted命令的语法如下。gparted[选项][设备]示例如下。gparted //启动GParted界面gparted/dev/sda //管理/dev/sda硬盘5.1.11硬盘性能测试:fio、ioping、hdparm1.fiofio命令是高级性能测试工具,支持随机/顺序读写、多线程和多种I/O模式。执行dnfinstallfio命令安装fio。示例如下。//下面命令测试4k写fio--name=write_test--filename=/mnt/testfile--size=1G--rw=write--bs=4k--numjobs=1--ioengine=libaio--direct=1//下面命令测试随机读fio--name=randread--filename=/mnt/testfile--size=1G--rw=randread--bs=4k--iodepth=32//下面命令测试70%读30%写fio--name=mixed--filename=/mnt/testfile--size=1G--rw=randrw--rwmixread=70--bs=4k--numjobs=4--runtime=60s--time_based//下面命令测试顺序写,输出结果fio--name=write_seq--filename=/mnt/testfile--size=1G--rw=write--bs=1M--output=results.txt5.1.11硬盘性能测试:fio、ioping、hdparm2.iopingioping命令用于测试硬盘I/O延迟,适合实时应用分析。执行dnfinstallioping命令安装ioping。示例如下。ioping-c10/mnt //测试10次延迟ioping-R-s4k/dev/sdb //测试4k随机读延迟ioping-W-D/mnt/testfile //测试直接写延迟ioping-c20-s4k-D/mnt //测试4k直接I/O延迟5.1.11硬盘性能测试:fio、ioping、hdparm3.hdparmhdparm命令测试SATA/SSD顺序读写速度,查看硬盘属性。示例如下。hdparm-tT/dev/sda //测试sda读速度hdparm--direct-t/dev/sda //绕过缓存测试hdparm-I/dev/sda //查看设备信息5.2实例—文件与目录管理文件和目录是Linux文件系统的核心。文件是数据的集合,如文本、程序或多媒体;目录是组织文件和子目录的单元,形成单一的树形结构。Linux通过文件系统将设备(如硬盘分区、U盘)挂载到指定目录,统一管理资源。常见文件系统包括ext4、XFS和Btrfs。Linux将一切视为文件,包括目录(特殊文件)、设备和网络套接字,文件管理因此是系统管理的核心。文件命名规则需遵守:(1)文件名最长255个字符,大小写敏感;(2)禁止使用特殊字符(如“/”、“*”),需通过转义符“\”处理特殊符号;(3)以“.”开头的文件为隐藏文件,可以使用ls-a命令显示。掌握文件与目录操作是Linux管理的核心技能,涵盖查看、创建、复制、删除、搜索和权限管理等方面。5.2.1Linux文件系统的目录结构Linux文件系统采用单一的倒挂树形结构,从根目录“/”开始,所有分区、设备和挂载点统一整合到其子目录下,形成层次化的管理模式。这与Windows的多个根目录(如C:\、D:\)不同,Linux只有一个“/”,便于集中管理。根目录下的子目录各司其职,例如/bin存储用户命令,/etc存放配置文件,/home为用户数据目录。虚拟文件系统如/proc和/sys动态反映系统运行状态,/proc/cpuinfo可查看CPU信息,/sys则包含硬件和内核数据。RHEL10和Rocky10优化了目录结构,支持高性能文件系统(如XFS)和容器化环境,增强了/var(日志、容器存储)和/tmp(tmpfs)的动态管理,适配云原生和容器化应用。目录结构遵循FilesystemHierarchyStandard(FHS),确保跨发行版兼容性。普通用户应将个人文件存放于/home/username,避免随意修改根目录下的系统文件,以免影响系统稳定性。5.2.2查看目录内容:cd、pwd、ls、tree、nautilus1.cdcd命令切换当前工作目录,支持绝对路径、相对路径和特殊符号。语法如下。cd[路径]路径分为绝对路径(从根目录“/”开始,如/home/user/file.txt)和相对路径(基于当前目录,如./docs)。特殊目录符号包括“.”(当前目录)和“..”(上级目录)。示例如下。cd/etc //切换到/etccd../var //切换到上级目录的/varcd //返回主目录(等同于cd~)cd~ //显式返回主目录cd- //返回上一次目录cd/usr/share/ //切换到/usr/share/目录5.2.2查看目录内容:cd、pwd、ls、tree、nautilus2.pwdpwd命令显示当前目录的绝对路径,解析符号链接时可显示真实路径。语法如下。pwd[选项]常用选项:-L(显示逻辑路径)、-P(显示真实路径)。示例如下。pwd //显示当前目录,如/home/userpwd-P //显示真实路径,解析符号链接5.2.2查看目录内容:cd、pwd、ls、tree、nautilus3.lsls命令列出目录内容,包括文件和子目录。示例如下。ls //列出当前目录内容,默认按字母排序ls-l //长格式显示当前目录内容,包括权限、所有者、时间戳ls-a //显示当前目录所有内容,包括隐藏文件(如.bashrc)ls-lh //可读格式显示当前目录文件大小,如1.2M而非字节ls-R //递归列出当前目录内容,显示完整目录树ls-lt //列出当前目录内容,按修改时间排序,最新文件靠前ls*.txt //列出当前目录下所有.txt文件,支持通配符ls/ //列出根目录内容ls-l/etc //长格式显示/etc内容ls-a/home/user

//显示用户目录包括隐藏文件ls-lh/var //可读格式显示/var大小ls-R/etc //递归显示/etc子目录ls-Rt/etc //递归按时间排序ls-i/bin //显示inode号5.2.2查看目录内容:cd、pwd、ls、tree、nautilus4.treetree命令以树形结构显示目录层次,需手动安装(dnfinstalltree)。语法如下。tree[选项][路径]常用选项:-L<深度>(限制显示深度)、-d(仅显示目录)、-f(显示完整路径)、-h(可读格式显示大小)、-a(显示隐藏文件)。示例如下。tree-L1/ //显示根目录一级结构tree-d/etc //仅显示/etc目录tree-h/home //可读格式显示/var大小tree-a/home/user //显示隐藏文件5.2.2查看目录内容:cd、pwd、ls、tree、nautilus5.nautilusnautilus是GNOME环境下的图形化文件管理器,用来浏览和管理文件。语法如下。nautilus[选项][路径]示例如下。nautilus/home //以图形化方式打开/home目录,需GNOME环境nautilus. //打开当前目录nautilus-w/data //在新窗口打开/data5.2.3查看文件内容:more、less、cat、tac、nl、head、tail、wc、bat1.moremore命令分页显示文件内容,按空格翻页,按q退出。语法如下。more[选项][文件]常用选项:+<行号>(从指定行开始显示)、-n<行数>(每页显示指定行数)、-s(压缩连续空行)、-d(显示翻页提示)。示例如下。more-sconfig.txt //压缩空行显示more/var/log/syslog

//分页显示syslog日志,按空格翻页,按q退出more+50file.txt //从第50行开始显示file.txt内容5.2.3查看文件内容:more、less、cat、tac、nl、head、tail、wc、bat2.lessless命令分页浏览文件,支持上下翻页、搜索和正则表达式。语法如下。less[选项][文件]常用选项:-N(显示行号)、-S(不换行显示长行)、-i(搜索忽略大小写)、-R(保留颜色,如日志高亮)、+<命令>(执行内部命令,如+50g,跳到第50行)。示例如下。less/var/log/syslog //分页浏览syslog,支持上下箭头和搜索less-Nfile.txt //显示行号,便于定位less-ilog.txt //忽略大小写搜索less-R/var/log/messages //保留颜色5.2.3查看文件内容:more、less、cat、tac、nl、head、tail、wc、bat3.catcat命令显示文件内容或合并多个文件。避免用cat查看大文件,推荐less或more以降低内存占用。cat命令语法如下。cat[选项][文件]常用选项:-n(显示行号)、-b(仅为非空行编号)、-E(显示行尾$符号)、-T(显示制表符为^I)、-s(压缩连续空行)。示例如下。catconfig.txt //显示config.txt全部内容,适合小文件catfile1.txtfile2.txt //合并显示多个文件内容cat-Elog.txt //显示行尾$cat/proc/version //查看内核版本cat-n/etc/fstab //显示内容并为每行添加行号cat/proc/cpuinfo //查看CPU信息5.2.3查看文件内容:more、less、cat、tac、nl、head、tail、wc、bat4.tactac命令倒序显示文件内容,从最后一行开始。语法如下。tac[选项][文件]常用选项:-r(按正则表达式解析分隔符)、-s<分隔符>(指定分隔符)。示例如下。taclog.txt //按行反向。倒序显示log.txt,从最后一行开始tac-s","data.csv //按逗号反向。按逗号分隔的块倒序显示5.2.3查看文件内容:more、less、cat、tac、nl、head、tail、wc、bat5.nlnl命令为非空行添加行号。语法如下。nl[选项][文件]常用选项如下。-b<类型>:编号类型,如t(非空行)、a(所有行)。-n<格式>:编号格式,如ln(左对齐)、rz(右对齐补零)。-w<宽度>:编号宽度。示例如下。nlscript.sh //为非空行编号nl-bafile.txt //为所有行编号nl-nrz-w4config.txt //右对齐补零,宽度45.2.3查看文件内容:more、less、cat、tac、nl、head、tail、wc、bat6.headhead命令显示文件开头若干行,默认10行。语法如下。head[选项][文件]常用选项:-n<行数>(指定行数)、-c<字节>(指定字节数)、-q(安静模式,多文件不显示文件名)。示例如下。headconfig.txt //显示前10行head-n3config.txt //显示前3行head-c100file.txt //显示前100字节5.2.3查看文件内容:more、less、cat、tac、nl、head、tail、wc、bat7.tailtail命令显示文件末尾若干行,默认10行,支持实时监控。语法如下。tail[选项][文件]常用选项:-n<行数>(指定行数)、-c<字节>(指定字节数)、-f(实时监控文件变化)、-q(安静模式,多文件不显示文件名)。示例如下。tailconfig.txt //显示后10行tail-n5log.txt //显示后5行tail-f/var/log/messages //实时监控messages日志,按Ctrl+C退出tail-f-n20log1.txtlog2.txt //监控多个文件5.2.3查看文件内容:more、less、cat、tac、nl、head、tail、wc、bat8.wcwc命令统计文件行数、字数和字符数。语法如下。wc[选项][文件]常用选项:-l(仅统计行数)、-w(仅统计字数)、-c(仅统计字节数)、-m(统计字符数)、-L(显示最长行长度)。示例如下。wcconfig.txt //统计行数、字数、字符数wc-lconfig.txt //仅统计行数wc-wlog.txt //仅统计字数wc-Lscript.sh //显示最长行长度5.2.3查看文件内容:more、less、cat、tac、nl、head、tail、wc、bat9.batbat命令是cat替代品,支持语法高亮和分页。执行dnfinstallbat命令安装bat。语法如下。bat[选项][文件]常用选项:-l<语言>(指定语法高亮语言)、-n(显示行号)、--style=<样式>(自定义输出样式,如full、plain)、-A(显示不可见字符)。示例如下。batconfig.txt //显示config.txt,带高亮bat-nscript.sh //显示行号bat-Alog.txt //显示不可见字符5.2.4检查文件类型:file、stat、exiftool1.filefile命令判断文件类型,分析内容而非扩展名。语法如下。file[选项][文件]常用选项:-b(仅显示类型,不显示文件名)、-i(输出MIME类型)、-z(检查压缩文件内容)、-f<文件>(从文件读取要检查的路径列表)、-L(跟随符号链接)。示例如下。file/bin/ls //检查ls命令类型,如ELF64-bitexecutablefilescript.sh //检查脚本类型,如Bourne-Againshellscriptfile-bimage.png //仅显示类型,如PNGimagedatafile*.txt //批量检查当前目录下所有.txt文件的类型file-i*.txt //显示MIME类型file-zlog.gz //检查压缩文件内容5.2.4检查文件类型:file、stat、exiftool2.statstat命令显示文件或文件系统的元数据,如权限、时间戳和inode。stat的atime可能因noatime挂载选项不更新,需要检查/etc/fstab确定。示例如下。statconfig.txt //显示config.txt的元数据,包括大小、权限、时间stat-f/home //显示/home所在文件系统的信息,如块大小stat/bin/bash //查看bash命令的详细属性,如inode号stat-c"%n%s"/bin/ls //自定义输出,仅显示文件名称和大小stat-L/bin/bash //跟随符号链接stat--printf='%n\n'file.txt //格式化输出5.2.4检查文件类型:file、stat、exiftool3.exiftoolexiftool命令查看多媒体文件的元数据(如图片、视频的EXIF信息)。EXIF(ExchangeableImageFileFormat)是一种嵌入在多媒体文件(如照片、视频)中的元数据标准,用于记录拍摄设备的参数、时间、位置等信息。示例如下。exiftoolimage.jpg //显示image.jpg元数据exiftool-jsonvideo.mp4 //JSON格式输出exiftool-sphoto.png //简短输出5.2.5文件完整性:md5sum、sha256sum、b2sum1.md5summd5sum命令计算和验证文件的MD5摘要。MD5易受碰撞攻击,推荐sha256sum或b2sum用于安全校验。语法如下。md5sum[选项][文件]常用选项:-c(校验文件中的MD5值)、-b(二进制模式)、--tag(输出BSD风格标签格式)、--status(仅返回状态码)、--threads=<数量>(指定线程数)。示例如下。md5sumfile.txt //计算MD5摘要值md5sumfile.txt>file.md5 //保存MD5值md5sum-cfile.md5 //使用file.md5验证file.txt的完整性md5sum*.txt>sums.md5 //批量生成所有.txt文件的MD5值md5sum-csums.md5 //批量验证sums.md5中的文件完整性md5sum--threads=4large.iso //多线程校验5.2.5文件完整性:md5sum、sha256sum、b2sum2.sha256sumsha256sum命令计算和验证文件的SHA-256摘要,安全性高于MD5。语法如下。sha256sum[选项][文件]常用选项:-c(校验文件中的SHA-256值)、-b(二进制模式)、--tag(输出BSD风格标签格式)、--status(仅返回状态码)、--threads=<数量>(指定线程数)。示例如下。sha256sumfile.txt //计算SHA-256值sha256sumfile.txt>file.sha256 //保存SHA-256值sha256sum-cfile.sha256 //验证完整性sha256sum*.txt>sums.sha256 //批量生成sha256sum--threads=4large.iso //多线程校验5.2.5文件完整性:md5sum、sha256sum、b2sum3.b2sumb2sum命令计算BLAKE2校验和,速度快且安全。执行dnfinstallcoreutils命令安装b2sum。语法如下。b2sum[选项][文件]常用选项:-c(校验文件中的BLAKE2值)、-l<位数>(指定哈希长度,如256)、--tag(输出BSD风格标签格式)、--threads=<数量>(指定线程数)。示例如下。b2sumfile.txt //计算BLAKE2值b2sumfile.txt>file.b2 //保存BLAKE2值b2sum-cfile.b2 //验证完整性b2sum-l256large.iso //使用256位哈希5.2.6文件与目录的创建、复制、删除、转移及重命名:touch、mkdir、rmdir、mv、rm、cp、install1.touchtouch命令创建空文件或更新文件时间戳。示例如下。touchnote.txt //创建空文件note.txt或更新其时间戳touchfile1.txtfile2.txt //批量创建多个空文件touch-t202510011200note.txt //设置note.txt的时间戳为2025年10月1日12:00touch-rref.txtnote.txt //复制ref.txt时间戳touch-cmissing.txt //不创建missing.txt5.2.6文件与目录的创建、复制、删除、转移及重命名:touch、mkdir、rmdir、mv、rm、cp、install2.mkdirmkdir命令创建目录,支持递归和权限设置。语法如下。mkdir[选项]<目录>常用选项:-p(递归创建多级目录)、-m<模式>(设置权限,如700)、-v(显示创建详情)、--context=<上下文>(设置SELinux上下文)。示例如下。mkdirdocs //创建docs目录mkdir-pdocs/sub1/sub2 //递归创建多级目录mkdir-m700private //创建private目录并设置权限为7005.2.6文件与目录的创建、复制、删除、转移及重命名:touch、mkdir、rmdir、mv、rm、cp、install3.rmdirrmdir命令删除空目录。语法如下。rmdir[选项]<目录>常用选项:-p(递归删除空父目录)、-v(显示删除详情)、--ignore-fail-on-non-empty(忽略非空目录错误)。示例如下。rmdirempty_dir //删除空目录rmdir-pdir1/dir2 //递归删除空目录dir1/dir2及其上级空目录dir15.2.6文件与目录的创建、复制、删除、转移及重命名:touch、mkdir、rmdir、mv、rm、cp、install4.mvmv命令移动文件或目录,或重命名。语法如下。mv[选项]<源><目标>常用选项:-i(覆盖前提示)、-f(强制覆盖)、-n(不覆盖现有文件)、-u(仅移动比目标新的文件)、-v(显示移动详情)、--progress(显示进度)、--preserve=<属性>(保留属性,如mode,timestamps)。示例如下。mvnote.txtdocs/ //移动note.txt到docs目录mvnote.txtnote_new.txt //将note.txt重命名为note_new.txtmv*.txtbackup/ //批量移动所有.txt文件到backup目录mv-ifile.txtdocs/ //覆盖前提示mv--progresslarge.iso/mnt //显示进度5.2.6文件与目录的创建、复制、删除、转移及重命名:touch、mkdir、rmdir、mv、rm、cp、install5.rmrm命令删除文件或目录,需谨慎使用。语法如下。rm[选项]<文件|目录>常用选项:-i(删除前提示)、-f(强制删除,无提示)、-r(递归删除目录及其内容)、-v(显示删除详情)、-I(批量删除时提示)、--no-preserve-root(允许删除/)。示例如下。rmnote.txt //删除note.txt,默认交互提示rm-inote.txt //删除前显式提示,需确认rm-rdocs //递归删除docs目录及其内容rm-rfdata //强制删除data目录,慎用5.2.6文件与目录的创建、复制、删除、转移及重命名:touch、mkdir、rmdir、mv、rm、cp、install6.cpcp命令复制文件或目录。语法如下。cp[选项]<源><目标>常用选项:-r(递归复制目录)、-i(覆盖前提示)、-p(保留权限、时间戳等属性)、-a(保留所有属性,包括符号链接)、-v(显示复制详情)、--progress(显示进度)、--sparse=<模式>(处理稀疏文件,如always)。示例如下。cpnote.txtcopy.txt //复制note.txt为copy.txtcp-rdocsdocs_bak //递归复制docs目录为docs_bakcp-pnote.txtcopy.txt //复制note.txt并保留权限和时间戳等属性cp-i*.txtbackup/ //复制所有.txt文件到backup,覆盖前提示cp--progresslarge.iso/mnt //显示进度5.2.6文件与目录的创建、复制、删除、转移及重命名:touch、mkdir、rmdir、mv、rm、cp、install7.installinstall命令复制文件并设置权限,适合安装脚本或二进制文件。语法如下。install[选项]<源><目标>常用选项:-m<模式>(设置权限,如755)、-o<用户>(设置所有者)、-g<组>(设置所属组)、-d(创建目录)、-p(保留时间戳)。示例如下。install-m755script.sh/usr/local/bin/ //安装脚本并设置权限install-d/opt/app //创建目录install-pconfig.txt/etc/ //复制并保留时间戳5.2.7文件搜索命令:find、locate、which、whereis、type、fzf1.findfind命令递归搜索文件或目录,支持复杂条件过滤。语法如下。find[路径][选项]常用选项如下。-name<模式>:匹配文件名,支持通配符。-type<类型>:指定文件类型,如f(文件)、d(目录)。-size<大小>:按文件大小过滤,如+10M(大于10MiB)。-mtime<天数>:按修改时间过滤,如-7(7天内)、+7(7天前)。-user<用户>:按所有者过滤。-perm<模式>:按权限过滤,如644。-maxdepth<深度>:限制搜索深度。-empty:查找空文件或目录。-delete:删除匹配文件(慎用)。-exec<命令>:对搜索结果执行命令(慎用)。-execdir<命令>:在文件所在目录执行命令(更安全)。--threads=<数量>:指定线程数(RH

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论