zoukankan      html  css  js  c++  java
  • Linux系统文件属性知识

    -------------------------------------------------------------------------------------------------------------

    /etc    系统的配置文件以及服务的启动命令存放的目录

    /home      普通用户的家目录

    /sbin      系统的二进制目录,一般用于系统管理员的二进制命令的目录。

    /var     variable data --可变化的数据,存放可变化的目录的文件,例如,日志。

    ----------------------------------------------------------------------------------------------------------------

    1、/etc 目录下的重要目录和文件

    /etc/issue

      记录用户登录前显示的系统的信息,例如,Centos版本,内核版本。

    /etc/motd

      登录提醒。在该文件中写入的内容下次登录会提示。

      

       

     /etc/redhat-release

      显示系统版本信息;

      uname -r  显示内核版本信息

    /etc/group  

      设定用户的组名与相关信息

      chattr +i  锁定用户组,无法将用户添加到组里

      chattr -i   解锁。

      chattr 也可以对 /etc/passwd、/etc/shadow 进行操作。

    /etc/passwd  

      账号信息文件

      

       x 的位置代表的是密码,因为密码存放在 passwd 里不安全,因此移走了。

      创建用户的时候默认创建一个同名的组。

      

    /etc/shadow

      密码信息文件

    /etc/sudoers

      可以执行使用 sudo 命令的配置文件(权限提升)  

      visudo -- 相当于 vim /etc/sudoers

    /etc/rc.local

      存放开机自启动内容的文件(通过源程序自己编译安装的软件);chkconfig 一般是用来管理 yum/rpm 包装的内容

    /etc/securetty

      设定哪些终端可以让 root 登录

    /etc/login.defs

      所有用户登录时的缺省配置

    /etc/modprobe.conf

      内核模块额外参数设定  

    /etc/rsyslog.conf

      日志设置文件(Centos 6)

    ---------------------------------------------------------------------------------------

    /use/local  这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中,相当于:C:Program files

    /usr/src      内核源码的存放目录。

    --------------------------------------------------------------------------------------

    2、/var 目录下的路径知识

    /var       

      日志文件

    /var/log    

      各种系统日志存放地

    /var/log/messages  

      系统信息默认日志文件,按周自动轮询,当系统出现问题时会将问题打到该目录下

    /var/log/secure

      系统安全的日志文件,记录登入系统存取信息的文件,按周自动轮询。

    last

      在线用户登录的信息

    lastlog  

      曾经登录过的用户的历史

     

    3、 /proc 下的重要路径知识

    /proc  

      虚拟目录,是内存的映射,内核和进程的虚拟文件系统目录

    /proc/version

      内核版本

    /proc/sys/kernel

      系统内核功能

    /proc/cpuinfo

      关于处理器的信息,如累心、厂家、型号和性能等

    /proc/memminfo

      系统内存信息

    /proc/devices

      当前运行内核所配置的所有设备清单

    /proc/dma

      当前正在使用的 DMA 通道

    /proc/filesystems

      当前运行内核所配置的文件系统

    /proc/interrupts

      正在使用的中断,和曾经有多少个中断。

    /proc/ioports

      当前正在使用的I/O接口

    /proc/loadavg

      系统负载平均值信息(系统的繁忙情况,比较准确,但是不够细致系统性能指标)

    4、文件类型和文件的扩展名

    (1)Windows里是通过扩展名(.txt .png .doc...)来区分文件类型的。

    (2)Linux系统下文件的扩展名和文件类型没有关系,

    (3)为了容易区分和兼容用户使用Windows的习惯,我们也会用扩展名来表示Linux里的文件类型。

      在Linux系统中,可以说一切皆文件。文件类型包含普通文件、目录文件、块设备文件等。

    1、使用 ls -l 查看文件信息,第一列的第一个字符代表的就是文件的类型。

     -  表示普通文件  d  目录文件  l  链接文件

      在Linux里大多数文件都是普通文件,普通文件有三种类型。file 查看文件类型

    1)纯文本文件(ASCII):内容可直接读取(使用cat直接查看),数字字母等,比如配置文件几乎都是这种类型的。

      使用 ls -l 可以查看这个文件是什么文件,但是属于查看属于哪种类型需要使用 file 命令。

      

       a.txt 在普通文件的基础上是一个纯文本文件。

    2)二进制文件(binary):Linux中的可执行文件,比如命令文件,cat、ls、cp

      

     3)数据格式的文件(data):具有特定格式的文件

      

       /var/log/wtmp  存放的是最近登录的信息

    2、ls -l 目录名  查看目录里内容的详细信息

       ls -ld 目录名   仅仅查看目录本身的属性

       ls -F       在文件后面加上标识(*/=>@|),用于区分是什么类型的文件

      

       rmdir  用于删除空目录,只能删除空目录。

    3、字符设备就是穿行端口的接口设备。

      

     4、块设备(磁盘,光驱)

      

       使用 mknod 创建字符设备和块设备。

      

     4、套接字/套接口文件

      

     5、符号链接文件

      

       

       软连接文件的创建:ln -s 源文件名   新文件名  

     6、Linux下扩展名的作用

      ls -h  以人类可读的形式标识

      ls -i   文件的索引号,inode

     

     (1)索引节点inode概述:

      硬盘要分区,分区要格式化,创建文件系统;

      inode(index node),索引节点。在每个Linux存储设备或存储设备的分区(存储设备可以是硬盘、软盘、U盘等)被格式化为文件系统(ext3 ext4)后,一般都有两部分:第一部分是Inode,第二部分是Block。 

      Block 是用来存储实际数据用的,真正存放数据实体的,例如:照片,视频等普通文件数据。

      而inode就是用来存储这些数据属性信息的(也就是 ls -l 的结果),inode包含的属性信息包括文件大小、属主、归属的用户组、读写权限、文件类型,修改时间,还包含指向文件实体的指针的功能(inode 节点 --block 的对应关系)等,但是,唯独不包含用户名。

      一般来说一个 block 大概只有 1k 2k 或4k,如果拷一个视频那么会分为若干个block。

      

       

       每创建一个文件都会分配一个 inode,访问 inode 都会找到 block 的位置。

    查看inode的总量和使用量:df -i

     df -h  查看磁盘的使用量

    小结:

      (1)linux 里一个文件至少要占用一个 inode和一个 block,不管文件多大,一定要有一个inode。  

        格式化数量:inode 数量会大于block 数量。

      (2)ext2 ext3 ext4 文件中block的大小一般为 1k 2k 4k

    7、有关Block的大小:磁盘读取数据是按 Block 为单位读取的,一个 block 只能存放一个文件的内容,所以 Block 并非越大越好。

      磁盘读取数据是按 block 为单位读取的,但是对于大文件,可以提升读取的效率,因为如果 block 太小,就要读多个 block,这样就消耗磁盘 IO ,如果 block 大,则会读较少的 block 就读完数据从而减少磁盘 IO。block 块太小又会影响硬盘读取大文件数据的效率,block 块越小,同样存储一个文件就需要更多的 Block,这样硬盘读取数据时就要读取多个 block,因此效率就越低。

       当前生产环境一般设置为 4k。

     小结:

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

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

      3)访问文件,通过文件名----> inode --> block

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

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

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

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

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

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

  • 相关阅读:
    Odoo 库存管理-库存移动(Stock Move)新玩法
    odoo8.0+PyCharm4.5开发环境配置
    (总结)隐藏PHP版本与PHP基本安全设置
    Docker无法启动 Could not find a free IP address range for interface 'docker0' 最方便的解决办法
    MySQL Point in Time Recovery the Right Way
    The query below helps you to locate tables without a primary key:
    记一次揪心的MySQL数据恢复过程
    Linux中利用extundelete恢复误删除的数据
    Centos升级Python 2.7并安装pip、ipython
    navicat
  • 原文地址:https://www.cnblogs.com/wqs-Time/p/11558740.html
Copyright © 2011-2022 走看看