day15-操作系统文件属性篇

课程回顾知识扩展

生成随机数: 
       tr -cd 'a-z' 
  • 文件相关的命令
    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
       根据目录层级过滤找出指定文件:  -maxdepth -mindepth
               -maxdepth 2      -mindepth 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"
方法二: find /oldboy/ -path "/oldboy/oldboy02" -prune -o  -type f -name "*.txt" -print
  • 练习二
       将指定数据信息找出来,批量复制数据信息到指定目录/删除数据
       批量删除数据命令:
       
       find /oldboy/  -type f -name "*.txt"|xargs rm
       find /oldboy/  -type f -name "*.txt" -exec rm {} \;

       批量复制数据命令:
       find /oldboy/  -type f -name "*.txt"|xargs -i cp {} /tmp
       find /oldboy/  -type f -name "*.txt"|xargs cp -t /tmp
  • xargs ---分组命令整合命令
       [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
  • xargs 整合原理图


    xargs整合原理图.png

文件属性详细说明

  • 文件的权限说明
 文件数据权限有什么:
    r  read     4   读  
    w  write    2   写
    x  execute  1   执行
    -  null     0   没有响应权限
    文件权限赋予哪些用户:
    文件属主用户:  监护人    3个权限(rwx)      每三位权限为一组进行赋予
    文件属组用户:  亲人      3个权限(rw-)      一个文件数据有9个权限位   正确是有12个权限位
    文件其他用户:  隔壁老王    3个权限(r-x)
    rw-  : 6   rw-r--r-- : 644
    rwx  : 7   rwxr-xr-x : 755
    -w-  : 2    
    结论:
    1. 默认文件权限: 644
    2. 默认目录权限: 755  
  • 文件的用户信息
系统中有很多不同的用户
    用户分类:
    1. 超级管理员用户  皇帝-root   用户编号(user id):0
    2. 虚拟用户        傀儡-nobody 用户编号(user id):1-499(centos6)  1-999(centos7)
    3. 普通用户        平民-oldboy 用户编号(user id):500+ (centos6)  1000+(centos7)
    以上用户都可以成为: 文件属主 文件属组 文件其他用户
  • 用户组概念

root 用户绝对权力
root用户组:  root oldboy01 oldboy02 oldboy03   拥有写能力  对指定用户分组

用户和组的关系:
    1) 一个用户 vs 一个用户组  1对1
    2) 多个用户 vs 一个用户组  多对1
    3) 一个用户 vs 多个用户组  1对多
    4) 多个用户 vs 多个用户组  多对多
  • 文件的时间信息
    m(modify) time    --- 修改时间
    a(access) time    --- 访问时间
    c(change) time    --- 改变时间

    查看一个文件的时间属性状态
    stat /oldboy/oldboy.txt 
    Access: 2019-07-19 17:17:09.139770567 +0800
    Modify: 2019-07-19 17:17:09.139770567 +0800    ******
    Change: 2019-07-19 17:17:09.139770567 +0800

查看文件:
    Access: 2019-07-19 17:18:11.912090002 +0800    --- 查看文件时间信息
    Modify: 2019-07-19 17:17:09.139770567 +0800
    Change: 2019-07-19 17:17:09.139770567 +0800   
       
编辑文件:
    Access: 2019-07-19 17:18:11.912090002 +0800
    Modify: 2019-07-19 17:19:50.181449694 +0800    --- 修改文件时间信息
    Change: 2019-07-19 17:19:50.181449694 +0800    --- 改变文件时间信息(文件属性信息有变化)
       
修改文件权限: chmod 666 /oldboy/oldboy.txt 
    Access: 2019-07-19 17:18:11.912090002 +0800
    Modify: 2019-07-19 17:19:50.181449694 +0800
    Change: 2019-07-19 17:21:44.971355330 +0800    --- 改变文件时间信息(文件属性信息有变化) 
  • 修改时间/显示当前时间
1) 默认显示时间:
       # date
       Fri Jul 19 17:26:05 CST 2019

2) 指定显示时间格式:
       date "+%F %T 星期:%w"
       2019-07-19 17:29:05 星期:5

       %F: 显示日期信息 年-月-日
       %T: 显示时间信息 小时:分钟:秒
       %w: 显示星期信息 周一到周日 0~6
       %y: 显示年份
       %Y: 显示年份(包含世纪信息)
       %m: 显示月份
       %d: 显示日期 
       %H: 显示小时信息
       %M: 显示分钟信息
       %S: 显示秒信息 

       man date 可以查看显示时间格式符号信息

       应用: 生成不同时间的备份文件
       cp oldboy.txt oldboy_`date +%F`.txtX
  • 显示过去时间
       显示过去时间:
       [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
  • 显示未来时间:
      [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

-手动同步时间信息:
ntpdate ntp1.aliyun.com

  • 补充
    selinux程序开启状态: 创建的文件(之前已有文件), 在权限位后面都会有点存在
    selinux程序关闭状态: 创建的文件                在权限位后面都不会有点存在
    selinux程序关闭之后,可以顺利重启,重新加载selinux配置文件
    selinux程序再次开启,启动系统会有延迟情况,延迟时间过后,可以重启系统  

你可能感兴趣的:(day15-操作系统文件属性篇)