Linux磁盘系统——管理磁盘的命令
Posted shamao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux磁盘系统——管理磁盘的命令相关的知识,希望对你有一定的参考价值。
Linux磁盘系统——管理磁盘的命令
摘要:本文主要学习了Linux系统中管理磁盘的命令,包括查看磁盘使用情况、磁盘挂载相关、磁盘分区相关、磁盘格式化等操作。
df命令
df命令用于显示Linux系统中各文件系统的硬盘使用情况,包括文件系统所在硬盘分区的总容量、已使用的容量、剩余容量等。
/dev/shm为内存挂载点,如果你想把文件放到内存里,就可以放到/dev/shm/目录下。
基本语法
1 [[email protected] ~]# df [选项] 目录或文件
选项说明
1 -a:显示所有文件系统信息,包括系统特有的/proc、/sysfs等文件系统。 2 -k:以KB为单位显示容量,默认。 3 -m:以MB为单位显示容量。 4 -h:使用人们习惯的KB、MB或GB等单位自行显示容量。 5 -H:以M=1000K取代M=1024K的进位方式显示容量。 6 -T:显示该分区的文件系统名称(例如xfs)。 7 -i:不用硬盘容量显示,而是以含有inode的数量来显示。
使用举例
1 [[email protected] /]# df -hiT 2 文件系统 类型 Inode 已用(I) 可用(I) 已用(I)% 挂载点 3 /dev/mapper/centos-root xfs 17M 28K 17M 1% / 4 devtmpfs devtmpfs 120K 386 120K 1% /dev 5 tmpfs tmpfs 123K 1 123K 1% /dev/shm 6 tmpfs tmpfs 123K 472 122K 1% /run 7 tmpfs tmpfs 123K 13 123K 1% /sys/fs/cgroup 8 /dev/sda2 xfs 700K 329 700K 1% /boot 9 tmpfs tmpfs 123K 1 123K 1% /run/user/0 10 [[email protected] /]#
du命令
du命令是统计目录或文件所占磁盘空间大小的命令。
基本语法
1 [[email protected] ~]# du [选项] 目录或文件
选项说明
1 -a:显示每个子文件的磁盘占用量。默认只统计子目录的磁盘占用量。 2 -h:使用习惯单位显示磁盘占用量,如KB、MB或GB等。 3 -s:统计总磁盘占用量,而不列出子目录和子文件的磁盘占用量。
使用举例
1 [[email protected] ~]# du -sh / 2 du: 无法访问"/proc/3628/task/3628/fd/4": 没有那个文件或目录 3 du: 无法访问"/proc/3628/task/3628/fdinfo/4": 没有那个文件或目录 4 du: 无法访问"/proc/3628/fd/4": 没有那个文件或目录 5 du: 无法访问"/proc/3628/fdinfo/4": 没有那个文件或目录 6 1.1G / 7 [[email protected] ~]#
mount命令
mount挂载命令是用来将硬件设备的文件系统和Linux系统中的文件系统,通过指定目录(作为挂载点)进行关联。
基本语法
显示已挂载设备:
1 [[email protected] ~]# mount [选项]
挂载设备:
1 [[email protected] ~]# mount [选项] 设备文件名 挂载点
选项说明
1 -a:显示出系统中已挂载的设备信息。 2 -l:额外显示出卷标名称。 3 -t 系统类型:指定欲挂载的文件系统类型。Linux常见的支持类型有xfs、ext2、ext3、ext4、iso9660、fat、vfat等。如果不指定具体类型,挂载时Linux会自动检测。 4 -L 卷标名:除了使用设备文件名之外,还可以利用文件系统的卷标名称进行挂载。 5 -n:在默认情况下,系统会将实际挂载的情况实时写入/etc/mtab文件中,但在某些场景下(例如单人维护模式),为了避免出现问题,会刻意不写入,此时就需要使用这个选项。 6 -o 特殊选项:可以指定挂载的额外选项,比如读写权限、同步/异步等,如果不指定,则使用默认值(defaults)。具体的特殊选项: 7 rw/ro:是否对挂载的文件系统拥有读写权限,rw为默认值,表示拥有读写权限。ro表示只读权限。 8 async/sync:此文件系统是否使用同步写入(sync)或异步(async)的内存机制,默认为异步async。 9 dev/nodev:是否允许从该文件系统的block文件中提取数据,为了保证数据安装,默认是nodev。 10 auto/noauto:是否允许此文件系统被以mount -a的方式进行自动挂载,默认是auto。 11 suid/nosuid:设定文件系统是否拥有SetUID和SetGID权限,默认是拥有。 12 exec/noexec:设定在文件系统中是否允许执行可执行文件,默认是允许。 13 user/nouser:设定此文件系统是否允许让普通用户使用mount执行实现挂载,默认是不允许(nouser),仅有root可以。 14 defaults:定义默认值,相当于rw、suid、dev、exec、auto、nouser、async这7个选项。 15 remount:重新挂载已挂载的文件系统,一般用于指定修改特殊权限。
umount命令
umount命令用于卸载已经挂载的硬件设备。
基本语法
1 [[email protected] ~]# umount 设备文件名或挂载点
lsblk命令
lsblk命令用来列出所有可用块设备的信息,但是,它不会列出RAM盘的信息。
基本语法
1 [[email protected] ~]# lsblk [选项] 设备名称
选项说明
1 -d:仅列出磁盘本身,并不会列出该磁盘的分区信息。 2 -f:同时列出该磁盘内的文件系统名称。 3 -i:使用ASCII的字符输出,不要使用使用复杂的编码(在某些环境下有用)。 4 -m:同时输出该设备在/dev下面的权限信息(rwx的数据)。 5 -p:列出该设备的完整文件名(因为不加这个选项,显示的是最后的名字)。 6 -t:列出该磁盘设备的详细数据,包括磁盘列阵机制、预读写的数据量大小等。
使用举例
1 [[email protected] ~]# lsblk 2 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 3 sda 8:0 0 20G 0 disk 4 ├─sda1 8:1 0 2M 0 part 5 ├─sda2 8:2 0 700M 0 part /boot 6 └─sda3 8:3 0 19G 0 part 7 ├─centos-root 253:0 0 17G 0 lvm / 8 └─centos-swap 253:1 0 2G 0 lvm [SWAP] 9 sr0 11:0 1 4G 0 rom 10 [[email protected] ~]#
结果说明
1 NAME:这是块设备名。 2 MAJ:MIN:显示主要和次要设备号。 3 RM:显示设备是否可移动设备。RM值为0说明是不可移动设备,RM值等于1说明是可移动设备。 4 SIZE:列出设备的容量大小信息。 5 RO:该项表明设备是否为只读。RO值为0说明不是只读,RO值为1说明是只读。 6 TYPE:显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。 7 MOUNTPOINT:指出设备挂载的挂载点。
blkid命令
blkid命令可以列出文件系统名称与设备的UUID等数据。
UUID是全局唯一标识符(universally unique identifier)。Linux会将系统内所有的设备给予一个独一无二的标识符,可以拿来作为挂载或是使用这个设备或文件系统。
基本语法
1 [[email protected] ~]# blkid 设备文件名
使用举例
1 [[email protected] ~]# blkid 2 /dev/sr0: UUID="2015-12-09-23-14-10-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 3 /dev/sda2: UUID="8ea9a0fe-8856-4c0e-9d8e-4d676aefb33e" TYPE="xfs" 4 /dev/sda3: UUID="yasEyq-jfRF-pMZp-eoeK-fkXu-ouuS-Y46Op2" TYPE="LVM2_member" 5 /dev/mapper/centos-root: UUID="eee2ef01-d9fd-4357-9c82-4578ad4d4060" TYPE="xfs" 6 /dev/mapper/centos-swap: UUID="aa4242d0-542f-4512-b475-a91b1bc6c354" TYPE="swap" 7 [[email protected] ~]#
parted命令
parted命令可用于查看磁盘的分区状态,还可以用于磁盘的分区/删除,以及磁盘分区表的类型转换(可以实现,但是不建议做,十分危险)。
基本语法
1 parted 设备文件名 [选项]
选项说明
1 print:打印磁盘分区信息。 2 mkpart [primary|logical|extended] [ext4|vfat|xfs] 分区开始内存处 分区结束内存处:新增分区。 3 rm 分区号码:删除分区。 4 mklabel 分区表格式:磁盘分区表的类型转换,常用的有msdos和gpt分区表格式,msdos不支持2TB以上容量的磁盘,所以大于2TB的磁盘选gpt分区表格式。
使用举例
1 [[email protected] ~]# parted /dev/sda print 2 Model: VMware, VMware Virtual S (scsi) 3 Disk /dev/sda: 21.5GB 4 Sector size (logical/physical): 512B/512B 5 Partition Table: msdos 6 Disk Flags: 7 8 Number Start End Size Type File system 标志 9 1 1049kB 3146kB 2097kB primary 10 2 3146kB 737MB 734MB primary xfs 启动 11 3 737MB 21.1GB 20.4GB primary lvm 12 13 [[email protected] ~]#
结果说明
1 Model:磁盘的模板名称(厂商)。 2 Disk:磁盘的总容量。 3 Sector size:磁盘的每个逻辑/物理扇区的大小。 4 Partition Table:分区表的格式(MBR/GPT)。 5 最后一排:分区的数据。
fdisk命令
fdisk命令用于MBR分区表格式磁盘的分区或查询。
基本语法
1 [[email protected] ~]# fdisk 设备文件名
gdisk命令
gdisk命令用于GPT分区表格式磁盘的分区或查询。
基本语法
1 [[email protected] ~]# gdisk 设备文件名
以上是关于Linux磁盘系统——管理磁盘的命令的主要内容,如果未能解决你的问题,请参考以下文章