生信相关Biostar Handbook学习小组

Linux 常用命令(一)

2017-10-29  本文已影响36人  pearlp

一、使用帮助

1、Help:# help Command适用于内部命令;# Command --help/-h适用于外部命令。至于外部命令和内部命令的区分我们使用# type Command来查看如果显示builtion该命令是内部命令如果是hashed则该命令是外部命令。

2、Whatis:查看某个命令的简要说明,通过调用系统中的数据库文件来找命令的功能描述# whatis Command。当然,这需要先建立建立搜索使用的数据库,当使用者命令发生错误时,就是whatis database没有建立。输入:#makewhatis建立搜索用的数据库。

3、Info:更加详细的说明文档。# info Command,info是信息页,提供作者、版本,什么时候发布等更详细信息,man是手册告诉你怎么用。info page的按键 空格键向下翻一页 ,pagedown向下翻一页,pageup向上翻一页,tab在node之间移动,enter当光标在node上时按下enter可进入该node,b将光标移动到第一个node处,c将光标移动到最后一个node处,n前往那个下一个info page ,p前往上一个node处,u向上移动一层,s(/)在infopage中搜索,h显示帮助菜单,?命令一览表,q退出info。-

4、Which:查看命令在哪个位置,#where is command,当系统中安装了同一软件的多个版本时,不确定使用的是哪个版本时,这个命令就能派上用场。

5、Man:而对于命令的具体参数及使用方法,我们需要用到强大的man;在只记得部分命令关键字的场合,我们可通过man -k来搜索;

man常用命令参数

- man -a:搜索并打开所有man中同名帮助,例如 man passwd ,你首先会进入一个PASSWD(1) section用户命令类的帮助手册,你再按q键退出当前正在显示的帮助手册,就会进入PASSWD(5) section文件格式类的帮助手册。

- man -aw:显示所有手册文件的路径。例如man -aw passwd

- /usr/share/man/man1/passwd.1.gz

- /usr/share/man/man5/passwd.5.gz

- man -M:指定手册文件的搜索路径,有的时候我们自己安装的软件是带有自己的帮助文件的,通常不在我们的MANPATH里面,那么我们就可以手动指定man搜索的文件路径。如 man -M /home/mysql/man mysql,显示的就是你安装的mysql的帮助,而不是系统默认的旧版mysql的帮助。

- man -k:根据关键字搜索联机帮助,是一种模糊搜索。例如要查找"passwd"相关的信息,使用man -k passwd会找到很多和passwd相关的帮助页。如:我忘记了iptables命令就只能记住ipta则可以使用man -k ipta ,系统会把包括ipta的命令显示在屏幕上

- man -f:关键字精确搜索,与-k不同,它只搜索与关键字完全匹配的帮助页。

二、grep

grep 选项 查找格式 file,grep [选项] [-e 查找模式| -f 文件]

-r 是递归查找

-n 是显示行号

-R 查找所有文件包含子目录

-i 忽略大小写

-E 将查找模式解释成扩展的正则表达式。

-F 将查找模式解释成单纯的字符串。

-b,--byte-offset 在输出的每一行前面显示包含匹配字符串的行在文件中的位置,用字节偏移量来表示。

-c,--count 只显示文件中包含匹配字符串的行的总数。

-f FILE 从文件FILE中获取模式,每行一个。空文件不含模式,因此,不做匹配。

-i 匹配比较时不区分字母的大小写。

-v 只显示不包含匹配字符串的文本行。

-x 只显示整个行都严格匹配的行。

-l 只列出匹配的文件名,

-L 列出不匹配的文件名,

-w 精确匹配

-A后面可加数字,为 after的意思,除了列出该行外,后续的n行也列出来

-B后面可加数字,为 befer 的意思,除了列出该行外,前面的n行也列出来

-grep -w ‘magic’f1: 只匹配整个单词,而不是字符串的一部分(如匹配’magic’,而不是’magical’),

-grep -C 5 :匹配的上下文分别显示[number]行,

-grep'HID\|ALA':显示匹配 pattern1 或 pattern2 的行,

-egrep "TA(AA|CC)TA”

egrep表示扩展正则表达式,用法上grep –E等同于egrep

-grep HID 1tce-a.pdb|grep ALA :显示既匹配 pattern1 又匹配 pattern2 的行。

-\< 和 \> 分别标注单词的开始与结尾。

grep man * 会匹配 ‘Batman’、’manic’、’man’等,

grep‘\

grep‘\’只匹配’man’,而不是’Batman’或’manic’等其他的字符串。

-‘^xx’:指匹配的字符串在行首,以xx为开头

-‘xx$’:指匹配的字符串在行尾,以xx为结尾

-  '^$' :查找空行

-[]:匹配单个字符;[abl] 匹配 abl中任意一个;[^xx]:对其中的字符进行取反这里只能对的那个字符进行取反 若是希望是多个字符取反的话 还需要看看;[char1-char2]:匹配某个范围之内的数据 例如 [a-z][A-Z][0-9]

grep '^[^TER]'  f1:不显示行首是含TER行

grep '[A-Z]\{4\}' f1:显示所有包含每个字符串至少有4个连续大写字符的字符串的行。

\{n,m\} :匹配的个数

查看g和p之间存在两个连续o的字符串grep -n'go\{2,5\}p'test-grep

查找至少两个的字符创grep -n 'go\{2,\}p' pp test-grep

查找只有两个的字符串grep -n 'go\{2\}p' pp test-grep

-grep--color=auto‘38$’ 1tce-a.pdb 高亮显示在行尾为38

. (小数点):代表『一定有一个任意字节』的意思;

* (星星号):代表『重复前一个字节, 0 到无穷多次』的意思,为组合形态

『o*』代表的是:『拥有空字节或一个 o 以上的字节』, 特别注意,因为允许空字节(就是有没有字节都可以的意思),因此,『 grep -n 'o*' regular_express.txt 』将会把所有的数据都列印出来萤幕上!

同理,当我们需要『至少两个 o 以上的字串』时,就需要 ooo*

三、tar

tar 打包压缩:tar zcvf [目标文件.tgz] 源文件;解压 tar xvf

-j—压缩格式 压缩比高-bz2属性的-tar.bz2

-z—gzip压缩-tar.gz

-Z:有compress属性的

-v:显示所有过程

-O:将文件解开到标准输出

-c 打包成一个文件

-v可见

-x:解压

-t:查看内容

-r:向压缩归档文件末尾追加文ta'r件

-u:更新原压缩包中的文件

tar –xvf file.tar  解压 tar包

tar -xzvf file.tar.gz  解压tar.gz

tar -xjvf file.tar.bz2  解压 tar.bz2

tar –xZvf file.tar.Z  解压tar.Z

unrar e file.rar  解压rar

unzip file.zip  解压zip

zip file.zip *.jpg   压缩zip

rar a file(.rar) *.jpg  压缩rar

gzip -d file.gz  解压gz

gunzip test.txt.gz

gzcat  不解压查看

四、awk

awk  [-F|-f|-v]'BEGIN{} //{command1; command2}  END{}'  file

[-F|-f|-v] 大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value

' ' 引用代码块

BEGIN 初始化代码块,在对每一行进行处理之前,初始化代码,主要是引用全局变量,设置FS分隔符

// 匹配代码块,可以是字符串或正则表达式

//纯字符匹配 !//纯字符不匹配 ~//字段值匹配 !~//字段值不匹配 ~/a1|a2/字段值匹配a1或a2

{} 命令代码块,包含一条或多条命令

; 多条命令使用分号分隔

END 结尾代码块,在对每一行进行处理之后再执行的代码块,主要是进行最终计算或输出结尾摘要信息

awk是个很强大的命令,这里可以推荐一个比较浅显易懂的介绍

http://www.cnblogs.com/xudong-bupt/p/3721210.html

上一篇下一篇

猜你喜欢

热点阅读