sort、uniq、crontab命令
1.sort:以行为单位对多行数据进行排序
常用参数及意义:
参数 | 作用 |
---|---|
-u | 排序后相同的行只显示一次 |
n | 数值排序 |
-r | 降序 |
-k | 以哪个字段为关键字进行排序 |
-t | 字段分隔符 |
-f | 排序时忽略字符大小写 |
测试:
1.对/etc/passwd 的账号进行排序
注意:sort 是默认以第一个数据来排序,而且默认是以字符串形式来排序,所由字母 a 开始升序排序。
2./etc/passwd 内容是以 : 来分隔的,以第三栏来排序
3.默认是以字符串来排序的,如果想要使用数字排序:
4.默认是升序排序,如果要倒序排序:
5.如果要对/etc/passwd,先以第六个域的第2个字符到第4个字符进行正向排序。再基于第一个域进行反向排序。
6.查看/etc/passwd有多少个shell:对/etc/passwd的第七个域进行排序,然后去重
对文件进行sort测试
n:数值排序
-r :降序
-u:去除重复行
-t :字段分隔符 以第二列来排序:
2. uniq命令:
uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。
选项 | 参数 |
---|---|
-i | 忽略大小写字符的不同 |
-c | 进行计数 |
-u | 只显示唯一的行 |
file内容如下:
①排序文件,默认是去重
②排序之后删除了重复行,同时在行首位置输出该行重复的次数
③仅显示存在重复的行,并在行首显示该行重复的次数
④仅显示不重复的行
3.Crontab:添加任务
Linux计划任务,Linux系统下一个自动执行指定任务的程序(计划任务),使用Crontab命令添加任务。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常设合周期性的日志分析或数据备份等工作。
常用参数
参数 | 描述 |
---|---|
-u | 用来设置某个用户的crontab服务 |
-l | 显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容 |
-e | 编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件 |
-i | 在删除用户的crontab文件时给确认提示 |
-r | 从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件 |
more /etc/crontab #Crontab配置文件
测试:
每一分钟执行一次对/etc目录的备份,备份至/backup目录中,保存文件名格式为bak_etc_2018-01-01
步骤一:创建脚本文件并运行脚本文件:sh aaa.bash
步骤二:给脚本赋可执行权限
查看
步骤三:编辑crontab文件内容 每分钟执行一次脚本文件 分时日月周期 后跟要执行的脚本程序
查看
注意:每分钟执行一次,第二次执行时,原内容会被覆盖,即第一次运行后时间为15:01 第二次为15:02
2. 每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/backup/memory文件中
步骤一:创建脚本文件并运行脚本文件:sh 2.sh
步骤二:给脚本赋可执行权限
步骤三:编辑crontab文件内容 每两小时执行一次脚本文件 分时日月周期 后跟要执行的脚本程序