LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 765|回复: 7

SHELL问题!

[复制链接]
发表于 2003-5-16 20:35:53 | 显示全部楼层 |阅读模式
[root@local log]# rm firewall.log -f|touch firewall.log |ls -la|grep firewall.log
-rw-r--r--    1 root     root     83085132 May 16 20:09 firewall.log


应该是0的啊,是什么原因?
发表于 2003-5-16 20:44:49 | 显示全部楼层
头两个|管道号换成 ;(分号)
 楼主| 发表于 2003-5-16 20:46:04 | 显示全部楼层
哦?那就是说|的前后,不是顺序执行?
发表于 2003-5-16 20:49:32 | 显示全部楼层
管道的作用是把第一个命令的输出传递给第二个命令,你的touch等于接受了第一个产生的"垃圾",所以......
发表于 2003-5-16 20:53:59 | 显示全部楼层
前后执行命令你可以用分号 ; 和 && 如:
$cmd;cmd1;cmd2...按顺序执行,
$cmd && cmd      如果第一个执行成功,那么执行弟二个命令.
而 | 是起过滤的作用,像你最后一个
ls -la|grep firewall.log
 楼主| 发表于 2003-5-16 21:26:21 | 显示全部楼层
感谢中!!
真多谢JAVALEE了
 楼主| 发表于 2003-5-16 21:28:20 | 显示全部楼层
你的touch等于接受了第一个产生的"垃圾",

这句话,还是不是十分理解,TOUCH怎么接受?垃圾指什么,前面应该没有输出啊。
发表于 2003-5-17 09:12:39 | 显示全部楼层
要清空某些文件如日志文件的内容,千万不要使用rm删除文件然后再创建一个新的空文件,因为在两次操作的间隔,系统可能需要访问该文件。下面是清空文件内容的安全方法:

$ :>file-to-be-cleared
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表