工作中常用的 Linux 命令

这篇博客详细介绍了Linux系统中常用的命令,包括awk、basename、cp、crontab、date、df等,涵盖了文件操作、系统管理和任务调度等多个方面,旨在帮助用户更好地理解和运用这些命令进行日常的系统维护和管理工作。
摘要由CSDN通过智能技术生成

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]

在以上各个字段中,还可以使用以下特殊字符:

  • 星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
  • 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
  • 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

任务执行文件所在位置:

/var/spool/cron/crontabs

命令参数:

  • -u user:用来设定某个用户的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值