【运维知识基础篇】Linux文件属性

简介: 【运维知识基础篇】Linux文件属性

话不多说,直接开始!

ls -li #显示inode号码
[root@VMware-koten ~]#ls -li
total 8
34425540 -rw-r--r-- 1 root root  1 Mar  5 16:09 123
34425538 -rw-r--r-- 1 root root 31 Mar  5 16:09 test.txt
[root@VMware-koten ~]#
第一列:inode号
第二列:文件的类型 d是目录 l是链接文件 -是普通文件
第三列:9位文件权限 rwx 读 写 执行 -表示无此权限
第四列:硬链接的个数 
第五列:文件的属主
第六列:文件的属组
第七列:文件的大小 使用ls -h可以查看
第八列:文件时间
第九列:文件名称
第一列:inode号码
作用:类似身份证号码 
    类似藏宝图,标明具体宝藏的位置
    书本的目录
    存储了文件的指针指向,指向了文件内容具体的位置
先找到inode号,才能找到真正存储数据的位置,为了快速查到文件的内容
找到文件名称,相当于找到了indoe号
磁盘最小存储单位是512字节
磁盘扇区大小是512字节
block,是块存储,具体存储数据的
安装系统分区或格式化系统自动生成了定量的inode和block
inode存放具体内容的指针指向 查看 df -i
block具体存放数据的地方 查看 df -h
创建一个文件最少需要一个inode和一个block,
是否能往磁盘写东西一个是inode不能满一个是block不能满,其中一个满也不行
小文件多了,inode会满,block不会满
正常都是block满,inode不满
扩展下查找文件流程:
cat /etc/passwd
passwd文件名称是放在上级目录etc下的block中
etc目录文件名称又放在上级目录根目录的block中
目录有inode号,inode号存放指针指向,通过指针指向找存放在block里面的的目录下的文件名称
文件名称有inode号,inode号存放指针指向,通过指针指向找存放在block里面的的目录下的文件名称
文件名称里又有inode号,inode号存放指针指向,通过指针指向找存放在block里面的的目录下的文件名称 
循环往复,一直找,最终找到文件或者目录 
第二列:文件的类型 
作用:表示文件的唯一方式(windows)
     在Linux系统中是为了给我们看,改后缀没有任何影响,即使没有影响,也别瞎命名
1:-    普通文件
普通文件:.txt .log /etc/hosts /etc/resolv.
二进制命令文件:/usr/bin/ls /usr/bin/touch
数据文件:压缩文件、视频文件、音频文件、rpm包
2:d    目录
3:l    链接文件 软连接 类似windows的快捷方式
4:b    块设备    block /dev/sr0 /dev/sda
5:c    字节设备   /dev/urandom 类似白洞,可以一直往外吐字符串 可以head去看
        重点:    /dev/null  类似黑洞,可以将命令执行结果输入进去,作用就是接收没用的东西,执行结果不想看到
                 $? 为上一条命令的返回结果,0为成功,非0为失败
                 /dev/zero 可以生成数据,生成块设备
dd if=/dev/zero of=1g.txt bs=1m count=1000
生成1g的块设备文件,没法看,是乱码,做测试用
dd 命令,生成大文件用
if:input file 数据从哪个文件输入
of:output file 输出内容到文件
bs:block size 每次输入多大
count:总共输入多少次
6:p    管道设备  可以通过find / -type p 寻找
[root@VMware-koten ~]#find / -type p
/run/systemd/sessions/33.ref
/run/systemd/sessions/5.ref
/run/systemd/initctl/fifo
[root@VMware-koten ~]#find / -type p |xargs ls -l
prw------- 1 root root 0 Mar  3 08:36 /run/systemd/initctl/fifo
prw------- 1 root root 0 Mar  6 08:22 /run/systemd/sessions/33.ref
prw------- 1 root root 0 Mar  3 11:19 /run/systemd/sessions/5.ref
[root@VMware-koten ~]#
7:s    接口文件
第三列:文件权限 9位权限位
决定文件是否可读可写可执行
r read 文件可读 cat less vim more
w write 文件可写 vim echo 
x excute 可执行 脚本是否可执行(文件中放了命令,称为脚本)
        /etc/rc.local 系统的可执行文件
系统执行脚本是按照路径方式
如果可执行文件权限被拒绝,需要加权限
chomd +x /root/test.sh
三位为一组权限:
前三位:属主(主任 文件的所有者对权限的作用)自己
rwxrwxrwx
rw-r--r--
中三位:属组权限(和主人在同一小组的权限的作用)类似家庭,默认只有我们自己
r-- #只读 没有其他权限
后三位:其他用户权限(陌生人对于我笔记本的权限)
r-- #只读 没有其他权限
属组权限意义不大,因为跟陌生人权限一样
扩展:对于文件来讲最高的权限是rw-rw-rw-
使用数字来表示文件的权限:r=4 w=2 x=1
rw-r--r--    644  也需要会往会算
将文件权限每三位进行相加得到文件的权限
对于可执行文件来讲最高的权限是rwxrwxrwx 777
第四列:硬链接的个数
作用:保护系统文件的安全 类似于备份
特点:1、具有相同inode号,互为硬链接,具有相同地址的位置
2、创建硬链接ln源文件 硬链接名称(源文件必须已存在)
3、修改一个文件 其他文件也会变化
4、类似超市有多个门 东门 西门 不管从哪个门进,看到的东西是一样的
5、类似秦始皇的宝藏有多个藏宝图,多份,但指向同一个位置
6、类似书有多个相同的目录,指向的页数相同
名称不一样,但是inode号一样
7、目录不能创建硬链接,不支持,目录默认的硬链接数是2
因为目录中.和该目录的inode号一样,目录和.互为硬链接
如果目录里面还有目录,会有三个硬链接,因为多了个..
三个一个是目录本身,一个是进入目录的.,一个是进入目录下目录的..
在目录的下面创建不行,只能在一级目录下面
8.删除其中一个硬链接,不影响其他文件
9.硬链接不能跨文件系统(磁盘或磁盘分区)因为inode号相同
互为硬链接,没有源文件和目标文件,创建个数没有限制
如何寻找其他硬链接:
find  / -type f -inum inode号
硬链接用的少,不如备份,经常修改的文件可以用硬链接。
示例1:
[root@VMware-koten ~]#touch 1.txt
[root@VMware-koten ~]#ll
total 0
-rw-r--r-- 1 root root 0 Mar  7 08:47 1.txt
[root@VMware-koten ~]#ln 1.txt hard_link.txt
[root@VMware-koten ~]#ll
total 0
-rw-r--r-- 2 root root 0 Mar  7 08:47 1.txt
-rw-r--r-- 2 root root 0 Mar  7 08:47 hard_link.txt
[root@VMware-koten ~]#echo test > 1.txt 
[root@VMware-koten ~]#cat 1.txt 
test
[root@VMware-koten ~]#cat hard_link.txt 
test
[root@VMware-koten ~]#ll -i
total 8
33587013 -rw-r--r-- 2 root root 5 Mar  7 08:48 1.txt
33587013 -rw-r--r-- 2 root root 5 Mar  7 08:48 hard_link.txt
[root@VMware-koten ~]#
软链接
特点:1、inode号不同
2、类似Windows的快捷方式,存储着指向源文件的路径
3、目录和文件都可以做软连接
4、创建软连接 ln -s 源文件 链接文件 
链接文件权限是满的,但是具体权限得看源文件
5、删除软链接文件,不影响源文件。
删除源文件,链接文件失效,ll再查询,源文件会变成红底白字闪烁,再创键会重新链接上
6、软连接可以跨文件系统(磁盘或磁盘分区)
7、创建使用绝对路径,不然容易丢,即使是在当前。
一定要用绝对路径,不然会链接到连接文件同目录下的原文件
除非你是在同一目录下。
比如:ln -s /etc/hosts /opt/hosts 
企业最常用软连接:
作用:
1、解决磁盘不够用的问题
mkdir /data
mount /dev/sdb/data
mv /var/log/network.log  /data/network.log
ln -s /data/network.log /var/log/network.log
2、解决代码发布回滚的问题
第五列:文件的属主
文件的主人,文件的拥有者
不说了,没啥可说的
第六列:文件的属组
不说了,没啥可说的
第七列:文件的大小
使用ll -h可以查看
du -h 统计目录及目录下所有文件的大小
      指定查看所有文件的大小
ll -h和du -h
查文件的话,查到的大小一致
查目录的话,ll -h只是查目录本身的文件,du -h是查目录及目录下面的所有文件
[root@VMware-koten ~]#du -h /etc
第八列:文件时间
linux的三种时间
文件访问时间
文件修改时间
文件属性的变化时间或修改时间
.[root@VMware-koten ~]#stat 1.txt 
  File: ‘1.txt’
  Size: 5             Blocks: 8          IO Block: 4096   regular file
Device: 803h/2051d    Inode: 33587013    Links: 2
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2023-03-07 10:22:57.669743196 +0800 文件访问时间 cat 内容变化看,不会发生变化,修改后才会发生变化
Modify: 2023-03-07 10:22:57.669743196 +0800 文件修改时间 vim echo 常用!
Change: 2023-03-07 10:22:57.669743196 +0800 文件属性的变化时间或修改时间 vim echo chomd +x 
 Birth: -
[root@VMware-koten ~]#
第九列:文件名称
文件名存在上级目录的clock中
文件名称和inode号层次一样

我是koten,10年运维经验,持续分享运维干货,感谢大家的阅读和关注!

目录
相关文章
|
26天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
78 1
|
25天前
|
人工智能 安全 Linux
【Linux】Linux之间如何互传文件(详细讲解)
【Linux】Linux之间如何互传文件(详细讲解)
|
1天前
|
Linux Go 数据安全/隐私保护
Linux 中的文件属性解析
在 Linux 系统中,每个文件和目录有一组属性控制其操作和访问权限。了解这些属性对有效管理文件至关重要。文件属性包括:文件类型(如 `-` 表示普通文件,`d` 表示目录),权限(如 `rwx` 表示所有者权限,`r-x` 表示组和其他用户权限),所有者,组,硬链接数,文件大小和最后修改时间。通过 `chown` 和 `chmod` 命令可更改文件所有者、所属组及权限。此外,还有特殊权限(如 SUID、SGID)和 ACL(访问控制列表)提供更精细的访问控制。
|
2天前
|
人工智能 Linux
Linux查找大文件的方法
Linux查找大文件的方法
|
4天前
|
固态存储 Ubuntu Linux
Linux(29) 多线程快速解压缩|删除|监视大型文件
Linux(29) 多线程快速解压缩|删除|监视大型文件
11 1
|
4天前
|
Ubuntu Linux 数据安全/隐私保护
Linux(24) 如何在Ubuntu中操作rootfs.img文件
Linux(24) 如何在Ubuntu中操作rootfs.img文件
9 0
|
9天前
|
安全 Linux 开发工具
Linux中可引起文件时间戳改变的相关命令
【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
19 0
|
11天前
|
Linux Shell 开发工具
Linux文件常用操作
Linux文件常用操作(几乎覆盖所有日常使用)
84 0
|
12天前
|
Linux 内存技术 Perl
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
【ZYNQ】制作从 QSPI Flash 启动 Linux 的启动文件
|
18天前
|
Linux
linux 超过4个G的文件传不上去的解决办法
linux 超过4个G的文件传不上去的解决办法
9 0