find命令

一、find命令

1、概念

find命令用于在目录结构中搜索文件,‌并执行指定的操作。‌提供了强大的功能,‌允许用户根据指定的条件在文件系统中搜索文件。‌这些条件可以包括文件名、‌文件类型、‌文件大小、‌修改时间等多种属性。‌通过使用find命令,‌用户可以轻松地找到满足特定条件的文件,‌并对这些文件执行指定的操作,‌如删除、‌复制、‌移动等。‌

2、基本语法

fifind [⽂件路径] [选项 选项的值]

-name *

-type f|d

常⻅的选项

-name 根据⽂件的名称搜索⽂件,⽀持通配符*

-type f代表普通⽂件,d代表⽬录

[root@localhost~]# find /opt/ -name "*a"
[root@localhost~]# find /opt/ -name "*a" -type d
[root@localhost~]# find / -name  "zhuxiao" -type  f

案例:找到httpd.conf文件

[root@localhost~]#yum  install  -y httpd    //安装httpd服务

[root@localhost~]# find / -name "*http" type  f   //查找文件

[root@localhost~]#find  /etc/ -name  "httpd.conf "  -type  f  //将范围换成etc目录,查找更快

3、通配符

通配符主要用于代表一个或多个字符,‌以便在搜索或处理文本、‌文件名、‌数据库记录等时,‌能够匹配多种可能性。‌

案例 获取、etc中以conf结尾的文件

[root@localhost~]#find /etc/  -name  "*.conf"  -type  f

搜索以http开头的文件

[root @localhost~]#find  /etc/  -name  "http*" -type  f

二、创建并设置文件并修改文件

使用stat命令获取文件的时间信息

[root@localhost~]# stat  /opt/test.conf

创建文件 并配置文件的修改时间

[root@localhost~]#touch  -m  -d “2020-7-7  00:00” /opt/abc.txt

格式:touch -m -d  日期时间格式  文件名称

文件不存在就创建并修改时间  文件存在只配置最后修改时间

三、根据文件的最后修改时间搜索文件

格式

find  文件路径  -mtime  +days/-days

-mtime  根据文件最后修改时间搜索文件

+ 搜索几天前的文件信息

-搜索几天之内的文件信息

四、根据文件size大小搜索文件

格式  find  路径 -size  文件大小 [常用单位 k M G]

size值 搜索等于size的⽂件

-size值 【0,size值)

+size值 (size值,正⽆穷)

扩展命令 dd 使⽤dd创建扩展命令 ⽣成指定⼤⼩的测试⽂件

语法 dd if=/dev/zero of=⽂件名称 bs=1M count=1

if表示输⼊⽂件

of表示输出⽂件

bs代表字节为单位的块⼤⼩

count代表被复制的块

其中/dev/zore是⼀个字符设备,会不断地返回0字节的⽂件

五、创建文件列表,将文件名称以树的形式展示

需要使用yum指令进行安装

yum  -y  install  tree

以树状结构显示/var/log目录中的文件

[root@localhost~]# tree  /var/log/

五、克隆虚拟机

scp实现linux系统和linux之间的克隆操作

实现linux和linux之间的⽂件传输

需要两个linux 克隆操作 使⽤克隆快速⽣成 要求关机后操作

六、scp要求两台主机的系统都是linux系统

1.使⽤scp下载⽂件和⽬录 语法 scp [选项] ⽤户名@linux主机地址:/资源路径 linux本地⽂件路径 复制⽂件 1.查看克隆机的ip地址,并且清空opt⽬录中的⽂件

2.查看原主机的ip地址,并且查看opt⽬录中的数据

3.从原主机上下载/opt/a.txt到克隆机上的/opt⽬录,注意如果有询问,输⼊yes 再输⼊密码即可 复制⽬录1.源主机opt⽬录下创建⽬录,并且将a.txt b.txt c.txt复制⼀份在新⽬录中 2.在克隆机上使⽤scp指令复制⽬录到本地opt⽬录,需要添加-r选项,⽆法执⾏ 第⼆次连接主机,不需要再次输⼊yes -r 代表递归,主要作⽤⽂件夹

练习题:

1. 使⽤ls查看/etc/⽬录下所有的⽂件信息

ls -la /etc/

2. 使⽤ls查看/etc/⽬录下名包含“a”字⺟的⽂件或者⽬录信息

ls -ld /etc/*a* /etc/a*

3. 使⽤ls查看/etc/⽬录下以".conf"结尾的⽂件信息

ls -l /etc/*.conf

4. 使⽤ls查看/etc/⽬录中以"y"字⺟开头的⽂件信息

ls -l /etc/y*

5. find查找/var/⽬录中以“.log”⽂件

find /var/ -type f -name ".log"

6. 在opt⽬录下创建test⽬录

mkdir /opt/test

7. 在test⽬录中创建abc.txt,def.txt.ghi.txt,xxx.txt.yyy.txt五个⽂件

cd /opt/test # 首先切换到/opt/test目录

touch abc.txt def.txt ghi.txt xxx.txt xxx.txt.yyy.txt

8. 修改以上5个⽂件的最后修改时间分别为15,14,13,12,11,10⽇  

切换到/opt/test

cd /opt/test # 修改文件的最后修改时间

touch -d "2023-01-15" abc.txt

touch -d "2023-01-14" def.txt

touch -d "2023-01-13" ghi.txt

touch -d "2023-01-12" xxx.txt

9. 在test⽬录下创建a⽬录

mkdir /opt/test/a

10. 将以上5个⽂件复制⼀份到a⽬录中

cp /opt/test/abc.txt /opt/test/a/

cp /opt/test/def.txt /opt/test/a/

cp /opt/test/ghi.txt /opt/test/a/

cp /opt/test/xxx.txt /opt/test/a/

cp /opt/test/xxx.txt.yyy.txt /opt/test/a/

11. 将a⽬录⽂件做成bak.tar.gz⽂件保存到家⽬录中

tar -czvf ~/bak.tar.gz -C /opt/test/ a/

12. 使⽤find删除test⽬录下3天前的⽂件 

find /opt/test -type f -mtime +3 -exec rm -f 

13. find删除opt⽬录下3天内的⽂件

find /opt -type f -mtime -3 -exec rm -f 

14. find删除正好第三天的⽂件

find /opt -type f -mtime 3 -print

15. 将/opt/test/a⽬录中的⽂件复制i⼀份到/opt/test/⽬录下

cp -r /opt/test/a/* /opt/test/

16. 创建⽬录/opt/test0

mkdir /opt/test0

17. 在/opt/test0/⽬录中创建三个⽂件 a.mp4(5M),b.mp4(20M),c.mp4(80M)

# 进入/opt/test0目录

cd /opt/test0 # 创建a.mp4,约5MB

fallocate -l 5M a.mp4

# 创建b.mp4,约20MB fallocate -l 20M b.mp4

# 创建c.mp4,约80MB fallocate -l 80M c.mp4

18. 创建⽬录/opt/test0/b/

mkdir -p /opt/test0/b/

19. 将/op t/test0/中的⽂件复制⼀份/opt/test0/b/⽬录中

cp /opt/test0/* /opt/test0/b/

20. find查询/opt/test0/⽬录中⽂件⼤于20M的,并删除

find /opt/test0/ -type f -size +20M -exec rm {} \;

21. find查询/opt/test0/⽬录中⽂件⼩于20M的⽂件并删除

find /opt/test0/ -type f -size -20M -ok rm {} \;

22. find查找/opt/test0/⽬录中⽂件size为20M的⽂件并删除

find /opt/test0/ -type f -size 20M -ok rm {} \;

23. /opt/test0/b中的⽂件复制⼀份到/opt/test0中

cp /opt/test0/b/* /opt/test0/

24. 打开新的虚拟主机

启动虚拟化软件:
打开已安装的虚拟化软件(如VMware Workstation、VirtualBox等)的图形界面。
新建虚拟机:
在虚拟化软件的主界面中,找到并点击“新建虚拟机”或类似的选项。
跟随新建虚拟机向导,填写或选择必要的配置信息,如虚拟机名称、存储位置、操作系统类型及版本等。
这些步骤通常是通过图形界面完成的,而不是通过代码。
配置虚拟机硬件:
根据需要配置虚拟机的处理器、内存、网络适配器、硬盘等硬件资源。
这些配置也是在图形界面中进行的。
完成配置并启动虚拟机:
完成所有配置后,保存设置并启动虚拟机。
如果选择从ISO镜像安装操作系统,虚拟机将启动并进入操作系统的安装界面。

25. 将家⽬录中的bak.tar.gz⽂件上传到新主机的/opt⽬录中

scp ~/bak.tar.gz username@newhost:/opt/

26. 将新主机的/e tc/skel/⽬录下载到 当前主机的/opt⽬录中

scp -r username@newhost:/etc/skel/ /opt/skel/

27. 设置计划任务,每周3将/e tc/yum.repos.d/⽬录下的.repo⽂件压缩保存到tmp,在⽂件 名中添加时间戳

#!/bin/bash # 创建一个包含当前时间的变量 TIMESTAMP=$(date +%Y%m%d%H%M%S)

# 压缩/etc/yum.repos.d/目录下的所有.repo文件 tar -czvf /tmp/repos_$TIMESTAMP.tar.gz /etc/yum.repos.d/*.repo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值