sort:sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出
sort的一些参数
-u:去除重复选项当匹配到两个重复的内容是,-u参数会使其删除掉其中一个。
-r:sort默认的排序方式是升序、-r参数就是使其变成降序
-o:sort默认是将结果标准输出,所以需要用重定向才能将结果写入文件,但是, 如果你想把排序结果输出到原文件中,用重定向可就不行了。-o参数就是解决重定向问题。可以是结果输出到原文件中。
-n:以数值排序
srot排序时又是会发生向上面的情况,发现默认排序时2比19大?这是因此在排序是系统将数字当成字符来处理,所以会出现上面的情况。-n参数可以解决这个问题。
-t:设置间隔符类似与ctu里的-d参数
-k:匹配字段默认下匹配第一个字段,-k参数可以更改默认。
-f会将小写字母都转换为大写字母来进行比较,亦即忽略大小写
-c会检查文件是否已排好序,如果乱序,则输出第一个乱序的行的相关信息,最后返回1
-C会检查文件是否已排好序,如果乱序,不输出内容,仅返回1
-M会以月份来排序,比如JAN小于FEB等等
-b会忽略每一行前面的所有空白部分,从第一个可见字符开始比较。
-k:参数还有很多用法,如-k1是匹配第一个域,-k1.1是从第一个域的第一个字符开始,只匹配第一个域。
linux计划任务:
Linux系统下一个自动执行指定任务的程序(计划任务),使用Crontab命令来添加任务 more /etc/crontab #Crontab配置文件
常用的一些参数:
-u :用来设置某个用户的crontab服务
-l :显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容
-e: 编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件
-i :在删除用户的crontab文件时给确认提示
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用 户的crontab文件。
-
-
-
-
- command #每1分钟执行一次command
-
-
-
- 3,15 * * * * command #每小时的第3和第15分钟执行
- 3,15 8-11 * * * command #在上午8点到11点的第3和第15分钟执行
- 3,15 8-11 */2 * * command #每隔两天的上午8点到11点的第3和第15分钟执行
- 3,15 8-11 * * 1 command #每个星期一的上午8点到11点的第3和第15分钟执行
测试:
- 每分钟执行一次对/etc目录的备份,备份至/目录中,保存文件名格式为bak_etc_2018-01-01
- 每分钟备份/var/log/messages文件至/目录中,保存文件名格式为 bak_msg_2018-01-01
- 每分钟取当前系统/proc/meminfo文件中的所有以S开头的信息至/f文件中
- 每分钟执行一次echo “hello work”
方法:因其执行时间一致,可将全部工作写进同一个脚本再用corntab执行
crontab -e:编辑用户的crontab文件内容
查询crontab文件内容
验证:可切换至指定目录查看,或在/var/log/cron查看。(这里在/var/log/cron查看)