首页 > 系统 > Linux > 正文

[译] Linux 用户的 3 个命令行小技巧

2024-06-28 13:20:06
字体:
来源:转载
供稿:网友
[译] linux 用户的 3 个命令行小技巧

  Linux世界充满了乐趣,我们越深入进去,就会发现越多有趣的事物。我们会努力给你提供一些小技巧,让你和其他人有所不同,下面就是我们准备的3个小技巧。

  1. 如何在不使用Cron的情况调度Linux下的任务

  在Linux下,调度一个任务/命令称之为Cron。当我们需要调度一个任务时,我们会使用Cron,但你知道我们在不使用Cron的情况也可以调度一个在将来时间运行的任务吗?你可以按照如下建议操作……

  每5秒钟运行一个命令(date)然后将结果写入到一个文件(data.txt)。为了实现这一点,我们可以直接在命令提示符运行如下单行脚本。

  $ while true; do date 》 date.txt ; sleep 5 ; done &

  上述脚本的解释:

  while true :让脚本进入一个条件总为真的循环中,也就是制造一个死循环,将里边的命令一遍遍地重复运行。

  do :do是while语句中的关键字,它之后的命令会被执行,在它后边可以放置一个或一系列命令。

  date 》 date.txt :运行date命令,并将其输出写入到data.txt文件中。注意我们使用》,而不是>。

  》 :对文件(date.txt)进行追加写的操作,这样每次运行命令后,输出内容会被追加到文件中。如果使用>的话,则会一遍遍地覆盖之前的内容。

  sleep 5 :让脚本处于5秒睡眠状态,然后再运行之后的命令。注意这里的时间单位只能用秒。也就是说如果你想让命令每6分钟运行一次,你应该使用sleep 360。

  done :while循环语句块结束的标记。

  & :将整个进程放到后台运行。

  类似地,我们可以这样运行任何脚本。下边的例子是每100秒运行一个名为script_name.sh的脚本。

  另外值得一提的是上面提到的脚本文件必须处于当前目录中,否则需要使用完整路径(/home/$USER/…/script_name.sh)。实现如上功能的单行脚本如下:

  $ while true; do /bin/sh script_name.sh ; sleep 100 ; done &

  总结:上述的单行脚本并不是Cron的替代品,因为Cron工具支持众多选项,更加灵活,可定制性也更高。然而如果我们想运行某些测试,比如I/O评测,上述的单行脚本也管用。

  还可以参考:Linux 下 11 个定时调度任务例子

  2. 如何不使用clear命令清空终端的内容

  你如何清空终端的内容?你可能会认为这是一个傻问题。好吧,大家都清楚可以使用clear命令。如果养成使用ctrl + l快捷键的习惯,我们会节省大量时间。

  Ctrl + l快捷键的效果和clear命令一样。所以下一次你就可以使用ctrl + l来清空终端的内容了。

  总结:因为ctrl + l是一个快捷键,我们不可以在脚本中使用。所以如果我们需要在脚本中清空屏幕内容,还是需要使用clear命令。但我能想到的所有其他情况,ctrl + l都更加有效。

  3. 在其它目录运行一个命令,然后自动返回当前工作目录

  这是一个很多人可能不知道的令人吃惊的技巧。你可能想在其它目录运行任何一个命令,然后再回到当前目录。要实现这样的目的,你只需要将命令放在一个圆括号里。

  我们来看一个例子:

  avi@deb:~$ (cd /home/avi/Downloads/)

  示例输出:

  avi@deb:~

  它首先会cd到Downloads目录,然后又回到了之前的家目录。也许你认为里边的命令根本没有执行,或者是出了某种错误,因为从命令提示符看不出任何变化。让我们简单修改一下这个命令:

  avi@deb:~$ (cd /home/avi/Downloads/ && ls -l)

  示例输出:

  -rw-r----- 1 avi avi 54272 May 3 18:37 text1.txt -rw-r----- 1 avi avi 54272 May 3 18:37 text2.txt -rw-r----- 1 avi avi 54272 May 3 18:37 text3.txt avi@deb:~$

  在上述命令中,它首先进入Downloads目录,然后列出文件内容,最后又回到了当前目录。并且它证明了命令成功执行了。你可以在括号中包含任何命令,执行完都会顺利返回到当前目录。

  via: http://www.tecmint.com/useful-linux-hacks-commands/

  作者:Avishek Kumar

  译者:goreliu

  校对:wxy

  本文由 LCTT 原创翻译,Linux中国 荣誉推出

  都说程序员的工资高,却很少了解他们加班的痛苦,你是不是每次也在心里想,按时间折算下来这个工资都给少了,于是会想在心里呐喊,要么涨工资,要么涨工资,要么涨工资,为什么??因为不让我们加班,这是不可能的!!!

  想要颠覆自己的工作模式吗?想要减少自己的加班时间吗?加入我们,和我们一起探寻属于我们程序员的自由模式吧!

  一款针对程序员的原生APP,以共享知识技能为目的,以悬赏方式在线互动交互平台。

  我们拥有高达近20人顶尖的技术团队,以及优秀的产品及运营团队。团队领军人物均在行业内有10年以上的丰富经验。

  现在我们正在招募原始的参与英雄,您将同我们一起改变程序员的工作方式,改变程序员的世界!同时也会有丰厚的报酬。作为我们的原始的参与者,您将同我们一起体验这款程序员神器,您可以提出专业的建议,我们会虚心采纳。每一个人都会是英雄,而您就会是我们需要的英雄!同时您也可以邀请您的朋友一起参与这场英雄的招募互动。

  我们不会耽误你太多时间,我们只需要您的专业看法,只要您从一个月内抽出1个小时,以后您每天都可以节省两个小时,一切都是为了我们自己!

  来?还是不来?

  接头人暗号:1955246408 (QQ)


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表