linux 系统文件属性说明
find命令查找信息补充
精确查找:
- find 路径信息 -type 文件类型 -name "文件名"
模糊查找:
-
find 路径信息 -type 文件类型 -name "文件名*"
-
find 路径信息 -type 文件类型 -name "*文件名"
-
find 路径信息 -type 文件类型 -name "文*件名"
忽略大小写查找:
- find 路径信息 -type 文件类型 -iname "文件名*"
根据数据大小查找数据:
-
`b' for 512-byte blocks (this is the default if no suffix is used)
-
`c' for bytes (推荐)
-
`w' for two-byte words
-
`k' for Kilobytes (units of 1024 bytes) (推荐)
-
`M' for Megabytes (units of 1048576 bytes) (推荐)
-
`G' for Gigabytes (units of 1073741824 bytes)
find /oldboy -type f -size +100 --- 找出大于100K的文件 find /oldboy -type f -size -100 find /oldboy -type f -size +1M --- 找出大于1M的文件
根据目录指定层级进行查找数据(进行递归查找)
(1)最大递归遍历一层
find /oldboy -maxdepth 1 -type f -name "Oldboy*"
(2)最大递归遍历一层
find /oldboy -maxdepth 2 -type f -name "Oldboy*"
显示目录结构信息 tree
tree /oldboy --- 显示指定目录中的所有数据和所有结构信息
tree -L 2 / --- 查看目录结构层级信息
tree -d /oldboy --- 显示目录中所有结构信息
系统中如何对文件进行压缩处理
压缩的命令 tar
压缩命令语法:
- tar zcvf name.tar.gz 指定要压缩的数据文件
常用 options
-
z 压缩的方式 为zip
-
c 创建压缩包文件
-
v 显示压缩的过程
-
f 指定压缩包文件路径信息
- x 解压包
压缩数据方法:
tar zcvf /oldboy/oldboy.tar.gz /oldboy/services
解压数据包
tar xvf /oldboy/oldboy.tar.gz
在不解压情况下查看压缩包里面的数据
tar tf /oldboy/oldboy.tar.gz
在压缩过程中排除指定数据不要被压缩
tar命令排除参数
-
--exclude=PATTERN exclude files, given as a PATTERN -- 排除指定单个文件数据
-
-X, --exclude-from=FILE exclude patterns listed in FILE -- 批量排除多个文件
多个文件进行排除
第一个历程: 编写好排除文件
[root@oldboyedu oldboy]# vim /tmp/exclude.txt /oldboy/oldboy.txt /oldboy/oldboy.avi /oldboy/oldboy.jpg /oldboy/oldboy.png
第二个历程: 执行命令进行批量排除
[root@oldboyedu oldboy]# tar zcvf /tmp/oldboy05.tar.gz /oldboy --exclude-from=/tmp/exclude.txt tar: Removing leading `/' from member names /oldboy/ /oldboy/services /oldboy/oldboy01/
文件属性信息详细说明
文件数据权限有什么:
-
r read --- 读权限 4
-
w write --- 写权限 2
-
x execute --- 执行权限 1
- - --- 没有权限 0
权限赋予到指定人
-
属主信息 文件所有者(监护人) 权限
-
属组信息 文件所有者(亲人) 权限
-
其他用户 隔壁老王 权限
练习:
-
rwx -- 7
-
rw--w---x 621
-
rwx-wx--- 730
-
432 r---wx-w-
系统中用户信息有什么用
-
a 利用用户登录系统
-
b 利用用户管理数据
-
c 利用用户管理进程
系统如何识别不同的用户
利用用户的数值编号进行识别: uid
[root@oldboyedu ~]# id root uid=0(root) gid=0(root) groups=0(root) [root@oldboyedu ~]# id oldboy uid=1000(oldboy) gid=1000(oldboy) groups=1000(oldboy)
用户和用户组的关系:
-
用户 -- 用户组 1v1
-
多个用户 -- 用户组 多v1
-
用户 -- 多个用户组 1v多
系统识别用户组也是根据编号识别: gid
用户进行分类
a 超级管理员用户 皇帝 root
-
uid信息进行区分: 0
-
从权限上区分: 至高无上
b 虚拟用户 傀儡 xxx nobody
-
uid信息进行区分: 1-999 centos7
-
从权限上区分: 管理进程 不能登录系统/没有家目录
c 普通用户 平民 oldboy oldgirl
-
uid信息进行区分: 1000+ centos7
-
从权限上区分: 管理指定数据 可以管理指定进程 可以登录系统/有家目录
如何保护好皇帝:
-
01. 修改远程连接端口-52113 --- 修改/etc/ssh/sshd_config
-
02. 禁止root用户远程登录 --- 修改/etc/ssh/sshd_config
文件属性信息详细说明
inode: 索引节点 ls -li path
- 文件或数据在磁盘中保存位置
- 相当于书中的目录
查看方法
df -i
block: 索引节点指向的位置
- 文件或数据的具体内容
-
block默认大小为4k,可以进行调整
补充
-
01. 文件属性信息存储在inode中
-
02. 文件的名称信息存储在上一级目录的block中
企业中面试: 你都做过哪些系统优化操作?
问题: block默认大小可以调整 是大点好 小点好 设置大点: 10k 视频公司 图片公司 文件大的时候: 20K 4k -- 2个block 2s 4s --- 节省IO消耗 设置小点: 2k 互联网公司 小文件的时候: 1k 2k -- 1个block --- 提高磁盘利用率
读取数据的原理
-
01. 找到指定数据
-
02. 读取数据内容,先获取文件数据inode信息
-
03. 根据inode信息在磁盘上找到对应block
-
04. 根据block信息获取文件真正内容
文件属性信息详细说明--时间信息(改变时间)
文件数据时间类型:
-
01. 访问时间 Access time == atime 访问一次
-
02. 修改时间 Modify time == mtime 内容发生变化
-
03. 改变时间 Change time == ctime --- 数据属性信息发生改变了 如修改权限
stat /oldboy/test.txt
硬链接数
- 概念说明: 超市的多个门 , 在一个分区中,inode 号码相同的文件,互为硬链接
诞生过程
ln 链接的源文件 硬链接的文件信息
系统中的目录不能创建硬链接
软链接:
- 概念说明: 文件的快捷方式
诞生过程:
ln -s 链接的源文件 软链接的文件信息
简单创建
ln -s /oldboy/oldboy.txt /oldboy/oldboy_soft_link.txt
软硬链接的区别:
01. 链接后的文件大小不一致
02. 链接后的文件类型和权限不一致(颜色不一致)
03. 链接后的文件和源文件 inode信息有出入
-
硬链接inode号码一致
-
软链接inode号码不一样
04. 源文件被删除之后
-
硬链接文件依然有效
-
软链接文件失效
05. 软硬链接创建过程不一致
时间相关的命令
查看时间信息 data
date
调整时间显示格式
date +%F
date "+%F %T"
date "+%y-%m-%d %H:%M:%S"
系统自动的备份数据
cp /oldboy/oldboy.log /log/oldboy.log.$(date +%F)
时间同步方法
yum install -y ntpdate ntpdate ntpdate ntp1.aliyun.com date