【运维知识基础篇】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年运维经验,持续分享运维干货,感谢大家的阅读和关注!

目录
相关文章
|
7月前
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
5月前
|
存储 数据管理 Linux
区分Linux中.tar文件与.tar.gz文件的不同。
总之,".tar"文件提供了一种方便的文件整理方式,其归档但不压缩的特点适用于快速打包和解压,而".tar.gz"文件通过额外的压缩步骤,尽管处理时间更长,但可以减小文件尺寸,更适合于需要节约存储空间或进行文件传输的场景。用户在选择时应根据具体需求,考虑两种格式各自的优劣。
809 13
|
6月前
|
安全 Linux
Linux赋予文件000权限的恢复技巧
以上这些步骤就像是打开一扇锁住的门,步骤看似简单,但是背后却有着严格的逻辑和规则。切记,在任何时候,变更文件权限都要考虑安全性,不要无谓地放宽权限,那样可能
204 16
|
7月前
|
Linux
【Linux】 Linux文件I/O常见操作技巧
以上就是Linux文件I/O操作的一些技巧,接纳它们,让它们成为你在Linux世界中的得力伙伴,工作会变得轻松许多。不过记住,技巧的运用也需要根据实际情况灵活掌握,毕竟,最适合的才是最好的。
239 28
|
6月前
|
存储 Linux 数据处理
深入剖析Linux中一切即文件的哲学和重定向的机制
在计算机的奇妙世界中,Linux的这套哲学和机制减少了不同类型资源的处理方式,简化了抽象的概念,并蕴藏着强大的灵活性。就像变戏法一样,轻轻松松地在文件、程序与设备之间转换数据流,标准输入、输出、错误流就在指尖舞动,程序的交互和数据处理因此变得既高效又富有乐趣。
110 4
|
7月前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
1038 12
|
8月前
|
Linux Shell
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
476 19
|
6月前
|
Linux
linux文件重命名命令
本指南介绍Linux文件重命名方法,包括单文件操作的`mv`命令和批量处理的`rename`命令。`mv`可简单更改文件名并保留扩展名,如`mv old_file.txt new_name.txt`;`rename`支持正则表达式,适用于复杂批量操作,如`rename 's/2023/2024/' *.log`。提供实用技巧如大小写转换、数字序列处理等,并提醒覆盖风险与版本差异,建议使用`-n`参数预览效果。
|
8月前
|
运维 安全 Linux
试试Linux设备命令行运维工具——Wowkey
WowKey 是一款专为 Linux 设备设计的命令行运维工具,提供自动化、批量化、标准化、简单化的运维解决方案。它简单易用、高效集成且无依赖,仅需 WIS 指令剧本文件、APT 账号密码文件和 wowkey 命令即可操作。通过分离鉴权内容与执行内容,WowKey 让运维人员专注于决策,摆脱繁琐的交互与执行细节工作,大幅提升运维效率与质量。无论是健康检查、数据采集还是配置更新,WowKey 都能助您轻松应对大规模设备运维挑战。立即从官方资源了解更多信息:https://atsight.top/training。
|
8月前
|
数据采集 运维 安全
Linux设备命令行运维工具WowKey问答
WowKey 是一款用于 Linux 设备运维的工具,可通过命令行手动或自动执行指令剧本,实现批量、标准化操作,如健康检查、数据采集、配置更新等。它简单易用,只需编写 WIS 指令剧本和 APT 帐号密码表文件,学习成本极低。支持不同流派的 Linux 系统,如 RHEL、Debian、SUSE 等,只要使用通用 Shell 命令即可通吃Linux设备。

热门文章

最新文章