• L009文件属性知识详解小节


    本堂课分为5部分内容

    1.linux下重要目录详解

    2.PATH变量路径内容

    3.linux系统中文件类型介绍

    4.linux系统中文件属性详细介绍

    5.linux系统文件属性inode与block知识详解

    一、linux重要目录详解

    根目录下的重要目录

    bin---用户二进制命令存放目录

    dev---服务器设备目录(如磁盘等等)

    etc---系统的配置文件,以及系统服务启动文件的存放目录

    home---用户的家目录,普通用户的家目录

    sbin---系统管理员的二进制命令目录

    var---存放可变化目录,例如日志

    etc

    /etc/issue            用于登陆前系统显示的版本信息

    /etc/motd            系统登录前提醒(默认为空)

    /etc/redhat-release       生成系统版本

    /etc/group            存放用户组的目录

    ##/etc/passwd        存放用户的目录

    /etc/shadow          存放用户密码的目录

    /etc/gshadow          存放用户组密码的目录

    ##/etc/sudoers        sudo的配置文件(权限提升)

    /etc/securetty          设定哪些中端可以让root登录

    /etc/login.defs          用户登录时的缺省文件

    ##/etc/syslog.conf        CentOS 5.X的日志设置文件

    ##/etc/rsyslog.conf       CentOS 6.X的日志设置文件

    /etc/rc.local            存放开机自动启动内容的文件(通过源程序编译安装的软件)

                      chkconfig一般是用来管理yum/rom包安装服务。

    usr

    /usr/local            默认安装默认的软件目录,相当于windows下的Program files

    /usr/src            内和的源码目录

    var

    /var/log            各种日志的存放地

    ##/var/log/messages     系统信息默认日志文件,非常重要,按周自动轮回

    ##/var/log/secure       系统登录的日志信息

    ##/var/spool

    ##/vat/spool/cron/root    定时任务的默认路径

    ##/var/spool/clientmqueue  sendmail邮件文件目录5.x有这个问题

    proc            系统信息

    ##/proc/cpuinfo       查看cpu信息(http://www.cnblogs.com/lcrbg/p/5341310.html

    ##/proc/meminfo      查看内存信息(http://www.cnblogs.com/lcrbg/p/5341354.html

    ##/proc/interrupts      查看正在使用的终端,和曾经有多少个终端

    ##/proc/loadavg      查看负载信息(http://www.cnblogs.com/lcrbg/p/5341285.html

    二、PATH变量路径内容

    详细查看:L007- linux系统优化进阶课堂小节

    三、linux系统中文件类型介绍

    1)windows里是通过扩展名来区分文件类型的,如*.txt

    2)linux中的文件不是用扩展名来区分文件类型的,也就是说扩展名和文件类型是没有关系的。

    3)为了给使用者容易区分,也为了windows的使用习惯,我们也用扩展名来表示linux中的文件类型。

     mknod 可创建字符设备,块等设备(极少使用,主要为演示)

    1 [root@moban data]# mknod oldboy c 5 1
    2 [root@moban data]# ls -l oldboy
    3 crw-r--r-- 1 root root 5, 1 Mar 30 14:20 oldboy
    4 [root@moban data]# mknod oldboy1 b 5 1 
    5 [root@moban data]# ls -l oldboy       
    6 crw-r--r-- 1 root root 5, 1 Mar 30 14:20 oldboy
    7 [root@moban data]# ls -l oldboy1
    8 brw-r--r-- 1 root root 5, 1 Mar 30 14:21 oldboy1
    四、linux系统中文件属性详细介绍

     1 [root@moban log]# ls -l
     2 drwxr-xr-x. 2 root root 4096 Mar 21 15:56 as
     3 drwxr-xr-x. 2 root root 4096 Mar 21 16:10 io
     4 -rw-r--r--  1 root root   21 Mar 25 08:35 lkj.txt
     5 -rw-------  1 root root  669 Mar 27 15:16 yum_save_tx-2016-03-27-15-16otc2lB.yumtx
     6 crw-rw-rw- 1 root tty 5, 0 Mar 30 12:52 /dev/tty
     7 brw-rw---- 1 root disk 8, 0 Mar 30  2016 /dev/sda
     8 brw-rw---- 1 root disk 8, 1 Mar 30 12:52 /dev/sda1
     9 brw-rw---- 1 root disk 8, 2 Mar 30 12:52 /dev/sda2
    10 brw-rw---- 1 root disk 8, 3 Mar 30  2016 /dev/sda3
    11 srw-rw-rw- 1 root root 0 Mar 30 12:52 /dev/log
    12 lrwxrwxrwx. 1 root root 11 Mar 17 14:39 /etc/init.d -> rc.d/init.d
    13 prw--w--w-. 1 postfix postfix 0 Mar 23 19:46 /var/spool/postfix/public/pickup
    
    
    drwxr-xr-x中的第一位为文件类型,后9位为读写权限
    d为目录文件
    -为普通文件
    c为字符设备,串口设备,如猫
    b为块儿设备,如磁盘,光驱等设备
    s为套接口文件,当我们启动MySQL服务器时,会产生一个mysql.sock的文件。
    l为连接文件(link),这和Windows操作系统中的快捷方式有点相似。
    p为管道文件,是Linux系统中一种进程通信的机制

    五、linux系统文件属性inode与block知识详解
    Inode索引节点
    硬盘分区,格式化,创建文件系统,在每个分区都有两块,一个是inode,一个是block
    inode是存储文件实际属性的信息(ls -lhi),但是唯独不包含文件名。
    block是存储实际文件的的块。一个文件要至少占用一个inode和一个block,格式化的数量inode会大于block的数量

    Block:
    ext3/ext4文件系统的block大小一般只有1 2 4k,其中引导分区为1k,其他分区为4k(CentOS 6.x)
    一个block只能存放一个文件的内容,即使一个4K的block已经存储上一个1K的文件还剩3K,但是新的文件也不能继续存在这个block中

    如何查看分区中的inode的大小
    dumpe2fs /dev/sda2 | grep -i "Inode size" //-i为不不区分大小写
    1 [root@moban log]# dumpe2fs /dev/sda2 | grep -i "inode size" 
    2 dumpe2fs 1.41.12 (17-May-2010)
    3 Inode size:               256

    查看inode和block的大小及数量
    dumpe2fs /dev/sda2 | grep -i "Block count"
    1 [root@moban log]# dumpe2fs /dev/sda2 | grep -i "Block count"
    2 dumpe2fs 1.41.12 (17-May-2010)
    3 Block count:              2438912
    4 Reserved block count:     121945 

      dumpe2fs /dev/sda2 | grep -i "Inode count"

    1 [root@moban log]# dumpe2fs /dev/sda2 | grep -i "Inode count"
    2 dumpe2fs 1.41.12 (17-May-2010)
    3 Inode count:              610800

    那么,在生产环境中,block的大小如何处理呢,是选1K 还是2K还是4K?

    如果是大文件业务多一些,就让block尽量大一些

    如果是小文件业务多一些,就让block小一些

    ext3/ext4最大只能4K ,而工作中几乎没有小雨4K的文件,所以ext3,ext4文件系统,block都分配4K。

    总的小节:

    1)磁盘分区格式化文件系统后,会分为inode和block两部分内容。

    2)inode存放文件的属性及指向文件实体的指针,文件名不在inode里,一般上级目录的block。

    3)访问文件,通过文件-->inode-->block.(图)

    4)inode一般情况默认大小256B,block大小1 2 4K ,默认是4K,注意,引导分区特殊分区除外。

    5)通过df -i 查看inode的数量以及使用情况,dumpe2fs /dev/sda3 查看inode及block的大小及数量

    6)一个文件至少要占用一个inode及一个block,其中多个文件可以占用同一个inode(硬链接)

    7)一个block只能被一个文件使用,如果文件很小block很大,剩余空间浪费,无法继续被其他文件所使用。

    8)block不是越大越好,要根据业务的文件大小进行选择,一般就是默认4K。

    9)可以在格式化的时候改变inode及block的大小。

    改变inode和block的命令(具体也不是很懂这个命令,先提及一下,以后上课学到后补全)
    mkfs.ext4 -b 2048 -I 2048 /dev/sdb

  • 相关阅读:
    控件的Visible设为false后,ViewState是否visible?
    协议森林02 小喇叭开始广播 (以太网与WiFi协议)
    Python深入02 上下文管理器
    信号与频谱
    飓风“桑迪”路径图的制作
    谁动了我的奶酪?
    协议森林01 邮差与邮局 (网络协议概观)
    协议森林04 地址耗尽危机 (IPv4与IPv6地址)
    协议森林03 IP接力赛 (IP, ARP, RIP和BGP协议)
    Python补充03 Python内置函数清单
  • 原文地址:https://www.cnblogs.com/lcrbg/p/5341225.html
Copyright © 2020-2023  润新知