Linux操作系统—磁盘和文件系统管理实用

发布时间:2023年12月25日

1. ?硬盘和分区基础:?

???- Linux使用设备文件(例如 `/dev/sda`)来表示硬盘。

???- 使用`fdisk`或`parted`等工具对硬盘进行分区。

?????# 示例:使用fdisk进行分区

sudo fdisk /dev/sda

2. ?查看磁盘信息:?

???- 使用`lsblk`或`fdisk`查看系统上的磁盘和分区信息。

?????# 示例:查看磁盘信息

?lsblk

3. ?格式化分区:?

???- 在创建分区后,需要使用`mkfs`命令格式化为指定的文件系统类型。

?????# 示例:格式化分区为ext4文件系统

sudo mkfs.ext4 /dev/sda1?

4. ?挂载分区:?

???- 使用`mount`命令将格式化后的分区挂载到指定的目录。

?????# 示例:挂载分区到/mnt目录

sudo mount /dev/sda1 /mnt

5. ?永久挂载:?

???- 在`/etc/fstab`文件中添加条目以实现开机自动挂载。

?????# 示例:编辑fstab文件

sudo nano /etc/fstab

????# 添加一行

/dev/sda1 ??/mnt ??ext4 ??defaults ??0 ??2

6. ?磁盘和分区大小调整:?

???- 使用`resize2fs`和`resizepart`等命令在线调整文件系统和分区大小。

?????# 示例:调整文件系统大小

sudo resize2fs /dev/sda1

7. ?磁盘性能监控:?

???- 使用`iostat`、`iotop`等工具监控磁盘的读写性能。

?????# 示例:使用iostat监控磁盘性能

iostat -d -k 1

8. ?RAID配置:?

???- 使用`mdadm`命令配置软件RAID,提高数据冗余和性能。

?????# 示例:创建RAID1

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

9. ?LVM(逻辑卷管理):?

???- LVM提供了灵活的磁盘管理,允许在逻辑卷和卷组之间动态调整空间。

?????# 示例:创建逻辑卷和卷组

sudo pvcreate /dev/sda1

sudo vgcreate myvg /dev/sda1

sudo lvcreate -n mylv -l 100%FREE myvg

10. ?磁盘配额:?

????- 使用`quota`命令和`/etc/fstab`中的`usrquota`和`grpquota`选项实现用户和组磁盘配额。

?????# 示例:启用用户磁盘配额

sudo nano /etc/fstab

????# 添加usrquota选项

/dev/sda1 ??/mnt ??ext4 ??defaults,usrquota ??0 ??2

????# 重载文件系统

sudo mount -o remount /mnt

11. ?查找大文件和目录:?

????- 使用`du`和`sort`命令结合查找磁盘上的大文件。

?????# 示例:查找最大的文件和目录

du -h /path/to/directory | sort -rh | head -n 10

12. ?SWAP分区:?

????- 创建和启用SWAP分区以提供额外的虚拟内存空间。

?????# 示例:创建SWAP分区

sudo fallocate -l 2G /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

13. ?磁盘清理:?

????- 使用`rm`、`find`等命令删除不需要的文件,释放磁盘空间。

?????# 示例:删除指定类型的文件

find /path/to/directory -name "*.log" -type f -delete???

14. ?磁盘快照:?

- 使用`LVM`或`btrfs`等支持快照的文件系统创建磁盘快照

15. ?磁盘快照(续):?

????- 使用`LVM`创建快照,以便在文件系统发生变化时能够还原。

?????# 示例:创建LVM快照

sudo lvcreate -L 5G -s -n snapshot_name /dev/myvg/mylv

16. ?磁盘修复:?

????- 使用`fsck`命令检查和修复文件系统错误。

?????# 示例:检查和修复文件系统

sudo umount /dev/sda1
sudo e2fsck -f /dev/sda1

17. ?磁盘加密:?

????- 使用LUKS对整个分区进行加密。

?????# 示例:使用LUKS加密分区

sudo cryptsetup luksFormat /dev/sda1
sudo cryptsetup open --type luks /dev/sda1 myencryptedpartition

18. ?磁盘空间预警:?

????- 设置磁盘空间使用的阈值,以便在空间不足时收到警告。

?????# 示例:设置磁盘空间预警

sudo nano /etc/fstab

????# 添加noatime和usrquota选项

/dev/sda1 ??/mnt ??ext4 ??defaults,noatime,usrquota ??0 ??2

19. ?磁盘复制和迁移:?

????- 使用`dd`命令复制磁盘的内容,或使用`rsync`迁移文件。

?????# 示例:使用dd复制磁盘

sudo dd if=/dev/sda1 of=/dev/sdb1 bs=4M

20. ?磁盘恢复:?

????- 使用备份工具(例如`rsync`、`tar`、`scp`)从备份中还原数据。

?????# 示例:使用rsync从备份还原

rsync -avz /backup/directory/ /restore/directory/

21. ?磁盘分析工具:?

????- 使用`du`、`ncdu`等工具分析磁盘使用情况。

?????# 示例:使用ncdu分析磁盘使用情况

sudo apt-get install ncdu

ncdu /path/to/directory

22. ?NVMe和SSD优化:?

????- 针对NVMe和SSD进行一些性能优化,例如使用`fstrim`定期释放空间。

?????# 示例:定期释放SSD空间

sudo fstrim -v /

23. ?磁盘缓存:?

????- 使用`sync`命令强制将缓存数据写入磁盘。

?????# 示例:强制刷新磁盘缓存

sync

24. ?ZFS文件系统:?

????- 在支持的系统上,使用ZFS文件系统提供高级的数据管理功能。

?????# 示例:创建ZFS文件系统

sudo zpool create mypool /dev/sda1

25. ?Btrfs文件系统:?

????- Btrfs是另一种先进的文件系统,支持快照、压缩等功能。

?????# 示例:创建Btrfs文件系统

sudo mkfs.btrfs /dev/sda1

26. ?查看文件系统类型:?

????- 使用`blkid`命令可以查看磁盘上的文件系统类型。

?????# 示例:查看文件系统类型

blkid /dev/sda1

27. ?创建RAM磁盘:?

????- 使用`tmpfs`创建一个基于内存的文件系统,适用于需要快速访问的临时文件。

?????# 示例:创建RAM磁盘

sudo mount -t tmpfs -o size=1G tmpfs /mnt/ramdisk

28. ?使用`hdparm`优化硬盘性能:?

????- `hdparm`可以用来查看和调整硬盘参数以优化性能。

?????# 示例:查看硬盘信息

sudo hdparm -I /dev/sda

29. ?检测坏块:?

????- 使用`badblocks`命令检测硬盘上的坏块。

?????# 示例:检测坏块

sudo badblocks -v /dev/sda

30. ?日志管理:?

????- 定期检查系统日志,特别是`/var/log`目录下的文件,以了解磁盘和文件系统的问题。

?????# 示例:查看系统日志

tail -n 50 /var/log/syslog

31. ?磁盘容量预估:?

????- 使用`df`命令结合`awk`命令估算文件系统的剩余空间。

?????# 示例:估算文件系统剩余空间

df -h | awk '$NF=="/"{printf "剩余空间:%s\n", $4}'

32. ?远程挂载磁盘:?

????- 使用`sshfs`命令将远程磁盘挂载到本地目录。

?????# 示例:远程挂载磁盘

sshfs user@remote:/path/to/remote/directory /local/mount/point

33. ?磁盘分区表备份:?

????- 使用`dd`命令备份磁盘分区表,以防止分区表损坏时能够恢复。

?????# 示例:备份磁盘分区表

sudo dd if=/dev/sda of=/path/to/backup/sda_partition_table_backup bs=512 count=1

34. ?磁盘分区表还原:?

????- 使用`dd`命令将备份的磁盘分区表还原到磁盘。

?????# 示例:还原磁盘分区表

sudo dd if=/path/to/backup/sda_partition_table_backup of=/dev/sda bs=512 count=1

35. ?磁盘IO压力测试:?

????- 使用`fio`工具进行磁盘IO性能测试。

?????# 示例:进行磁盘IO压力测试

sudo fio --name=mytest --ioengine=sync --rw=read --bs=4k --numjobs=16 --size=10G --time_based

36. ?NVMe磁盘信息:?

????- 使用`nvme`命令查看NVMe磁盘信息。

?????# 示例:查看NVMe磁盘信息

sudo nvme list

37. ?磁盘SMART信息:?

????- 使用`smartctl`命令查看硬盘的SMART信息。

?????# 示例:查看硬盘SMART信息

sudo smartctl -a /dev/sda

38. ?调整磁盘读写调度器:?

????- 使用`echo`命令将I/O调度器切换为`deadline`或`noop`。

?????# 示例:切换I/O调度器为deadline

sudo echo "deadline" > /sys/block/sda/queue/scheduler

39. ?磁盘阵列监控:?

????- 使用`mdadm`命令监控软件RAID的状态。

?????# 示例:监控RAID状态

sudo mdadm --detail /dev/md0

40. ?磁盘缓存策略:?

????- 使用`hdparm`设置硬盘缓存策略。

?????# 示例:设置硬盘缓存为writeback

sudo hdparm -W1 /dev/sda

41. ?定时磁盘清理:?

????- 使用`cron`定时清理不必要的临时文件。

?????# 示例:定时清理临时文件(每周一执行)

1 find /tmp -type f -atime +7 -exec rm {} \;

42. ?LVM快照自动创建:?

????- 使用`lvcreate`和`cron`定期自动创建LVM快照。

?????# 示例:每天自动创建LVM快照

lvcreate -L 5G -s -n snapshot_name /dev/myvg/mylv

43. ?磁盘使用情况图形化:?

????- 使用`ncdu`或`baobab`等工具图形化查看磁盘使用情况。

?????# 示例:使用baobab查看磁盘使用情况

baobab

44. ?检测SSD寿命:?

????- 使用`smartctl`命令检测SSD寿命。

?????# 示例:检测SSD寿命

sudo smartctl -a /dev/sda

45. ?文件系统巡检:?

????- 使用`fsck`命令在系统重启时对文件系统进行巡检。

?????# 示例:设置下次启动时进行文件系统巡检

sudo touch /forcefsck

46. ?自动清理旧的内核文件:?

????- 使用`purge-old-kernels`命令自动清理旧的内核文件。

?????# 示例:自动清理旧的内核文件

sudo purge-old-kernels

47. ?清理回收站:?

????- 定期清理回收站,释放磁盘空间。

?????# 示例:清理回收站

rm -rf ~/.local/share/Trash/*

48. ?系统日志定期清理:?

????- 使用`logrotate`工具定期清理系统日志。

?????# 示例:配置logrotate

sudo nano /etc/logrotate.conf

文章来源:https://blog.csdn.net/qq_61861243/article/details/135207016
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。