linux文件系统静默,linux 文件系统及磁盘管理

一个新的磁盘盘需要经过分区、格式化(创建文件系统),挂载之后才能正常使用。关于磁盘的分区表有两种格式:MBR(Master Boot Record)和GPT(GUID Partition Table)

MBR:

也称为主引导扇区,是计算机开机后访问硬盘时必须读取的首个扇区,也就是0柱面0磁头1扇区,MBR由bootload(446字节)、分区表(64字节)、MBR结束标志(2字节)共512字节组成。最大支持2TB的分区。MBR格式的分区表支持3个主分区和1个扩展分区。

GPT:

为了支持容量大于2TB的分区,引入了GPT分区表格式,最大支持18EB

fdisk: 磁盘分区工具

fdisk

d: 删除一个分区

l: 列出系统支持的分区类型

m: 打印帮助

n: 增加一个新分区

p: 打印分区表

q: 不保存退出

w: 保存退出

t: 改变分区ID

2. partprobe(centos 5),kpartx,partx(centos 6):

partprobe :    通知OS系统磁盘分区表改变

partx -a :       增加磁盘分区或读取所有磁盘分区

partx -l :         列出磁盘所有分区

kpartx -af :    强制增加磁盘分区映射

kpartx -l :      列出增加的磁盘分区映射

3.  mke2fs , mkfs:   格式化磁盘(创建文件系统ext2,ext3,ext4)

mke2fs的配置文件/etc/mke2fs.conf,使用用此命令加载的默认参数。

mke2fs = mkfs -t ext2 = mkfs.ext2

mke2fs:

-t :  文件系统类型(ext2  |  ext3  |  ext4 )

-j :  相当于 -t ext3

-L Label: 设置卷标

-b ( 1024 | 2048 | 4096): 指定块大小

-i num: num个字节预留一个inode

-N num:  直接指定预留多少个inode

-n:    不创建文件系统,但是显示创建过程中执行的操作

-I num:    Inode大小

-m num:  预留管理员的空间的百分比,默认为5

-U UUID:   使用自定义的UUID

-c:    在创建文件系统之前,检查磁盘上坏的block

-F:    强制创建文件系统

-g:    自定义每个block-group有多少个blocks

-G:    自定义block-group的数量

-O [^]feature:    指定分区特性

feature:(默认sparse_super,filetype,resize_inode,dir_index,ext_attr)

dir_index:    使用b-trees hash加速大目录查询速度。

extend:    加速大文件系统访问(large file)

filetype:    存储文件类型信息

flex_bg:    允许block-group信息放置在block的任意位置

has_journal:    创建ext3日志(同-j)

journal_dev:    创建外部的ext3日志替代ext2文件系统

large_file:    文件系统支持大于2G的文件

resize_inode:    为block-group增长提供预留空间

sparse_super:    创建包含super-block备份的文件系统

uninit_bg:    加速文件系统创建(仅在ext4下支持)

-q:    用于在脚本中静默执行格式化

# mke2fs /dev/sdb1

mke2fs 1.41.12 (17-May-2010)

warning: 252 blocks unused.

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

328320 inodes, 1310720 blocks

65548 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=1342177280

40 block groups

32768 blocks per group, 32768 fragments per group

8208 inodes per group

Superblock backups stored on blocks:

32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 39 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

4.  e2label

e2label  : 查看卷标

e2label   Label:  设置定卷标

# e2label /dev/sdb1 data

5.  blkid

blkid :    查看分区类型和UUID

# blkid /dev/sdb1

/dev/sdb1: UUID="85ea6a34-0de2-47e8-83ee-589f79adb88a" TYPE="ext2"

6.  dumpe2fs: 查看文件系统(ext2 , ext3 , ext4)信息

-h:    仅显示super-block信息

#dumpe2fs -h /dev/sdb1

dumpe2fs 1.41.12 (17-May-2010)

Usage: dumpe2fs [-bfhixV] [-o superblock=] [-o blocksize=] device

[root@test ~]# dumpe2fs -h /dev/sdb1

dumpe2fs 1.41.12 (17-May-2010)

Filesystem volume name:  

Last mounted on:          

Filesystem UUID:          a9771ea8-9719-4ecf-a6f2-c8b417a4878f

Filesystem magic number:  0xEF53

Filesystem revision #:    1 (dynamic)

Filesystem features:      ext_attr resize_inode dir_index filetype sparse_super     large_file

Filesystem flags:         signed_directory_hash

Default mount options:    (none)

Filesystem state:         clean

Errors behavior:          Continue

Filesystem OS type:       Linux

Inode count:              328320

Block count:              1310720

Reserved block count:     65548

Free blocks:              1287546

Free inodes:              328309

First block:              0

Block size:               4096

Fragment size:            4096

Reserved GDT blocks:      319

Blocks per group:         32768

Fragments per group:      32768

Inodes per group:         8208

Inode blocks per group:   513

Filesystem created:       Fri Aug 22 13:35:10 2014

Last mount time:          n/a

Last write time:          Fri Aug 22 13:35:11 2014

Mount count:              0

Maximum mount count:      20

Last checked:             Fri Aug 22 13:35:10 2014

Check interval:           15552000 (6 months)

Next check after:         Wed Feb 18 13:35:10 2015

Reserved blocks uid:      0 (user root)

Reserved blocks gid:      0 (group root)

First inode:              11

Inode size:               256

Required extra isize:     28

Desired extra isize:      28

Default directory hash:   half_md4

Directory Hash Seed:      a46fce3a-c1f4-417c-941b-c23c01a3f555

7.tune2fs:调整文件系统参数(针对ext2,ext3,ext4)

-f:    强制tune2fs完成操作,即使有错误出现。

-l:    列出super-block信息

-L label:    设定卷标

-m:    预留管理员的空间百分比,默认为5%

-j:    如果原来的文件系统类型为ext2,可以通过-j提升为ext3

-o [^]mount-options[...]: 设定其默认挂载选项

mount-options:(tune2fs支持的mout-options)

debug:        对文件系统启用debug code.

bsdgroups:

user_xattr:   启用用户定义的扩展属性

acl:          启用POSIX访问控制列表

uid16:        禁用32位UID和GID,用于兼容老的内核

journal_data:  在启用了日志的分区上,元数据写入日志区优先于数据写入文件系统

journal_data_ordered: 在启用了日志的分区上,数据写入文件系统优先于元写                                          入日志区

journal_data_writeback:   在启用了日志的分区上,当元数据写入日志区后,数据                                          可能被写入文件系统,it may allow old data to                                            appear in  files after a crash and journal recovery

nobarrier:    仅ext4分区支持

block_validity:  读写文件系统时,额外的检查被执行,仅ext4分区支持

discard:  仅ext4分区支持

nodelalloc:   仅ext4分区支持

-O [^]feature[...]:       调整分区特性,同mke2fs -O选项

8. fsck: 用于检查和修复linux文件系统

-t:  要检查的文件系统类型

-A: 尝试检查所有/etc/fstab文件中所有文件系统

-C:  显示检查和修复进度条

-M:  不检查已挂载的文件系统

-N: 不执行,只显示将要做什么

-P:  当使用了-A时,同时检查根文件系统和其它文件系统

-R: 当使用了-A时,跳过根文件系统检查

-a:  自动修复文件系统

-r:  交互式修复文件系统

9.e2fsck:用于检查ext2,ext3,ext4文件系统

-f:    强制检查

-F:    在开始检查之前,刷新分区的buffer cache

-y:    自动回答yes

10. mount: 挂载文件系统

-r:    只读挂载

-w:    读写挂载

-L:   挂载有些卷标的分区

-u:    挂载有些uuid的分区

-t:    挂载的文件系统类型

-a:    自动挂载所有

-n:    不更新/etc/mtab文件

--bind dir1 dir2: 绑定dir1到dir2,可以从dir2访问dir1的文件

-o options: 指定挂载选项

async: 异步I/O

sync:  同步I/O

atime/noatime: 更新访问时间

auto/noauto: 可以使用-a选项

defaults: 默认选项包括(rw,suid,dev,exec,auto,nouser,aysnc,relatime)

dev/nodev: 允许使用字符和块设备

diratime/nodiratime: 更新目录inode访问次数

dirsync:

exec/noexec: 允许执行二进制文件

group:   允许普通用户挂载文件系统,如果这个用户属于group

user/nouser: 允许普通用户挂载文件系统,此选项隐含(noexec,nodev,nosuid)

users: 允许每个用户挂载文件系统,此选项隐含(noexec,nodev,nosuid)

iversion/noiversion: 每次inode被修改,i_version域被增加

mand/nomand: 允许强制锁

_netdev: 阻止系统尝试挂载网络文件系统,直到系统的网络准备就绪

nofail: 如果设备不存在,不报告错误

relatime/norelatime: 类似于atime/noatime

strictatime/nostrictatime:

suid/nosuid: 允许设置suid sgid

owner:  如果用户是设备的owner,允许他挂载文件系统

remount: 重新挂载文件系统

ro: 只读挂载

_rnewdev:和_netdev一样,除了在执行rc.sysinit时通过“fsck -a"检查文件系统

rw: 读写挂载

mount执行后的退出状态码:

0: success

1: incorrect invocation or permission

2: system error(out of memory,cannot fork,no more loop devices)

4: internal mount bug

8: user interrupt

16:problems writing or locking /etc/mtab

32:mount failure

64:some mount succeeded

umount /dev/sdb1卸载文件系统

umount /media

11. fuser: 查看占用文件或socket的进程:

# fuser -v /media

USER        PID ACCESS COMMAND

/media:              root      13156 ..c.. bash

ACCESS列:表示访问此进程的类型

c: 当前目录

e: 可执行程序正在执行

f: 打开文件

F: 打开文件写模式

r: root目录

m: mmap'ed file or shared library

# fuser -km /media   杀死占用/media的进程

12. df:查看文件系统空间使用率

-h: 以K,M,G形式显示

-i: 显示inode使用率

-P:以POSIX格式显示

# df -h

Filesystem                  Size  Used Avail Use% Mounted on

/dev/mapper/vg_test-lv_root  36G  1.8G   32G   6% /

36G  1.8G   32G   6% /

tmpfs                       939M     0  939M   0% /dev/shm

/dev/sda1                   485M   37M  423M   9% /boot

/dev/sdb1                   5.0G   10M  4.7G   1% /media

13. du:评估文件文件占用的磁盘空间

# du -hs /root

55M     /var

14. 开机自动挂载文件/etc/fstab

# /etc/fstab

# Created by anaconda on Wed Jul 23 15:22:36 2014

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/vg_test-lv_root /                       ext4    defaults        1 1

UUID=590c416b-9d27-4fe1-af01-fc802a7a200c /boot     ext4    defaults        1 2

/dev/mapper/vg_test-lv_swap swap                    swap    defaults        0 0

tmpfs                       /dev/shm                tmpfs   defaults        0 0

devpts                      /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                       /sys                    sysfs   defaults        0 0

proc                        /proc                   proc    defaults        0 0

第一列:要挂载的设备(设备文件,卷标,UUID)

第二列:挂载点

第三列:文件系统类型

第四列:挂载选项

第五列:转储频率

0:从不备份

1:每日备份

2:每隔一日备份

第六列:自检次序

0:不自检

1: 首先自检,通常只被/使用

2:/自检之后自检

15.  dd: convert and copy a file

dd if=input_file of=output_file

dd if=input_file of=output_file bs=#[b|k|m|g] count=#

dd if=/dev/cdrom of=/tmp/centos.iso

制作ISO文件

dd if=/dev/sdb of=/tmp/outfile bs=512 count=1

复制整个硬盘

dd if=/dev/zero of=/dev/sdb bs=500 count=1

删除磁盘前500个字节

16.  ln: 创建链接文件

硬链接:

不能跨分区

不能对目录创建硬链接

会改变文件被链接的次数

与原文件指向同一个inode

符号链接:

可以跨分区

可以和原文件不同一个inode

可以对目录创建符号链接

不会改变文件的被链接次数

17.  压缩工具: zip/unzip , gzip/gunzip , bzip2/bunzip2 , xz/unxz

zip: zip用于压缩文件、节省磁盘空间、把目录打包成.zip文件;对于文本文件压缩比例为2:1到3:1,zip默认使用的压缩算法是deflation

命令格式:

zip options archive inpath inpath ...

archive:压缩之后的目的文件,格式为xxx.zip

inpath: 目录或是文件路径

options:

-r: 递归查找子目录

-u: 更新archive中已存在的文件,增加新的文件

-f: 更新archive中已存在的文件,但是不增加新文件

-d: 删除已存在的archive,创建新的archive文件

-U: 创建新的archive文件,结合-O选项,复制老的archive文件作为副本

-z: 增加备注信息

zip结合管道使用:

find /root/ -name "*.sh" -print | zip -r bash.zip -@

查找/root目录下所有以sh为后缀的文件,归档为bash.zip文件(-@代表inpath)

zip -r - . | ls -l

-作为代替archive文件用于将archive文件写到标准输出stdout

tar cf - . | zip backup -

-也可以作为inpath,tar备份当前目录,把输出结果传递给zip作归档

tar cf - . | zip | dd of=/dev/nrst0 obs=16k

等同于

tar cf - . | zip - - | dd of=/dev/nrst0 obs=16k

tar归档当前目录,zip使用tar归档之的文件作为输入,然后把压缩结果写入到磁带

unzip :解压缩zip格式的文件

-d: 指定解缩目录

-l: 列出archive文件中的所有文件清单

-v: 类似于-l,显示更详细的信息

-f: 仅解压比磁盘上的文件更新的文件

-u: 类似于-f,并创建磁盘上没有文件

-p: 解压文件作为标准输出stdout

-t: 解压缩文件测试

-z: 查看压缩文件备注信息

gzip:压缩文件之后会删除原文件,压缩后的格式为xx.gz

-c: 压缩文件作为标准输出stdout,可以使用重定向保留原文件

-d: 相当于gunzip,zcat解压

-f: 强制压缩和解压

-l: 查看压缩文件列表

-q: 静默模式,常用于脚本

-t: 检查压缩文件的完整性

-#: 1-9指定压缩比

bzip2: 压缩文件之后会删除原来的文件,压缩后的格式为xx.bz2

-c: 压缩或解压缩到标准输出stdout

-d: 相当于bunzip2,bzcat

-t: 检查压缩文件的完整性

-f: 强制覆盖输出文件

-k:压缩后保留原文件

-s: 压缩、解压缩、检查完整性时减少内存使用率

xz:

-z: 缺省选项,压缩

-d: 相当于unxz,xzcat解压

-t: 检查压缩文件完整性

-l: 查看压缩文件列表

-k: 压缩后保留原文件

-c: 压缩或解压到标准输出stdout

-#: 0-9指定压缩比例

18.归档工具: tar

tar命令格式:

tar [options] [file]

options:

-c: 创建归档文件

-x: 提取归档文件

-t: 列出归档文件内容

-C: 改变目录

-f: 指定归档文件名

-j: 使用bzip2

-J:使用xz

-z: 使用gzip

tar -jcf file.tar.bz2 file

把文件file归档成bz2格式

tar -jxf file.tar.bz2

展开bz2文件

tar -Jcf file.tar.xz file

把文件file归档成xz格式

tar -Jxf file.tar.xz

展开xz文件

tar -zcf file.tar.gz file

把文件file归档成gz格式

tar -zxf file.tar.gz

展开gz文件

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值