awk
示例:
env变量值如下,需要获得pkg_url的链接值:
{"name": "michael", "sex": "male", "pkg_url": "www.github.com", "number": "888"}
pkg_url=$(echo $env | awk -F "pkg_url\": \"" '{print $2}' | awk -F "\"," '{print $1}')
echo $pkg_url
www.github.com
-F 指定分隔规则,因为分隔规则中包含了双引号,所以需要用转义符号。
# 格式
$ awk 动作 文件名
# 示例
$ awk '{print $0}' demo.txt
echo 'hello:michael:xiang'|awk -F ':' '{print $1}'
basename
basename命令用于打印目录或者文件的基本名称
[root@HGH1000059721 test]# basename a.tar .tar #后缀:可选参数,指定要去除的文件后缀字符串。
a
[root@HGH1000059721 test]# basename /tmp/test/a.tar #不带后缀,获取文件名
a.tar
参考:
cp
将目录src复制到dest目录下,复制好后,dest/src:
cp -r src dest
将目录src下的内容复制到dest目录下:
cp -r src/* dest
复制文件,覆盖不询问:
cp -nrf a.txt b.txt
系统默认给cp命令设置了别名cp -i,所以,复制时有冲突需要确认,使用如下方式即可不改变别名,也实现默认覆盖:
/bin/cp xx yy
参考:
crontab
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
![![图片描述][1]](https://i-blog.csdnimg.cn/blog_migrate/00e24ca8f5a0c24a7ad0dd59deb44bdc.png)
在以上各个字段中,还可以使用以下特殊字符:
- 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
- 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
- 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
任务执行文件所在位置:
/var/spool/cron/crontabs
命令参数:
-uuser:用来设定某个用户的crontab服务;
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。-i:在删除用户的crontab文件时给确认提示
每隔2分钟执行/tmp/test.sh脚本:
crontab -e # 使用crontab -e命令,编辑的是/var/spool/cron下对应用户的 cron 文件
*/2 * * * * /tmp/test.sh
第星期六、星期日的时10分重启smb-也就是每周六、周日:
10 1 * * 6,0 /etc/init.d/smb restart >> /tmp/run.log 2>&1
实例4:每隔两天的上午8点到11点的第3和第15分钟执行:
3,15 8-11 */2 * * myCommand
实例5:清理httpd服务日志超过3天的内容:
0 5 * * * /usr/bin/find /var/log/httpd/ -type f -mtime +3 -exec rm -rf {} \;
实例6:通过正则清理指定文件夹的内容
#update-20181122: clean dir +120 days
0 6 * * * find /data/michael -maxdepth 7 -type d -mtime +120 -regextype posix-egrep -regex '.*/[0-9]{2}/[0-9]{6}$' -exec rm -rf {} \;
启动 / 停止 / 重启 crontab
$ /etc/init.d/crond start
$ /etc/init.d/crond stop
$ /etc/init.d/crond restart
查看日志
$ tail -f /var/log/cron
参考:
date
选项:
不加: 显示当前的时间.
-d <字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
-s <字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
-u:显示GMT;
–help:在线帮助;
–version:显示版本信息。
参数 <+时间日期格式>:指定显示时使用的日期时间格式。
就是格式化字符串处理.当需要用到空格时要使用双引号,如"+%Y-%m

这篇博客详细介绍了Linux系统中常用的命令,包括awk、basename、cp、crontab、date、df等,涵盖了文件操作、系统管理和任务调度等多个方面,旨在帮助用户更好地理解和运用这些命令进行日常的系统维护和管理工作。
最低0.47元/天 解锁文章
6万+

被折叠的 条评论
为什么被折叠?



