linux文件系统
文件系统:Filesystem(基于内核的软件)
磁盘分区是以柱面(一个个磁道)来分的.
每一个分区就是一个文件系统!
UNIX:FresBSD
Partition:
独立的文件系统
文件的数据:
元数据(metadata):属性信息,单独存放!
数据(data)
inode:文件权限、属主属组、文件类型、磁盘块指向
cp:同样的数据存储了两次,有两个inode号
mv:文件数据没动,映射关系改变(在同一个分区之内)
rm:对应关系,inode号为空,磁盘块内的数据没变,表示为空!
ln:
硬链接:不同的文件路径的文件指向的是同一个inode,删除硬连接跟原文件没关系,不能跨分区存在!不能连接到目录上,避免循环引用
软连接:删除原文件软连接不可用,软连接可以对目录创建,可以跨分区,
ln:
ln [OPTION]... [-T] TARGET LINK_NAME (1st form)
-s 软链接
ls -i 显示inode号
Linux文件 系统:
ext2
ext3
ext4
xfs
reiserfs
jfs
iso9660
swap
vfat
ntfs
GFS2
OCFS2 orical数据库文件系统
NFS
VFS:Virtual FileSystem 虚拟文件系统
du:估算文件空间使用量的!
-s 仅显示统计
-S显示个别目录的大小
-h 单位换算
df:显示磁盘相关信息
-h 单位换算
-i 显示inode信息
fdisk:
-l 列出当前系统磁盘分区情况
gzip:压缩文件
-d 解开压缩文件
-f 强制压缩文件
-c 输出重定向,不动原文件
使用例子:
gzip -c File > Gzip.gz 输出重定向Gzip
-t 测试压缩文件是否正确
-# (1-9)指定压缩比 默认为6,压缩比越大,压缩越慢
gunzip:解压缩文件
zcat File.gz 只能压缩文件,不能压缩目录
bzip File
.bz2
-d 解压缩
-k 直接保留原文件
bunzip2 File.bz2 = bzip2 -d File.bz2
bzcat File.bz2
zip:
zip 指定文件名.zip + 需要压缩的文件名
unzip File.zip
tar 文件归档工具
-c 创建归档文件
-f 指定文件名
-x 从归档文件中还原文件
-t 列出文件内容
-v 显示详细过程
-z 指定通过gzip处理归档文件
常用
tar -zcvf 创建归档压缩文档并显示过程 (扩展名为tar.gz)
tar -zxvf 展开归档文档并显示过程 (扩展名为tar.gz)
tar -jcvf 创建归档压缩文档并显示过程 (扩展名为tar.bz2)
tar -jxvf 展开归档文档并显示过程 (扩展名为tar.bz)
分区:
Boot Sector : bootloader + fat + 封装码
512 = 446 + 64 +2(封装码)
64 :每16个字节可以引导一个主分区!最多4个主分区,多采用3+1(一主三扩展)
linux 如何识别磁盘设备:
/dev/
IDE(ATA):hd
SATA:sd
SCSI:sd
USB:sd
SAS:sd
a,b,c,d
/dev/hda
/dev/hab
...
/dev/sda
挂载卸载
/media 挂载便携式设备
/mnt 常用挂载目录
fdisk:
fdisk /dev/sda
m 获得帮助
p 获得分区表
n 新建分区
e 新建扩展分区
p 新建主分区
n 新建逻辑分区
d:删除分区
l 查看id号
t 修改分区的id
w 保存修改并退出
q 放弃修改并退出
fdisk 最多只能创建15个分区
partprobe /dev/sda 重新扫描分区
[root@localhost wangzhen]# fdisk
Usage: fdisk [-l] [-b SSZ] [-u] device
E.g.: fdisk /dev/hda (for the first IDE disk)
or: fdisk /dev/sdc (for the third SCSI disk)
or: fdisk /dev/eda (for the first PS/2 ESDI drive)
or: fdisk /dev/rd/c0d0 or: fdisk /dev/ida/c0d0 (for RAID devices)
...
[root@localhost wangzhen]# fdisk /dev/sda
The number of cylinders for this disk is set to 6527.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 删除一个分区
l list known partition types 显示分区id号
m print this menu 帮助菜单
n add a new partition 一个新的分区域
o create a new empty DOS partition table
p print the partition table 显示分区表
q quit without saving changes 放弃保存并退出
s create a new empty Sun disklabel
t change a partition's system id 调整分区ID
u change display/entry units
v verify the partition table
w write table to disk and exit 保存并退出
x extra functionality (experts only)
Command (m for help): p
Disk /dev/sda: 53.6 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 38 305203+ 83 Linux
/dev/sda2 39 6462 51600780 83 Linux
/dev/sda3 6463 6527 522112+ 82 Linux swap / Solaris
fdisk 默认只支持到15个数字!
partprobe 重新扫描分区
sfdisk 保存备份分区表
格式化:(高级格式化)
mkfs -t ext2 /dev/sdb1
mkfs -L + Lables 卷标
mkfs 默认不支持ntfs 格式
e2label /dev/sdb1 显示卷标
e2label /dev/sdb1 LABLE 设置卷标
mke2fs 创建文件系统
mke2fs /dev/sdb2
-j 带日志类型的文件类型
-L 设置卷标
-b(1024|2048|4096<默认>)
-c 检测磁盘是否有坏道
-i inode比率(byte/inode)
默认每128个字节创建一个inode条目,决定inode的个数!