• Linux文件系统介绍


    1、ext2/ext3(日志功能)文件系统(Linux标准文件系统、一种索引式文件系统)

    ext2

    SuperBlock:Superblock是记录整个filesystem 相关信息的地方,没有Superblock就没有这个filesystem了。他记录的信息主要有:
      a、block与inode 的总量;
      b、未使用与已使用的inode/block数量;
      c、一个block与一个inode的大小;
      d、filesystem 的挂载时间、最近一次写入数据的时间、最近一次检验磁盘 (fsck) 的时间等档案系统的相关信息;
      e、一个 valid bit 数值,若此档案系统已被挂载,则 valid bit 为 0 ,若未被挂载,则valid bit 为 1 。
    Group Description:纪录此 block 由由何处开始记录;
    Block bitmap:此处记录哪个block有没有被使用;
    Inode bitmap:此处记录哪个inode有没有被使用;
    Inode table:为每个inode数据存放区,记录文件属性,包括文件所在的block号码,一个文件占一个inode;
    Data Blocks:为每个block数据存放区,记录文件的内容。

    2、文件系统查看命令:dumpe2fs
    [root@linux ~]# dumpe2fs /dev/hda1
    Filesystem volume name: /
    Filesystem state: clean
    Errors behavior: Continue
    Filesystem OS type: Linux
    Inode count: 1537088
    Block count: 1536207
    Free blocks: 735609
    Free inodes: 1393089
    First block: 0
    Block size: 4096
    Filesystem created: Sat Jun 25 16:21:13 2005
    Last mount time: Sat Jul 16 23:45:04 2005
    Last write time: Sat Jul 16 23:45:04 2005
    Last checked: Sat Jun 25 16:21:13 2005
    First inode: 11
    Inode size: 128
    Journal inode: 8

    Group 0: (Blocks 0-32767)
      Primary superblock at 0, Group descriptors at 1-1
      Reserved GDT blocks at 2-376
      Block bitmap at 377 (+377), Inode bitmap at 378 (+378)
      Inode table at 379-1400 (+379)
      0 free blocks, 32424 free inodes, 11 directories
      Free blocks:
      Free inodes: 281-32704

    Group 1: (Blocks 32768-65535)
      Backup superblock at 32768, Group descriptors at 32769-32769
      Reserved GDT blocks at 32770-33144
      Block bitmap at 33145 (+377), Inode bitmap at 33146 (+378)
      Inode table at 33147-34168 (+379)
      18 free blocks, 24394 free inodes, 349 directories
      Free blocks: 37882-37886, 38263-38275
      Free inodes: 38084-38147, 39283-39343, 41135, 41141-65408
       因为数据很多略去了一些信息了~上面是比较精简的显示内容。在 Group 0之前的都是Superblock的内容,记录了inode/block的总数,还有其它相关的讯息。至于由 Group 0之后,则是说明各个bitmap及inode table与block area等等。

    3、Linux支持的文件系统
    传统档案系统:ext2 / minix / MS-DOS / FAT (用vfat模块) / iso9660 (光盘)等等;
    日志式档案系统: ext3 / ReiserFS / Windows' NTFS / IBM's JFS / SGI's XFS
    网络档案系统: NFS / SMBFS

    查看你的Linux支持的档案系统有哪些?
    [root@linux ~]# ls -l /lib/modules/`uname -r`/kernel/fs

    系统目前已启用的档案系统有哪些?
    [root@linux ~]# cat /proc/filesystems

    4、断行符问题
       DOS使用的断行字符为^M$,称为CR与LF两个符号。而在Linux底下,则是仅有LF($)这个断行符号。在Linux底下的指令在开始执行时,他的判断依据是『Enter』,而Linux的Enter为LF符号, 不过,由于DOS的断行符号是CRLF ,也就是多了一个^M的符号出来, 在这样的情况下,如果是一个shell script的程序档案,将可能造成『程序无法执行』的状态~ 因为他会误判程序所下达的指令内容! 解决的办法是使用dos2unix命令。

    [root@linux ~]# dos2unix [-kn] file [newfile]
    [root@linux ~]# unix2dos [-kn] file [newfile]
    参数:
    -k :保留该档案原本的mtime时间格式 (不更新档案上次内容经过修订的时间)
    -n :保留原本的旧档,将转换后的内容输出到新档案,如:dos2unix -n old new
    范例一:将我们提供的hosts档案格式更新为 dos 格式。
    [root@linux ~]# unix2dos -k hosts
    unix2dos: converting file hosts to DOS format ...
       此时hosts这个档案的时间不会改变,但是内容主要将断行字符修改成为DOS的CRLF了。

    范例二:将范例一已经变成DOS格式的hosts改名成为hosts.dos,并转换Linux格式到hosts.linux
    [root@linux ~]# mv hosts hosts.dos
    [root@linux ~]# dos2unix -k -n hosts.dos hosts.linux
    dos2unix: converting file hosts.dos to file hosts.linux in UNIXformat ...
    [root@linux ~]# ll
    -rw-r--r-- 1 root root 288 Aug 1 13:30 hosts.dos
    -rw------- 1 root root 279 Aug 1 13:30 hosts.linux
       由于DOS格式当中多了CR字符,所以,档案比较大点!

    5、语序编码转换

    iconv [选项...] [文件...]

    常用选项:

    输入/输出格式规范:
    -f, --from-code=名称 原始文本编码
    -t, --to-code=名称 输出编码

    信息:
    -l, --list 列举所有已知的字符集

    输出控制:
    -c 从输出中忽略无效的字符
    -o, --output=FILE 输出文件
    -s, --silent 关闭警告
    --verbose 打印进度信息

    例子:
    1)iconv -f utf-8 -t gb2312 test.txt > test1.txt

    2)iconv -f big5 -t utf8 test.txt -o testuf8.txt

  • 相关阅读:
    解决servlet在web.xml中的路径跳转问题
    浅谈上市公司期权
    spring 与mybatis 整合总结
    学习ssm心得
    django中ORM的事务操作
    Celery快速入门
    vagrant 使用指南
    数据库之mysql
    python之pip
    linux基础
  • 原文地址:https://www.cnblogs.com/defias/p/3426961.html
Copyright © 2020-2023  润新知