RHCE-计划任务/FIND/DD/网络
RHCE-第8天
计划任务
一次性的计划任务
at 9:05
at timespec < myscript 从脚本输入
at>reboot
al -l #查看一次性的计划任务
at -c jobnum #查看计划任务的详细信息
at -d jobnum #删除计划任务
al 10:00
at>mkdir /tmp/redhat
at -l
vim /etc/at.deny
#添加用户的姓名就可以不允许他写计划任务
vim /etc/at.allow #文件不存在,白名单
timespec举例
- 8:05am
- 4pm+3days
- 04:00 2017-05-30
- teatime tomorrow
- 时间具体定义/usr/are/doc/at/timespec
周期性的计划任务
管理计划任务
crontab -e #创建修改和删除计划任务
cd /var/apool/cron/rot #存放root的计划任务
crontab -l #列出计划任务
crontab -r #清空所有的计划任务
crontab -u USER -e #指定用户创建任务
crontab -u admin -l #列出执行用户的计划任务
vim /etc/cron.deny #添加用户的姓名就可以不允许他写计划任务
vim /etc/cron.allow #文件不存在,白名单
* * * * *echo hello #*表示每这个时候都执行
分钟 小时 日 月 星期几 具体的任务
058 923 131 112 07
分时日月周
0 10 1** #每月的1号的早上10:00执行
30 9 * * * #每天早上9:30执行
10,20 ****#每小时的10分和20分执行
*/5 10 * * *#每天的10点,每隔5分钟执行一次
* 10-12 * * *#每天的10到12点每分钟执行一次
14:00-15:00 每隔5分钟执行一次
*/5 14 * * *
tail -f /var/log/cron #查看计划任务的日志
cron
例子:14:30 - 15:30
30-59 14 ***
0-30 15 ***
系统的计划任务
crond服务管理
计划中的命令最后写绝对路径,因为PATH变量的愿意
vim /etc/crontab
/etc/cron.d 存放计划任务
/etc/cron.hourly 存放的时脚本,再每小时的01分执行
anacron目录
/etc/cron.daily 每天都会执行的脚本
/etc/cron.monthly/ 每月都会执行的脚本
/etc/cron.weekly/ 每周都会执行的脚本
anacron日志
/var/spool/anacron/cron.daily 记录时/etc/cron.daily/ 脚本上一次执行的时间,超过1天会再次执行
/var/spool/anacron/cron.monthly
/var/spool/anacron/cron.weekly
查找和处理文件
locate工具
-
是基于数据库的查询
-
是模糊查询,文件路径中有该字符串就会匹配
-
常用选项
-n X 选择查找到的前X行
-i 忽略大小写
locate passwd #查找系统中passwd文件
updatedb #更新数据库
locate passwd | grep /etc
FIND工具
find 查找文件
1.实时查询
2.精确查询
3.需要对查询的目录有RX权限
find [dir1...] [criteria...] [action...]
- 目录
- 匹配规则
- 对查找的文件进行操作
匹配规则
-
基于文件名的查找
find /etc -name passwd #查找文件名叫passwd的文件,精确查找 find -iname passwd #忽略大小写 find /etc -name pass* #使用通配符,查找以pass开头的
2.根据目录层级查找
-maxdepth level #最大搜索目录深度,指定目录为第一级 -mindepth level #最小搜索目录深度 find /etc -maxdepth 2 -name *pass*
3.根据文件的inode/连接数查找
find / -innum 35323091 -ls find / -links 2 -type f #根据连接数查找
4.根据文件的拥有人和拥有组去查
find /home -user admin find /home -group admin -ls find /home -uid 1000 find /home -gid 2000 find / -nouser #查找系统中拥有人是无效的uid find / -nogroup #查找系统中拥有人是无效的gid
5.逻辑组合
find /home -user admin -not -group admin -ls find /home \(-user admin -o -user zhangsan \) -ls #-a:并且 #-o:或者 #-not和!:非
6.文件的类型
- f 查找文件类型为普通文件
- b 块设备
- c 字符文件
- d 目录
- l 链接文件
- p 管道文件
- s 套接字文件
find /dev/ -type b ls #查看块文件
7.根据文件的大小查询
find /etc -size 100M find /etc -size +10M find /etc -size -10M
8.根据文件权限来查
find /home -perm 700 -ls finde -perm -100 -ls #查看所有拥有人有X权限的 find -perm -111 #查看u,g,o都拥有X权限的文件 find -perm /110 #a或g有一个有执行权限就匹配 find -perm /600 #拥有人必须有rw权限 find -perm /600 #拥有人有r或者w权限
9.根据文件的时间戳查询
find /tmp -mtime +10 #单位是天 find /tmp -mmin +2 #单位是分钟
在查找到的文件上继续操作
常用选项:
-
打印我呢见
-
-ls:类似于对查找到的文件执行ls -l 命令
-
-delete:删除查找到的文件
-
-fls file:查找到的所有长格式的信息保存至指定文件中
-
-ok COMMAND{} ;对查找到的每个文件执行由COMMAND指定的命令,且都会交互确认
-
-exec COMMAND {} ;对查找到的每个文件执行由COMMAND指定的命令
find /etc/ -name *.conf -exec cp{} /root/data \;
-
{}:用于引用查找到的文件名称自身
-
由于很多命令不支持管道|来传递参数,而日常工作中有这个必要,所以就有了xargs命令
find | xargs COMMAND
find -name "*." | xargs chmod 755
例:拥有人没有执行权限,加上执行权限?
find ! -perm -100 -exec chmod u+X {} \; find | xargs chmod g+w
DD命令
-
创建特定大小的文件
dd:device to device
dd if=/dev/zero of=/tmp/file1.txt bs=1M count=100
#if:input file
#of:output file
#bs:block size块大小,文件系统的最小组成单元
#count:块的个数
-
对磁盘进行备份
dd if=dev/nvme0n1 of=/dev/nvme0n4 #不是文件级别的拷贝,是字节级别的拷贝
3.抹除磁盘数据
dd if/dev/zero of=/dev/nvme0n4
4.测试底层存储的速率
5.对分区进行备份
lsblk
dd if=/dev/nvme0n1p1 of=boot.bak
file book.bak
cd /boot
rm -rf *
umount /boot #卸载分区
dd if=boot.bak of=/dev/nvme0n1p1 #恢复备份
mount /dev/nvme0n1p1 /boot
dd if=/dev/zero of=/dev/sda bs=512 count=1
#MBR 512分区表
网络客户端
curl
curl http://www.baidu.com #获取网址的文本信息
curl -i http://www.baidu.com #查看网页的头部信息
curl -x proxy 192.168.100.100:1080 URL #使用代理获取网页的文本信息
curl -o http://www.baidu.com #保存网页内容
curl -O http://www.linux.com/hello. #下载文件
curl -o dodo1.jpj http://www.linux.com/dodo1.JPG #下载文件并保存为dodo1.JPG
curl -O -u USER:PWD ftp://www.linux.com/dodo1.JPG #使用FTP下载
curl -O ftp://USER:PWD@www.linux.com/dodo1.JPG #使用FTP下载
wget上传和下载文件
用法
- wget url 下载文件
- wget -O文件名 url下载之后改名
- wget -b 后台下载
- wget --spider http://www.linux.com/dodo1.JPG 解析是否能下载但是不会下载
- wget -P 指定下载目录
S远程登录工具
端口号:22
防火墙默认放行22端口
s root@192.168.2.11 reboot
s root@192.168.1.1 -X #登录进去可以调取图形界面
netstat -tulnp | grep :22
密钥验证
对称加密算法
同一把钥匙解锁,加密解密同一个
gpg -c file #加密
gpg file.gpg #解密
非对称加密
两把钥匙:公钥 私钥
公钥加密,私钥解密
私钥加密,公钥解密
公钥给别人,私钥自己拿着
client
s-keygen #生成公私钥匙 回车回车回车
s-copy-id -i id_rsa.pub root@192.168.1.1 #发送公钥
s root@192.168.1.1
client公钥路径
~/.s/id_rsa.pub
server路径
/root/.s/authorized_keys
s-agent ba
s-add #输入私钥密码
#用的不是很多,需要开启代理
原文地址:https://www.cnblogs.com/lingyuoscar/p/15111782.html
- Effective Modern C++翻译(7)-条款6:当auto推导出意外的类型时,使用显式的类型初始化语义
- 2.3 ls命令
- Effective Modern C++翻译(6)-条款5:auto比显示的类型声明要更好
- 大白话-prototype属性
- Effective Modern C++翻译(5)-条款4:了解如何观察推导出的类型
- Effective Modern C++翻译(4)-条款3:了解decltype
- 大白话-constructor
- Effective Modern C++翻译(3)-条款2:明白auto类型推导
- React Native在Android平台运行gif的解决方法
- Effective Modern C++翻译(2)-条款1:明白模板类型推导
- Android ormLite复杂条件查询
- Effective Modern C++翻译(1):序言
- C++操作mysql方法总结(2)
- Linux基础(day3)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux无损扩容的方法
- Linux内核设备驱动之内核的时间管理笔记整理
- 使用squid搭建http和https的代理服务器设置指南
- linux中gdb的入门使用教程
- Linux命令中Ctrl+z、Ctrl+c和Ctrl+d的区别和使用详解
- Linux lseek函数的使用详解
- Nginx出现500 Internal Server Error 错误的解决方案
- Linux常见基本命令与用法大全
- Navicat 环境测试 innodb 的默认行锁升级表锁
- Ubuntu18.04更换国内源的方法示例
- 详解ubuntu双系统启动时卡死解决办法
- 轻松掌握Git开发(二)本地仓库的基本操作
- 轻松掌握Git开发(三)版本的切换
- 轻松掌握Git开发(四)分支操作
- 一文搞定pandas的透视表