day16
文件属性相关知识
A.昨日回顾:
1.文件属性组成部分:8个部分 文件类型
2.文件属性类型:(文本文件 二进制命令文件 脚本文件 数据文件) d l c (/dev/urandom) b s
生成随机数:[root@han ~]# tr -cd 'a-z' </dev/urandom |head -c 6 ----------------生成随机字母
- d ----讲匹配的信息排除 - c ----将排出的信息显示出来
head - c ------取指定信息中前几个字符
3.文件相关命令: file which whereis locate (updatedb-更新数据库索引信息)
find命令:
总结:01.查找数据时指定的多个条件默认是并且关系 -a and
02.查找数据时指定的多个条件可以是或者关系 -o or
根据文件名称过滤找出指定文件: - name -iname
根据文件类型过滤找出指定文件: - type f/d/l
根据文件大小过滤找出指定文件: - size +5M/5M/-5M K M G
根据目录层级过滤找出指定文件:-maxdepht -mindepth
-maxdepth 2------------------- -mindepht 2
01 层 找文件------------------- 忽略
02 层 找文件------------------- 找文件
03 层 忽略---------------------- 找文件
04 层 忽略---------------------- 找文件
排除指定目录信息 不要进行查找:
.....[root@oldboyedu ~]# mkdir /oldboy/oldboy{01..03}
[root@oldboyedu ~]# touch /oldboy/oldboy{01..03}/{a..c}.txt
[root@oldboyedu ~]# tree /oldboy
/oldboy
├── oldboy01
│?? ├── a.txt
│?? ├── b.txt
│?? └── c.txt
├── oldboy02
│?? ├── a.txt
│?? ├── b.txt
│?? └── c.txt
└── oldboy03
├── a.txt
├── b.txt
└── c.txt
方法一: find /oldboy/ ! -path "/oldboy/oldboy02*" -type f -name "*.txt"
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02"
/oldboy/oldboy02
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02*"
/oldboy/oldboy02
/oldboy/oldboy02/a.txt
/oldboy/oldboy02/b.txt
/oldboy/oldboy02/c.txt
[root@oldboyedu ~]# find /oldboy/ ! -path "/oldboy/oldboy02*"
/oldboy/
/oldboy/oldboy01
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy01/oldboy.jpg
/oldboy/oldboy03
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
[root@oldboyedu ~]# find /oldboy/ ! -path "/oldboy/oldboy02*" -type f
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy01/oldboy.jpg
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
[root@oldboyedu ~]# find /oldboy/ ! -path "/oldboy/oldboy02*" -type f -name "*.txt"
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
方法二: find /oldboy/ -path "/oldboy/oldboy02" -prune -o -type f -name "*.txt" -print
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy" -type f -name "*.txt"
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy01" -o -type f -name "*.txt"
/oldboy/oldboy01
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy02/a.txt
/oldboy/oldboy02/b.txt
/oldboy/oldboy02/c.txt
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02" -o -type f -name "*.txt"
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02" -o -type f -name "*.txt"
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy02
/oldboy/oldboy02/a.txt
/oldboy/oldboy02/b.txt
/oldboy/oldboy02/c.txt
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02" -prune -o -type f -name "*.txt"
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy02
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
[root@oldboyedu ~]# find /oldboy/ -path "/oldboy/oldboy02" -prune -o -type f -name "*.txt" -print
/oldboy/oldboy01/a.txt
/oldboy/oldboy01/b.txt
/oldboy/oldboy01/c.txt
/oldboy/oldboy03/a.txt
/oldboy/oldboy03/b.txt
/oldboy/oldboy03/c.txt
定数据信息找出来,批量复制数据信息到指定目录/删除数据
批量删除数据命令:
find /oldboy/ -type f -name ".txt"|xargs rm
批量复制数据命令:
find /oldboy/ -type f -name ".txt"|xargs -i cp {} /tmp
find /oldboy/ -type f -name "*.txt"|xargs cp -t /tmp
xarge ---- 分组命令/整合命令
[root@oldboyedu ~]# echo {01..10}|xargs -n2
01 02
03 04
05 06
07 08
09 10
[root@oldboyedu ~]# echo {01..10}|xargs -n3
01 02 03
04 05 06
07 08 09
10
[root@oldboyedu ~]# echo {01..10}|xargs -n4
01 02 03 04
05 06 07 08
09 10
[root@oldboyedu ~]# seq -w 10
01
02
03
04
05
06
07
08
09
10
[root@oldboyedu ~]# seq -w 10|xargs
01 02 03 04 05 06 07 08 09 10
32..png
tar --- 压缩数据命令
压缩数据(zcvhPf) 查看数据(tf) 解压文件指定路径 (tx -C)
B. 文件属性详细说明---文件的权限说明
文件数据权限有什么:
r read 读 4
w write 写 2
x execute 执行 1
-
null 没有相应权限 0
33..png
文件权限赋予那些用户:
文件属主用户: 监护人 3个权限(rwx) 每三位权限为 一组进行赋予
文件属组用户: 亲人 3个权限(rw-) 一个文件数据有九个权限位 (实际正确12个权限位)
文件其他用户: 各部老王 3个权限(r-x)
rw- : 6 rw-r--r-- : 644
rwx : 7 rwxr-xr-x : 755
-w- : 2
结论:
1. 默认文件权限: 644
2. 默认目录权限: 755
C. 文件属性详细说明---文件的用户信息
系统中有很多不同的用户
用户分类:
1.超级管理员用户 皇帝-root 用户编号:(user id:)0
2.虚拟用户 傀儡-nobody 用户编号:(user id:)1-999(centous7) 1-499(centos6)
3.不同用户 平民-oldboy 用户编号:(user id):1000+(
centos7) 500+(centos6)
以上用户都可以成为:文件属主 文件属组 文件其他用户
root用户绝对权利 对指定用户分组---用户组概念
root用户组:root oldboy01 拥有写能力 指定用户分组(用户组概念)
用户组的关系:
1)一个用户 vs 一个用户组 1对1
2)多个用户 vs 一个用户组 多对1
3)一个用户 vs 多个用户组 1对多
4)多个用户 vs 多个用户组 多对多
D. 文件属性详细说明---文件的时间信息
m(modify) time ----修改时间
a(access) time ----访问时间
ctime (change) ----改变时间
stat /文件 查看文件详细信息
查看文件时访问时间变化(a)
编辑文件成功时 ---修改时间和改变时间变化(m c)
修改文件权限时: chomd 666 /文件 文件的改变时间变化(因为属性发生了变化)c
date ---显示时间/修改时间
显示当前时间信息:
1)默认显示时间:
井date
Fri Jul 19 17:26:05 CST 2019
2)指定显示时间格式;date "+%F %T %W"
%F:显示时间信息 年-月-日
%T:显示时间信息 小时:分:秒
%w:显示星期信息 周一到周日 1-6-0
%y:年份
%Y:年份(包含世纪信息)
%m: 显示月份
%d: 显示日期
%H: 显示小时信息
%M: 显示分钟信息
%S: 显示秒信息
man date 可以查看显示时间格式符号信息
应用: 生成不同时间的备份文件
cp oldboy.txt oldboy_date +%F
.txt红色部分反引号
显示未来或过去的时间:
[root@oldboyedu oldboy]# date --- 当前时间
Fri Jul 19 17:44:55 CST 2019
显示过去时间:
[root@oldboyedu oldboy]# date -d "-1 day"
Thu Jul 18 17:45:13 CST 2019
[root@oldboyedu oldboy]# date -d "-2 day"
Wed Jul 17 17:45:19 CST 2019
显示未来时间:30 80岁
[root@oldboyedu oldboy]# date -d "+1 day"
Sat Jul 20 17:46:02 CST 2019
[root@oldboyedu oldboy]# date -d "+2 day"
Sun Jul 21 17:46:05 CST 2019
[root@oldboyedu oldboy]#
[root@oldboyedu oldboy]# date -d "1 day"
Sat Jul 20 17:46:24 CST 2019
[root@oldboyedu oldboy]# date -d "2 day"
Sun Jul 21 17:46:26 CST 2019
算自己阳寿
[root@han ~]# awk 'BEGIN{print 61*365}'
22265
[root@han ~]# date -d "+22265"day
2080年 07月 03日 星期三 20:58:32 CST
修改时间信息:
date -s "20201010 10:10"
同步时间信息:
ntpdate ntpl.aliyun.com
补充:文件权限位后面的点和selinux程序开启或关闭有关:
selinux程序开启状态:创建的文件(之前已有文件)在权限位后面都会有点存在
selinux程序关闭状态:创建的文件 在权限位后面都不会有点存在
selinux程序关闭之后,可以顺利重启,重新加载selinux配置文件
selinux程序再次开启,启动系统会有延迟情况,延迟时间过后,可以重启系统
E. 课程知识总结
1.作业问题:生成随机数 find命令特殊用法(排除目录不做搜索 批量创建用户 生成随机密码)
2.文件权限信息:
9个权限位(12位 t- 粘滞位 /tmp)权限位分别赋予三个用户
权限都有 读 写 执行
权限信息用数值表示: rwx---r-x 705 -----631 rw--wx--x
3.文件用户信息:
属主 属组 其他用户
用户分类:皇帝 uid编号0 傀儡 uid编号1-1000 平民uid编号1000+
用户组概念:用户和组的对应关系
4.文件时间信息:
文件时间有3种时间信息: mtime atime ctime
系统时间命令: date 显示时间/设置时间
网友评论