6.13day11 文件相关命令(find,tree,tar)文件属性信息date
1 文件相关命令
1.1 find命令
查找文件用f
find /root -type f -name "1.txt"
查找目录用d
find /root -type d -name "oldboy"
忽略大小写用 iname
find /root -type f -iname "oldboy.txt"
查找以.txt结尾的文件
find /root -name ".txt"(绝对路径)
find . -name ".txt" (相对路径)
查找不以.txt结尾的文件
find /root ! -name ".txt"
!(叹号)表示取反的意思
查找当前目录不包含子目录下的以.txt结尾的文件
ls .txt
查找指定数据信息的深度
find /root -maxdepth 1 -type f -name '.txt'
find /root -maxdepth 1 -type d -name 'oldboy'
1:代表查找数据信息深度的目录层数
查找排除指定目录不要进行搜索
find /oldboy -type f -a -name ".txt" -print -o -path "/oldboy/oldboy02" -prune
find /oldboy -path "/oldboy/oldboy02" -prune -o -type f -name "*.txt" -print
-path: 指定一个路径信息
-prune:进行修剪(删除)
-o:多个条件之间是或者的关系
-a:多个条件之间是并且的关系
-print:将修剪的目录也不要显示
查找指定大小文件信息
大于100k: find /root -type f -size +100k (M、G、b、c 文件大小单位)默认单位c(字节)
小于100k: find /root -type f -size -100k
不加单位: find /root -type f -size -100c 查找正好是100字节的文件
批量删除数据方法(按文件大小)
(1)find /root -type f -size 100k |xargs rm
(2)find /root -type f -size 100k -delete
批量复制或移动数据方法
(1)
cp -t /tmp `find /oldboy -type f -size +100k`
``(反引号):先处理反引号里的命令然后再交给cp -t /tmp 处理
cp -t备份目录信息,备份数据,将数据由后往前复制
(2)find /oldboy -type f -size 100k |xargs cp -t /mnp
cp备份数的数据,目录信息,将数据由前往后复制
(3)find /oldboy -type f -size 100k |xargs -i {} /tmp
(4)find /oldboy -type f -size 100k -exec cp {} /tmp ;
对于-exec来说, 它需要一个结束符, 才知道命令是否输入完整, 那么在shell当中 ; 也是一个命令输入完成并执行的符号, 那么shell就会解释掉这个符号, 再把字符串传递给find命令的时候这个 ; 就已经没有了, 所以在这里需要加上转义符, 让shell不再解释这个符号, 而原原本本的传递给 find 命令, -exec参数才得以执行完成.
exec:先执行exec前面的命令在直行exec后面的命令
;(分号):多个命令在同一行时,用分号隔开,可同时执行
根据数据权限查找数据
如何将/oldboy 有权限位644文件,移动到/tmp (至少三种方法)
find /oldboy -type f -perm 644|xargs mv -t /tmp
find /oldboy -type f -perm 644|xargs -i mv {} /tmp
find /oldboy -type f -perm 644 -exec mv -t {} /tmp;
根据时间信息查找数据
find /oldboy -type f -mtime +30 --- 找出30天以前的数据
find /oldboy -type f -mtime -30 --- 找出最近30天的数据
find /oldboy -type f -mtime 30 --- 找出距离当前第30天的数据
1.2 tree命令
作用:查看目录数据结构信息
只查看目录数据信息:tree -d
查看目录的指定层级信息:tree -L 1
1.3 tar命令
(1)如何压缩数据
tar zcvf /路径信息/压缩包文件.tar.gz 压缩的数据信息
tar zcvf /oldboy/oldboy.tar.gz /oldboy/oldboy01.txt 绝对路径压缩数据
tar zcvf /oldboy/oldboy.tar.gz ./oldbig01.txt 相对路径压缩数据
z: 指定压缩数据方式 gzip方式压缩数据
c: 创建压缩包文件
v: 显示压缩的过程
f: 指定压缩包文件保存的路径
(2)压缩包的数据如何进行查看和过滤
zgrep -a aaabbb oldboy.tar.gz (aaabbb为oldboy.tatr.gz压缩包的数据内容)指定内容
zcat oldboy.tar.gz 查看全部内容
(3)如何检查压缩包数据完整
tar tf /root/1.tar.gz
root/1.txt
命令跟执行后显示结果想对应即完整
(4)如何解压数据包
tar xf /路径信息/压缩包文件.tar.gz
tar xf /root/1.tar.gz
(5)解压到指定目录中
tar xf /root/1.tar.gz -C /tmp
(6)排除指定目录压缩
tar zcvf /tmp/1.tar.gz --exclude=/oldboy/bbs /oldboy
tar zcvf 压缩后路径包名 --exclude=排除指定的目录 压缩文件的路径
2 文件属性信息
2.1 文件权限信息
系统中文件权限:3种权限
r(read) 4
w(write) 2
x(execute) 1
- 没权限 0
文件赋予谁:
(1)文件数据所属用户(属主)
(2)文件数据所属组 (属组)
(3)文件数据其他用户(其他用户)
rw- r-- r-- (文件9位权限位)
每三位为一组:
rw- 属主权限 可读可写 没有执行权限
r-- 属组权限 只读
r-- 其他用户权限 只读
644: 属主(rw) 属组(r)其他用户(r)
755: 属主(rwx)属组(rx)其他用户(rx)
2.2 文件用户信息(属主、属组、其他用户)
2.2.1 系统用户有什么:
用户 级别 组
①超级管理用户 0 root
②系统虚拟用户 1-999 nobody
③系统普通用户 1000+ oldgirl
虚拟用户:管理服务进程信息,管理数据文件信息 不能用于登陆系统,没有家目录
普通用户:登陆系统,拥有家目录,代替root管理系统
2.2.2 如何查看用户数值级别:
id 查看系统用户id数值
uid 用户级别数值编号
gid 用户组级别数值变化
groups 显示附属组信息
2.2.3 用户和用户组的关系:
1对1关系 root用户--------------root组
1对n(多)关系 root用户--------------root组(主要组)oldgirl组(附属组)oldboy(附属组)
n对n关系 root、oldgirl用户-----root组,oldgirl组
n对1关系
2.2.4 文件时间信息
(1)时间信息有三种:
atime(访问时间): 访问查看文件,会改变时间
mtime(修改时间): 文件属性信息发生变化,会修改改变时间
ctime(改变时间): 文件内容被修改,三种时间都会修改
如何查看详细时间属性信息
stat /etc/hosts
(2)系统时间命令(date)
date:显示当前时间和修改系统时间
显示年月日:date +%y-%m-%d 19-06-13
date +%Y-%m-%d 2019-06-13
date +%F 2019-06-13
显示时分秒:date +%H:%M:%S8 18:51:22
显示过去时间:date +%F -d "-1 day" 2019-06-12
显示未来时间;date +%F -d "+2 day" 2019-6-14
(3)时间信息命令作用
方便备份数据时,显示数据时间信息
cp /etc/hosts /root/hosts.bak-`date +%F`
修改系统日期信息:date -s "20190615"
修改系统日期时间:date -s "2019/06/15 10:10:10"