• linux文件属性基础篇


    文件属性

    文件大小、创建时间、文件类型、权限、拥有者等。

    ls  -l 长格式  -i 索引节点inode  -h human人类可读  -a 全部文件  -d只显示目录  -F文件名结尾加符号以区分类型

    1:索引节点,相当于人的身份证,文件唯一的标识符,系统读取文件时先通过文件名找到inode,再读取文件内容。

    索引节点是硬盘上的一块存储空间,大小:256字节或512字节。

    其存放的数据是文件的属性(大小、时间、用户和组、权限等),但不包括文件名。(文件名在上级目录的block中

    磁盘要想使用,需要先分区,格式化(创建文件系统),就会产生大量的inode和block

    inode:存储文件属性信息,同时存放指向文件实体(block)的指针。

    block:磁盘块,存放实际数据的实体单元。

    命令 cat /etc/test.txt 的详细流程:

    inode节点号相同的文件,互为硬链接文件,例:

    查看系统inode命令:df -i  查看系统block命令:df -h

    磁盘满了的两个原因:①inode满了②block满了

    2:文件类型及权限,10个字符加一个.,第一个字符是文件类型,随后9个字符是权限,最后一个.是和selinux有关的标识。

    3:硬链接个数(详看ln命令),理解为可以从不同文件入口进入文件

    什么是硬链接?具有相同inode节点号的文件互为硬链接。

    创建方法:ln 源文件名  硬链接名

    如果此时把源文件删除,通过硬链接依然可以打开文件。原理:

    硬链接名--->源文件inode--->源文件block

    可以理解为删除的只是一个文件入口,当只有把所有硬链接都删除掉,才算删除了这个文件。

    无法手动创建目录的硬链接。

    4:文件所有者(属主,用户)

    linux是一个多用户多任务的系统,同一服务器允许同时多个用户登录,每个用户允许同时执行多个任务。

    用户一般分为用户名和用户ID,用户名用来结合密码登录系统,计算机通过用户ID来区别用户。

    linux中所有的文件和进程必须有对应的用户,这个用户就是属主。

    用户分类:①.超级管理员 root UID=0(数值越小,权限越大)

    ②.虚拟用户UID=1-499,不允许登录,意义:满足文件或进程属主的要求,但又不会有管理风险。

    ③.普通用户UID>1000,权限仅限于家目录,一些系统目录可读不可写,/root不可读

    命令:whoami 查看当前用户  useradd xxx  使用root创建普通用户

    5:文件属于的组(属组,用户组)

    linux中每个用户都要至少属于一个组,用户组也有唯一标识GID,默认创建用户时会自动创建一个和用户同名同ID的用户组。

    用户和用户组的对应关系:①1对1②1对多③多对1④多对多

    创建用户组的命令:groupadd 组名

    注:可以通过命令:su  -  用户名  切换登录用户

    6:文件大小

    7:文件最后修改月份

    可以使用参数 --time-style=long-iso,使时间格式统一,可结合别名使用

    8:文件最后修改日

    9:文件最后修改时间

    使用命令 stat 文件名 可以查看文件状态信息,其中包括:

    修改时间modify:文件内容被改过的时间

    访问时间access:文件内容被访问的时间

    变化时间change:文件属性发生改变的时间。

    可以使用命令   touch -d "2017-01-01 00:00:00" 文件名  修改modify和access的时间

    10:文件名

    设置文件属性

    chattr +i 文件名  锁定文件,不能使用、改动(可以查看)

    chattr -i 文件名    解锁

    chattr +a 文件名  能追加内容,不能使用、改动

    chattr -a 文件名  解锁

    lsattr 文件名  查看文件属性

    文件类型

    1. - 普通文件regular file, 纯文本文件、数据文件(存放命令收集的信息)、二进制文件(可执行的命令)

    2. d 目录directory

    3. l 链接文件link,类似Windows的快捷方式,指向文件实体

    创建软连接文件:

    软链接有自己的inode,它指向的是源文件的文件名,所以删除源文件后不可访问。(软链接与源文件的inode号不同)

    软链接使用技巧:

    我们有一个程序需要引用/application/nginx-1.0,但过一段时间后其升级为/application/nginx-2.0了

    在引用时,我们使用软链接,/application/nginx-soft-link ===> /application/nginx-1.0,当引用升级后,将软链接指向2.0就可以了。

    4. c 字符设备文件character,如串口设备、早期上网拨号用的猫

    5. b 块设备文件block,如硬盘、光驱

    6. s 套接字文件socket,进程之间通信会用到

    7. p 管道文件pipe

    注:在linux中不通过扩展名区分文件,像.txt .conf都属于普通文件,扩展名主要方便用户区分,即使扩展名错误,文件也能正常使用。

    文件权限

    权限:rwxr-xr-x

    r 可读read  w 可写write  x 可执行execute  -没有权限

    共9个字符,3个字符是一组:

    rwx 当前用户的权限  r-x 当前用户组的权限  r-x 其他用户的权限

    管道简介

    管道符号:|

    将 | 左边得到的数据塞进管道,进行 | 右边的命令操作。

    注:一般管道效率会降低,能不用就不用。

    一个特别的小例子:

    find . -type f -exec rm -f {} ;

    相当于:

    rm -f 1

    rm -f 2

    ...

    rm -f n

    速度比下面的慢。

    find . -type f | xargs rm -f

    相当于:

    rm -f 1 2 ... n

  • 相关阅读:
    Selenium2Library+ride学习笔记
    windbg 调试技巧
    LINUX常用命令--重定向、管道篇(四)
    Linux文件系统与结构
    windbg命令学习4
    windbg命令学习3
    windbg命令学习2
    MySQL常用操作命令
    Httpwatch 工具介绍
    windows平台上用python 远程线程注入,执行shellcode
  • 原文地址:https://www.cnblogs.com/1016391912pm/p/12854651.html
Copyright © 2020-2023  润新知