Linux基础
- Centos7 的基础操作
- root 用户下才能关机
init 0
- root 用户下才能重启
init 6
或者reboot
- 查看ip 地址 :
ip addr
一、用户管理
用户管理 属于 组 角色
1 组
组的信息保存在 /etc/group
文件中
# 创建组
groupadd 组名
# 删除组
groupdel 组名
比如创建组 dba , 查看 /etc/group
文件即可看到
x 不用管, 1001 表示组的编号
2 创建用户
# 创建用户
useradd -n 用户名 -g 组名 -d 用户的主目录
# 删除用户
userdel 用户名
其中,用户的信息保存在文件 /etc/passwd
文件中。
其中,-n
表示指定用户名,-g
表示指定组名, -d
表示指定用户工作的主目录,主目录约定俗成的使用在 /home/用户名
目录
例如创建mysql 用户,创建好了后,查看/etc/password 就可看到一下信息
-
用户创建后暂时还不能使用的,需要设置用户密码,否则无法登录
-
- 在 root 用户下可修改任何用户密码
passwd 用户名
会显示输入提示:
-
- 普通用户只能修改自己的密码:
passwd
用户的密码保存在文件 /etc/shadow
中
-
创建好新用户后,就可以采用新用户来远程远程登录服务器了。
-
普通用户与管理员用户的切换
# root 免密切换到任何用户
su - 用户名
# 普通用户切换到其他用户
su - 或 su - 用户名
提示输入密码:
# root 退出到普通用户
exit
二、管道
管道就是将一个命令输出的内容重定向为另一个命令的输入。
管道操作符是|
,用它将命令连起来就行了。
ls -l | more
grep "2022-09-29 10:14:08" demo.log|wc
三、链接
- Linux 链接分为 硬链接 和 软链接(符号链接)
- 硬链接可以简单的理解为文件的别名,只能为文件创建硬链接,不能为目录创建硬链接
- 硬链接不能跨文件系统,但可以跨目录
- 硬链接允许一个文件拥多个有效文件名,如果为重要文件建立硬链接,可以防止“误删除”,只有当删除最后一个链接的时候,文件才会被真正删除
- 操作其中一个硬链接文件,其他的内容也会随之改变
ln 文件名 链接名
- 软链接类似 Windows 的快捷方式,可以为目录和文件创建软链接
- 软链接可以跨文件系统
ln -s 目录或文件名 链接名
- 注意
ls -l 显示的详情,中第二列数字,如果对应是目录,则表示该目录下有多少个子目录,如是文件,则表示该文件有多少个链接
四、通过SSH上传和下载文件
- 1 ) 在 xshell 上点击,下面的绿色图标,即进行sftp 连接,sftp 窗口下进行文件传输
注意现在 xshell 需要下载 xftp 软件 - 2 )在 sftp 窗口下 查看 本地目录
lpwd
- 3 ) 在 sftp 窗口下 查看 本地目录下的内容
lls
- 4 ) 在 sftp 窗口下,可以使用命令切换本地目录
lcd
- 5 ) 在 sftp 窗口下,上传当前文件到服务器
put 文件名
或传输多个文件,类似如下
put *.h
四、软件包的安装和卸载
以前,Linux只能用rpm安装软件包,需要手工解决软件包的依赖关系。
软件包A -> 软件包B -> 软件包C
yum
(Yellow dog Updater, Modified)是基于rpm的软件包管理器,能够从指定的服务器下载软件包并且安装,还可以自动处理依赖性关系,一次性安装所有依赖的软件包。使用yum之前,必须保证Linux系统可以访问互联网(因为yum仓库在互联网上)。- 软件包的安装和卸载需要系统管理员权限。
- 1) 安装软件包。
yum -y install 软件包名
- 2) 删除软件包。
yum -y remove 软件包名
- 3) 升级软件包。
yum update 软件包名
4、如何知道需要安装的软件包名
百度之。
5、yum仓库
互联网上有很多yum仓库,不需要任何配置就可以使用。
不允许访问互联网的企业用户可能自建yum仓库。
- 6) 查找软件包。
yum search 软件包名
- 7) 列出所有可更新的软件包清单。
yum check-update
- 8、更新所有软件包。
yum update
- 9、列出所有可安装软件包的清单;
yum list
五、打包和压缩
zip
命令
- 先安装zip的软件包:
yum -y install zip unzip
- 打包压缩:
zip -q -r -d -u 压缩包文件名 目录和文件名列表
-q
:不显示命令执行的过程。
-r
:递归处理,打包各级子目录和文件。
-u
:把文件增加/替换到压缩包中。
-d
:从压缩包中删除指定的文件。
- 解包解压:
unzip 压缩包文件名
- 解压到指定目录
unzip -d /temp test.zip
注意:zip是通用的压缩格式,Windows和Linux都支持。
tar
命令
压缩打包:
tar zcvf 压缩包文件名 目录和文件名列表
解包解压:
tar zxvf 压缩包文件名
注意:tar压缩包文件在Windows系统中可以用winrar打开,但是,winrar不能生成tar压缩包文件。
五、计算机网络的基础知识
六、设置虚拟的静态IP
1 虚拟机的模式相关知识
- 办公、家用电脑的IP地址一般是由交换机 或 路由器动态分配的
- 但是服务器的 IP 地址应该设置为静态
- 1)VM 安装后,会在网络适配器中产生两个虚拟网卡VMnet1 和 VMnet8
- 2)VM 提供了三种网络模式,分别是:桥接模式、NAT模式(网络地址转换)、仅主机模式(Host Only)
-
- 桥接模式(bridged):特点
-
- 虚拟机和宿主机是平等地位,其关系类似于链接用一交换机的两个主机
-
- 该模式 没有用到虚拟网卡,交换机会给虚拟机分配真实的网络地址,网关和子网掩码等。
-
- 虚拟机可以与局域网中的主机互相访问,也可以访问互联网。
-
- NAT模式
-
-
- 该模式使用了 VMnet8 虚拟网卡,由虚拟网卡VMnet8 为虚拟机分配 IP 地址、网关和DNS。
-
-
-
- 该模式下,虚拟机可以和宿主机进行相互通讯,也可以访问局域网中其他的主机,同时也可以访问互联网,但是其他主机不能访问此虚拟机。
-
-
- 仅主机模式
-
-
- 该模式使用 VMnet1 网卡,由虚拟网卡VMnet1 为虚拟机分配 IP 地址、网关和DNS。
-
-
-
- 该模式下,虚拟机只能喝宿主机进行相互通讯,不能访问局域网中其他主机,也不能访问互联网。
-
2 NAT模式下进行静态IP 配置
-
需要进行四个部分的配置,IP地址、子网掩码、网关、域名解析DNS
-
1) 进入 centos,root 用户下,cd 到网络配置文件(/etc/sysconfig/network-scripts/)
-
- ls 查看当前目录,虚拟机的网卡的配置文件为 ifcfg-ens33 ,打开它
-
3)注意,CentOS 启动后,默认是不启动网卡的,所有需要对该网卡配置文件中的ONBOOT 参数设为 yes ,即添加一行 ONBOOT=yes,参数相同时,配置文件以最后的参数值为准。
-
4)最后添加 NAT 模式的静态IP配置参数:
BOOTPROTO=static
IPADDR=192.168.150.128 # dhcp-动态IP(缺省时),static-静态IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.150.2 # 网关
DNS1=8.8.8.8 # 谷歌的DNS服务器
DNS2=114.114.114.114 # 中国电信的DNS服务器
- 注意这里,IP 和 子网掩码,网关的选择需要到VMware的虚拟网络编辑器中,选择NAT模式下的,NAT设置中查看,确保给CentOS系统将要设置的静态IP 不能和 此处的IP一样(比如此处显示的192.168.150.2),也不能和 主机ipconfig查到VMnet8分配的一样(ipconfig查到的事192.168.150.1),但是必须保持网段一样(前三段是一样的),然后子网掩码和网关和NAT设置界面显示的一样就行。
- 最后修改完保存退出后,需要重启虚拟机才能生效
3 桥接模式下设置静态IP
- 前三不都和上面的一样,主要区别在于 桥接模式是局域网的交换机给虚拟机分配的IP
BOOTPROTO=static
IPADDR=192.168.101.128 # dhcp-动态IP(缺省时),static-静态IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.101.1 # 网关
DNS1=8.8.8.8 # 谷歌的DNS服务器
DNS2=114.114.114.114 # 中国电信的DNS服务器
- 此时就不要查看 虚拟机的虚拟网络编辑器了,只需要查看 主机的ipconfig 出来的,由局域网交换机给主机分配的ip地址即可(例如此时主机无线局域网ip为 192.168.101.25),只要不和此ip设置的一样即可,子网掩码和网关都参照主机现实设置即可。
- 同样保存退出,并重启。
4 修改主机名称
比如原来的虚拟机主机名为 [root@localhost] 修改为 CentOS
hostnamectl set-hostname CentOS
- 重启,后可变为[root@CentOS]
七、网络调试工具 ping
- ping 可以用来测试本机与目标主机是否连通、连通速度和网络的稳定性
ping -c 5 -s 1024 目标主机的IP地址(或)
-c
表示 ping 包的个数。Windows 平台的选项是 -n
-s
表示指定 ping 发送数据的字节数,默认是84个字节(56字节的数据+28字节的报头),最大不超过 65535 字节,Windows 平台的选项是 -l
- ping 域名,会显示域名对应的ip,可以用于查询域名的ip
八、服务可用性调试 telnet
telnet ip地址 端口号
九、系统服务管理 systemctl
- CentOS 采用 systemctl 命令管理系统服务,类似于 Windows 的 “计算机管理->服务和应用程序->服务”的功能
- 服务的配置文件存放在 /usr/lib/systemd/system 目录中
- 重点关注 防火墙(firewalld.service)\远程登录(sshd.service,SSH协议)、文件传输(vsftpd.service, FTP协议)
1 systemctl 命令使用
systemctl 操作 服务名
系统的服务存放在 /usr/lib/systemd/system/ 文件下
- 启动服务的操作
systemctl start 服务名(.service后缀可加可不加)
- 查看服务状态
systemctl status 服务名(.service后缀可加可不加)
其他操作有:
# 操作
stop
restart
is-active # 查看是否已启动
enable # 开机自启动开启
disable # 开机自启动关闭
is-enable # 查看是否自启动
try-restart # 只重启正在运行中的服务
# 查看所有的服务状态
systemctl list-units --type service -all
# q 退出
# 查看启动成功的服务列表
systemctl list-unit-files | grep enabled
2 添加自定义系统服务
- 1) 准备好一个demo代码,运行生成可执行文件 demo
- 2)编写自定义的系统服务脚本
例如:/home/lighthouse/start.sh , 内容下:
/home/lighthouse/demo
/home/lighthouse/restart.sh,内容如下:
killall demo
/home/lighthouse/demo
/home/lighthouse/stop.sh,内容如下:
killall demo
- 3) 给这三个脚本服务可执行权限:
chmod +x /home/lighthouse/start.sh /home/lighthouse/restart.sh /home/lighthouse/stop.sh
- 4 ) 编写自定义服务的配置文件
系统服务的启动、重启、停止 由它的配置文件决定,把 demo 程序的服务命名为 demo.service
创建服务配置文件 /usr/lib/systemd/system/demo.service,改文件内容如下:
[Unit]
Description=demo01
After=network.target
[Service]
Type=simple
# 指令意思是切换到普通用户wucz,-c是以这个用户身份执行“”的指令
ExecStart=/usr/bin/su - wucz -c "/home/wucz/start.sh"
ExecReload=/usr/bin/su - wucz -c "/home/wucz/restart.sh"
ExecStop=/usr/bin/su - wucz -c "/home/wucz/stop.sh"
RemainAfterExit=yes
# 如果直接写 /home/wucz/start.sh 就是以超级用户的身份运行
[Install]
WantedBy=multi-user.target
-
对上述配置内容进行说明:
-
Unit 部分 是 启动顺序 与 依赖关系
-
Description
字段:给出当前服务的简单描述
-
Documentation
字段:给出文档位置
-
After
字段:表示本服务应该在某服务之后启动
-
Before
字段:表示本服务应该在某服务之前启动
-
After
和Before
只涉及启动顺序,不涉及依赖关系;依赖关系由Wants
和Requires
字段负责
-
Wants
字段:表示本服务与某服务之间存在“依赖”关系,如果被依赖的启动服务启动失败或停止运行,不影响本服务的继续运行
-
Requires
字段:表示本服务与某服务之间存在“强依赖”关系,如果被依赖的服务启动失败或停止运行,本服务业必须退出。
-
Service 部分 定义如何启动/重启/停止服务
-
Type
字段:定义启动类型。可以设置的值包括
Type值 | 说明 |
---|---|
simple(默认值) | 设置ExecStart字段启动的进程为主进程 |
forking | ExecStart 字段将以 fork() 方式启动,此时父进程将会退出,子进程将成为主进程 |
oneshot | 类似于 simple,但只执行一次,Systemd 会等它执行完,才启动启动服务 |
dbus | 类似于 simple, 但会等待 D-Bus 信号启动 |
notify | 类似于 simple, 启动结束后会发出通知信号,然后 Systemd 再启动其他服务 |
idle | 类似于 simple,但是要等到其他任务都执行完,才会执行该服务 |
-
ExecStart
字段:启动服务时执行的命令,可以是可执行程序、系统命令、shell脚本
-
ExecReload
字段:重启服务时执行的命令,可以是可执行程序、系统命令、shell脚本
-
ExecStop
字段:停止服务时执行的命令,可以是可执行程序、系统命令、shell脚本
-
RemainAfterExit
字段:若为yes,表示进程退出以后,服务仍然保持执行。
-
Install部分:定义如何安装这个配置文件,即怎样做到开机启动。
-
WantedBy
字段:表示该服务所在的Target
。
Target
的含义是 服务组,表示一组服务。WantedBy=multi-user.target
指的是,demo所在的Target
是multi-user.target
(多用户模式)。
这个设置非常重要,因为执行systemctl enable demo01.service命令时,demo.service会被链接到/etc/systemd/system/multi-user.target.wants目录之中,实现开机启动的功能。
3 如何使用自定义服务
- 1)重新加载服务配置文件
-
- 每次修改了服务配置文件后,需要执行以下命令重新加载服务的配置文件。
systemctl daemon-reload
- 2)启动/停止/启重demo服务
systemctl start demo # 启动demo服务。
systemctl restart demo # 重启demo服务。
systemctl stop demo # 关闭demo服务。
- 3)把demo服务设置为开机/关机自启动/停止
systemctl is-enabled demo # 查看demo01服务是否是开机自启动。
systemctl enable demo01 # 把demo01服务设置为开机自启动。
十、防火墙设置
1 查看防火墙的命令
1)查看防火墙服务状态(普通用户可执行),CentOS缺省启用防火墙。
systemctl status firewalld
2)查看防火墙已开通的端口,CentOS缺省不开通任何端口。
firewall-cmd --list-port
3)查看防火墙已开通的服务(CentOS缺省开通ssh和dhcpv6-client服务)。
firewall-cmd --list-service
4)查看防火墙全部的信息。
firewall-cmd --list-all
5)查看防火墙支持的服务的列表(普通用户可执行)。
firewall-cmd --get-services
6)查看防火墙服务是否开机启动。
systemctl is-enabled firewalld
7)查看防火墙的状态。
firewall-cmd --state
8)查看防火墙的版本。
firewall-cmd --version
2 配置防火墙的命令
1)启动、重启、关闭防火墙服务。
- 启动
systemctl start firewalld
- 重启
systemctl restart firewalld
- 关闭
systemctl stop firewalld
- 2)开通、移去端口。
-
- 例如: 开通80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
-
- 例如: 移去80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
- 3)开通、移去服务。
-
- 开通ftp服务
firewall-cmd --zone=public --add-service=ftp --permanent
-
- 移去http服务
firewall-cmd --zone=public --remove-service=http --permanent
- 常用服务的端口:ssh(22)、HTTP(80、8080)、MySQL(3306)、Oracle(1521) 、ftp(21)、
telnet(23)。
- 4)开通、移去范围端口。
-
- 开通5000-5500之间的端口
firewall-cmd --zone=public --add-port=5000-5500/tcp --permanent
-
- 移去5000-5500之间的端口
firewall-cmd --zone=public --remove-port=5000-5500/tcp --permanent
- 5)重新加载防火墙配置参数(修改配置后要重新加载防火墙配置或重启防火墙服务)。
firewall-cmd --reload
- 6)设置开机时启用、禁用防火墙服务。
-
- 启用服务
systemctl enable firewalld
-
- 禁用服务
systemctl disable firewalld
十一、环境变量*
1 查看环境变量
- 1)
env
命令
env
或
env | less
env | grep LANG
- 2)echo 命令
echo $环境变量名
2 常用的环境变量
LANG (字符集变量)
- 该变量存放了Linux 系统的语言 和 字符集,一般是中文字符
zh_CN.UTF-8
,是主流 - 如果出现乱码,即字符集不一致
PATH
LD_LIBRARY_PATH
- C/C++语言的动态链接库文件搜索的目录,其不是 Linux 缺省的环境变量,但是对C/C++编译非常重要
其他不是很重要的环境变量
- SHELL
用户当前使用的shell(命令解析器,百度百科,了解基本概念即可)。 - HOSTNAME
服务器的主机名。 - HISTSIZE
保存历史命令的数目。 - USER
当前登录用户的用户名。 - HOME
当前登录用户的主目录。 - PWD
当前工作目录。
3 设置环境变量
变量名='值'
export 变量名
或
export 变量名='值'
- 如果环境变量的值没有空格等特殊符号,值可以不用单引号包含。
- 环境变量在退出shell后就会失效,下次登录时需要重新设置。如果希望环境变量永久生效,需要在脚本文件中配置。
- 设置PATH环境变量要注意:
export PATH=$PATH:新增的目录1:新增的目录2:新增的目录n:.
1)$PATH
表示包含原有PATH
的值;
2)目录之间用:
分隔;
3).
表示当前目录。
- 把当前目录添加到环境变变量中, 这样你不管这个操作窗口处于哪个目录都是可以操作可执行程序
[lighthouse@VM-0-9-centos ~]$ export PATH=$PATH:.
4 设置系统环境变量
- 系统环境变量对全部的用户生效,设置系统环境变量有三种方法。
- 1)在
/etc/profile.d
目录 中增加设置环境变量脚本文件,这是Linux推荐的方法。
在此目录中 创建 自己的 .sh
文件的,在个 .sh
中写入你需要设置的环境变量,即可一直生效
-
2)在
/etc/profile
文件中设置。
用户登录时执行/etc/profile文件中设置系统的环境变量。(Linux不推荐) -
3)在
/etc/bashrc
文件中设置环境变量。
该文件配置的环境变量将会影响全部用户。(Linux不推荐)
5 设置用户环境变量(一般使用这个)
- 用户环境变量只对当前用户生效,设置用户环境变量也有多种方法
- 注意:用户的主目录下,有几个隐藏的特别文件,使用
ls -l .bash*
可见
- 1)
.bash_profile
(推荐首选)
当用户登录时执行,每个用户都可以使用该文件来配置专属于自己的环境变量。
第一步:打开.bash_profile文件【当前用户有效】
$ vim ~/.bash_profile
第二步:添加环境变量路径
// 这个环境变量$LD_LIBRARY_PATH就是专门正对于/lib的
LD_LIBRARY_PATH=/user/local/Anaconda3/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
第三步:执行下面命令更新或reboot重启电脑
// 修改完毕后必须执行下面命令更新或重启才能生效
$ source ~/.bash_profile
第四步:查看是否设置成功
// 查看是否设置成功
echo $LD_LIBRARY_PATH
-
2)
.bashrc
(有些影响效率)
当用户登录时以及每次打开新的shell时该文件都将被读取,不推荐在里面配置用户专用的环境变量,因为每开一个shell,该文件都会被读取一次,效率肯定受影响。 -
3)
.bash_logout
当每次退出shell时执行该脚本文件。 -
4)
.bash_history
保存了当前用户使用过的历史命令。
十二、开机启动程序
- 在 CentOS7 中,配置
/etc/rc.local
脚本文件,也可以实现开机启动程序 - 其中,
/etc/rc.local
是/etc/rc.d/rc.local
的软连接 - 打开
/etc/rc.local
文件,内容中有提示,如何添加开机启动程序
例如:
# 添加
/usr/bin/date >> /tmp/date1.log # 把当前时间追加写入/tmp/date1.log文件中
/usr/bin/sleep 10 # 睡觉 10 秒
/usr/bin/date >> /tmp/date2.log # 把当前时间追加写入到/tmp/date2.log中
- 保存后退出,
- 在执行提示 给对于文件赋予可执行权限
chmod +x /etc/rc.d/rc.local
-
此时重启服务器,就能开机自动执行上述添加的内容了。
-
使用 rc.local 的注意事项
(1)rc.local 脚本在操作系统启动时只启动一次
(2)存在环境变量的问题:
在 rc.local 脚本执行程序时是没有环境变量的(或者说执行时能用到的环境变量很少),如果执行的程序需要环境变量,解决方法有两种:
-
- 可以在脚本中设置环境变量:
即先写一个脚本A.sh,记住给A.sh赋可执行权限,该脚本专门提供 rc.local 执行需要的环境变量,再讲执行该脚本的语句放在rc.local
- 可以在脚本中设置环境变量:
-
- 也可以用 su 切换用户来执行:
# 在放在 rc.local 中的执行语句前加:
/usr/bin/su - root -c "执行命令"
# 例如
/usr/bin/su - root -c "/usr/bin/env >> /tmp/env.log"
(3)不要让 rc.local 挂起
rc.local
中的内容是按顺序执行的,执行完一个程序后才会执行下一个程序,如果某程序不会后台程序,就应该 加&
符号,让程序在后台运行,否则rc.local
会挂起,导致开机缓慢。
# 一般让程序在后台运行的写法是 后面加 &
./demo&
十三、Linux 的计划任务
- Linux 系统 用 crond 服务来提供计划服务,用于周期性的执行程序或脚本,计划任务分为 用户计划任务 和 系统计划任务
- 查看 crond 的状态
systemctl status crond
- crond 服务每分钟都会检查是否有需要执行的任务,如果有则执行任务
1 用户计划任务
- 每个用户都可以有自己的计划任务,用于周期性的执行程序或脚本,计划任务的内容存放在
crontab
文件中,每个用户都有自己的crontab
文件 - 1)查看 crontab 文件
crontab -l [-u 用户名]
root 用户可以 使用 -u
选项查看指定用户的计划任务,若没有 -u
选项,表示查看自己的计划任务。普通用户只能查看自己的计划任务,不允许使用 -u
选项
- 2)编辑 crontab 文件的内容
crontab -e [-u 用户名]
root用户可以用-u
选项编辑指定用户的计划任务,如果没有-u
选项,表示编辑自己的计划任务。普通用户只能编辑自己的计划任务,不允许使用-u
选项。crontab缺省的编辑工具是vi。
- 3)删除crontab文件
crontab -r [-u 用户名]
注意事项同上
-
- crontab文件中的每个任务由两部分组成,执行时间(周期)和执行命令。
执行时间有5个字段:
字段1:分钟(minute),取值0-59。
字段2:小时(hour),取值0-23。
字段3:月当中的天(day of month),取值1-31,。
字段4:月份(month),取值1-12,或采用月份单词的英文简写。
字段5:星期中的天(day of week),取值0-6,或采用星期单词的英文简写。
以上还可以使用特殊字符:
星号(*):代表全部的值,例如day of month字段如果是星号,则表示在满足其它字段的制约条件后每天执行该任务。
逗号(,):可以用逗号分隔开的值指定一个列表,例如,“1,2,5,7,8,9”。
中杠(-):可以中杠表示一个范围,例如“2-6”表示“2,3,4,5,6”。
正斜线(/):可以用正斜线指定时间的间隔频率,例如minute字段,“0-30/5”表示在0-30的范围内每5分钟执行一次;“*/5”表示每5分钟执行一次。
- crontab文件中的每个任务由两部分组成,执行时间(周期)和执行命令。
-
5 crontab的示例
1)每两分钟执行一次date命令,结果输出到/tmp/date.log文件(下同)。
*/2 * * * * /usr/bin/date > /tmp/date.log
2)在每个小时的05、10、15分执行一次date命令。
5,10,15 * * * * /usr/bin/date > /tmp/date.log
3)在每个小时20-30分之间的每一分钟执行一次date命令。
20-30 * * * * /usr/bin/date > /tmp/date.log
4)在每天的10:30分执行一次date命令。
30 10 * * * /usr/bin/date > /tmp/date.log
5)在每个月1号的02:30分执行一次date命令。
30 02 1 * * /usr/bin/date > /tmp/date.log
6)在每星期天的02:30分执行一次date命令。
30 02 * * 0 /usr/bin/date > /tmp/date.log