Linux命令之find概述find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。语法格式find选项参数选项-a:就是and-o:就是or-not:就是相反-amin分钟:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;-anewer参考文件或目录:查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录;-atime24小时数:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;-cmin分钟:查找在指定时间之时被更改过的文件或目录;-cnewer参考文件或目录查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;-ctime24小时数:查找在指定时间之时被更改的文件或目录,单位以24小时计算;-daystart:从本日开始计算时间;-depth:从指定目录下最深层的子目录开始查找;-expty:寻找文件大小为0Byte的文件,或目录下没有任何子目录或文件的空目录;-exec执行指令:假设find指令的回传值为True,就执行该指令;-false:将find指令的回传值皆设为False;-fls列表文件:此参数的效果和指定“-ls”参数类似,但会把结果保存为指定的列表文件;-follow:排除符号连接;-fprint列表文件:此参数的效果和指定“-print”参数类似,但会把结果保存成指定的列表文件;-fprint0列表文件:此参数的效果和指定“-print0”参数类似,但会把结果保存成指定的列表文件;-fprintf列表文件输出格式:此参数的效果和指定“-printf”参数类似,但会把结果保存成指定的列表文件;-fstype文件系统类型:只寻找该文件系统类型下的文件或目录;-gid群组识别码:查找符合指定之群组识别码的文件或目录;-group群组名称:查找符合指定之群组名称的文件或目录;-help或——help:在线帮助;-ilname范本样式:此参数的效果和指定“-lname”参数类似,但忽略字符大小写的差别;-iname范本样式:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;-inum:查找符合指定的inode编号的文件或目录;-ipath范本样式:此参数的效果和指定“-path”参数类似,但忽略字符大小写的差别;-iregex范本样式:此参数的效果和指定“-regexe”参数类似,但忽略字符大小写的差别;-links连接数目:查找符合指定的硬连接数目的文件或目录;-iname范本样式:指定字符串作为寻找符号连接的范本样式;-ls:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出;-maxdepth目录层级:设置最大目录层级;-mindepth目录层级:设置最小目录层级;-mmin分钟:查找在指定时间曾被更改过的文件或目录,单位以分钟计算;-mount:此参数的效果和指定“-xdev”相同;-mtime24小时数:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;-name范本样式:指定字符串作为寻找文件或目录的范本样式;-newer参考文件或目录:查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录;-nogroup:找出不属于本地主机群组识别码的文件或目录;-noleaf:不去考虑目录至少需拥有两个硬连接存在;-nouser:找出不属于本地主机用户识别码的文件或目录;-ok执行指令:此参数的效果和指定“-exec”类似,但在执行指令之前会先询问用户,若回答“y”或“Y”,则放弃执行命令;-path范本样式:指定字符串作为寻找目录的范本样式;-perm权限数值:查找符合指定的权限数值的文件或目录;-print:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称前皆有“./”字符串;-print0:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行;-printf输出格式:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定;-prune:不寻找字符串作为寻找文件或目录的范本样式;-regex范本样式:指定字符串作为寻找文件或目录的范本样式;-size文件大小:查找符合指定的文件大小的文件;-true:将find指令的回传值皆设为True;-type文件类型:只寻找符合指定的文件类型的文件;-uid用户识别码:查找符合指定的用户识别码的文件或目录;-used日数:查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算;-user拥有者名称:查找符和指定的拥有者名称的文件或目录;-version或——version:显示版本信息;-xdev:将范围局限在先行的文件系统中;-xtype文件类型:此参数的效果和指定“-type”参数类似,差别在于它针对符号连接检查。以上红色选项为经常使用常用实例:find/home-name“*.txt”###查找/home目录下以.txt结尾的文件find/home-iname“*.txt”###同上,但是忽略大小写find.-name“*.txt”-o-name“*.pdf”###查找存在多匹配的时候,需要用-o参数连接find.-regex“.*\(\.txt\|\.pdf\)$”###匹配正则表达式find/home!-name“*.txt”###找出不是以.txt结尾的文件,!的作用就是取反find.-type类型参数###f是普通文件,l是链接文件,d是目录文件,c是字符设备文件,b是块设备文件,s是套接字文件,p是管道文件find.-typef时间戳###访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。###修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。###变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。find.-typef-atime-7###找出7天内被访问过的文件find.-typef-atime7###找出恰好是7天前那一天访问过的文件find.-typef-mtime+7###找出超过7天前修改过的文件find.-typef-size文件大小###b—块(512字节),c—字节,w—字(2字节),k—千字节,M—兆字节,G—吉字节find.-typef-size+10k###搜索大于10k的文件find.-typef-size-10k###搜索小于10k的文件find.-typef-size10k###搜索等于10k的文件find.-typef-perm777###搜索当前目录下权限为777的文件find.-typef-name“*.php”!-perm644###找出目录下权限不是644的php文件find.-typef-usertom###找出当前目录下用户tom所拥有的文件find$HOME/.-name“*.txt”-execrm{}\;###找出自己家目录下所有.txt文件并删除find.-typef-mtime+30-name“*.log”-execcp{}old\;###将30天前修改的.log文件拷贝到old目录下{}代表find命令所找到的结果集,-exec必须以\;结束Find.–typef-name“*.txt”-execprintf“File:%s\n”{}\;###找出当前目录下所有.txt文件,并以“File:文件名”的形式打印出来Linux命令之sed概述:sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。命令格式:sed[options]'command'file(s)sed[options]-fscriptfilefile(s)sed命令:a\在当前行下面插入文本。i\在当前行上面插入文本。c\把选定的行改为新的文本。d删除,删除选择的行。D删除模板块的第一行。s替换指定字符h拷贝模板块的内容到内存中的缓冲区。H追加模板块的内容到内存中的缓冲区。g获得内存缓冲区的内容,并替代当前模板块中的文本。G获得内存缓冲区的内容,并追加到当前模板块文本的后面。l列表不能打印字符的清单。n读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。N追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。p打印模板块的行。P(大写)打印模板块的第一行。q退出Sed。blable分支到脚本中带有标记的地方,如果分支不存在则分支到脚本的末尾。rfile从file中读行。tlabelif分支,从最后一行开始,条件一旦满足或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。Tlabel错误分支,从最后一行开始,一旦发生错误或者T,t命令,将导致分支到带有标号的命令处,或者到脚本的末尾。wfile写并追加模板块到file末尾。Wfile写并追加模板块的第一行到file末尾。!表示后面的命令对所有没有被选定的行发生作用。=打印当前行号码。#把注释扩展到下一个换行符以前sed替换标记:g表示行内全面替换。p表示打印行。w表示把行写入一个文件。x表示互换模板块中的文本和缓冲区中的文本。y表示把一个字符翻译为另外的字符(但是不用于正则表达式)\1子串匹配标记&已匹配字符串标记sed元字符集:^匹配行开始,如:/^sed/匹配所有以sed开头的行。$匹配行结束,如:/sed$/匹配所有以sed结尾的行。.匹配一个非换行符的任意字符,如:/s.d/匹配s后接一个任意字符,最后是d。*匹配0个或多个字符,如:/*sed/匹配所有模板是一个或多个空格后紧跟sed的行。[]匹配一个指定范围内的字符,如/[ss]ed/匹配sed和Sed。[^]匹配一个不在指定范围内的字符,如:/[^A-RT-Z]ed/匹配不包含A-R和T-Z的一个字母开头,紧跟ed的行。\(..\)匹配子串,保存匹配的字符,如s/\(love\)able/\1rs,loveable被替换成lovers。&保存搜索字符用来替换其他字符,如s/love/**&**/,love这成**love**。\匹配单词的开始,如:/\love/匹配包含以love开头的单词的行。\匹配单词的结束,如/love\/匹配包含以love结尾的单词的行。x\{m\}重复字符x,m次,如:/0\{5\}/匹配包含5个0的行。x\{m,\}重复字符x,至少m次,如:/0\{5,\}/匹配至少有5个0的行。x\{m,n\}重复字符x,至少m次,不多于n次,如:/0\{5,10\}/匹配5~10个0的行。sed常用实例:sed-n‘s/book/books/gp’file###-n选项表示只输出受影响的行,p是打印,g是全局,s是替换sed-i‘s/book/books/g’file###-i选项是直接对文件做修改,不会输出结果sed‘s:test:TEXT:g’###通常定界符用/,也可以使用其它的任意定界符比如:或者|等等,不建议用过于复杂且不好记的符号sed‘s|test|TEXT|g’###这里用的是|为定界符sed‘s/\/bin/\/usr\/local\/bin/g’###当定界符用在样式内部时,需