查看原文
其他

求求你使用Tab键好吗

基因学苑 基因学苑 2022-03-29

编者按
在生物信息培训中,经常发现很多学员操作一段时间之后就有点跟不上了,一条命令要很久才能敲完。主要原因是没有使用Tab键进行命令行的补齐。在Linux的命令行操作中,一定要学会使用Tab键补齐,几乎每一条命令中都要使用。

Tab键

Tab键俗称制表符,位于键盘最左侧大小写锁定键CapLock之上,波浪线键之下。制表位表示四个空格,用来分隔字符。在命令行操作中可以用来自动补齐命令,选项参数(最新Redhat7支持部分参数补齐),以及路径。

补齐命令行有两大好处:

  •  可以节省输入字符数,提高输入效率,比如要使用systemctl命令,直接输入systemc就可以自动补齐后面的tl;

  • 能够补齐,说明命令或者路径没有问题,不会出现Linux系统中经常遇到的“command not found”以及“ No such file or directory”的错误;


  • 如何解决生物软件报错问题

尤其是补齐路径,一条很长的路径,使用Tab可以很快速的找到需要的文件。

使用Tab补齐命令

1、补齐命令,我们想使用blastp命令;
首先在命令行里敲b字符,然后按两下Tab,这样系统就会将所有以字母b开头的命令都累出来,提示是否显示所有结果。Tab的补齐原则是,当遇到歧义时,会将所有内容列出来,由用户继续添加字符,减少限制条件,直到可以自动补齐。

$ b
Display all 118 possibilities? (y or n)

Tab是如输字符越多,限制条件越严格,因此我们输入bla字符,在按两次Tab

$ bla
blast2sam.pl       blastdb_aliastool  blastdbcmd         blastn             blastx             
blastall           blastdbcheck       blast_formatter    blastp             blat 

这次以bla开头的命令就少很多了。我们观察到blast开头的命有很多,就需要继续加字符,直接输入到blastp。

$ blast
blast2sam.pl       blastdb_aliastool  blastdbcmd         blastn             blastx             
blastall           blastdbcheck       blast_formatter    blastp 

同理,我们可以补齐samtools命令,输入到samt就可以自动补齐。

$ sam
sam2vcf.pl                samba-regedit             sample-reads-randomly.py  samtools.pl
sambamba                  samblaster                samtools

使用Tab补齐路径

文件路径一般比较长,使用Tab键补齐更加方便。例如想使用/ifs1/Database/GATK/hg38/的路径名。
首先敲“/”,然后两次Tab,这样就会将根目录下所有文件列出来,相当于ls命令;字母i开头的目录只有一个,可以一次补齐;

$ /
bin/   dev/   home/  lib/   media/ opt/   root/  sbin/  sys/   usr/   
boot/  etc/   ifs1/  lib64/ mnt/   proc/  run/   srv/   tmp/   var/   

字符D开头文件也只有一个,可以继续补齐,同理可以自动补齐GATK。

/ifs1/
Database/   Example/    Grp1/       Grp2/       Grp3/       Sequencing/ Software/   User/ 

hg开头的文件有两个,需要继续添加字符

$ /ifs1/Database/GATK/hg
b37/  hg19/ hg38/ 

再给个数字3就补齐了。
整个操作,我只敲了字符“i”,"D","G","hg3",使用了4次Tab就完成了。如果全部敲下来,一共敲24次键盘。而且能够补齐就说明文件存在。

补齐选项参数

在Redhat7系统中,可以使用Tab键补齐一些系统管理命令的选项,例如systemctl命令,使用Tab键可以补齐选项参数;

$ systemctl 
add-requires           force-reload           list-sockets           set-environment
add-wants              get-default            list-timers            set-property
cancel                 halt                   list-unit-files        show
cat                    help                   list-units             show-environment
condreload             hibernate              mask                     

总结

希望大家能够每条命令中都使用Tab进行补齐,当使用熟练之后,就会知道每一条命令应该输入几个字符,然后按一次Tab键补齐了。你的Linux操作也越来越快速了。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存