7:时间日期类
命令 | 功能 |
---|---|
date | date显示当前时间 date “+%Y” 当前年 “+%m”当前月 “+%d”当前天 date "+%Y-%m-%d"年月日 date "+%H:%M:%H"时分秒 |
date -s | 设置时间日期 |
cal | 显示日历 cal 2022 显示2022年的所有月份 |
8:搜索查找类
命令 | 功能 |
---|---|
find | 查找满足条件的文件或者目录 |
find 搜索范围 -name | 按照指定的文件名查找 find /home/ -name h.java |
find 搜索范围 -user | 按照指定的用户名查找 find /opt -user root |
find 搜索范围 -size | 按照指定的大小查找 find / -size +n 大于n -n小于n n等于n 单位:k,M,G |
ls -lh | -h表示,以正常的单位显示 |
locate | 快速定位文件路径 第一次运行前使用 updatedb指令,创建locate数据库[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-boErvVkP-1650368234855)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20220412143650553.png)] |
which | 查看某个指令再那个目录下 which ls 查看ls再哪一个目录 |
grep | grep过滤查找,将前一个命令处理结果输出传递给后面的命令处理 -n显示匹配及行号 -i忽略字母大小写 cat cal.txt | grep -n “root” 查询cal.txt 里面的root的所在行号 cat h.java | grep -i "H"查询h.java中h,H的位置 |
9:压缩和解压
命令 | 功能 |
---|---|
gzip/gunzip | 压缩/解压 只能压缩为.gz文件 只能解压.gz文件 |
zip/unzip | 压缩/解压 文件或者文件夹 zip -r 递归压缩即压缩目录 unzip -d 指定解压文件存放目录 |
zip -r MyTest.zip MyTest/ 将MyTest/目录下的所有东西 压缩为 MyTest.zip文件 | |
unzip -d /root/ MyTest.zip 将MyTest.zip文件解压到/root下 | |
tar | 打包后为.tar.gz文件 打包压缩文件/文件夹 |
-c 产生.tar打包文件 | |
-v 显示详细信息 | |
-f 指定压缩后文件名 | |
-z打包同时压缩 | |
-x解包.tar文件 | |
打包 | tar -zcvf T.tar.gz /home/hdlazy/MyTest/cal.txt /home/hdlazy/MyTest/h.java |
将home/hdlazy/MyTest/cal.txt 和 h.java 打包为 T.tar.gz | |
解压 | tar -zxvf MyHome.tar.gz 将MyHome.tat.gz解压 |
tar -zxvf MyHome.tar.gz -C /opt/temp 将MyHome.tat.gz解压到opt/temp下 |
10:权限
位置 | 功能 |
---|---|
0号 | 表示文件类型:l为链接 d为目录 c为字符设备(文件,键盘,鼠标) b为块设备(硬盘),-为普通文件 |
1-3号 | 表示文件所有者对文件的权限 r-可读 w-可写 x-可执行 |
4-6号 | 表示文件所在组的其它用户的权限 |
7-9号 | 表示其它组的用户对它的权限 |
rwx权限:
符号 | 权限 |
---|---|
r作用在文件 | 可以读取,查看 |
r作用在目录 | 可以读取,ls查看目录内容 |
w作用在文件 | 可以修改文件,但不代表可以删除文件,删除文件的前提是对该文件所在目录有写的权限 |
w作用在目录 | 可以修改,对目录的内容创建删除重命名目录 |
x作用在文件 | 可以被执行 |
x作用在目录 | 可以进入该目录 |
文件数字 | 为1 |
目录数字 | 为子目录数+文件数 |
文件/目录的大小 | 字节 |
最后修改日期 | |
文件名/目录名 |
修改权限:
命令 | 功能 |
---|---|
chmod | 改变文件/目录权限 |
方式1 | + - =修改权限 u所有者 g所在组 o其他人 a所有人 chmod u+wx,g+r-w+x,o-x+r abc.txt |
chmod u=rwx,g=rx,o=x 文件/目录 | 所有者rwx 同组rx 其他组x |
chmod o+w 文件/目录 | 其它组添加w权限 |
chomd a-x | 所有人不能执行 |
方式2 | 数字变更权限 r=4 w=2 x=1 |
chmod 751 文件/目录 | chmod u=rwx,g=rx,o=x ====chmod 751 |
命令 | 功能 |
---|---|
chown newowner 文件/目录 | 改变所有者 |
chown newowner:newgroup 文件/目录 | 改变所以者和所在组 |
-R | 如果为目录则递归生效 |
chgrp newgraph 文件/目录 | 改变所在组 |
-R | 递归改变所在组 |
11:定时任务调度crontab
命令 | 功能 |
---|---|
crontab | 进行 定时任务设置 |
任务调度 | 指系统在某个时间执行的特定的命令或者程序 |
任务调度分离 | 1-系统工作:有些重要的工作必须周而复始的进行,不如扫描病毒 2-个别用户工作:个别用户可能系统执行某些程序,比如mysql的备份 |
crontab -e | 编辑crontab定时任务 |
crontab -l | 查询crontab任务 |
crontab -r | 删除当前用户所有的crontab任务 |
符号*代表全部 | 功能 |
---|---|
第一个* | 一小时当中的第几分钟 0-59 |
第二个* | 一天当中的第几小时 0-23 |
第三个* | 一月当中的第几天 1-31 |
第四个* | 一年当中的第几月 1-12 |
第五个* | 一周当中的星期几 0-7 (0,7代表周天) |
0 8,12,16 * * * | 每天的8,12,16点执行 |
0 5 * * 1-6 | 每周1到6的5点执行 |
*/10 * * * * | 间隔10分钟执行 |
crontab -e 编辑 */1 * * * * ls -l /etc/ > /tmp/to.txt
每天的每一分钟都将etc的列表覆盖到/tmp/to.txt文件
编写脚本:
[root@centos01 home]# vim my.sh #编写脚本 每一分钟将日期和时间追加到mycal里
[root@centos01 home]# cat my.sh
date >> /home/mycal
cal >> /home/mycal
[root@centos01 home]# chmod u+x /home/my.sh #为所有者添加执行权限
[root@centos01 home]# ./my.sh #执行脚本
[root@centos01 home]# crontab -e #为定时任务绑定执行脚本
[root@centos01 home]# crontab -l
*/1 * * * * /home/my.sh
12:定时任务at
- at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检测作业队列来运行。
- 默认情况下,atd收获进程60s检查作业队列一次,有作业会检查作业运行时间,如果运行时间和当前时间匹配,则运行此作业。
- at命令是一次性定时计划任务,执行完一次任务后就不会再执行。
- 在使用at命令时,一定要保证atd进程启动。
命令 | 功能 |
---|---|
ps -ef | 检测当前所有的运行进程 |
ps -ef grep -n atd | 检测atd是否在运行 |
at -m | 当指定任务完成后,将给用户发送邮件,即使没有,标准输出 |
at -i | atq查询的别名 |
at -d | atrm + 编号 删除任务 |
at -v | 显示任务将被执行的时间 |
at-c | 打印任务内容到标准输出 |
at -V | 显示版本信息 |
at -q<队列> | 使用指定的队列 |
at -f<文件> | 从指定文件读入任务而不是从标准输入读入 |
at -t<时间参数> | 以时间参数的形式提交要运行的任务 |
hh:mm(小时:分钟) | 当天执行,假如时间过去,则第二天执行 04:00 表示凌晨四点 |
midnight noon teatime | 比较模糊的时间来指定 |
AM上午 PM下午 | 12小时制 12pm 下午12点 |
month day 或 mm/dd/yy 或 dd.mm.yy | 日期需要跟在时间后,04:00 2021-02-12 |
now + count time-units | now当前时间 time-units时间单位 单位为minutes,hours,days,weeks count为时间数量 now + 5 minutes 当前时间五分钟后 |
today tomorrow | 今天 明天 |
at定时任务案例:
指令 | 含义 |
---|---|
[root@centos01 home]# at 5pm + 2 days at> /bin/ls /home #连续两次ctrl+D才能生效 job 1 at Fri Apr 15 17:00:00 2022 | 两天后下午五点执行 |
[root@centos01 home]# atq 1 Fri Apr 15 17:00:00 2022 a root | atq查询 |
[root@centos01 home]# at 5pm tomorrow at> date > /home/date.txt job 6 at Thu Apr 14 17:00:00 2022 | 明天下午五点,输出时间到指定位置 |
[root@centos01 home]# at now + 2 minutes at> date > /home/date job 9 at Wed Apr 13 10:49:00 2022 | 两分钟后输出 |