cat /dev/null > 文件名 清空文件信息
垃圾桶,传送到次文件的数据都会被删除掉。
?
who | wc -l 计算用户的个数
| (管道)可以再两个程序之间建立管道pipe:who的输出成了wc的输入。。wc列出的结果就是一登陆的用户个数。。、
printf命令 echo输出 echo $? echo $SHELL
ptintf输出不像echo那样自动提供换行符,需自己添加。
简单的执行跟踪。 shell脚本跟踪功能,set -x 命令将执行跟踪的功能打开。然后再用set +x命令关闭它
set -x不会被跟踪,因为跟踪功能是在这条命令执行后才打开的。同理,set +x 会被跟踪,他之后的就不会被跟踪了。
grep 查找文本
&在替换文本里意思是:从此点开始替代成匹配与正则表达式的整个文本。。
在s命令里以G结尾标示:全局性,即替代文本取代正则表达式中的每一个匹配值。如果没有设置g,sed只会取代第一个匹配的
sed中-n参数。-n选项参数修改了sed的默认行为。当提供此选项时,sed将不会在操作完成后打印模式空间的最后内容。反之,如果在脚本中使用p,则会显示出来。
3.匹配特定行
cut命令是用来剪下文本文件里的数据
使用join连接字段。
删除注释并排序:
awk命令:pattern或是action
如需字段值,则需要搭配$字符。通常$之后接着一个数值常数,也可能接着一个表达式不过多半是使用变量名称。
awk起始与清除。。
全局变量和局部变量:
全局变量一边改变临时生效,如果让他永久生效需要把它添加到.profile文件中。局部变量只在该脚本执行时生效。
export 变量名=value;
变量名=value;export 变量名
(centos写入profile文件可以生效,但是ubuntu写入profile有点问题。echo不显示)。
$? 退出状态变量。$?保存一个命令或者一个函数或者脚本本身的退出状态。。
() 命令组 注意:在()中的命令列表,将作为一个子shell来运行。在()中的变量,由于是在子shell中所以对于脚本剩下部分是不可用的。
例子: a=123 (a=321) echo "a=$a" #a=123 圆括号中a变量更像是一个局部变量。
cat {file1,file2,file3} >combine_file #把文件123连接在一起,并重定向到combined_file中
cp file22.{txt,backup} #拷贝file22.txt到file22.backup
{} 代码块:又被称为内部组,事实上,这个结构创建了一个匿名函数,但是与函数不同的是在其中声明的变量,对于脚本其他部分的代码来说还是可见。(不同于上面的())
sort排序 未研究。。。。。
计算数字,字节:
显示:
变量,判断,算数:
export命令紧将变量加到环境中,如果你要从程序的环境中删除变量,则用env命令也可临时的改变环境变量值。unset命令从执行的shell中删除变量和函数。。
Linux中使用crontab命令定时执行shell脚本或其他Linux命令
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令。例如系统管理员安排一个备份任务使其每天都运行
如何往 cron 中添加一个作业?
# crontab –e
0 5 * * * /root/bin/backup.sh
这将会在每天早上5点运行 /root/bin/backup.sh
Cron 各项的描述
以下是 crontab 文件的格式:
{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 区间为 0 – 59
o hour: 区间为0 – 23
o day-of-month: 区间为0 – 31
o month: 区间为1 – 12. 1 是1月. 12是12月.
o Day-of-week: 区间为0 – 7. 周日可以是0或7.
Crontab 示例
1. 在 12:01 a.m 运行,即每天凌晨过一分钟。这是一个恰当的进行备份的时间,因为此时系统负载不大。
1 0 * * * /root/bin/backup.sh
2. 每个工作日(Mon – Fri) 11:59 p.m 都进行备份作业。
59 11 * * 1,2,3,4,5 /root/bin/backup.sh
下面例子与上面的例子效果一样:
59 11 * * 1-5 /root/bin/backup.sh
3. 每5分钟运行一次命令
*/5 * * * * /root/bin/check-status.sh
4. 每个月的第一天 1:10 p.m 运行
10 13 1 * * /root/bin/full-backup.sh
5. 每个工作日 11 p.m 运行。
0 23 * * 1-5 /root/bin/incremental-backup.sh
Crontab 选项
以下是 crontab 的有效选项:
o crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建。
o crontab –l : 显示 crontab 文件。
o crontab -r : 删除 crontab 文件。
o crontab -ir : 删除 crontab 文件前提醒用户
http://blog.csdn.net/ithomer/article/details/6817019
注意:在完成编辑以后,要重新启动cron进程:
~# /etc/init.d/cron restart
脚本执行方法:
1.bash或者sh+脚本
2.bash或者sh的觉得执行路径+脚本
以上两种是:现行的shell会开启一个子shell环境,去执行shell脚本并不加载现行环境中
3.source+脚本
4. . /+脚本
以上两种执行脚本的方式,不创建子进程,直接在现行环境下加载环境变量脚本。
awk命令:抓取输出的第几行,awk 'print $n'