前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux之3个你要知道的知识点

linux之3个你要知道的知识点

作者头像
入门笔记
发布2022-06-02 14:59:29
2300
发布2022-06-02 14:59:29
举报
文章被收录于专栏:入门小站

不用crontab实现定时任务

每5 秒运行一个命令(比如date)并将输出写入文件(比如date.txt)。为了实现这个场景,我们需要直接在命令提示符下运行下面的一个 liner 脚本。

代码语言:javascript
复制
> while true; do date >> date.txt ; sleep 5 ; done &

说明

    1. while true– 要求脚本在条件为真时运行,它充当一个循环,使命令一次又一次地运行或在循环中。
    1. do– do 执行以下操作,即执行位于 do 语句之前的命令或一组命令。
    1. date >> date.txt– 此处将 date 命令的输出写入文件 date.txt。另请注意,我们使用了>>而不是>
    1. >>确保每次执行脚本时都不会覆盖文件 (date.txt)。它只是附加更改。而>一次又一次地覆盖文件。
    1. sleep 5- 它要求 shell 在再次执行之前保持 5 秒的时间差。请注意,此处的时间始终以秒为单位。假设你想每 6 分钟执行一次命令,你应该使用 360,连续睡眠。
    1. done– 标记 while 循环的结束。
    1. &– 将整个过程循环到后台。

同样,我们可以以相同的方式执行任何脚本。这是在特定时间间隔(例如100 秒)后调用脚本的命令,脚本名称为rumenz.sh.

上面的脚本应该运行在被调用脚本所在的目录中,否则需要提供完整路径(/home/rumenz/rumenz.sh)。在上述时间间隔调用脚本的语法是:

代码语言:javascript
复制
> while true; do /bin/sh rumenz.sh ; sleep 100 ; done &

上面的一个 liner 不是 Cron 的替代品,因为 Cron 实用程序支持大量选项,相比之下,它非常灵活且可定制。但是,如果我们想运行某些测试用例或 I/O 基准测试,那么上面的 singe 命令就可以达到目的。

不使用 “clear” 命令的情况下清除终端

组合键 “Ctrl+l” 与 “清除” 命令具有相同的效果。所以从下次使用ctrl+l来清除你的 Linux 命令行界面。

由于ctrl+l是一个组合键,所以我们不能在脚本中使用它。如果我们需要在 shell 脚本中清除屏幕,请调用命令 “clear”,对于我现在能想到的所有其他情况,ctrl+l 就足够了。

运行命令并自动返回当前工作目录。

代码语言:javascript
复制
> (cd /home/rumenz/)

首先它cd到目录rumenz,然后再次返回主目录一次。

代码语言:javascript
复制
>  (cd /home/rumenz/ && ls -l)
代码语言:javascript
复制
-rw-r-----  1 root  rumenz     54272 May  3 18:33 text1.txt
-rw-r-----  1 root  rumenz     54272 May  3 18:33 text2.txt
-rw-r-----  1 root  rumenz     54272 May  3 18:33 text3.txt
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 不用crontab实现定时任务
  • 不使用 “clear” 命令的情况下清除终端
  • 运行命令并自动返回当前工作目录。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档