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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值