03.磁盘管理与维护命令

磁盘管理与维护命令

df命令

功能说明

df命令用来检查Linux系统的磁盘空间占用情况。其格式如下:

df [选项]

df命令的选项及其说明如表所示。

df命令的选项及其说明

选项

含义

-h

以容易理解的格式输出文件系统分区占用情况,例如 32kB、120MB、 60GB

-k

以 kB 大小为单位输出文件系统分区占用情况

-m

以 MB大小为单位输出文件系统分区占用情况

-a

列出所有的文件系统分区,包含 0 大小的文件系统分区

-i

列出文件系统分区的 inodes 信息

-T

显示磁盘分区的文件系统类型

举例

(1)查看当前系统磁盘分区情况,并显示文件系统类型,人性化输出。

[root@qu /opt]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  475M     0  475M    0% /dev
tmpfs                   tmpfs     487M     0  487M    0% /dev/shm
tmpfs                   tmpfs     487M  7.7M  479M    2% /run
tmpfs                   tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root xfs        17G  2.3G   15G   14% /
/dev/sda1               xfs      1014M  170M  845M   17% /boot
tmpfs                   tmpfs      98M     0   98M    0% /run/user/0

从上面的输出可以看出,每个文件系统分区的总大小、已经使用大小、剩余大小和占用的百分比等,还可以看出,上面系统使用了ext3、ext4、tmpfs和xfs这4种类型的文件系统。

关于文件系统的概念,我们后面章节有详细讲述。

(2)输出文件系统的inodes信息。

[root@qu /opt]# df -ihT
文件系统                类型     Inode 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs                devtmpfs  119K     387    119K       1% /dev
tmpfs                   tmpfs     122K       1    122K       1% /dev/shm
tmpfs                   tmpfs     122K     742    121K       1% /run
tmpfs                   tmpfs     122K      16    122K       1% /sys/fs/cgroup
/dev/mapper/centos-root xfs       8.5M     46K    8.5M       1% /
/dev/sda1               xfs       512K     332    512K       1% /boot
tmpfs                   tmpfs     122K       1    122K       1% /run/user/0

du命令


功能说明

du命令用来显示文件或目录所占用的磁盘空间情况。其格式如下:

du [选项] 文件或目录

du命令的选项及其含义如表所示。

du命令的选项及其含义

选项

含义

-s

显示文件或者整个目录的大小,单位为 kB。

-b

以字节为单位显示文件大小或者显示目录下所有文件的大小

-sh

以人性化的格式显示文件或者目录大小,例如 300MB、1.2GB 等

-sm

以 MB 为单位显示文件或者目录大小

举例

  1. 显示当前目录下所有文件的大小,可以使用以下命令:
[root@qu ~]# du -sh ./* 
4.0K	./1.txt
4.0K	./2.txt
0	./3.txt
0	./Aa12fd.txt
4.0K	./anaconda-ks.cfg
  1. 显示当前Linux系统/etc目录的总大小,使用以下命令:
[root@qu ~]# du -sh /etc/
33M	/etc/

fsck命令

功能说明

fsck命令用来检查文件系统并尝试修复错误。其格式如下:

fsck [选项] [-t <文件系统类型>] [设备名]

fsck命令的选项及其说明如表所示。

fsck命令的选项及其说明

选项

含义

-a

自动修复文件系统,没有任何提示

-r

采取互动的修复模式,在执行修复时进行询问,让用户得以确认并决定处理方式

-A

依照/etc/fstab 配置文件的内容,检查文件内所列的全部文件系统

-T

执行 fsck 指令时,不显示标题信息

-V

显示 fsck 指令的执行过程

-N

不执行指令,仅列出实际执行会进行的动作

“-t <文件系统类型>”是指定要检查的文件系统类型。

注意:在执行fsck命令修复某个文件系统时,这个文件系统对应的磁盘分区一定要处于卸载状态,磁盘分区在挂载状态下进行修复是极为不安全的,数据可能遭到破坏,也有可能损坏磁盘。

举例

检查并尝试修复出问题的磁盘分区/dev/sda10,在执行修复时进行询问,让用户得以确认并决定处理方式,显示详细修复过程。

[root@localhost /]# fsck -rV -t ext4 /dev/sda10
fsck 1.39 (29-May-2006)
[/sbin/fsck.ext4 (1) -- /dev/sda10] fsck.ext4 -r /dev/sda10
e2fsck 1.39 (29-May-2006)
/opt contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Inode 6121 ref count is 2, should be 1. Fix<y>? yes
Unattached inode 6122
Connect to /lost+found<y>? yes
Inode 6122 ref count is 2, should be 1. Fix<y>? yes
Pass 5: Checking group summary information
Block bitmap differences: -(519--529) -9273
Fix<y>? yes
…… ……
/opt: ***** FILE SYSTEM WAS MODIFIED *****
/opt: 19/128520 files (15.8% non-contiguous), 46034/514048 blocks

从上面可以看出,fsck在修复文件系统的时候其实是调用了/sbin/fsck.ext4命令。fsck修复经历了5个步骤的检查,中间如果发现需要修复的,就会提示用户是否修复,按“y”键进行修复,按其他任意键跳过修复。

当fsck命令执行时,fsck如果发现存在没有文件系统依赖的文件或者目录,就会提示 用户是否把它们找回来,因为这些没有文件系统依赖的文件或者目录对用户来说是看不到的,也就无法使用,一般是由文件系统内部结构损坏导致的。如果用户同意找回,也就是上面说的按“y”键,fsck命令就会把这些孤立的文件或者目录放到lost+found目录下,并用这些文件自己对应的i-node号来命名,以便用户查找自己丢失的文件。lost+found的字面意思就是丢失找回的含义。

因此当用户在利用fsck命令修复磁盘分区以后,如果发现分区中有文件丢失,就可以到对应的lost+found目录中去查找。由于此时通过文件名称已经无法分辨文件,我们可以利用file命令查看文件系统类型,进而判断哪个是我们需要的文件。


sync命令

功能说明

sync命令用来强制把内存中的数据写回硬盘,以免数据的丢失。其格式如下:

需要说明的是:在Linux系统中,修改过的操作会缓存到内存中,不会马上写入硬盘,等待适当的时候再从内存写入磁盘,这样可以提高系统读写效率。Linux下默认每隔3秒系统自动执行一次sync操作,系统正常关机时也会执行sync操作,保证所有操作全部从内存写入磁盘。如果非法关机,系统内存信息无法及时同步到硬盘,就会造成数据丢失或者文件损坏,由此可见,Linux系统中正常关机是非常重要的。

eject命令

功能说明

eject命令用来退出抽取式设备,例如光驱或者磁带。如果该设备已经挂载,则eject先将设备卸载,然后再退出设备。其格式如下:

eject命令的选项及其说明如表所示。

eject命令的选项及其说明

选 项

含 义

-c <光驱编号>

如果 Linux 系统中有多个光驱,需要指定某个光驱

-d 或--default

显示缺省的设备,而不是实际执行操作

-f 或--floppy

退出抽取式软盘

-q 或--tape

退出磁带

-r 或--cdrom

退出光盘

-t 或--trayclose

关闭光盘的托盘

-n 或--noop

显示指定的设备名对应的设备文件路径。默认显示光盘的设备文件路径

举例

  1. 显示当前系统中软盘、光盘和磁带的相应设备文件路径。
[root@qu ~]# eject --noop /dev/sr0 
eject: 设备是“/dev/sr0”
[root@qu ~]# eject -n cdrom 
eject: 设备是“/dev/sr0”
  1. 卸载Linux系统的/tmp分区,使用以下命令:
[root@qu ~]# eject /tmp

mount/umount命令

功能说明

挂载以及卸载指定的文件系统,这里介绍下 mount/umount的使用。

mount [选项] [-L<标签>] [-o<选项>] [-t<文件系统类型>] [设备名] [挂载点]
umount [挂载点]

mount命令的选项及其含义如表所示。

mount命令的选项及其含义

选 项

含 义

-a

加载文件/etc/fstab 中指定的所有设备

-n

不将加载信息记录在/etc/mtab 文件中

-r

以只读方式加载设备

-w

以可读写模式加载设备,属于 mount 默认设置

-f 或-v

不加载设备,仅是查看 mount 的挂载状态

(1)-L<标签>:标签其实就是磁盘分区标识的别名,标签可以随便起名,这样便于记忆,在 Linux 下磁盘分区的设备名比较难记,利用标签代替设备名,简单易记。

(2)-o<选项>:指定加载文件系统时的选项,这些选项如下。

  • async:以非同步的方式执行文件系统的输入输出动作。
  • atime:每次存取都更新 inode 的存取时间,默认设置,取消选项为 noatime。
  • auto:必须在/etc/fstab 文件中指定此选项。执行-a 选项时,会加载设置为 auto 的设备,取消选取为 noauto。
  • dev:可读文件系统上的字符或块设备,取消选项为 nodev。
  • exec:可执行二进制文件,取消选项为 noexec。
  • noatime:每次存取时不更新 inode 的存取时间。
  • noauto:加入此选项,就无法使用-a 选项来加载。
  • nodev:不读文件系统上的字符或块设备。
  • noexec:无法执行二进制文件。
  • nosuid:关闭 set-user-identifier(设置用户 ID)与 set-group-identifer(设置组 ID)设置位。
  • nouser:使用户无法执行加载操作,默认设置。
  • iocharset=XXX:指定 mount 分区时使用的字符集。
  • codepage=XXX:指定 mount 分区时使用的内码表。
  • remount:重新加载设备。通常用于改变设备的设置状态。
  • ro:以只读模式加载。
  • rw:以可读写模式加载。
  • suid:启动 set-user-identifier(设置用户 ID)与 set-group-identifer(设置组 ID)设置位,取消选项为 nosuid。
  • sync:以同步方式执行文件系统的输入输出动作。
  • user:可以让一般用户加载设备。
  • defaults:使用默认的选项。默认选项为 rw、suid、dev、exec、anto、nouser 与 async。

(3)-t<文件系统类型>:指定设备的文件系统类型,常用选项如下。

  • ext4/xfs:Linux 目前的常用文件系统。
  • msdos:MS-DOS 的 FAT。
  • vfat:Windows 95/98 的 VFAT。
  • nfs:网络文件系统。
  • iso9660:CD-ROM 光盘的标准文件系统。
  • ntfs:Windows NT 的文件系统。

(4) 设备名:硬盘分区在 Linux 上的设备标识,类似于/dev/sda1、/dev/hda2 等。

(5) 挂载点:Linux 系统下指定的某个目录。

举例

(1)将光盘镜像文件挂载到Linux系统下。

#mount -o loop -t iso9660 /iso/CentOS-7-x86_64-DVD-1503-01.iso /ixdba

在Windows下访问ISO镜像文件需要虚拟光驱等第三方软件,而在Linux系统下光盘镜像文件可以直接通过挂载的方式实现读取。

这里的“loop”选项表示把一个镜像文件当成硬盘分区挂接到系统,“-t”指定镜像文件 的 类 型 为   iso9660 , 也 就 是 光 盘 的 标 准 文 件 系 统 。 “/iso/CentOS-7-x86_64-DVD-1503-01.iso”表示镜像文件的路径,而“/ixdba”表示挂载点,挂载成功后就可以通过/ixdba 目录访问镜像文件的内容了。

(2)Windows+Linux双系统并存环境,将Windows下的D 盘挂载到 Linux下的/mnt/d目录下,并且支持中文,使用以下命令:

mount -t vfat -o codepage=936,iocharset=cp936 /dev/hda3 /mnt/d

上面的命令中,“-t vfat”选项表示需要挂载的 D盘是FAT格式的文件系统;“- o”后面的选项指定了分区挂载后支持中文显示;“/dev/hda3”是Windows下的D 盘在 Linux下硬件标识;“/mnt/d”是Linux系统上指定的挂载点,挂载成功就可以通过访问Linux下的/mnt/d目录来访问Windows下的D 盘内容了。

(3)在一台Linux系统上以只读的方式挂载另一台Linux系统上共享出来的分区,也就是我们以后要深入讲述的network filesystem(NFS)文件系统,使用以下命令:

mount -t nfs -o ro 192.168.60.133:/home/ixdba /mnt/nfs

上面的命令中,“-t nfs”指定挂载的文件系统类型是 nfs;“-o ro”指定以只读的方式挂载;“192.168.60.133:/home/ixdba”表示将IP地址为“192.168.60.133”的另外一台 Linux系统中/home/ixdba目录共享出来;“/mnt/nfs”是指定在本机Linux系统上的挂载点。

lspci命令

lspci命令用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息。现在主流设备如网卡储存等都采用PCI总线。

1、语法格式

lspci [参数]

常用参数:

-n 以数字方式显示PCI厂商和设备代码

-t 以树状结构显示PCI设备的层次关系

-b 以总线为中心的视图

-s 仅显示指定总线插槽的设备和功能块信息

-i 指定PCI编号列表文件,不使用默认文件

-m 以机器可读方式显示 PCI设备信息

2、使用案例

显示当前主机的所有PCI总线信息:

lspci

以树状结构显示PCI设备的层次关系:

lspci -t

hwinfo命令

hwinfo命令的英文全称为“Hardware Information”。这个命令极其方便和强大,使用该命令,我们不必在去计算机机身或者说明书上一个一个查找硬件信息了。

hwinfo是一个使用非常广泛的硬件信息查询命令,类似于lshw,它同样可以详细或概要地报告多个部件的硬件信息,但不同的是,它有时可以给出比lshw更多的信息。

很多检测硬件信息的命令行都需要使用root权限。所以在运行该命令前,您最好切换到管理员权限账户。

1、语法格式:

hwinfo [参数]

常用参数:

--short显示简略信息

--log 将信息输入到log 文件中

--cpu 显示cpu信息

--usb 显示usb设备信息

--storage 显示硬盘信息

2、参考实例

显示硬件所有信息:

hwinfo

显示简要信息:

hwinfo --short

查看cup信息:

hwinfo --short --cpu

查看网卡信息:

hwinfo --short --netcard

查看硬盘信息:

hwinfo --short --storage

查看usb设备信息:

hwinfo --short --usb

clock命令

clock命令的作用是调整RTC时间。RTC是电脑内建的硬件时间,执行这项指令可以显示现在时刻,调整硬件时钟的时间,将系统时间设成与硬件时钟之时间一致,或是把系统时间回存到硬件时钟。

1、语法格式

clock [参数]

常用参数:

--adjust自动调整硬件时钟时间

--debug详细显示指令执行过程,便于排错或了解程序执行的情形

--directisa 不通过设备文件/etc/rtc,直接对硬件时钟进行存取

--getepoch 输出硬件时钟的数值到标准输出

--hctosys 时钟同步,使系统时钟和硬件时钟同步

--set- -date设置硬件时间

--show 显示硬件时钟到标准输出

--systohc 系统时间写入硬件时钟

--test 仅作测试,并不真的将时间写入硬件时钟或系统时间

--utc 把硬件时钟上的时间时为CUT,有时也称为UTC或UCT

--version 显示版本信息

2、使用案例

显示当前硬件时钟时间:

[root@qu ~]# clock
2024年04月27日 星期六 20时13分24秒  -0.481296 秒

显示utc硬件时钟时间:

[root@qu ~]# clock --utc

2024年04月27日 星期六 20时13分34秒 -0.588676 秒

同步时间:

clock --hctosys

fdisk命令

fdisk命令的英文全称是“Partition table manipulator for Linux”,即作为磁盘的分区工具。进行硬盘分区从实质上说就是对硬盘的一种格式化,用一个形象的比喻,分区就好比在一张白纸上画一个大方框,而格式化好比在方框里打上格子。

1、语法格式

fdisk [参数]

常用参数:

-b 指定每个分区的大小

-l 列出指定的外围设备的分区表状况

-s将指定的分区大小输出到标准输出上,单位为区块

-u搭配”-l”参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址

-v 显示版本信息

2、使用案例

查看所有分区情况:

fdisk -l

选择分区磁盘:

fdisk /dev/sdb

mkfs命令

Linux mkfs(英文全拼:make file system)命令用于在特定的分区上建立linux文件系统。


1、使用方式:

mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]

参数:

device:预备检查的硬盘分区,例如:/dev/sda1

-V : 详细显示模式

-t : 给定档案系统的型式,有ext3/ext4/xfs等

-c : 在制做档案系统前,检查该partition 是否有坏轨

-l bad_blocks_file : 将有坏轨的 block资料加到bad_blocks_file 里面 block : 给定 block 的大小

2、使用案例

在上建一个ext4的档案系统,同时检查是否有坏轨存在,并且将过程详细列出来:

mkfs -V -t ext4 -c /dev/sda5

将sda6分区格式化为xfs格式

mkfs -t xfs /dev/sda6

或者

mkfs.xfs /dev/sda6

上面两个命令等价。

swapon命令

swapon命令用于激活Linux系统中交换空间,Linux系统的内存管理必须使用交换区来建立虚拟内存。

1、语法格式

swapon [参数]

常用参数:

-a将/etc/fstab文件中所有设置为swap的设备,启动为交换区

-h 显示帮助

-p 制定交换区的优先顺序

-s 显示交换区的使用情况

2、使用案例

显示交换区的版本信息:

swapon -v /dev/sdb8

显示交换区的使用情况:

swapon -s

自动加载所有SWAP:

swapon -a
  • 34
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愿听风成曲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值