查看命令
df 查看磁盘分区
使用fdisk命令查看分区的三种方法:
1、sudo fdisk -l
2、sudo fdisk /dev/sda进入交互模式,然后输入p
3、查看单个硬盘,通过 fdisk -l /dev/sad1
1)fdisk -l :查看磁盘的分区情况
2)lsblk:查看设备使用情况,即哪些磁盘的哪些分区正在被谁使用
3)blkid :查看设备管理方式(设备上的文件系统类型)及设备id
4)df:查看正在被系统挂载的设备
5)cat /proc/partitions :查看被系统识别的设备
# mount | column -t # 查看挂接的分区状态
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
fdisk -l 可以显示出所有挂载和未挂载的分区,但不显示文件系统类型。
Disk /dev/sda: 299.4 GB, 299439751168 bytes
255 heads, 63 sectors/track, 36404 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000576df
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2611 20971520 83 Linux
/dev/sda2 2611 3134 4194304 82 Linux swap / Solaris
/dev/sda3 3134 36404 267248282 83 Linux
fdisk -l 硬盘名|分区名
root@centos:~# fdisk -l /dev/sda
Disk /dev/sda:1.84 TiB,2000398934016 字节,3907029168 个扇区
Disk model: ST2000NX0253
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
磁盘标识符:27E8F38B-1909-4730-B931-D399FF19A594
设备 起点 末尾 扇区 大小 类型
/dev/sda1 2048 4095 2048 1M BIOS 启动
/dev/sda2 4096 976895 972800 475M Microsoft 基本数据
/dev/sda3 976896 3726032895 3725056000 1.8T Linux LVM
df -T 查看已经挂载的分区和文件系统类型
(只可以查看已经挂载的分区和文件系统类型)
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/sda1 ext4 20642428 3698868 15894984 19% /
tmpfs tmpfs 32947160 0 32947160 0% /dev/shm
parted -l 可以查看未挂载的文件系统类型,以及哪些分区尚未格式化。
Model: LSI MR9240-8i (scsi)
Disk /dev/sda: 299GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 1049kB 21.5GB 21.5GB primary ext4 boot
2 21.5GB 25.8GB 4295MB primary linux-swap(v1)
3 25.8GB 299GB 274GB primary ext4
lsblk -f 也可以查看未挂载的文件系统类型。
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
|-sda1 ext4 c4f338b7-13b4-48d2-9a09-8c12194a3e95 /
|-sda2 swap 21ead8d0-411f-4c23-bdca-642643aa234b [SWAP]
`-sda3 ext4 2872b14e-45va-461e-8667-43a6f04b7bc9
file -s /dev/sda3
/dev/sda3: Linux rev 1.0 ext4 filesystem data (needs journal recovery) (extents) (large files) (huge files)
lsblk显示磁盘,分区,UUID等
lsblk
会显示系统中除了内存虚拟磁盘外的所有可用块设备的信息:
root@centos:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 475M 0 part
└─sda3 8:3 0 1.8T 0 part
├─centos-root 253:0 0 1.7T 0 lvm
└─centos-swap 253:1 0 32G 0 lvm
sdb 8:16 0 931.5G 0 disk
├─sdb1 8:17 0 512M 0 part /boot/efi
└─sdb2 8:18 0 931G 0 part /
sdc 8:32 0 1.8T 0 disk
└─sdc1 8:33 0 1.8T 0 part /home1
sdd 8:48 0 223.6G 0 disk
└─sdd1 8:49 0 223.6G 0 part
lsblk默认显示的只是其中一部分lsblk -h可以查到支持显示的内容
现在默认显示的内容基础上,增加内容,则用-o +xx,如
lsblk -o +uuid
各种UUID和UUID查看方法
uuid类别
- UUID:文件系统的唯一标识符id(分区格式化之后才会生成的id,见图)确保在设备名称变化时能够正确挂载文件系统。
- PTUUID 用于标识整个分区表,特别是在使用 GPT 分区表时。
- PARTUUID 磁盘的物理分区id,有没有文件系统都能识别。
区别:
有PARTUUID 为什么还需要UUID?
因为文件系统是可以跨物理分区的(例如,通过LVM或RAID配置).
PTUUID 和PARTUUID 的区别?
PTUUID 标识的是整个分区表,而 PARTUUID 标识的是具体的分区。假设一个磁盘上有三个分区,每个分区都会有一个独立的 PARTUUID,但该磁盘只有一个PTUUID ,见图
查看方法
lsblk
blkid
ls -l /dev/disk/by-uuid
1,lsblk
lsblk默认显示的只是其中一部分
指定输出
1,增加输出项目用-o +xx,如增加输出uuid
lsblk -o +uuid,
2,指定输出项目,用-o 指定输出NAME,UUID,PARTUUID
lsblk -o NAME,UUID,PARTUUID
NAME UUID PARTUUID
sda
├─sda1 D63B-92B0 8841198b-a9b5-4f9b-a45d-6d15f93eeacf
├─sda2 8ef3a1c9-84b4-440e-96e7-76f49bfee2de e94e4d52-5faf-4776-b263-c2817a140115
├─sda3 f3c8417e-ca72-4aac-8373-ca8931f5c8bc
2 ls -l /dev/disk/by-uuid
3 blkid
查看文件系统的方法
df -T 或者 mount 或者 cat /etc/fstab
(如果手工修改了 /etc/fstab文件,一定要执行 sudo findmnt --verify 来检查一下。
因为 /etc/fstab 文件改错了导致系统重启起不来)
查看是否是固态硬盘SSD
方法1
使用
lsblk
命令进行判断,参数-d
表示显示设备名称,参数-o
表示仅显示特定的列。lsblk -d -o name,rota
1 的表示HDD 0的是SSD
方法2
cat /sys/block/sda/queue/rotational
# 返回0:SSD盘
# 返回1:SATA盘
方法3
登录后复制
lsscsi
# 返回 ATA的是SSD
/dev/hda, /dev/hdb, /dev/sda, /dev/sdb是什么?
磁盘
/dev/hda一般是指IDE接口的硬盘,/dev/hda指第一块硬盘,/dev/hdb指第二块硬盘,等等;
/dev/sda一般是指SATA接口的硬盘,/dev/sda指第一块硬盘,/dev/sdb指第二块硬盘,等等。
/dev/nvme一般是指peci接口的硬盘,/dev/nvmen0指第一块硬盘,/dev/nvmen1指第二块硬盘,等等。
……
在Linux操作系统中,任何物理存储设备接入系统后都是以文件的形式存在,且不同类别的设备接入系统后被识别的文件类型不同,这里我们用下表来详细说明:
分区
/dev/sda是指整个硬盘,实际使用中一般都会有分区,也就是/dev/sda1, /dev/sda2这样的。有一些分区已经挂载了,使用df命令,可以看到各个分区分区被挂载到哪个目录
Linux系统磁盘分区、设备挂载及磁盘配额详解
HDD,SSD, SATA,PCIe之间的关系和区别
SATA,PCIe是接口类型
HDD,SSD 是硬盘类型
nvme ssd和普通ssd区别:ssd是固态硬盘,普通的ssd配的是SATA口(AHCI协议),nvme ssd配的是PCIe口(nvme传输协议)
HDD 和 SSD 早期, SATA 接口(接口协议:AHCI )满足性能需求,瓶颈在硬盘端,闪存技术的飞速发展,性能瓶颈由下层(硬盘)转移至上层(接口和协议),SSD 急需要更高效的接口和协议,由此,NVMe(Non Volatile Memory Express)横空出世。
linux文件系统格式
EXT:Linux第一个文件系统,叫做扩展文件系统。
Ext2:ext2是为解决ext的缺陷而设计的,它又被称为二级扩展文件系统。
Ext3: Ext3是Ext2的下一代,也就是保有Ext2的格式之下再加上日志功能。
EXT4:是第四代扩展文件系统(Fourth extended filesystem,缩写为 ext4)是linux系统下的日志文件系统,是Ext3文件系统的后继版本。
xfs: 主要特性包括以下几点:
1、数据完全性
由于文件系统开启了日志功能,意外宕机发生后,磁盘上的文件不会遭到破坏了。
2、传输特性
XFS查询与分配存储空间非常快。xfs文件系统能连续提供快速的反应时间。
3、可扩展性
可以支持上百万T字节的存储空间。XFS使用高的表结构(B+树),保证了文件系统可以快速搜索与快速空间分配。
4、传输带宽
XFS 能以接近裸设备I/O的性能存储数据。
Linux swap: 它是Linux中一种专门用于交换分区的swap文件系统。Linux是使用这一整个分区作为交换空间。一般这个swap格式的交换分区是主内存的2倍。在内存不够时,Linux会将部分数据写到交换分区上。
VFAT: VFAT叫长文件名系统,这是一个与Windows系统兼容的Linux文件系统,支持长文件名,可以作为Windows与Linux交换文件的分区。
原文
==========================================================
s 开头是串行设备,h 开头是并行设备。d 是……
1. 请查资料了解这些术语:/dev/hda, /dev/hdb, /dev/sda, /dev/sdb, 他们之间有什么区别?
答:hda一般是指IDE接口的硬盘,hda指第一块硬盘,hdb指第二块硬盘,等等;sda一般是指SATA接口的硬盘,sda指第一块硬盘,sdb指第二块硬盘,等等。
2. 为什么 du -b /etc/passwd 和 du -k /etc/passwd 所得到的结果不一致呢?按道理讲1024b 等于 1k 阿铭的 /etc/passwd 为 1181b 而 使用k为单位表示它竟然是 4k.
答:du -b显示的是文件的实际大小;du -k显示的是文件所占磁盘块的大小,du不带参数默认是显示块的大小。一个块大小为4KB,一个块只能存放一个文件,小于4KB的文件占用一个块的大小,大于4KB的文件占用多个块,大小为4KB的整数倍。/etc/passwd大小为1181b,小于4KB,所以使用du 或者du -k显示大小为4KB。
3. 请查资料,了解磁盘的这些概念: heads, sectors, cylinders.
答:硬盘划分为磁头(Heads)、柱面(Cylinder)、扇区(Sector)。
磁头(Heads):每张磁片的正反两面各有一个磁头,一个磁头对应一张磁片的一个面。因此,用第几磁头就可以表示数据在哪个磁面。
柱面(Cylinder):所有磁片中半径相同的同心磁道构成“柱面",意思是这一系列的磁道垂直叠在一起,就形成一个柱面的形状。简单地理解,柱面就是磁道。
扇区(Sector):将磁道划分为若干个小的区段,就是扇区。虽然很小,但实际是一个扇子的形状,故称为扇区。每个扇区的容量为512字节。
硬盘容量=磁头数×柱面数×扇区数×512字节。
4. 请计算磁盘分区的时候,每一个柱面空间是多大? 阿铭的第二块磁盘是8589 MB (8589934592 bytes),总共有1044个柱面。
答:柱面空间=磁盘容量/柱面数=8589934592/1044=8227906bytes
5. 查资料了解ide和scsi接口的磁盘有什么不一样,scsi 磁盘(sda, sdb)最多可以分多少个逻辑分区(这个了解即可)?
答: IDE(Intergrated Device Electronics,电子集成驱动器)一般是有扁平电缆连接的,一个扁平电缆可以连接2个IDE硬盘,而一个计算机一般提供2个扁平电缆,所以一般允许4块IDE硬盘。IDE经过多年的发展,成熟,廉价,稳定。一般老式的电脑中装的都是这种硬盘。目前主流的硬板已经是SATA硬盘了。IDE是平行传输的,而SATA是串行传输的。
SCSI(Small Computer System Interface:小型计算机系统接口)的出现主要是由于原有IDE接口的硬盘转速比较低,传输效率比较慢。由于SCSI硬盘独立于系统总线工作,所以它的最大优点就在于系统的占用率低,当然它还有一些优点,转速高,传输速率快,更稳定。但也有一些缺点,价格高,安装没有IDE方便。
一块SCSI硬盘最大分区只能分三个主分区加一个扩展分区, 而扩展分区最多可分15个逻辑分区, 这是硬件限制,不能突破。
6. 把磁盘格式化成ext4文件系统时,如果指定块大小并不是 1024 2048 4096 会发生什么?指定块大小最小是多少,最大又是多少?
答:当格式化文件系统时,如果指定块大小不是1024、2048、4096这几个标准值,会出现下面几种情况:
(1)当指定块小于1024时,则提示错误“无效的块大小”,不能格式化。
(2)当指定块大于1024且小于2048时,则实际以1024的块大小进行格式化。
(3)当指定块大于2048且小于4096时,则实际以2048的块大小进行格式化。
(4)当指定块大于4096且小于或等于65536时,则提示块值太大,是否继续,选择y继续,则以不大于指定块的4K的整数倍值(从4K到32K)进行格式化。
(5)当指定块大于等于65536时,则提示块值太大,是否继续,选择y继续,则以65536字节进行格式化。
(6)当指定块大于65536时,则提示错误“无效的块大小”,不能格式化。
7. 如何查看当前系统里各个分区都是什么类型的文件系统?
答:(1)mount
(2)df -T
8. /dev/zero 和 /dev/null 在linux系统中是什么文件,有什么作用?
答:(1)/dev/zero 是一个造零器,它可以源源不断的提供0,它可以用于向设备或文件写入字符串0,可以用它来创建一个指定长度用于初始化的空文件,比如临时交换文件等。
(2)/dev/null 它是空设备,也称为位桶(bit bucket),任何写入它的输出都会被抛弃。常用来禁止标准输出和标准错误的输出。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。
9. Linux下df 和 du 两个命令主要用来做什么?
答:(1)df 查看磁盘分区和文件系统信息
(2)du 查看目录或文件所占用的磁盘空间大小
10. 在Linux系统下,用什么命令为一个新磁盘分区呢?又用什么命令格式化磁盘?
答:fdisk 为新磁盘分区;可以使用mkfs.ext2、mkfs.ext3、mkfs.ext4、mke2fs等命令格式化磁盘。mke2fs功能更多。
11. 如果不能使用mount 挂载磁盘时,我们需要使用什么命令获取相关错误信息?
答:dmesg
12. 当卸载某个磁盘或者分区时,报错: “umount: /newdir: device is busy.” 我们如何做?
答:报这个错,可能是因为当前用户在/newdir目录下,可以先退出这个目录然后卸载,也可以使用命令 umount -l /newdir强制卸载。
13. 如何获取某个分区的UUID?
答:使用blkid命令
14. 如何使用dd命令生成一个大小为500M的文件?
答:dd if=/dev/zero of=/bigfile bs=1024k count=500
15. 查看内存大小的命令是? 如何以M为单位显示?
答:free -m
16. 如何查看各文件系统的inode数使用情况?
答:df -i
17. 使用vmware虚拟机分配一块1G的虚拟磁盘,并使用fdisk 分区工具给新加的磁盘分3个主分区,分别200M,然后再分3个逻辑分区,分别100M.
答:fdisk /dev/sdb 回车后,先按n,按 p,输入1 ,再输入 1,再输入+200M ;按n,按 p,输入2 ,再回车,再输入 +200M;按n ,按p,输入 3,再回车,再输入+200M;按 n,按e, 接着按两次回车;按 n,接着回车,输入+100M;按 n,接着回车,输入+100M;按 n,接着回车,输入+100M;
18. 给磁盘分区的时候,最多可以分几个主分区,最多可以分几个扩展分区,扩展分区和逻辑分区的关系时什么?
答:最多4个主分区,最多一个扩展分区,只有划分了扩展分区后,才可以在扩展分区内划分逻辑分区,也就是说逻辑分区是在扩展分区内的。
19. 我使用fdisk -l /dev/sdb 查看磁盘分区状况的时候,发现有这么几个分区: sdb1, sdb3, sdb5, sdb6, sdb7, 那么请推算一下,这个磁盘,共有几个主分区和几个逻辑分区?
答:一个主分区,三个逻辑分区(sdb5,sdb6,sdb7)
20. 有什么方法可以查看某个分区格式化时指定的块大小为多少(1024,2048,4096)?
答:第一个方法是,touch 1; echo 1 > 1; du -sh 1 看看1的大小是几k,是1k块大小就是1024,2k块大小就是2048,4k块大小就是4096
第二个方法是,tune2fs -l /dev/sda1 |grep 'Block size'