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/sda1sudo vgcreate myvg /dev/sda1sudo 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 /swapfilesudo mkswap /swapfilesudo 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 ncduncdu /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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/577168.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

k8s修改/etc/resolve.conf导致容器域名解析失败

问题: 因为用户原因,修改了k8s主机中/etc/resolve.conf的dns地址,产生的现象就是主机可以解析域名,但是pod不能解析域名; 原因: CoreDNS 是 Kubernetes 集群中的默认 DNS 服务器,负责处理集群内的 DNS 解…

使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理

1、通用的业务编码规则的管理功能 在前面随笔我们介绍了一个通用的业务编码规则的管理功能,通过代码生成工具Database2Sharp一步步的生成相关的后端和Winform、WPF的界面,进行了整合,通过利用代码生成工具Database2sharp生成节省了常规功能的…

DreamTuner :通过单张图片实现主题驱动的图像生成

该项目由字节跳动开发,你只需要提供一张图片,DreamTuner就能帮你生成与这张图片在主题和风格上一致的新图像。比如你有一张可乐照片,它可以根据你的要求将可乐放在任何场景中或添加其他元素形成一张完美海报! 这个工具特别适用于需…

PyAV 使用浅谈

背景: PyAV是一个用于音频和视频处理的Python库,它提供了一个简单而强大的接口,用于解码、编码、处理和分析各种音频和视频格式。PyAV基于FFmpeg多媒体框架,它本质上是FFmpeg 的Python绑定,因此可以利用FFmpeg的功能来…

【MySQL】数据库之事务

目录 一、什么是事务 二、事务的ACID是什么? 三、有哪些典型的不一致性问题? 第一种:脏读 第二种:不可重复读 第三种:幻读 第四种:丢失更新 四、隔离级别有哪些? (1&#xf…

vue中父子组件传值

父传子 传: 在"标签"上传属性 <Card :name"name"></Card> 接: 在props中 export default {props: {name: String},setup(props) {console.log(props.name);} } 子传父 传: 触发,给一个事件传值 setup(props,{emit}) {emit("get…

Docker介绍、常用命令与操作

Docker介绍、常用命令与操作 学习前言为什么要学习DockerDocker里的必要基础概念常用命令与操作1、基础操作a、查看docker相关信息b、启动或者关闭docker 2、容器操作a、启动一个镜像i、后台运行ii、前台运行 b、容器运行情况查看c、日志查看d、容器删除 3、镜像操作a、镜像拉取…

NCCL 实践与体会

1. 介绍 2. NCCL 开启IB/ROCE/的环境变量设置 export NCCL_IB_DISABLE0;export NCCL_P2P_DISABLE1;NCCL_SHM_DISABLE1 NCCL_IB_HCAmlx5_0,mlx5_1,mlx5_4,mlx5_5;sendrecv_perf -b 8 -e 8192M -f 2 -g 4

框架面试题

文章目录 1. spring中的bean是线程安全的吗2. 事务的实现--AOP3. 项目中用到的AOP4.spring中事务的失效场景5. Bean的生命周期6.spring中的循环引用问题7. springMVC的执行流程8. springboot自动装配原理9. 常见注解10 Mybatis11 Mybatis一二级缓存 1. spring中的bean是线程安全…

PoE交换机传输距离是多少?100米?250米?

你们好&#xff0c;我的网工朋友。 今天和你聊聊PoE交换机&#xff0c;之前有系统地给你讲解过一篇&#xff0c;可以先回顾一下哈&#xff1a;《啥样的交换机才叫高级交换机&#xff1f;这张图告诉你》 为什么都说PoE交换机好&#xff1f;它最显著的特点就是&#xff1a; 可…

SQL手工注入漏洞测试(MySQL数据库)

一、实验平台 https://www.mozhe.cn/bug/detail/elRHc1BCd2VIckQxbjduMG9BVCtkZz09bW96aGUmozhe 二、实验目标 获取到网站的KEY&#xff0c;并提交完成靶场。 三、实验步骤 ①、启动靶机&#xff0c;进行访问查找可能存在注入的页面 ②、通过测试判断注入点的位置(id) (1)…

PyTorch官网demo解读——第一个神经网络(3)

上一篇&#xff1a;PyTorch官网demo解读——第一个神经网络&#xff08;2&#xff09;-CSDN博客 上一篇文章我们讲解了第一个神经网络的模型&#xff0c;这一篇我们来聊聊梯度下降。 大佬说梯度下降是深度学习的灵魂&#xff1b;梯度是损失函数&#xff08;代价函数&#xff…

简述一下微信小程序的路由概念

简述一下微信小程序的路由概念 不管是nodejs的express、koa&#xff0c;还是vue或者是react&#xff0c;包括小程序&#xff0c;这些应用框架中都包含了一个基本核心概念也就是路由所有应用框架中的路由都有共通性&#xff0c;主要包括&#xff1a;静态路由表、分配地址、统一入…

云渲染UE4像素流送搭建(winows、ubuntu)

windows/ubuntu20.4下UE4.27.2像素流送 像素流送技术可以将服务器端打包的虚幻引擎应用程序在客户端的浏览器上运行&#xff0c;用户可以通过浏览器操作虚幻引擎应用程序&#xff0c;客户端无需下载虚幻引擎&#xff0c;本文实现两台机器通过物理介质网线实现虚幻引擎应用程序…

智能优化算法应用:基于广义正态分布算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于广义正态分布算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于广义正态分布算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.广义正态分布算法4.实验参数设定…

QTableWidget 中加入 图标居中问题的解决

思路一&#xff1a;直接在QTabelWidget中加入 QTableWidgetItem &#xff0c;设置 item 的 icon 问题&#xff1a;难以居中 思路二&#xff1a;在 QTableWidget 中 插入 QLabel &#xff0c;把图标放到 QLabel 上 问题&#xff1a;存在点击图标困难的问题 思路三&#xff1a…

【序列化和反序列化】

&#x1f341;什么是序列化和反序列化&#xff1f; &#x1f341;典型解析&#x1f341;拓展知识仓&#x1f341;如何进行序列化和反序列化&#x1f341;未实现Serializable&#xff0c;可以序列化吗? &#x1f341;典型解析 在Java中&#xff0c;我们可以通过多种方式来创建对…

我的NPI项目之Android电源系列(四) -- 关于剩余充满时间的问题的代码跟踪-max1720x_battery.c qpnp-smb2.c

从我的NPI项目之Android电源系列(三)&#xff0c; 能够看出&#xff0c;healthd是通过读取/sys/class/power_supply/battery/time_to_full_now而进行充满剩余时间的。 在/sys/class/power_supply/battery/...目录下有很多文件&#xff0c;具体内容如下&#xff1a; /sys/class…

详谈 springboot整合shiro

背景&#xff1a; 本章将进一步的落地实践学习&#xff0c;在springboot中如何去整合shrio&#xff0c;整个过程步骤有个清晰的了解。 利用Shiro进行登录认证主要步骤&#xff1a; 1. 添加依赖&#xff1a;首先&#xff0c;在pom.xml文件中添加Spring Boot和Shiro的相关依赖…

java接口限流详解

目录 1.简介1.1.为什么需要限流?1.2.限流和熔断有什么区别&#xff1f;1.3.限流和削峰有什么区别&#xff1f;1.4 缓存&#xff0c;降级&#xff0c;限流简介 2.应用级限流2.1 控制并发数量2.2 控制访问速率2.2.1 令牌桶算法2.2.2 漏桶算法 3.分布式限流4.交流群 1.简介 接口…