当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪linux io 重定向的小例子      本节内容: Linux IO的重定向 内容:   cmd > file 把 stdout 重定向到 file 文件中; cmd >> file 把 stdout 重定向到 file 文件中(追加); cmd 1> file 把 stdout 重定向到 file 文件中; cmd > file.........
    ▪crontab命令基础与实例      本节内容: crontab命令的用法 crontab命令 在一定的时间间隔调度一些命令的执行。 在/etc目录下有一个crontab文件,存放有系统运行的一些调度程序。 每个用户可以建立自己的调度crontab。 cron.........
    ▪分享:linux启动流程      本节内容: linux启动流程、linux启动服务。 一,Linux系统的启动步骤: 1,读取MBR的信息,启动Boot Manager Windows使用NTLDR作为Boot Manager,如果系统中安装多个版本的Windows,则需要在NTLDR中选择.........

[1]linux io 重定向的小例子
    来源: 互联网  发布时间: 2013-12-24

本节内容:
Linux IO的重定向

内容:
 

cmd > file 把 stdout 重定向到 file 文件中;
cmd >> file 把 stdout 重定向到 file 文件中(追加);
cmd 1> file 把 stdout 重定向到 file 文件中;
cmd > file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中;
cmd 2> file 把 stderr 重定向到 file 文件中;
cmd 2>> file 把 stderr 重定向到 file 文件中(追加);
cmd >> file 2>&1 把 stdout 和 stderr 一起重定向到 file 文件中(追加);
cmd < file >file2 cmd 命令以 file 文件作为 stdin,以 file2 文件作为 stdout;
cat <>file 以读写的方式打开 file;
cmd < file cmd 命令以 file 文件作为 stdin;
cmd << delimiter Here document,从 stdin 中读入,直至遇到 delimiter 分界符。

    
[2]crontab命令基础与实例
    来源: 互联网  发布时间: 2013-12-24

本节内容:
crontab命令的用法

crontab命令 在一定的时间间隔调度一些命令的执行。
在/etc目录下有一个crontab文件,存放有系统运行的一些调度程序。
每个用户可以建立自己的调度crontab。

crontab命令有三种形式的命令行结构:
 

crontab [-u user] [file]
crontab [-u user] [-e|-l|-r]

crontab -l -u [-e|-l|-r] 第一个命令行中,file是命令文件的名字。
如果,命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;
如果,命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们也存放在crontab目录下。

-r选项 从/usr/spool/cron/crontabs目录下删除用户定义的文件crontab;
-l选项 显示用户crontab文件的内容。

使用命令:
crontab -u user -e命令编辑用户user的cron(c)作业。
用户通过编辑文件来增加或修改任何作业请求。

执行命令crontab -u user -r即可删除当前用户的所有的cron作业。

基本格式 :
 

*  *  *  *  *  command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

作业与它们预定的时间储存在文件/usr/spool/cron/crontabs/username里。
username使用户名,在相应的文件中存放着该用户所要运行的命令。

执行结果:
无论是标准输出还是错误输出,都将以邮件形式发给用户。

文件中每一个请求必须包含以spaces和tabs分割的六个域。
前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,称为命令字段,其中包括了crontab调度执行的命令。

第一道第五个字段的整数取值范围及意义:
 

0~59 表示分
1~23 表示小时
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)

/usr/lib/cron/cron.allow表示谁能使用crontab命令。
如果它是一个空文件表明没有一个用户能安排作业。
如果这个文件不存在,而有另外一个文件/usr/lib/cron/cron.deny,则只有不包括在这个文件中的用户才可以使用crontab命令。
如果它是一个空文件表明任何用户都可安排作业。
两个文件同时存在时cron.allow优先,如果都不存在,只有超级用户可以安排作业。

crontab的例子:
 

代码示例:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
每晚的21:30重启apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
每月1、10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache

名称 : crontab

使用权限 : 所有使用者

使用方式 :
 

crontab file [-u user]-用指定的文件替代目前的crontab。
crontab-[-u user]-用标准输入替代目前的crontab.
crontab-1[user]-列出用户目前的crontab.
crontab-e[user]-编辑用户目前的crontab.
crontab-d[user]-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录。
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
cmd要运行的程序,程序被送入sh执行,这个shell只有USER,HOME,SHELL这三个环境变量

说明 :
crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。

参数 :
 

crontab -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
crontab -r : 删除目前的时程表
crontab -l : 列出目前的时程表
crontab file [-u user]-用指定的文件替代目前的crontab。

时程表的格式 :
 

f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。
program 表示要执行的程序。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推
当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推
使用者可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。

例子 :
 

代码示例:

#每天早上7点执行一次 /bin/ls :
0 7 * * * /bin/ls

在 12 月内, 每天的早上 6 点到 12 点中,每隔3个小时执行一次 /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup

周一到周五每天下午 5:00 寄一封信给 alex@domain.name :
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata

每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"

注意 :
当程序在所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可

例2 :
 

代码示例:

#每天早上6点10分
10 6 * * * date

#每两个小时
0 */2 * * * date

#晚上11点到早上8点之间每两个小时,早上8点
0 23-7/2,8 * * * date

#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * mon-wed date

#1月份日早上4点
0 4 1 jan * date

$crontab -l 列出用户目前的crontab.


    
[3]分享:linux启动流程
    来源: 互联网  发布时间: 2013-12-24

本节内容:
linux启动流程、linux启动服务。

一,Linux系统的启动步骤:
1,读取MBR的信息,启动Boot Manager
Windows使用NTLDR作为Boot Manager,如果系统中安装多个版本的Windows,则需要在NTLDR中选择您要进入的系统。
Linux通常使用功能强大,配置灵活的GRUB作为Boot Manager。

2,加载系统内核,启动init进程
init进程是Linux的根进程,所有的系统进程都是它的子进程。
init进程读取 /etc/inittab 文件中的信息,并进入预设的运行级别,按顺序运行该运行级别对应文件夹下的脚本。脚本通常以 start 参数启动,并指向一个系统中的程序。

/etc/rcS.d/ 目录下的启动脚本首先被执行,然后是 /etc/rcN.d/ 目录。
例如,设定的运行级别为3,那么它对应的启动目录为 /etc/rc3.d/ 。
根据 /etc/rcS.d/ 文件夹中对应的脚本启动Xwindow服务器 xorg。
Xwindow为Linux下的图形用户界面系统。

3,启动登录管理器,等待用户登录
Ubuntu系统默认使用GDM作为登录管理器,您在登录管理器界面中输入用户名和密码后,便可以登录系统。(您可以在 /etc/rc3.d/ 文件夹中找到一个名为 S13gdm 的链接)

二,更改运行级别
在 /etc/inittab 文件中找到如下内容:
 

代码示例:
# The default runlevel.
id:2:initdefault:

这一行中的数字 2 ,为系统的运行级别,默认的运行级别涵义如下:
0   关机
1   单用户维护模式
2~5 多用户模式
6   重启

服务管理

三,更改启动服务

在运行级别对应的文件夹中,可以看到许多文件名以 S## 和 K## 起始的启动脚本链接。
例如:
 

/etc/rcS.d/S35mountall.sh   挂载文件系统
/etc/rcS.d/S40networking    启用网络支持
/etc/rc2.d/S13gdm           启动登录管理器
/etc/rc2.d/S20makedev       创建设备文件
/etc/rc2.d/S23xinetd        启动超级进程
 

init进程将以 start 为参数,按文件名顺序执行所有以 S## 起始的脚本。

脚本名称中的数字越小,它将被越早执行。
例如,在 /etc/rc2.d/ 文件夹中, S13gdm 文件名中的数字小于 S23xinetd , S13gdm 将比 S23xinetd 先执行。

如果一个脚本链接,以 K## 起始,表示它将以 stop 参数被执行。如果相应服务没有启动,则不执行该脚本。
例如:
/etc/rc2.d/K20powernowd  针对某种硬件的电源管理支持
如果,需要禁止某一服务在启动时自动运行,可以将相应运行级别中的脚本由 S##xxx 重命名为 K##xxx 。

四,手动控制服务
可以手动运行带有以下参数的启动脚本,来控制系统服务。
- start 启动 - stop 停止 - restart 重启

例如:
/etc/rc2.d/K20powernowd start

推荐的方式:
可以直接使用 /etc/init.d/ 文件夹中的启动脚本( /etc/rcX.d/ 中的启动脚本链接到 /etc/init.d/ 文件夹下相应脚本)。

例如:
/etc/init.d/powernowd start
注意:以上命令的位置,没有包含在环境变量的搜索路径中,需要输入完整路径才可以。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3