Linux中的文件属性和 文件类型

文件类型及属性

文件属性 每列的含义

​ [root@oldboyedu ~]# ll -i
​ 33575029 -rw-r--r--. 1 root root 337 Nov 2 10:26 hosts

​ 把以上文件属性拆分如下:

33575029 - rw- r-- r-- . 1 root root 337 Nov 2 10:26 hosts

inode号 文件类型 属主权限 属组权限 访客权限 selinux关闭后可消除. 1 为硬链接的个数 属主 属组 存储大小 文件时间 文件名称

inode号

inode号 index node 文件索引,存放着指向blok的指针 ,每个文件都占用一个inode
block 具体存放文件内容的位置,每个文件占用多个block 4k大小 最小的存储单位
block 大了好 还是小了好?
具体看业务: 生成的小文件多 还是大文件多 公司中的大文件也小文件业务
小文件 block小一些好 节省磁盘空间
生成1个小文件 不到1K ... 生成第二个小文件的时候 会重新占用一个新的block 4K
block 4k 有一个10K的文件
占用3个block

		  大文件10M ---> block 很多很多
		  读取一个block的时间为1秒
		  10M 占用的block的事件为 10M/4K的时间


​ 以上两个 其中一个满 无法往磁盘中写数据

​ 读取文件内容的一个过程:
​ 1.先找到文件名称(上级目录的block 文件名称存储在上级目录中)
​ 2.找到文件名 就能找到对应inode
​ 3.通过inode找到对应block

文件类型

Linux的文件类型
- 普通文件
三种普通文件都是以 - 来表示
1.普通文件 普通文件 cat vim echo > less(一页一页的查看文件中的内容)
-rw-r--r--. 1 root root 84485563 Nov 5 10:43 hosts

		  2.二进制文件 可执行命令 ls pwd touch 都是二进制文件
				  -rwxr-xr-x. 1 root root 62568 Oct 31  2018 /usr/bin/touch
	
	      3.数据文件 压缩包 .rpm包 
			      -rw-rw-r-- 1 root root    84280 Aug 23  2019 zziplib-0.13.62-11.el7.x86_64.rpm
				  -rw-r--r--  1 root root       550 Nov  5 10:47 all.tar.gz
 	
			d   表示目录
			   drwxr-xr-x  2 root root         6 Nov  5 10:48 dir

​ l 软链接文件 softlink 类似windows的快捷方式 存着放源文件的指针 会占用一个inode
​ 软链接的特点:
​ 链接文件 存放着指针
​ rwxrwxrwx 最高的权限 看着权限最高 实际还得看源文件的权限
​ 软链接在前面 源文件在> 后面
​ b 块设备 硬件设备
​ brw-rw---- 1 root disk 8, 0 Nov 5 10:27 /dev/sda
​ brw-rw---- 1 root disk 8, 1 Nov 5 10:27 /dev/sda1

​ c 字节设备 可以自动生成一些字符串 也可以类似黑洞 吸收很多内容
​ [root@oldboyedu ~]# ll /dev/urandom 吐的
​ crw-rw-rw- 1 root root 1, 9 Nov 5 10:27 /dev/urandom
​ [root@oldboyedu ~]# ll /dev/zero 吐得
​ crw-rw-rw- 1 root root 1, 5 Nov 5 10:27 /dev/zero
​ 经常生成一些大的测试文件 比如生成1G的文件 配置成swap交换分区 扩展
​ dd if=/dev/zero of=./1g.txt bs=1M count=1000
​ 命令
​ if input file
​ of output file
​ bs 每次接收多大的数据
​ count 总共接收多少次
​ [root@oldboyedu ~]# ll /dev/null 吃的
​ crw-rw-rw- 1 root root 1, 3 Nov 5 10:27 /dev/null

			    > 或者1>  标准正确输出重定向
				>>         标准正确追加输出重定向
				标准正确输出:
					执行的命令是正确的 成功结果
					比如 ls cat ping成功后的结果
					[root@oldboyedu ~]# ls 1g.txt 
					1g.txt
					[root@oldboyedu ~]# ls 1g.txt > ok.txt
					[root@oldboyedu ~]# cat ok.txt 
					1g.txt
					[root@oldboyedu ~]# ls 1g.txt >> ok.txt
					[root@oldboyedu ~]# cat ok.txt
					1g.txt
					1g.txt
					[root@oldboyedu ~]# ls 1g.txt 2>> ok.txt
					1g.txt
					[root@oldboyedu ~]# cat ok.txt 
					1g.txt
					1g.txt

				2> 标准错误输出重定向
				2>> 标准错误追加输出重定向
			    标准错误输出:
					命令错误 执行结果不正确

					[root@oldboyedu ~]# ls 1ggg.txt 2> ok.txt
					[root@oldboyedu ~]# cat ok.txt 
					ls: cannot access 1ggg.txt: No such file or directory

					[root@oldboyedu ~]# ls 1g.txt 2> ok.txt 
					1g.txt
					[root@oldboyedu ~]# cat ok.txt 

				  要接收正确和错误的
				  [root@oldboyedu ~]# ls 1g.txt 2> ok.txt 
					1g.txt
					[root@oldboyedu ~]# cat ok.txt 
					[root@oldboyedu ~]# ls 1g.txt >> ok.txt 2>> ok.txt
					[root@oldboyedu ~]# cat ok.txt 
					1g.txt
					[root@oldboyedu ~]# 
					[root@oldboyedu ~]# ls 1gggg.txt >> ok.txt 2>> ok.txt
					[root@oldboyedu ~]# cat ok.txt 
					1g.txt
					ls: cannot access 1gggg.txt: No such file or directory



					[root@oldboyedu ~]# ls 1gggg.txt >>ok.txt 2>&1
					[root@oldboyedu ~]# ls 1g.txt >>ok.txt 2>&1
					[root@oldboyedu ~]# cat ok.txt 
					1g.txt
					ls: cannot access 1gggg.txt: No such file or directory
					ls: cannot access 1gggg.txt: No such file or directory
					1g.txt

					[root@oldboyedu ~]# ls 1g.txt &>ok.txt
					[root@oldboyedu ~]# ls 1gggg.txt &>ok.txt
					[root@oldboyedu ~]# cat ok.txt
					ls: cannot access 1gggg.txt: No such file or directory
					[root@oldboyedu ~]# ls 1gggg.txt &>>ok.txt
					[root@oldboyedu ~]# ls 1g.txt &>>ok.txt
					[root@oldboyedu ~]# cat ok.txt 
					ls: cannot access 1gggg.txt: No such file or directory
					ls: cannot access 1gggg.txt: No such file or directory
					1g.txt

				$? ?变量中存放着上一条执行命令的结果 0为成功 非0 失败
				
				[root@oldboyedu ~]# ping -c2 -W1 www.baidu.com &>/dev/null
				[root@oldboyedu ~]# echo $?
				0
				[root@oldboyedu ~]# ping -c2 -W1 www.baiduaaaaaaaaaaaaaa.com &>/dev/null
				[root@oldboyedu ~]# echo $?
				2

属主文件权限

属组文件权限

访客权限

文件权限: rw-r--r--
r read 读取文件 less cat
w write 写入 可以编辑 echo vim
x excute 可执行

	- 代表没权限
	Linux系统中文件的最高权限是rw    作为普通文件我们对它做什么操作?
	x 权限可执行权限 shell脚本 rwx

	rw-r--r--  # 三位为一组
	前三位	 文件的拥有者 属主(哪个用户创建的这个文件 比如我们自己的笔记本 属于我们自己) 拥有的权限 rw 可读 可写
	中三位   文件的属组 权限 (这个文件属于哪个组 比如我们笔记本属于家庭 ) 拥有可读的权限
	后三位	 其他用户 陌生人(比如笔记本对应着 不是家人 也不是主人) 拥有可读的权限

selinux关闭后可消除.

开启了selinux生成的

	Selinux 美国国家安全局开发的安全策略服务 一般不启用

 需要关闭selinux
	1.如何查看当前selinux是否开启
		[root@oldboyedu ~]# getenforce 
		 Enforcing
	2.临时关闭selinux


		[root@oldboyedu ~]# setenforce 
		usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
	3.永久关闭selinux
	  vim /etc/selinux/config 
	  SELINUX=disabled
	  重启操作系统

1 为硬链接的个数

1 硬链接的个数 给1个文件开了多个入口 类似于超市开了多个门
作用: 提高文件的安全性
特点: 文件默认1个硬链接数
目录 默认2个硬链接

属主

root 属主 文件的拥有者 使用哪个用户创建 默认哪个用户的属主 root用户可以修改指定文件属主属组

属组

root 属组 文件属于哪个组 使用哪个用户创建 默认哪个用户的属主

存储大小

文件的大小 ll -h

文件时间

Nov 2 10:26 文件的时间三种 Access 访问时间cat Modify 内容修改时间 Change属性修改时间

使用命令查看: stat 文件名称

文件名称

最后一项为文件名称

原文地址:https://www.cnblogs.com/yangte/p/13961205.html