当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux教程:tail命令的巧妙应用

Unix/Linux
如何变更收取的邮件的默认存储位置
如何在虚拟主机中设定sendmail
为什么当系统启动到Sendmail时会暂停
sendmail下如何限制邮件大小
sendmail如何允许某个地址邮件转发
为什么不能配置邮件服务器为openrelay的
为什么访问Javaapplets的时候显示的却是纯文本
如何在日志里面记录apache浏览器和引用信息
为什么我的网站只能从局域网里面访问,Internet上无论哪里都访问不到
为什么apache配置文件里的Options属性没有得到预期的效果
apache如何打开或者关闭列目录功能
如何屏蔽来自某个Internet地址的用户访问Apache服务器
如何使每个用户有独立的cgi-bin目录
先来一篇文章试试
在redhat中建立交换分区
LINUX下的ssh认证,不用密码登陆另一台机器
基于 Linux 的实时系统
量身订作一个OS
使用软式磁碟
对应DOS和Linux中的相关指令

Unix/Linux 中的 Linux教程:tail命令的巧妙应用


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-20   浏览: 337 ::
收藏到网摘: n/a

 

Tail命令参数中有一个参数-n, --lines=N,可以直接输出一个文件中的最后N行。

 

利用此参数,结合tar命令可以在linux下创建类似windows下winrar的自解压了。

 

 

# !/bin/sh
[ $# != "1" ] && echo "Usage: $0 tarfile" && exit 0
DESTFILE="$1.sh"
echo "# !/bin/sh" > $DESTFILE
echo "LINES=\`wc -l \$0 | awk '{ print \$1 }'\`" >> $DESTFILE # 计算目标文件的行数
echo "LINES=\`expr \$LINES - 4\`" >> $DESTFILE # 计算需要输出的行,为总行数-4(4行执行脚本)
echo "tail -n \$LINES \$0 | tar -xv " >> $DESTFILE # 输出并释放(可以结合-z/-j释放压缩文件)
echo "exit 0" >> $DESTFILE
chmod +x $DESTFILE
cat $1 >> $DESTFILE #添加tar文件到文件尾