【linux之设备,分区,文件系统】

2018/02/24 16:33
阅读数 12

一、设备

IDE磁盘的设备文件采用/dev/hdx来命名,分区则采用/dev/hdxy来命名,其中x表示磁盘(a是第一块磁盘,b是第二块磁盘,以此类推),
y代表分区的号码(由1开始,12、3以此类推)  
SCSI设备和分区采用/dev/sdx和/dev/sdxy来命名(x和y的命名规则与IDE磁盘一样)。IDE和SCSI光驱采用的是跟磁盘一样的命名方式。


/dev/hda/表示第一个IDE接口的第一个硬盘设备(master) 
/dev/hdb/表示第一个IDE接口的第二个硬盘设备(slave)
/dev/hdc和/dev/hdd则是第二个IDE接口上的master和slave设备

主分区占用了1到4号,逻辑分区从5开始算起

1. /dev/hdc6:第二个IDE接口的master接口硬盘的第二个逻辑分区 
2. /dev/sdb1:第二个SCSI接口硬盘的第1个主分区 
3. 第二个IDE接口的master接口硬盘的第三个主分区:/dev/hdc3 
4. 第五个SCSI接口硬盘的第三个逻辑分区:/dev/sde7

 

 字符设备
 console:本地物理控制台
 tty:虚拟终端
 ttys:串行虚拟终端
 pts/{0,1,2}:模拟终端设备(通过远程网络,例如Xshell)关联远程连接(TCP)会话

 

who: 查看当前系统谁登录 
w:查看谁登录,正在干什么
whoami:查看当前登录的登录名
last:所有用户在此计算机上曾经登录成功的用户名
lastb:曾经登录失败的信息
lastlog:显示一个给定用户的最近登录信息

 

/var/log/wtmp:保存登录成功的信息   last
/var/log/btmp:保存登录失败的信息  lastb

 

sleep 5ls 等待5秒后执行ls

ctrl+D 注销(exit)

 

 块设备
   能完成数据存储的功能。
   ram
   sd#(serial disk串行磁盘) 
   sr#(serial cdrom|dvdrom光盘)
   fd#(floppy disk软盘)

 

元数据(没有文件名,文件名存放在目录中) 
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,
用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。

 

固态硬盘,芯片存储,U盘(闪存)
机械硬盘,磁头盘片  
U盘存储速度:芯片的处理速度,接口标准,总线宽度

 

磁盘管理,文件系统
盘片,两面,磁性材料,两个磁头
柱面,磁道,扇区
最外圈,线速度最快,读取速度最快
划分分区,从外面向里面划分
操作系统安装在最靠近外边缘的分区。

整个磁盘盘上头好像有多个同心囿绘制出的饼图,而由圆心以放射状癿方式分割出磁盘的最小储存单
位,那就是扇区(Sector), 在物理组成分面,每个扇区大小为 512Bytes,这个值是不会改变的。而扇
区组成一个圆就成为磁道(track), 如果是在多碟的硬盘上面, 在所有磁盘盘上面癿同一个磁道可以组
成一个磁柱(Cylinder), 磁柱也是一般我仧分割硬盘时癿最小单位了!

 

格式化
 高级格式化:在已经划分好的分区里面进行磁盘块以及元数据的创建(由文件系统进行操作)
 低级格式化:在硬盘式划分磁道

 

文件系统在操作系统的内核里

在linux里面,文件系统将磁盘分区划分为大小相等的若干磁盘块(block)(在windows里叫簇)
块的大小只有三种标准:1024Byte,2048B,4096B(默认4096)

 

元数据
索引信息 
索引节点(inode),索引位图(inode bitmap),块位图

 

访问一个文件,/tmp/test/a.txt
首先看是否存在,然后找索引节点号(ls -id /tmp),再找数据块
文件夹里只有文件名和节点编号
若文件没有节点编号,一定不存在
一个inode可能对应很多块数据块

 

添加磁盘

虚拟机设置,添加硬盘(SCSI支持热插拔),创建新磁盘,存储为单个文件,完成。
sda1:启动分区 sda2:交换分区 sda3:根分区

为了是系统内核重新识别并创建新的设备文件,可以如下操作:
echo " - - - " > /sys/class/scsi_host/host2/scan 重新识别硬盘

添加新的磁盘设备之后使用新磁盘的操作步骤:
  1.划分分区
  2.创建文件系统
  3.创建卷标(可选)
  4.挂载(前提:有挂载点并且挂载点是空目录)
  
cat /proc/partitions 现在的分区信息(blocks单位是1k)

 

二、fdisk

划分分区的命令:

   fdisk [选项] [设备名] 
        -l 显示分区信息,包含标准输出,标准输入
     command:
      n:添加新的分区
      d: 删除分区
      m:获得帮助菜单
      p:显示当前分区表
      q:不保存退出
      w:保存退出
      t:转换分区系统标识

 

partprobe [设备名] 手动更新分区表
partprobe /dev/sdb

 

 补充:

判断文件是否为空
touch a
wc -l < a

 

三、文件系统

1、mkfs

mkfs:make file system
-t fstype

当前系统可支持的文件系统

ls /lib/modules/2.6.32-71.el6.i686/kernel/fs
autofs4     cifs(普通的互联网文件系统)      dlm       ext2  fat(文件分配表)     gfs2  jffs2       nfs(网络文件系统)         nls       udf
btrfs       configfs  ecryptfs  ext3(增加了日志系统)  fscache  jbd   lockd       nfs_common  squashfs
cachefiles  cramfs    exportfs  ext4(单个文件大小更大了,块大小可自由调节,控制inode)  fuse     jbd2  mbcache.ko  nfsd        ubifs

1个inode对应4块block

 

mkfs -t ext2 = mkfs.ext2

 

2、mke2fs

mke2fs
     -t ext3/4:创建ext3/4类型文件系统
     -b:指定块大小,默认4096,可用取值1024,2048,4096
     -L LABEL:指定分区卷标(严格区分大小写)
     -m #:指定预留给超级用户的块数百分比
     -i #:用于指定为多少个字节的空间创建一个inode,默认16384,这里给出的数值应该为块大小的2^n倍;
     -N #:指定inode个数
     -F:强制创建文件系统
     -E:用户指定额外文件系统属性

注意:别格式化扩展分区(扩展分区不能直接格式化),别格式化整个磁盘(会格式化MBR,分区表也没了)
能创建系统的是主分区和逻辑分区

mke2fs -b 2048 -i 4096 - L mydate /dev/sdb1

 

3、blkid:查询或者查看磁盘设备的相关属性

UUID:通用唯一的标识符号,标识分区设备,由CPU随机计算生成
SEC_TYPE:辅助
TYPE:文件系统类型
LABEL:卷标

 

4、e2label:修改卷标

e2label /dev/sdb2 "hx"

 

5、tune2fs:调整文件系统的相关属性

-j:不损害原有数据,将ext2升级为ext3
-L LABEL:设定或修改卷标
-m #:调整预留百分比
-r #:指定预留块数
-o:设定默认挂载选项
acl
-c #:指定挂载次数达到#次后进行自检,0或-1表示关闭此功能
-i #:每挂载多少天后进行自检,0或-1表示关闭此功能
-l:显示超级块中的信息

 

dumpe2fs:显示文件属性信息
-h:只显示超级块中的信息


6、fsck:检查并修复linux文件系统

-t FSTYPE:指定文件系统类型
-a:自动修复


7、e2fsck:专用于修复ext2/ext3文件系统

-f:强制检查
-p:自动修复

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部