Linux基础-进程和服务(2)补
1、Linux中的打包和压缩
打包程序:tar
有重名即覆盖
c:创建文档
t:列出文档内容
x:提取文档
f filename:要操作的存档的文件名
v:详细信息
例如:tar cf a.tar /etc/tmp/ 把tmp下的文件打包成a.tar(后缀名.tar可有可无)
tar tf a.tar 查看a.tar下的内容
压缩程序:
tar支持三种不同的压缩方式:
gzip:压缩速度最快,应用最广泛
bzip2:压缩成的存档文件小
xz:最新的方式,提供最佳的压缩率,压缩至最小,但速度慢
z用于gzip压缩:filename.tar.gz
j用于bzip2压缩:filename.tar.bz2
J用于xz压缩:filename.tar.xz
解压缩:
tar xf a.tar.bz2 解压a.tar.bz2压缩包
2、Linux中的计划作业--cron
cron:是一个进程,可以让linux周期性的执行一个命令
crontab:是一个命令,可以设置linux周期性的执行某一个命令
-u 设置某一个用户的周期性工作--root权限
-e 设置crontab的工作内容
-l 查阅crontab的工作内容
-r 移除所有的crontab的工作内容
若只移除一项,就用e去编辑
crontab的格式:
一行代表一个任务
minute hour day month week command
分钟 小时 日期 月份 星期几 要执行的命令
0-59 0-23 1-31 1-12 0-7
特殊符号代表含义
*:任何时刻都接受的意思,代表任何时候
,:分隔字段
-:代表一段时间范围
/n:n代表数字,也就是每隔n单位间隔的意思
例如:15,30,45 * * * * command代表每月每日每小时的15/30/45分的时候执行命令
10 7-10 * * * command代表的是每月每日的7点到10点的10分执行命令
/5(*/10) * * * * command带表每月每日每隔5分钟执行一次命令
例题:每天晚上10点提示用户去睡觉
0 10 * * * go to sleep
每分钟,查看/var/log/cron日志文件有没有发生过变化
tail /var/log/cron
当使用者使用crontab这个命令来创建工作排程之后,该项工作就会记录到/var/spool/cron/里去。而且是以账号来作为判别的
lewis用户使用 crontab 后, 他的工作会被纪录到/var/spool/cron/lewis中。另外,cron 运行的每一项工作都会被纪录到/var/log/cron这个日志文件中.
?
crond服务每分钟检测一次,所以 cron 会每分钟去读取一次/etc/crontab与/var/spool/cron里面的数据内容 ,因此,只要你编辑完/etc/crontab这个文件,并且将他储存之后,那么 cron 的配置就自动的会来运行了。
如果你修改完的crontab或者添加的crontab没有马上的执行起来,那么你可以用systemctl restart crond.service重启
3、输入输出重定向
>file 标准输出重定向到文件-覆盖
>>file 标准输出重定向到文件-追加
2> 标准错误重定向到文件-覆盖
2>> 标准输出重定向到文件-追加
2>/dev/null 标准错误重定向到回收站(清空,删除)
&>file 标准输出和标准错误重定向到文件-覆盖
>>file 2>&1 标准输出和标准错误重定向到文件-追加
配合计划任务
*/1 * * * * date >> /tmp/abc
管道符:|
作用:
1、承上启下:把上一个指令的输出作为下一个指令的输入来执行
2、搭配grep字符实现过滤功能
例如:ps aux | grep cron > abc
4、Linux中的通配符
通配符:由shell进行解析,一般用于匹配文件名
正则表达式:是一个字符匹配标准,可以匹配文本中的内容。一些命令工具按此标准实现字符匹配(如grep、sed等)。一般用于匹配文件中的内容
常用通配符:
* 匹配任意多个字符
? 匹配任意一个字符
[...] 匹配中括号内出现的任意一个字符
[!...] 不匹配中括号内出现的任意一个字符