经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
Linux文件属性详述
来源:cnblogs  作者:JZEason  时间:2021/12/15 8:56:15  对本文有异议

一、文件属性信息概述

文件属性信息组成如下:

  1. 文件索引属性信息——inode编号;
  2. 文件类型权限信息;
  3. 文件链接属性信息——硬链接数;
  4. 文件属主信息——文件所有者;
  5. 文件属组属性信息——文件所属组;
  6. 文件大小属性信息——最小单位字节;
  7. 文件修改时间信息;
  8. 文件名称信息说明;

image

二、文件属性信息详述

2.1 文件类型概念说明

  • 文件类型预备知识

    扩展名说明:

    • Windows中通过扩展名区分不同文件类型

    • Linux中通过扩展名提示不同文件类型(就算把压缩文件扩展名改了,依旧是压缩文件);

  • 文件类型详细说明

    • 普通文件——f/-(file)

      ①. 纯文本文件text: /etc/hosts;

      ②. 二进制文件binary: /bin/ls;

      ③. 数据型文件data: /tmp/etc.tar.gz

      利用file命令可以查看文件类型

    • 目录文件(文件夹)——d/d(directory)

    • 链接文件——l/l(软链接 符号链接 快捷方式)

    • 设备文件

      b/b(block)(块设备文件)

      c/c(character)(字符设备文件 会不断产生字符信息)

      需要关注的设备文件:

      1. 磁盘设备文件 /dev/sda
      2. 随机设备文件 /dev/urandom
      3. 输出设备文件 /dev/zero
      4. 输入设备文件 /dev/null
    • 套接字文件——s/s(socket)(套接接口文件 和网络有关的文件)

    • 管道文件——p/p(pipe)(管道文件)

  • 文件类型查看方法

    1. file [文件信息]
    2. 配置文件---.conf
    3. 日志文件---.log
    4. 脚本文件---.sh
    5. 脚本文件---.py

    注意:不能以颜色判断文件类型。

2.2 文件软硬连接说明

  • 概念说明

    • 硬链接直接指向index node编号;
    • 相当于访问文件的一个入口;
    • 相当于访问文件的入口数量;
    • 同一个分区中,inode号码相同的文件互为硬链接;
  • 操作练习

    1. 01. 创建文件信息
    2. touch /data/oldboy
    1. 02. 创建硬链接
    2. ln /data/oldboy /data/oldboy.txt_hard
    1. 03. 检查创建信息
    2. ls -lhi oldboy*
  • 特点作用

    1. 防止误删数据;
    2. 不能给目录创建硬链接;
  • 概念说明

    • 相当于快捷方式;
    • 用于存放指向源文件的路径信息;
  • 操作练习

    1. 01. 创建文件信息
    2. touch /data/oldboy
    1. 02. 创建软链接
    2. ln -s /data/oldboy /data/oldboy.txt_soft
    1. 03. 检查创建信息
    2. ls -l oldboy*

    -s:创建软链接

  • 特点作用

    1. 软件链接创建最好采用绝对路径,否则容易失效;
    2. 链接源文件删除,会影响软链接;
2.2.3 扩展知识点
  • 如何真正删除一个文件

    • 文件硬链接数为0时,表示数据真正删除了;
    • 文件信息没有被进程调用的时候,进程调用数为0;

    查看文件是否被进程调用:lsof |grep "secure"

  • 删除文件的底层逻辑:

    1. 删除的硬链接;
    2. 判断该文件硬链接数是否为0;
    3. 如果为0,则在磁盘中将其删除;
    4. 如果不为0,则只删除一个硬链接;

2.3 存储数据相关—inode

2.3.1 概述介绍
  • 索引节点:index node
  • 存放文件信息
    • 文件大小
    • 文件时间
    • 文件类型
    • 文件权限
    • 文件名称
2.3.2 诞生原因

存储知识储备:

  1. 硬盘硬件--拥有房子
  2. 硬盘分区--划分隔断
  3. 格式化硬盘--开始装修
  4. 文件系统--装修风格
  5. 进行挂载--安装门窗

inode是在格式化创建文件系统的时候诞生的

2.3.3 特点说明
  • inode用于存放的是文件属性;
  • inode用于存放块的指针位置;
  • 创建一个文件至少占用一个inode和一个block;
  • 在同一分区中,两个文件的inode号码相同,两个文件互为硬链接;
2.3.4 命令查看
  1. 展示inode信息:
  2. ls -lhi /etc/hosts
  3. 131100 -rw-r--r--. 2 root root 352 Jan 27 01:15 /etc/hosts
  4. 统计inode数目:
  5. df -i

2.4 存储数据相关—block

2.4.1 概述介绍
  • 存储数据-block块信息

  • 存储文件数据信息

2.4.2 诞生原因

也是在格式化创建文件系统的时候诞生的。

2.4.3 特点说明
  • block用于存放的是数据信息;
  • block默认大小为4k(比较大的文件,会占用多个block);
  • 创建一个文件至少占用一个inode和一个block(非空文件);
  • 磁盘读取数据按block为单位读取的;
  • 读取一个block会消耗一次磁盘I/O(input/output 磁盘读写);
2.4.4 命令查看
  1. 展示block信息:
  2. ls -lh /etc/hosts
  3. -rw-r--r--. 2 root root 352 Jan 27 01:15 /etc/hosts
  4. 统计block数目:
  5. df/df -h

2.5 访问文件原理—inode/block

image

2.6 文件用户和用户组

2.6.1 用户与用户组概念
  • 用户——相当于账号

    UID:user id(用户id)

  • 用户组——某些具有相同属性的账号的集合

    GID:group id(用户组id)

2.6.2 用户分类
  • 超级管理用户(皇帝) root——uid=0
    • 面见皇帝方法:
      1. 利用地址信息访问-IP
      2. 利用用户信息访问-root
      3. 利用密码信息访问
      4. 利用端口信息访问
    • 保护皇帝方法:
      1. 修改远程连接端口-52113
      2. 禁止root用户远程登录
  • 系统虚拟用户(傀儡) www——uid=1-999
    • Linux下面每个程序/进程都需要有一个对应的用户和用户组;
    • 一般用在启动应用程序上,是无法登录Linux系统的用户;
    • 著名的傀儡用户 id nobody id=99;
  • 系统普通用户(百姓) oldboy——uid=1000及以上
2.6.3 用户相关文件
  • 用户的特征信息

    1. /etc/passwd (掌握文件各列信息)
  • 用户的密码信息

    1. /etc/shadow
  • 用户组特征信息

    1. /etc/group
  • 用户组密码信息

    1. /etc/gshadow
  • 用户家目录默认隐藏文件

    1. /etc/skel/
2.6.4 用户相关命令
  • 创建用户

    1. useradd
    2. 参数:
    3. -g : 指定用户组(用户必须存在)
    4. -r : 创建系统用户
    5. -M :不创建家目录
    6. -u :指定创建用户的ID
  • 创建用户组

    1. groupadd
    2. 参数:
    3. -g : 指定用户组的ID
  • 切换用户

    1. su - [用户名]
    2. su [用户名]
  • 查看用户或组的ID

    1. id [用户名]
  • 查看用户详情文件

    1. [root@localhost ~]# cat /etc/passwd
    2. test01:x:1001:1001:"用户简介":/home/test01:/bin/bash
    3. 用户名 test01
    4. 密码占位符 x
    5. 1001 userid
    6. 1001 id
    7. /home/test01 家目录
    8. /bin/bash :默认的解析器

    Linux自带解析器:bash sh

    其他解析器:zsh …

2.7 文件相关权限

2.7.1 …
2.7.2 …
2.7.3 …
2.7.4 …

2.8 文件时间信息

2.8.1 …
2.8.2 …
2.8.3 …
2.8.4 …

原文链接:http://www.cnblogs.com/JZjuechen/p/15689796.html

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号