find命令的各个参数及作用:
命令 范围 名字参数 查找文件的名字
find /tmp/ -name "1,txt" ------------------按照文件名字查找命令 范围 不区分大小写 查找文件的名字
find /tmp/ -iname "file" -------------------忽略大小写按名字查找命令 范围 按文件大小查找参数 规定的文件大小
find /etc/ -size +5M ----------------------------按照文件大小查找
扩展:find /etc/ -size 5M -------------------查找正好是5M的文件
find /etc/ -size -5M ------------------查找小于5M的文件
命令 范围 在第几层 层数 并且 名字参数 名字
find / -maxdepth 2 -a -name "ifcfg-ens33" ---------------按照目录深度查找;
-a参数意思为并且,需要同时满足两个条件命令 范围 时间参数 时间
find /etc/ -mtime +5 ---------------------------------------按照最后一次修改时间查找命令 范围 文件属性参数 文件
find /dev/ -type f -------------------------查找文件命令 范围 文件属性参数 目录
find /dev/ -type d --------------------------查找目录命令 范围 文件属性参数 统计数量
find /dev/ -type f(d) | wc -l ----------------------- 统计出该范围下的文件数或目录数命令 范围 文件权限参数 权限数
find /xxx/ -perm 644 ----------------------------按权限查找当前目录下的文件或目录命令 范围 取反 名字参数 名字
find /tmp/ ! -name "1.txt" ------------------!:取反。查找除1.txt文件以外的所有文件
find /tmp/ -name "1.txt" -o -name "2.txt" -------------只要满足任意一个参数的要求都可查找出来
-o参数意思为或者, 只需要满足两个条件的其中一条即可被查找到命令 范围 名字 文件名 固定参数传递 复制 强制且显示过程 固定占位 路径 固定结束符
find /etc/ -name "ifcfg*" -exec cp -rvf {} /tmp/ \;
------- -exec:做一次前面命令做一次后面的命令 ---------将查找出来的文件复制到指定目录下
打包、压缩:
压缩命令 压缩文件名称 压缩的文件
tar cvf dir1.tar.gz /tmp/ --------将/tmp/打包压缩、压缩文件名为dir1.tar.gz解压命令 压缩文件命令 指定路径 指定解压的路径
tar xf dir1.tar.gz -C /svr/ -------------将压缩文件解压到/svr/目录下压缩命令 压缩到的路径 规定的时间 压缩文件的名字 压缩的文件
tar czf /tmp/ `date +%F` -etc.tar.gz /etc/
----------将打包的文件放入/tmp下,并以时间开通命名。压缩文件格式:xxx.tar.gz
scp(向其他服务器传递文件:
1、注意:scp是基于默认的22端口,所以修改完端口后不可以使用scp命令。
2、公有云之间可用互通,虚拟机和云不互通。
3、传输文件需要知道另一个服务器的root密码。命令 本服务器的目录路径 他服务器的ip地址 传输到他服务器的某个目录下
scp -r /srv/xiao +ip地址 /tmp/
-----将本服务器的/srv/xiao的目录传输给他服务器的/tmp下命令 压缩文件名 他服务器ip 他服务器的某个目录名
scp tmp.tar.gz +ip地址 /tmp
-----------将本服务器的压缩文件传输到他服务器的/tmp下命令 他服务器ip 他服务器的文件路径 放在本服务器的路径
scp +ip地址:/tmp/xiao /srv
---------将他服务器的某个文件或目录拿到本服务器
作业:
1 将本机的所有用户信息文件拷贝到b机器的/srv下
2 将本机/tmp下所有文件进行备份,并且远程拷贝到b机器的/ 下
3 将本机的/etc目录 拷贝到b机器的/srv下(拷贝目录,不要打包)
4 怎么将一个压缩包解压到其他路径下。 使用说什么命令及参数?
5 怎么样解压一个tar.gz的包?其中x是什么意思?
6 登录a机器,拿走b机器的/tmp/1.txt 到本机的/下
7 使用xargs命令删除/tmp下的 .txt结尾的文件
8 使用exec命令删除本机 /tmp下权限是644的东西
9 使用exec 将本机的 1.txt 2.txt 拷贝到本机的/home 下
10 删除/tmp目录下的所有 目录 。 使用exec 和xargs两种方法