-f -s linux
2012-06-23 20:31:22 weixin_34127717 阅读数 5

#!/bin/bash
#by whuang 2012-06-23
if [ -e $1 ] ;then
        echo "$1 exist"
else
        echo "sorry,not exist."
fi
 

-e 表示文件是否存在,不管文件的大小是否为零;-f与此相同。

-s 为真,表示文件存在,且大小不为零;

为假,则表示文件不存在或大小为0

转载于:https://blog.51cto.com/huangkunlun520/907311

2018-05-09 10:51:00 weixin_30387339 阅读数 4
-e filename 如果 filename存在,则为真
-d filename 如果 filename为目录,则为真 
-f filename 如果 filename为常规文件,则为真
-L filename 如果 filename为符号链接,则为真
-r filename 如果 filename可读,则为真 
-w filename 如果 filename可写,则为真 
-x filename 如果 filename可执行,则为真
-s filename 如果文件长度不为0,则为真
-h filename 如果文件是软链接,则为真
filename1 -nt filename2 如果 filename1比 filename2新,则为真。
filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
-eq 等于
-ne 不等于
-gt 大于
-ge 大于等于
-lt 小于
-le 小于等于

 

转载于:https://www.cnblogs.com/xwb583312435/p/9012946.html

2016-07-04 18:54:15 iteye_12858 阅读数 901
expect脚本的开头一般都写/usr/bin/expect -f,这个-f选项有什么作用呢?
比如如下脚本

#!/usr/bin/expect -f
for {set i 0} {$i < $argc} {incr i} {
puts "arg $i: [lindex $argv $i]"
}

运行./bar.sh -c "puts foo" hehe bar输出如下
[quote]foo
arg 0: hehe
arg 1: bar[/quote]
如果改成#!/usr/bin/expect,则输出如下
[quote]arg 0: -c
arg 1: puts foo
arg 2: hehe
arg 3: bar[/quote]
2017-08-22 16:27:16 weixin_34137799 阅读数 2

在Linux中,tail -f;tail -F;tailf的区别。

tail -f      等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止

tail -F     等同于--follow=name  --retry,根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪

tailf        等同于tail -f -n 10(貌似tail -f-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电


转载于:https://blog.51cto.com/13131273/1958380

2016-08-17 10:09:00 weixin_33725126 阅读数 14

bash-1中启动如下进程
while [ "true" ] ; do date >> test.log; sleep 1 ; done;

bash-2中,
tail -f test.log

bash-3中,
tail -F test.log

bash-4中,
rm test.log;或者mv test.log testlog1

1.看bash-2,屏幕停止显示log;
2.看bash-3,屏幕上依然在继续输出test.log的内容

tail -F 适用于比如日志定期mv的情况(例如按天或者按小时mv query_log query_log1的情况)

 

【参考】https://www.douban.com/note/85851188/

-------------------------------------------------------------------------------------------

tail实现断点续传功能

tail -n +$(tail -n1 num) -F test.log 2>&1 | awk 'ARGIND==1{i=$0;next}{i++;if($0~/^tail/){i=0};print $0;print i >> "num";fflush("")}' num -

【参考】http://blog.itpub.net/22569416/viewspace-1976065

 

如果文件在断点的时候,经过mv或者rm操作,也能正常

【经过mv操作 输出多出两行】 

tail: `test.log' has become inaccessible: No such file or directory
tail: `test.log' has appeared; following end of new file

【经过rm操作 输出多出一行】 

tail: `test.log' has become inaccessible: No such file or directory

 

但如果tail卡住或者不运行,但是文件又被rm或者mv过,则会丢失数据。!!!

 【参考】http://blog.itpub.net/22569416/viewspace-1976065

 

为什么80%的码农都做不了架构师?>>>...

博文 来自: weixin_33810006

linux ln -s

阅读数 1904

#!S | Linux 中国

阅读数 120

没有更多推荐了,返回首页