生物信息之独孤九剑——find
编者按:
在金庸武学体系的众多武功之中,独孤九剑并不是最强劲的武功,它与其他武林绝学有很大的不同,可以说是鹤立鸡群。比如乔峰的降龙十八掌,段誉的六脉神剑,张无忌的九阳神功,石破天的罗汉伏魔神功,这些神功都需要强大的内力支撑,而独孤九剑则不同,不需要内力,这点其实可以从华山派气宗与剑宗的分歧就可以看出来。独孤九剑传人风清扬属于剑宗,更注重招式,而不是像剑宗注重练气。独孤九剑分为总诀式,破剑式,破刀式,破枪式,破鞭式,破索式,破箭式,破掌式,破气式,遇到不同的场景使用关不同的招式,因此,独孤九剑更加注重问题的解决,本质上就是就是通过工具来解决问题。只要学会这九剑,就可以处理很多的问题。学习生物信息也是同样的道理,当然练好内功,掌握很好的基础是非常必要的,但是也可以学习一些小工具,解决一些实际问题。那么从这次内容开始,我们就来给大家介绍生物信息之独孤九剑。
Linux系统主要采用命令行模式,不方便看目录下有哪些文件,每次都需要ls一下。当磁盘内的文件过多的时候,就容易忘记文件的具体位置,或者是当系统磁盘要写满的时候,需要删除一些内容过大的文件;又或是删除一些创建时间较长的文件等,这就需要进 行文件的搜索。在windows系统中,可以直接在资源管理器中进行搜索。可以在菜单选项中,设置一些搜索条件,精确搜索。例如选择搜索位置,搜索的类型,按照时间,文件类型,文件名称,文件标记,文件内容等进行搜索。Linux系统下可以使用find命令来完成这些功能。
find也是linux下一个非常复杂的命令,提供了60多种不同的选项。find属于三元操作符,find后面首选是要查找的目录,当前目录,就是一个点。所有目录就是一个斜线,目录这部分很容易。然后是要查找条件,也叫作expression,也就是设定按文件名字,时间,类型等查找,这里面可使用的选项有二三十个之多,这部分就是比较复杂的地方。最后就是具体的条件设置,支持通配符。
find 搜索expression部分介绍。
-perm #按执行权限来查找 ,比如 755
-user #按文件属主来查找
-group #按组来查找
-nogroup #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime -n +n #按文件访问时间来查GIN: 0px">
-ctime -n +n #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-newer f1 !f2 #查更改时间比f1新但比f2旧的文件
-depth #使查找在进入子目录前先行查找完本目录
-prune #忽略某个目录
-empty:空的档案
案例一:搜索Data目录下以点fna结尾的文件;
find ../Data -name *.fna
案例二:搜索系统中最近5分钟内编辑过的文件;
find / -amin 5
注意:当在根目录下搜索的时候,需要小心,由于文件较多,往往速度比较慢,并且系统中有很多实时更新的文件,所以,一般情况下尽量不要在根目录下搜索。
案例三:查找大于100M的文件;
find ./-size 100M
案例四:按照文件类型搜索;
find ./ -type 文件类型
c 的档案
d: 目录
b: 区块装置档案 ,
p: 具名贮列
f: 一般档案
l: 符号连结
s: socket
案例五:搜索文件,直接处理;
find ./temp/ -name *.fna -exec rm '{}' \;
-exec ,也就是execise,执行。相应命令的形式为'command' { } \;筛选以点fna结尾文件,直接将查找出来的文件删除掉。
案例六:多条件逻辑操作;
find ./temp/ -name *.fna -and -size 1M
查找名字中包含fna,并且文件大小大于1M的文件。
更多内容,可以find --help查看帮助文档。