文件类型及属性
文件属性 每列的含义
[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 文件名称
文件名称
最后一项为文件名称