一、使用帮助
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