linux 分区 文件,Linux磁盘分区和文件管理系统(示例代码)

1、磁盘分区

磁盘类型分为串口的IDE硬盘(hd[a-d])和并口的SCSI、SATA硬盘(sd[a-z])。

硬盘的分区分为主分区(p)和扩展分区两类(e),硬盘的主分区可以划分为4个分区,扩展分区需要继续二次分区后才能使用,即逻辑分区,且主分区和扩展分区之和不能超过4,逻辑分区是没有数量上的限制,逻辑分区一定是从sd[a-z]5开始。

分区命令:fdisk、parted、cfdisk、sfdisk    一般划分2T以下的硬盘用fdisk、2T以上的用parted。

fdisk命令:

查看磁盘分区情况:fdisk -l

对磁盘进行分区:fdisk disk

8e7ddba11b858e469f356a8901c74c1c.png

以/dev/sdb为例对其分区:fdisk /dev/sdc

948e032804fcd4e304ac7d567d1375a9.png

分区选项:n:添加新的分区   d:删除分区  l:列出所有分区类型   p:输出分区表

q:退出不保存      w:保存并退出  t:更改分区类型

5c84767a9a3b47200599738548cd8b0f.png

创建一个1G的主分区:

c1586611eddf26de763a35dbedac52cc.png

最多创建4个主分区,如果不需要扩展分区的话,扩展分区要占一个主分区。

8bb1c7c9e7a1295a578396032d7bf81a.png

如果删除的话直接在分区里面选择d,然后选择要删除的分区号

文件管理系统

创建文件系统需要格式化:

1、低级格式化:主要划分磁道,在分区之前

2、高级格式化:主要创建文件系统,在分区之后

文件系统的分类:

Linux文件系统:ext2、ext3、ext4、xfs、relsefs、btrfs

windows文件系统:ntfs、fat32

光盘:iso9660

网络文件系统:nfs,clfs

集群文件系统:gfs2(Redhat),ocfs(Oracle)

内核级的分布式文件系统:ceph

用户空间的分布式文件系统:glusterfs.lustre,tfs...

交换文件系统:swap

unix的文件系统:UFS,FFS,JFS,Jfs2

伪文件系统:proc,sysfs,tmpfs

文件系统的数据:

1.元数据:与文件内容无关,存放文件的名称、大小、权限、属主、属组、时间戳、数据块指针等,

为这些文件信息提供一个存储空间,就叫inode,称为索引节点。

2.数据:存放文件的内容,

链接文件:

1、硬链接:指向相同的idnode的多个文件路径

特性:

1、目录不支持硬链接

2、硬链接不能跨文件系统 每个文件系统的iodine都是独立管理的

3、创建硬链接会增加inode引用计数

4、删除一个文件不影响另一个文件。

用法:ln   源文件  目标文件

2、 软链接:指向一个文件路径的另一个文件路径

特性:

1、符号连接与文件是两个各自独立的文件,各有自己的inode,对原文件创建符号链接不会增加链接数

2、支持对目录创建符号链接,可以跨文件系统

3、删除符号链接文件不影响原文件;但删除原文件,符号指定的路径即不存在,此时会变成无效链接

用法:ln -s   源文件  目标文件或目录

文件系统管理工具:

创建文件系统的工具

mkfs.

mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs

检测及修复文件系统的工具

fsck

fsck.ext2,fsck.ext3,fsck.ext4...

查看其属性的工具

dumpe2fs,tune2fs

调整文件系统特性

tune2fs

比如给刚才的/dev/sdc1分区进行格式化:

46346de8df6eb2b898e20e943e88a552.png

Creating journal :表示创建日志系统,除了ext2没有日志系统外,其他都有。

修复/dev/sdc1:[[email protected] tmp]# fsck.ext4 /dev/sdc1

e2fsck 1.42.9 (28-Dec-2013)

/dev/sdc1: clean, 11/65536 files, 12955/262144 blocks

查看/dev/sdc1的属性:[[email protected] tmp]# tune2fs -l /dev/sdc1

Filesystem volume name:     //卷标

Last mounted on:          

Filesystem UUID:          4e3f7d63-c957-46de-bc3f-8fa94a0b94be

Filesystem magic number:  0xEF53

Filesystem revision #:    1 (dynamic)

Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

Filesystem flags:         signed_directory_hash

Default mount options:    user_xattr acl   //挂载选项

Filesystem state:         clean     //文件系统状态

Errors behavior:          Continue

Filesystem OS type:       Linux

Inode count:              65536

Block count:              262144

Reserved block count:     13107     //预留的空间

Free blocks:              249189

Free inodes:              65525

First block:              0

Block size:               4096      //超级块大小

lsmod : 查看文件系统加载的内核模块

ext系列文件的专用管理工具:mke2fs

mke2fs [option] device

-t:指明要创建的文件系统类型

-b:指明块大小{1024|2048|4096} 1K,2K,4K

-L:指明卷标;

-j:创建有日志功能的文件系统ext3;

mke2fs -j =mke2fs -t ext3

-i:指明每多少字节创建一个inode。

-N#:指明要给此文件系统创建的多少个inode,#表示个数

-O:指明要加入的特性

mke2fs -O has_journal /dev/sda1   开启日志功能

mke2fs -O  ^has_journal /dev/sda1   关闭日志功能

-m#:指定预留空间,百分百:直接数字5

e2lable:查看卷标

e2lable device:查看卷标

e2lable device 名字:修改卷标

e2lable /dev/sdc1 MYDATE[[email protected] tmp]# e2label /dev/sdc1 mydata

[[email protected] tmp]# blkid /dev/sdc1

/dev/sdc1: LABEL="mydata" UUID="4e3f7d63-c957-46de-bc3f-8fa94a0b94be" TYPE="ext4"

blkid:查看系统文件的属性

tune2fs:查看或修改ext文件系统的某些属性   不损害数据

注意:块大小创建后不可修改

tune2fs [option] devices

-l:查看超级块的属性

-j:将ext2升级ext3

-L:设定或修改卷标

-m #:调整预留百分比

-O:[^]特性:调整或关闭某种特性

-o:[^]:开启或关闭某种挂载选项[[email protected] tmp]# tune2fs -m 5  /dev/sdc1

tune2fs 1.42.9 (28-Dec-2013)

Setting reserved blocks percentage to 5% (13107 blocks)

Reserved block count:     13107

fsck:用于实现文件系统检测的工具

因进程意外终止或者系统崩溃等,导致操作非正常终止,可能会造成文件损坏,此时,应该检测并修复文件系统,建                              议离线进行。

ext系列文件系统的专用工具:

e2fsck: 检测ext2|ext3|ext4

e2fsck [options] devices

-y:对所有问题自动回答‘yes’

-f: 即时文件系统处于clean也检测

fsck:

-t:指定文件系统类型

-a:无须交换自动修复(不建议)

-r:交互式修复

swap文件系统:

Linux上的交换分区必须使用独立的文件系统(独立分区);且文件系统的system ID必须为82;

创建swap设备:mkswap devices

mkswap:

交换分区的启用和禁用:

启用:swapon devices

禁用:swapoff devices

free -m:查看内存

文件系统的使用:

首先要“挂载”:mount命令和umount命令

根文件系统之外的其他文件系统要想能够被访问,都必须通过"关联"至

根文件系统上的某个目录来实现,此关联过程叫挂载;此目录即为‘挂载点’

挂载点上的原文件目录会被隐藏

mount命令:   /etc/mtab  记录挂载的信息或者mount或者cat /proc/mounts

命令选项:

-r:只读挂载

-w:读写挂载

-n:默认情况下,设备挂载或卸载的操作会同步更新至/etc/mtab文件中

加上-n用于禁止此特性

-t:指明要挂载的设备上的文件系统的类型

-L:挂载时以卷标的方式指明设备

-o:指明挂载选项  启用特性

sync/async:同步/异步操作

同步:内存数据写入到磁盘,边读边写,磁盘得一直等待着数据

异步:内存把数据写完,再写入到磁盘中,磁盘无需一直等待

atime/noatime:文件或目录被访问时是否立即更新时间戳/不更新

diratime/nodiratime:目录在访问时是否更新其时间戳

remount:重新挂载

acl:支持使用acl访问列表

dev/nodev:此设备上是否允许创建设备文件

exec/noexec:是否允许运行此设备上的程序文件;

防止此设备程序自动运行

auto/noauto:是否允许自动挂载

user/nouser:是否允许普通用户挂载此文件系统

defaults:  Use default options: rw, suid, dev, exec, auto, nouser, and async.

suid/nouid:是否允许程序文件上的suid和sgid特殊权限生效

umount命令:

umount devices |dir

注意:正在被进程访问的挂载点无法被卸载

lsof /mnt :查看挂载点被谁或进程在使用

fuser -v /mnt :  查看挂载点被谁在使用

fuser -km /mnt:把占用的进程终止

挂载本地的回环设备:

mount -o loop /path/to/somefile  挂载点

mount -o loop /root/tty.iso /media

mount -a :可自动挂载定义在fstab文件中的设备

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值