1. 请查资料了解这些术语:/dev/hda, /dev/hdb, /dev/sda, /dev/sdb, 他们之间有什么区别?
hd开头表示IDE硬盘,sd开头表示SCSI、SATA、USB硬盘
2. 为什么 du -b /etc/passwd 和 du -k /etc/passwd 所得到的结果不一致呢?按道理讲1024b 等于 1k 阿铭的 /etc/passwd 为 1181b 而 使用k为单位表示它竟然是 4k.
因为在硬盘扇区保存一块数据的最小单位是4K,即使文件小于4K,也是要占用4K空间的,du -b显示的是文件实际大小,而du -k显示的是文件占用硬盘空间的大小。
3. 请查资料,了解磁盘的这些概念: heads, sectors, cylinders.
磁头数(Heads)表示硬盘总共有几个磁头,也就是有几面盘片, 最大为 255 (用 8 个二进制位存储);
柱面数(Cylinders) 表示硬盘每一面盘片上有几条磁道,最大为 1023(用 10 个二进制位存储);
扇区数(Sectors) 表示每一条磁道上有几个扇区, 最大为 63(用 6个二进制位存储)。
4. 请计算磁盘分区的时候,每一个柱面空间是多大? 阿铭的第二块磁盘是8589 MB (8589934592 bytes),总共有1044个柱面。
每个柱面8227906bytes
5. 查资料了解ide和scsi接口的磁盘有什么不一样,scsi 磁盘(sda, sdb)最多可以分多少个逻辑分区(这个了解即可)?
IDE(Intergrated Device Electronics)
IDE一般是有扁平电缆连接的,一个扁平电缆可以连接2个IDE硬盘,而一个计算机一般提供2个扁平电缆,所以一般允许4块IDE硬盘。IDE是并行传输的,而SATA是串行传输的。
SATA(Serial-ATA)
SATA是串行ATA,数据校验更为完整,传输速度也更快,快到什么程度呢?SATA1.0的标准已经达到150M/s了,至于后续的2.0和3.0,则是可以达到300M/S和600M/S的。在各个方面都比IDE更加出色,所以IDE已经被SATA完全取代了。
SCSI(Small Computer System Interface:小型计算机系统接口)
SCSI的出现主要是由于原有IDE接口的硬盘转速比较低,传输效率比较慢。由于SCSI硬盘独立于系统总线工作,所以它的最大优点就在于系统的占用率低,当然它还有一些优点,转速高,传输速率快,更稳定。SCSI硬盘一般来讲只有服务器才用到的,在个人电脑上我们很少见到SCSI硬盘的存在。
6. 把磁盘格式化成ext4文件系统时,如果指定块大小并不是 1024 2048 4096 会发生什么?指定块大小最小是多少,最大又是多少?
会提示无效的块大小,最小1024,最大4096
7. 如何查看当前系统里各个分区都是什么类型的文件系统?
df -T
8. /dev/zero 和 /dev/null 在linux系统中是什么文件,有什么作用?
/dev/null : 在类Unix系统中,/dev/null,或称空设备,是一个特殊的设备文件,它丢弃一切写入其中的数据(但报告写入操作成功),读取它则会立即得到一个EOF。
在程序员行话,尤其是Unix行话中,/dev/null 被称为位桶(bit bucket)或者黑洞(black hole)。空设备通常被用于丢弃不需要的输出流,或作为用于输入流的空文件。这些操作通常由重定向完成。
/dev/zero : 在类UNIX 操作系统中, /dev/zero 是一个特殊的文件,当你读它的时候,它会提供无限的空字符(NULL, ASCII NUL, 0x00)。
其中的一个典型用法是用它提供的字符流来覆盖信息,另一个常见用法是产生一个特定大小的空白文件。BSD就是通过mmap把/dev/zero映射到虚地址空间实现共享内存的。可以使用mmap将/dev/zero映射到一个虚拟的内存空间,这个操作的效果等同于使用一段匿名的内存(没有和任何文件相关)。
9. Linux下df 和 du 两个命令主要用来做什么?
du命令可以显示目前的目录所占的磁盘空间,df命令可以显示目前磁盘剩余的磁盘空间。
10. 在Linux系统下,用什么命令为一个新磁盘分区呢?又用什么命令格式化磁盘?
分区:fdisk
格式化:mkfs或者mke2fs
11. 如果不能使用mount 挂载磁盘时,我们需要使用什么命令获取相关错误信息?
dmesg
12. 当卸载某个磁盘或者分区时,报错: “umount: /newdir: device is busy.” 我们如何做?
退出该分区或者使用umount -l
13. 如何获取某个分区的UUID?
blkid /dev/sda1
14. 如何使用dd命令生成一个大小为500M的文件?dd if=/dev/zero of=/bigfile bs=1024K count=500
15. 查看内存大小的命令是? 如何以M为单位显示?
free,以M为单位free -m
16. 如何查看各文件系统的inode数使用情况?
df -i
17. 使用vmware虚拟机分配一块1G的虚拟磁盘,并使用fdisk 分区工具给新加的磁盘分3个主分区,分别200M,然后再分3个逻辑分区,分别100M.
fdisk /dev/sdc n p 1 +200M n p 1 +200M n p 1 +200M n e 263 +100M n e 263 +100M n e 263 +100M
18. 给磁盘分区的时候,最多可以分几个主分区,最多可以分几个扩展分区,扩展分区和逻辑分区的关系时什么?
最多4个主分区,最多一个扩展分区,扩展分区相当于逻辑分区的盒子
19. 我使用fdisk -l /dev/sdb 查看磁盘分区状况的时候,发现有这么几个分区: sdb1, sdb3, sdb5, sdb6, sdb7, 那么请推算一下,这个磁盘,共有几个主分区和几个逻辑分区?
有3个主分区,3个逻辑分区
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'