一、linux系统管理
1.find命令
主要进行文件搜索
基本语法:find【文件路径】 【选项 选项的值】
-name * 根据文件的名称搜索文件
-type f|d
-f f 代表普通文件
-d d代表目录
[root@aa ~]# find /opt/ -name "*a*" 在opt中查找带a的文件
[root@aa ~]# find /opt/ -name "*a*" -type d
[root@aa ~]# find /opt/ -name "*a*" -type f[root@aa ~]# find / -name "httpd.conf"
[root@aa ~]# touch /opt/zhangminlaoshi.abc
[root@aa ~]# find / -name "zhangmin"
[root@aa ~]# find / -name "zhangmin" -type f
[root@aa ~]# find / -name "*zhangmin*" -type f
/opt/zhangminlaoshi.abc
[root@aa ~]# ls /opt/
apache-maven-3.9.8 Main.class
apache-maven-3.9.8-bin.tar.gz Main.java
apache-maven-3.9.8-bin.tar.gz.1 zhangminlaoshi.abc
[root@aa ~]# ls -l /etc/*.conf
2.创建并设置文件最后修改时间
-windows中的时间
1.创建时间
2.修改时间
3.访问时间
2.1使用stat文件获取文件的时间信息
语法: stat 文件
[root@aa ~]# stat /opt/zhangminlaoshi.abc
文件:"/opt/zhangminlaoshi.abc"
大小:0 块:0 IO 块:4096 普通空文件
(device)设备:fd00h/64768d Inode:34807658 硬链接:1
(access)权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
(context)最近访问:2024-07-15 09:08:58.831543697 +0800
(access)最近更改:2024-07-15 09:08:58.831543697 +0800
(modify)最近改动:2024-07-15 09:08:58.831543697 +0800
(change)创建时间:-
2.2touch 文件名称 -m -d “日期格式”
案例创建⽂件,并p配置⽂件的修改时间
语法 touch -m -d ⽇期时间格式 ⽂件名称
⽂件不存在就创建并修改时间 ⽂件存在只配置最后修改时间
[root@aa ~]# touch /opt/b.txt -m -d "2024-7-14 00:00"
[root@aa ~]# ls -l /opt/
-rw-r--r-- 1 root root 0 7月 15 09:32 a.txt
-rw-r--r-- 1 root root 0 7月 14 00:00 b.txt
[root@aa ~]# touch /opt/c.txt -m -d "2024-7-13 00:00"
[root@aa ~]# touch /opt/d.txt -m -d "2024-7-12 00:00"
[root@aa ~]# touch /opt/e.txt -m -d "2024-7-11 00:00"
[root@aa ~]# ls -l /opt/
-rw-r--r-- 1 root root 0 7月 15 09:32 a.txt
-rw-r--r-- 1 root root 0 7月 14 00:00 b.txt
-rw-r--r-- 1 root root 0 7月 13 00:00 c.txt
-rw-r--r-- 1 root root 0 7月 12 00:00 d.txt
-rw-r--r-- 1 root root 0 7月 11 00:00 e.txt
[root@aa ~]# touch /opt/f.txt
[root@aa ~]# ls -l /opt
-rw-r--r-- 1 root root 0 7月 15 09:38 f.txt
[root@aa ~]# touch /opt/f.txt -m -d "2024-07-10 00:00"
[root@aa ~]# ls -l /opt
-rw-r--r-- 1 root root 0 7月 10 00:00 f.txt
3.通过文件的最后修改时间搜索文件
语法:find 文件路径 -mtime +days/-days
-mtime 根据最后修改时间进行搜索
+ 搜索几天之间的文件
-搜索几天之内的文件
[root@aa ~]# find /opt/ -mtime +3 三天前
/opt/e.txt
/opt/f.txt
[root@aa ~]# find /opt/ -mtime -3 三天内
/opt/
/opt/zhangminlaoshi.abc
/opt/a.txt
/opt/b.txt
/opt/c.txt
[root@aa ~]# find /opt/ -name “*.txt” -mtime -3 //搜索三天以内的.txt文件
删除
[root@aa ~]# find /opt/ -mtime +3 | xargs rm -rf
4.使用find执⾏ -exec
语法:find ⽂件路径
find -exec 对查找的结果进行修改
[root@aa ~]# find /opt/ -mtime +3 -exec rm -rf {} \;
[root@aa ~]# ls -l /opt/ > a.txt 重定向覆盖
[root@aa ~]# ls -l /opt/ >> a.txt 追加
5.根据⽂件size⼤⼩搜索⽂件
语法:find 路径 -size ⽂件⼤⼩ [常⽤单位 k M G]
size值 搜索等于size的⽂件
-size值 【0,size值)
+size值 (size值,正⽆穷)
[root@aa ~]# find / -size +100M 搜索文件大于100M
[root@aa ~]# find / -size -100M 搜索文件小于100M
[root@aa ~]# find / -size -100G -type f 搜索文件小于100G
6.扩展命令 dd
使⽤dd创建扩展命令 ⽣成指定⼤⼩的测试⽂件
语法 dd if=/dev/zero of=⽂件名称 bs=1M count=1
if表示输⼊⽂件
of表示输出⽂件
bs代表字节为单位的块⼤⼩
count代表被复制的块
其中/dev/zore是⼀个字符设备,会不断地返回0字节的⽂件
清空opt下的所有文件
[root@aa ~]# rm -rf /opt/*
[root@aa ~]# ls /opt/
[root@aa ~]# dd if=/dev/zero of=/opt/a.txt bs=1M count=1
[root@aa ~]# ls -lh /opt/
总用量 1.0M
-rw-r--r-- 1 root root 1.0M 7月 15 10:27 a.txt
[root@aa ~]# dd if=/dev/zero of=/opt/b.txt bs=5M count=1
[root@aa ~]# dd if=/dev/zero of=/opt/c.txt bs=10M count=1
[root@aa ~]# ls -lh /opt/
总用量 16M
-rw-r--r-- 1 root root 1.0M 7月 15 10:27 a.txt
-rw-r--r-- 1 root root 5.0M 7月 15 10:29 b.txt
-rw-r--r-- 1 root root 10M 7月 15 10:29 c.txt
[root@aa ~]# find /opt/ -size 5M //查找等于5M的文件
/opt/b.txt
[root@aa ~]# find /opt/ -size +5M //查找大于5M的文件
/opt/c.txt
[root@aa ~]# find /opt/ -size -5M //查找小于5M的文件
/opt/
/opt/a.txt
7.tree命令
创建⽂件列表,将⽂件名称以树的形式展示
需要使⽤yum指令进⾏安装 yum -y install tree
[root@aa ~]# tree /opt
/opt
├── a.txt
├── b.txt
└── c.txt
[root@aa ~]# tree -l 2 只显示两级
8.scp实现linux系统之间的文件传输
8.1使⽤scp下载⽂件和⽬录
语法:scp [选项] ⽤户名@linux主机地址:/资源路径 linux本地⽂件路径
[root@localhost ~]# scp root@192.168.8.131:/opt/a.txt /opt/
root@192.168.8.131's password:
a.txt 100% 1024KB 59.7MB/s 00:00
[root@localhost ~]# ls /opt/
a.txt
8.2下载 把数据从远程主机保存到本地主机
在克隆机上使⽤scp指令复制⽬录到本地opt⽬录,需要添加-r选项,⽆法执⾏
第⼆次连接主机,不需要再次输⼊yes
-r 代表递归,主要作⽤⽂件夹
[root@aa ~]# mkdir /opt/d0
[root@aa ~]# ls /opt/
a.txt b.txt c.txt d0
[root@aa ~]# mv /opt/*.txt /opt/d0
[root@aa ~]# ls /opt
d0
[root@localhost ~]# scp -r root@192.168.8.131:/opt/d0 /opt/
root@192.168.8.131's password:
a.txt 100% 1024KB 63.5MB/s 00:00
b.txt 100% 5120KB 58.9MB/s 00:00
c.txt 100% 10MB 76.7MB/s 00:00
8.3scp上传文件 把本地文件保存到远程主机
语法 scp [选项] 本地主机资源路径 {远程主机}⽤户名@主机ip:放置路径
[root@aa ~]# scp /opt/d0/a.txt root@192.168.8.132:/opt/
root@192.168.8.132's password:
a.txt 100% 1024KB 94.8MB/s 00:00
[root@localhost ~]# ls /opt/
a.txt
[root@aa ~]# scp -r /opt/d0 root@192.168.8.132:/opt/
root@192.168.8.132's password:
a.txt 100% 1024KB 91.4MB/s 00:00
b.txt 100% 5120KB 69.3MB/s 00:00
c.txt 100% 10MB 119.6MB/s 00:00
[root@localhost ~]# ls /opt/
a.txt d0
9.计划任务
crontab 【选项】
-l list查看当前⽤户的计划任务信息
-e edit编写计划任务
crontab分 时 日 月 周 要使⽤的完整路径 which命令(0和7都表示星期⽇)
[root@localhost ~]# crontab -l list查看当前用户计划任务信息
no crontab for root
[root@localhost ~]# crontab -e edit编辑计划任务 每一分钟执行一次
[root@localhost ~]# dd if=/dev/zero of=/opt/hhhhh.txt bs=100M count=1
[root@localhost ~]# vim list //每一分钟向里面传输数据
[root@localhost ~]# which echo
/usr/bin/echo
[root@localhost ~]# crontab -e //11:49 12:49等这些时间会传输
[root@localhost ~]# vim echo
[root@localhost ~]# tar -zcvf /tmp/etc.tar.gz /etc/
[root@localhost ~]# ls /tmp/
etc.tar.gz
[root@localhost ~]# which tar
/usr/bin/tar
[root@localhost ~]# crontab -e
[root@localhost ~]# rm -rf /tmp/etc.tar.gz
[root@localhost ~]# ls /tmp/
etc.tar.gz
9.1时间戳
[root@localhost ~]# date "+%T" //显示当前时间
14:43:03
[root@localhost ~]# date "+%F" //显示当前日期
2024-07-15
[root@localhost ~]# date "+%Y" //显示年
2024
[root@localhost ~]# date "+%m" //月
07
[root@localhost ~]# date "+%d" //日
15
[root@localhost ~]# date "+%Y%m%d" //年月日
20240715
[root@localhost ~]# date "+%Y%m%d%H%M%S" //年月日时分秒
20240715144609
[root@localhost ~]# crontab -e //在脚本中出现%,必须使⽤转义符\