(1)
#!/bin/sh
:放在shell文件的第一行,不表注释(Linux 称之为 shabang)好比 Python 的 .py 文件的开头:
#!/usr/bin/python # -*- coding: UTF-8 -*-
显然都不是用来注释的;
基础知识
变量(variable)是几乎任何一门编程语言必备的组成部分;
$变量名:表示引用该变量的值;
echo:表示输出,从字面理解就是回显的意思,回声:还是自己嘛;
使用 date
(1)显示当前时间
[root@hadoop0 ~]# date Sat Mar 12 17:37:03 EST 2016
(2)格式化输出时间
[root@hadoop0 ~]# date +%y-%m-%d 16-03-12 [root@hadoop0 ~]# date +%Y-%m-%d 2016-03-12
(3)指定时间输出
- (1)–date=”2013-12-15”
- (2)–date=”3 days ago”(可正可负)
(4)
+%s
表示自1970-01-01 00:00:00(基准时间) 以来的秒数[root@hadoop0 ~]# date +%s 1457826647 [root@hadoop0 ~]# date --date="2013-12-15" +%s 1387083600 # 到指定时间的秒数
%S
:表示当前时间的秒数%s
:表示自1970年以来的秒数
标准输入、输出、错误
(1)标准输入、输出、错误都是命令行,使用文件描述符(File Descriptor)0、1、2引用。
[root@hadoop0 ~]# ls test.sh # 即为输出到命令行
(2)使用重定向(
>
)可以把信息转换到其他任意位置[root@hadoop0 ~]# ls > a.txt [root@hadoop0 ~]# ls 1>b.txt # 文件描述符1表示的就是标准输出
使用 crontab
crontab 是 Linux 下的定时任务,类似于Java 中的定时器Timer,参见 Java 线程——Timer & TimerTask 。
(1)使用 crontab -e,进行编辑
- 一共六列,分别表示,分 时 日 月 周 命令,由空格隔开
[root@hadoop0 ~]# crontab -e * * * * * date>>/root/a.txt # 表示每隔一分钟执行一次 5 * * * * date>>/root/a.txt # 表示每小时的第五分钟执行一次 5,10,15,20,25... # 每隔五分钟执行
- 一共六列,分别表示,分 时 日 月 周 命令,由空格隔开
(2)使用 crontab -
l
,进行查看