第六天内容

1 find :主要进行文件搜索
find [ 文件路径 ] [ 选项 选项的值 ]
常见的选项
-name * 根据文件的名称搜索文件,支持通配符 *
-type f | d f 代表普通文件, d 代表目录
案例,找到 httpd.conf 文件
* 通配符
linux 系统中,如果要查找的文件的名称不清晰,可以使用部分文件名 +* 搜索
通配符 * 匹配零个或多个字符
通配符也可以使用在 ls
案例 获取 /etc/ 中以 .conf 结尾的文件
案例 搜索以http 开头的文件
2 stat :获取文件访问时间
3 touch :创建文件时规定创建时间
touch 创建文件,没有文件就新建,有文件就修改
touch 文件名称 -m -d “ 日期时间格式
4 dd :创建文件时规定文件大小
dd 是一个用于复制文件和转换文件的工具。
在这个命令中:
       if=/dev/zero 表示输入文件为 /dev/zero ,这是一个提供连续零字节的设备文件。
       of=/opt/hh.txt 指定输出文件为 /opt/hh.txt
       bs=100M 表示每次读写的块大小为 100 兆字节( M )。
       count=1 表示读写的块数量为 1
       综合起来,这个命令的作用是在 /opt 目录下创建一个大小为 100 兆字节的文件 hh.txt ,文件的内容全部为零。
清空 opt1 目录下所有文件
opt1 目录下创建 a.txt,b.txt,c.txt
5 、使用 find 按时间查找旧文件并删除
使用 find 按时间搜索,找到旧的文件删掉
fi nd ⽂件路径 -mtime +days/-days
-mtime 根据⽂件最后修改时间搜索⽂件
+ 号 搜索⼏天之前的⽂件信息
- 号 搜索⼏天之内的⽂件信息
案例 搜索 3 天以前的信息,不包含第三个的,⽽且只搜 txt ⽂件
案例 搜索三天以内的 .txt ⽂件 ,包含今天
话说还有个 d.txt ⽂件没有搜到
问题: ls find 找到文件之后不能直接删除文件
方法一: -exec
find 命令结合 exec 选项可以用来删除文件。
使⽤ -exec ⽂件调⽤ rm 函数
{} 表示前⾯ find 查到的内容
\; 表示标识符
方法二: xargs
find xargs 结合使用
xargs 是一个在 UNIX 和类 UNIX 系统中非常有用的命令,用于将标准输入转换为命令行参数,并执
行指定的命令。
它的主要作用是将前面命令的输出结果,按照一定的规则传递给后续的命令作为参数。
用法 1 :将输入转换为命令参数
假设我们有一个文件 files.txt ,里面包含了一些文件名,我们可以使用以下命令来删除这些文
件:
       cat files.txt | xargs rm
用法 2 :指定每次传递的参数个数
通过 -n 选项可以指定每次传递给后续命令的参数个数。例如,每次传递 2 个参数给 ls 命令:
       cat files.txt | xargs -n 2 ls
用法 3 :结合 find 命令使用
可以与 find 命令结合,对找到的文件进行操作。例如,查找当前目录下所有的 .txt 文件并修改
其权限:
       find. -type f -name "*.txt" | xargs chmod 644
用法 4 :与其他命令配合
比如,使用 mkdir 创建多个目录:
       echo dir1 dir2 dir3 | xargs mkdir
6 、使用 find 按文件大小进行搜索
[root@1 ~]# find / -size +100M // 查找大于 100M 的文件
[root@1 ~]# find / -size +1G // 查找大于 1G 的文件
[root@1 ~]# find / -size -100k // 查找小于 100k 的文件
       使用 find 按照文件大小查找文件(也能找到隐藏文件)
[root@1 ~]# find /opt1/ -size +5M
/opt1/c.txt
[root@1 ~]# find /opt1/ -size -5M
/opt1/
/opt1/a.txt
[root@1 ~]# find /opt1/ -size 5M
/opt1/b.txt
7 tree: 用于以树状结构显示目录和文件
基本用法
直接在终端输入 tree ,将显示当前目录的树状结构。
指定目录
如果要显示特定目录的树状结构,只需在命令后添加目录路径,例如:
       tree /home/user/directory
控制显示深度
使用 -L 选项指定显示的深度,例如显示 2 层深度:
       tree -L 2
只显示目录
使用 -d 选项,例如:
       tree -d
显示文件权限等详细信息
使用 -p 选项,例如:
       tree -p
输出到文件
可以将树状结构输出到文件中,例如:
        tree > tree_output.txt
以下是一个示例,假设在 /home/user/project 目录下有以下结构:
执行 tree -L 2 命令后,输出可能如下:
执行 tree -d 命令,输出可能如下:
执行 tree -p 命令,输出可能包含文件权限信息,例如:
8 scp :上传下载文件
SCP 介绍:
       下载    把数据从远程主机保存到本地主机
       上传    把本地文件保存到远程主机
       SCP Secure Copy )是一种用于在本地和远程主机之间安全传输文件和文件夹的命令行工具,它基 于 SSH 协议,并提供了加密和身份验证机制,确保数据的安全性和完整性。(要求本地主机与远程主机 都是linux 系统)
命令:
其他常用选项:
-p :保留文件的最后修改时间、最后访问时间和权限模式;
-c :使用指定的加密算法进行数据加密;
-q :不显示传输进度信息;
-P :指定 SSH 服务器的端口号(如果不是默认的 22 端口);
-i :指定用于身份验证的私钥文件路径(如果使用 SSH 密钥对进行认证)。
如果远程主机上的 SSH 服务器使用非标准端口 2222 ,可以使用以下命令上传文件:
       scp -p 2222 /path/to/local/file user@remote:/path/to/destination
如果希望使用 SSH 密钥对进行身份验证,可以通过添加 -i 选项指定私钥文件的路径:
9 crontab :计划任务
Crontab 介绍:
        Crontab 是类 Unix 操作系统(包括 Linux 系统)中的一个用于设置定时任务的工具。
它通过一种特定的语法来指定任务执行的时间规则。例如, * * * * * command 表示每分钟执行
一次 command 命令。
       其时间设置字段从左到右依次为:分钟( 0 - 59 )、小时( 0 - 23 )、日( 1 - 31 )、月( 1 - 12 或 jan - dec)、星期( 0 - 7 sun - sat 0 7 都表示星期日)。
以下是一些常见的例子:
       0 5 * * * command :每天早上 5 点执行。
       30 18 * * 1-5 command :周一到周五的 18 30 分执行。
       0 0 1 1 * command :每年 1 1 日的 0 点执行。
       使用 crontab 可以方便地实现各种定时任务,如定时备份数据、定时清理缓存、定时发送邮件等。 它在系统管理和自动化任务处理中发挥着重要作用。
命令:
1 )查看是否存在计划任务
2 )每分钟自动将 opt 目录中的文件名写到 root 目录下的 list
3 )验证
4 )使用 dd 命令进行测试
5 )每分钟在 /tmp 目录下创建一个 tar 包(包含 etc 目录下的所有文件)
6 )研究时间戳
  • 12
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值