linux_shell使用

一、hash命令

  说明:linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找:

  hits表示最近输入的该命令的次数

  参数:

hash -l #参数-l 既可以看到hash表命令的路径,也可以看到它的名字,结果如下
#builtin hash -p /bin/rm rm
#builtin hash -p /usr/bin/wget wget
#builtin hash -p /usr/bin/awk awk
#builtin hash -p /usr/bin/man man

hash -p #
hash -p /usr/bin/grep grep#将grep 添加到hash表中

hash -r #清空hash表

hash -d grep#清除hash表中的grep记录

 

二、shell多行注释

<< COMMENT
注释行1
注释行2
...
注释行n
COMMENT

if [ ! -d temp ]
then
        mkdir temp
fi

>temp/exon_all.fa
>exon_all.fa

<< Comment
#step1:读取exon_bed的每一行,每一行相当于一个circRNA,将每一行值付给相应变量
#step2:生成过程文件:chrom_start_end_bed记录了exon_bed的每一行信息
#step3:bedtools intersect获取all_exon_from_gtf文件和chrom_start_end_bed交集
#step4:bed_over.py对step3产生的交集chrom_start_end_over_lap.bed文件中的overlap行选取最大外显子区间
#step5:使用bedtools getfasta获取chrom_start_end_over_lap_bed文件对应的fa序列,即完成对exon_bed文件一行的序列提取工作
#step6:进行合并序列操作,先将exon_bed中的>header写入chrom_start_end.fa
#step7:将bedtools getfasta获取的exon序列去掉>行后再去掉换行符,并追加到step6对应的chrom_start_end.fa中
#setp8:最后合并exon_bed文件每一行对应的fa序列,生成exon_all.fa序列文件
Comment

 

三、crontab

 /etc/cron.deny 表示不能使用crontab 命令的用户。

 /etc/cron.allow 表示能使用crontab的用户。

 如果两个文件同时存在,那么/etc/cron.allow 优先。如果两个文件都不存在,那么只有超级用户可以安排作业。

 每个用户都会生成一个自己的crontab 文件。这些文件在/var/spool/cron/crontabs/$USER,查看这个文件内容,和crontab -l结果一致

 如果crontab不重定向输出,并且crontab所执行的命令有输出内容的话,是一件非常危险的事情。因为该输出内容会以邮件的形式发送给用户,内容存储在邮件文件/var/spool/mail/$user

crontab -e
0 22 * * 2,4,0 python crap.py > zhcw.csv

 

四、linux下解压.rar文件

sudo apt-get install unrar
unrar x cell_pic.rar pic/

 

五、vim编辑文件,换行后行首总有双引号

 试试:set paste

 

六、大文件获取行数

time awk 'END{print NR}' InputFile

  自己做的测试:12G文件,time用了10.5s(但是time wc -l 用了3.5s,怎么回事?)

posted @ 2018-04-28 12:50  1直在路上1  阅读(872)  评论(0编辑  收藏  举报