linux+筛选命令查询 linux ls筛选

Linux find 命令详解 find 命令的基本结构如下:
find [paths] [expression] [actions]
find 命令接受一个或多个 路径 ( paths )作为搜索范围linux 筛选命令查询 , 并在该路径下 递归 地搜索 。即检索完指定的目录后,还会对该目录下的子目录进行检索,以及子目录下的子目录 。。。直到到达目录树底部 。
默认情况下(不带任何搜索条件),find 命令会返回指定目录下的 所有文件 ,所以常常需要通过特定的expression对结果进行 筛选。
find 命令默认的action是将所有检索结果打印至标准输出 。可以通过自定义action,让 find 命令对搜索到的结果执行特定的操作 。
这里先不做详细解释,简单地测试下 find 命令:
find 命令中的-name选项可以根据文件名称进行检索( 区分大小写 ) 。如需要忽略文件名中的大小写,可以使用-iname选项 。
-name和-iname两个选项都支持wildcards。如:
find /usr -name '*.txt'查找 /usr 目录下所有文件名以.txt结尾的文件
find /usr -name '????'查找 /usr 目录下所有文件名刚好为 4 个字符的文件
有些时候,你需要在搜索时匹配某个文件或目录的 完整路径 , 而不仅仅是匹配文件名 。可以使用-path或-ipath选项 。
如查找 /usr 下所有文件名以.txt结尾的文件或目录,且该文件的父目录必须是src。可以使用以下命令:
find /usr -path '*/src/*.txt'
如果只想搜索得到文件 或 目录 , 即不想它们同时出现在结果中 。可以使用-type选项指定文件类型 。
-type选项最常用的参数如下:
find /usr -type d -name 'python*'检索 /usr 下所有文件名以python开头的 目录
find 命令支持-empty选项用来检索 为空 的文件或目录 。空文件即文件里没有任何内容 , 空目录即目录中没有任何文件或子目录 。
find ~ -type d -empty检索用户主目录下所有的空目录
find 命令也允许用户对当前的匹配条件进行 “反义” (类似于 逻辑非 操作) 。
如需要检索 /usr 下所有文件名 不 以.txt为后缀的文件 。可以使用以下命令:
find /usr -type f ! -name '*.txt'
也可以“翻转”任何其他的筛选条件,如:
find /usr -type f ! -empty检索 /usr 下所有内容不为空的文件
为了检索归属于特定用户的文件或目录,可以使用-user选项 。
find / -type f -user starky检索根目录下所有属主为 starky 的文件
类似于-user 选项 , -group选项则可以根据文件或目录的 属组 进行检索 。
有些时候,需要根据文件创建或修改的时间进行检索 。
Linux 系统中,与文件相关联的时间参数有以下三种:
与此对应的是 find 命令中的-mtime,-atime和-ctime三个选项 。
这三个选项的使用遵循以下示例中的规则:
find /usr -type f -mtime 2检索 /usr 下两天前被修改过的文件
如果觉得-mtime等选项以 天 为单位时间有点长,还可以使用-mmin ,-amin , -cmin三个选项:
find /usr -type f -mtime50 -mtime -100检索 /usr 下 50 到 100 天之前修改过的文件
find /usr -type f -mtime 2 -amin 5检索 /usr 下两天前被修改过且 5 分钟前又读取过的文件
-size选项允许用户通过文件大小进行搜索(只适用于文件,目录没有大小……) 。
表示文件大小的单位由以下字符组成:
另外,还可以使用或-符号表示 大于 或 小于 当前条件 。
find / -size1G检索文件大小高于 1 GB 的文件
find 命令可以使用-perm选项以文件权限为依据进行搜索 。
如需要检索 /usr 目录下权限为rwxr-xr-x的文件 , 可以使用以下命令:
find /usr -perm u=rwx,g=rx,o=rx
搜索 /usr 目录下所有权限为r-xr-xr-x (即系统中的所有用户都只有读写权限)的文件和目录,可以使用以下命令:
find /usr -perm a=rx
很多时候,linux 筛选命令查询我们只想匹配文件权限的一个 子集。比如 , 检索可以直接被任何用户执行的文件,即只关心文件的执行权限,而不用管其读写权限是什么 。
上述的需求可以通过以下命令实现: find / -type f -perm /a=x
其中a=x前面的/符号即用来表示只匹配权限的某个子集(执行权限),而不用关心其他权限的具体设置 。
-perm选项也支持数字形式的文件权限标记 。
find /usr -perm 644搜索 /usr 目录下权限为644 (即rwxr-xr-x )的文件
find 命令默认是以 递归 的方式检索项目的,这有时候会导致得到的结果数量非常巨大 。可以使用-maxdepth限制 find 命令递归的层数 。
find / -maxdepth 3搜索时向下递归的层数最大为 3
在之前的例子中有出现多个搜索条件的 组合 以及对某个搜索条件的 反转。
实际上 find 命令支持“and”和“or”两种逻辑运算,对应的命令选项分别是-a和-o。通过这两个选项可以对搜索条件进行更复杂的组合 。
此外还可以使用 小括号 对搜索条件进行 分组。注意find命令中的小括号常需要用 单引号 包裹起来 。因小括号在 Shell 中有特殊的含义 。
如检索 /usr 下文件名以python开头且类型为目录的文件
find /usr -type d -name 'python*'
该命令等同于:
find /usr -type d -a -name 'python*'
更复杂的组合形式如:
find / '(' -mmin -5 -o -mtime50 ')' -a -type f
-delete选项可以用来删除搜索到的文件和目录 。
如删除 home 目录下所有的空目录:
find ~ -type d -empty -delete
-exec选项可以对搜索到的结果执行特定的命令 。
如需要将 home 目录下所有的 MP3 音频文件复制到移动存储设备(假设路径是/media/MyDrive ),可使用下面的命令:
find ~ -type f -name '*.mp3' -exec cp {} /media/MyDrive ';'
其中的 大括号 ( {} )作为检索到的文件的占位符 , 而分号(; )作为命令结束的标志 。因为分号是 Shell 中有特殊含义的符号 , 所以需要使用单引号括起来 。
每当 find 命令检索到一个符合条件的文件 , 会使用其完整路径取代命令中的{},然后执行-exec后面的命令一次 。
另一个很重要的用法是,在多个文件中检索某个指定的字符串 。
如在用户主目录下的所有文件中检索字符串hello,可以使用如下命令:
find ~ -type f -exec grep -l hello {} ';'
创建 Gzip 格式的压缩文件的命令为: tar -czvf filename.tar.gz list of files
现在假设需要将用户主目录下所有的 MP3 文件添加到压缩包music.tar.gz中,直观的感觉是,其命令应为如下形式:
find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} ';'
【linux 筛选命令查询 linux ls筛选】 实际情况是,这样得到的music.tar.gz其实只包含一个 MP3 文件 。
原因是 find 命令 每次 发现一个音频文件,都会再执行一次-exec选项后面的压缩命令 。导致先前生成的压缩包被覆盖 。
可以先让 find 命令检索出所有符合条件的音频文件,再将得到的 文件列表 传递给后面的压缩命令 。完整的命令如下:
find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {}
如果想浏览搜索到的文件(目录)的详细信息(如权限和大小等),可以直接使用-ls选项 。
find / -type file -size1G -ls浏览所有 1G 以上大小的文件的详细信息
A Guide to the Linux “Find” Command
find 命令手册 : man find
在Linux系统中如何筛选出一个文件只能够以a开头的行直接使用通配符 。
ls la* 。
这是一种方法linux 筛选命令查询,*表示匹配任何长度linux 筛选命令查询的任意字符linux 筛选命令查询,通过这样的方式就可以查找到所有以ls开头的文件linux 筛选命令查询,如果我们想查找文件名中含有la的文件,只需输入“ls *la*”即可 。
扩展资料:
ls 指令是Linux下最常用的指令之一 。
ls 命令将每个由 Directory 参数指定的目录或者每个由 File 参数指定的名称写到标准输出,以及您所要求的和标志一起的其它信息 。
运用举例:
1、列出具体文件 #ls -al //这个最常用,可是往往又不彻底符合要求,
2、列出一切子目录的文件:#ls -R //上个指令仅仅列出了本目录下的一切目录和文件,可是目录下的文件不会循环的列出 。
Linux常用命令详解 | find find 命令的基本结构如下:
find 命令手册 : man find
find 命令中的-name选项可以根据文件名称进行检索( 区分大小写 ) 。如需要忽略文件名中的大小写,可以使用-iname选项 。
-name和-iname两个选项都支持wildcards。如:
例1:查找 /usr 目录下所有文件名以.txt结尾的文件
例2:查找 /usr 目录下所有文件名刚好为 4 个字符的文件
例3:查以大写字母开头的文件
例4:查以两个小写字母和两个数字开头的txt文件
类似的还有:
-lname -ilname
-path -ipath
-regx -iregx
有些时候,你需要在搜索时匹配某个文件或目录的 完整路径 ,而不仅仅是匹配文件名 。可以使用-path或-ipath选项 。
例1:如查找 /usr 下所有文件名以.txt结尾的文件或目录,且该文件的父目录必须是src。可以使用以下命令:
例2:在当前目录除aa之外的子目录内搜索 txt文件
例3:在当前目录,不再子目录中,查找txt文件
如果只想搜索得到文件 或 目录 , 即不想它们同时出现在结果中 。可以使用-type选项指定文件类型 。
-type选项最常用的参数如下:
例:检索 /usr 下所有文件名以python开头的目录
find 命令支持-empty选项用来检索 为空 的文件或目录 。空文件即文件里没有任何内容,空目录即目录中没有任何文件或子目录 。
例:检索用户主目录下所有的空目录
find 命令也允许用户对当前的匹配条件进行 “反义” (类似于 逻辑非 操作) 。
如需要检索 /usr 下所有文件名 不 以.txt为后缀的文件 。可以使用以下命令:
也可以“翻转”任何其他的筛选条件 , 如:检索 /usr 下所有内容不为空的文件
为了检索归属于特定用户的文件或目录,可以使用-user选项 。
例:检索根目录下所有属主为 starky 的文件
类似于-user 选项,-group选项则可以根据文件或目录的 属组 进行检索 。
有些时候 , 需要根据文件创建或修改的时间进行检索 。
Linux 系统中,与文件相关联的时间参数有以下三种:
与此对应的是 find 命令中的-mtime , -atime和-ctime三个选项 。
这三个选项的使用遵循以下示例中的规则:
检索 /usr 下两天前被修改过的文件
如果觉得-mtime等选项以 天 为单位时间有点长,还可以使用-mmin,-amin ,-cmin三个选项 。
查找比 aa.txt新 的文件
查找比 aa.txt旧 的文件
查找比aa.txt新 , 比bb.txt旧的文件
-size选项允许用户通过文件大小进行搜索(只适用于文件,目录没有大小……) 。
表示文件大小的单位由以下字符组成:
另外,还可以使用或-符号表示 大于 或 小于 当前条件 。
检索文件大小高于 1 GB 的文件
find 命令可以使用-perm选项以文件权限为依据进行搜索 。
9.1使用符号形式
例1:如需要检索 /usr 目录下权限为rwxr-xr-x的文件 , 可以使用以下命令:
例2:搜索 /usr 目录下所有权限为r-xr-xr-x (即系统中的所有用户都只有读写权限)的文件和目录 , 可以使用以下命令:
很多时候,我们只想匹配文件权限的一个 子集。比如,检索可以直接被任何用户执行的文件,即只关心文件的执行权限,而不用管其读写权限是什么 。
上述的需求可以通过以下命令实现:
其中a=x前面的/符号即用来表示只匹配权限的某个子集(执行权限),而不用关心其他权限的具体设置 。
9.2使用数字形式
例如:搜索 /usr 目录下权限为644 (即rwxr-xr-x )的文件
find 命令默认是以 递归 的方式检索项目的,这有时候会导致得到的结果数量非常巨大 。可以使用-maxdepth限制 find 命令递归的层数 。
例如:搜索时向下递归的层数最大为 3
在之前的例子中有出现多个搜索条件的 组合 以及对某个搜索条件的 反转。
实际上 find 命令支持“and”和“or”两种逻辑运算,对应的命令选项分别是-a和-o。通过这两个选项可以对搜索条件进行更复杂的组合 。
此外还可以使用 小括号 对搜索条件进行 分组。注意find命令中的小括号常需要用 单引号 包裹起来 。因小括号在 Shell 中有特殊的含义 。
如检索 /usr 下文件名以python开头且类型为目录的文件
该命令等同于:
更复杂的组合形式如:
例4:在除dir0及子目录以外的目录下查找txt后缀文件
说明:-a 应该是and的缩写,意思是逻辑运算符‘与’(); -o应该是or的缩写,意思是逻辑运算符‘或’(||), -not 表示非.
命令行的意思是:如果目录dir0存在(即-a左边为真) , 则求-prune的值,-prune 返回真,‘与’逻辑表达式为真(即-path './dir0*' -a -prune 为真) , find命令将在除这个目录以外的目录下查找txt后缀文件并打印出来;如果目录dir0不存在(即-a左边为假) , 则不求值-prune,‘与’逻辑表达式为假,则在当前目录下查找所有txt后缀文件 。
-delete选项可以用来删除搜索到的文件和目录 。
例如:删除 home 目录下所有的空目录:
-exec选项可以对搜索到的结果执行执行该参数所给出的shell命令 。形式为 command {} \;,注意{}与\;之间有空格。每当 find 命令检索到一个符合条件的文件,会使用其完整路径取代命令中的{},然后执行-exec后面的命令一次 。
例1:如需要将 home 目录下所有的 MP3 音频文件复制到移动存储设备(假设路径是/media/MyDrive ),可使用下面的命令:
其中的 大括号 ( {} )作为检索到的文件的占位符,而分号(; )作为命令结束的标志 。因为分号是 Shell 中有特殊含义的符号,所以需要使用单引号括起来或前面加上转义符 \。
例2:查看当前目录下的所有普通文件,并在 - exec 选项中使用 ls -l 命令将它们列出
例3:在多个文件中检索某个指定的字符串 。如在用户主目录下的所有文件中检索字符串hello,可以使用如下命令:
创建 Gzip 格式的压缩文件的命令为:
现在假设需要将用户主目录下所有的 MP3 文件添加到压缩包music.tar.gz中,直观的感觉是,其命令应为如下形式:
实际情况是,这样得到的music.tar.gz其实只包含一个 MP3 文件 。原因是 find 命令 每次 发现一个音频文件,都会再执行一次-exec选项后面的压缩命令 。导致先前生成的压缩包被覆盖 。
可以先让 find 命令检索出所有符合条件的音频文件,再将得到的 文件列表 传递给后面的压缩命令 。完整的命令如下:
如果想浏览搜索到的文件(目录)的详细信息(如权限和大小等),可以直接使用-ls选项 。
例如:浏览所有 1G 以上大小的文件的详细信息
与exec作用相同,区别在于,在执行命令之前 , 都会给出提示,让用户确认是否执行
与 exec 作用相同 ,起承接作用 。区别在于 |xargs 主要用于承接删除操作 ,而 -exec 都可用 如复制、移动、重命名等
例1:查找以ap或may开头的文件
例2:查硬连接数大于2的文件或目录
例3:查找含特定字符串的文件 。查找当前目录下含有"the string you want find…"字符串的文件:
例4:从根目录开始查tmpfile , 一旦查到马上删除
例5:如何用find查找某一天更改的文件?可以使用这一行命令来实现:
A Guide to the Linux “Find” Command
Linux命令之筛选条件grep (过滤)
过滤需要linux 筛选命令查询的内容linux 筛选命令查询 ,
-v 需要排除的内容linux 筛选命令查询,
-i不分辨大小写,
-n匹配的内容在其行首显示行号 ,
-A (after)显示匹配字符串及其后n行,
-B (before)显示匹配字符串及其前n行,
-C(context)显示匹配字符串
下边是想凑字数的啦啦
Linux常用指令---grep(搜索过滤)(转)Linux常用指令---grep(搜索过滤) (转)
Linux系统中grep命令是一种强大linux 筛选命令查询的文本搜索工具,它能使用正则表达式搜索文本 , 并把匹 配的行打印出来 。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户 。
grep的工作方式是这样的 , 它在一个或多个文件中搜索字符串模板 。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名 。搜索的结果被送到标准输出 , 不影响原文件内容 。
grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功 , 则返回1,如果搜索的文件不存在,则返回2 。我们利用这些返回值就可进行一些自动化的文本处理工作 。
1.命令格式linux 筛选命令查询:
grep [option] pattern file
2.命令功能:
用于过滤/搜索的特定字符 。可使用正则表达式能多种命令配合使用,使用上十分灵活 。
3.命令参数:
-a--text#不要忽略二进制的数据 。
-A显示行数--after-context=显示行数#除了显示符合范本样式的那一列之外,并显示该行之后的内容 。
-b--byte-offset#在显示符合样式的那一行之前,标示出该行第一个字符的编号 。
-B显示行数--before-context=显示行数#除了显示符合样式的那一行之外,并显示该行之前的内容 。
-c--count#计算符合样式的列数 。
-C显示行数--context=显示行数或-显示行数#除了显示符合样式的那一行之外,并显示该行之前后的内容 。
-d 动作--directories=动作#当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作 。
-e范本样式--regexp=范本样式#指定字符串做为查找文件内容的样式 。
-E--extended-regexp#将样式为延伸的普通表示法来使用 。
-f规则文件--file=规则文件#指定规则文件 , 其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式 。
-F--fixed-regexp#将样式视为固定字符串的列表 。
-G--basic-regexp#将样式视为普通的表示法来使用 。
-h--no-filename#在显示符合样式的那一行之前,不标示该行所属的文件名称 。
-H--with-filename#在显示符合样式的那一行之前,表示该行所属的文件名称 。
-i--ignore-case#忽略字符大小写的差别 。
-l--file-with-matches#列出文件内容符合指定的样式的文件名称 。
-L--files-without-match#列出文件内容不符合指定的样式的文件名称 。
-n--line-number#在显示符合样式的那一行之前,标示出该行的列数编号 。
-q--quiet或--silent#不显示任何信息 。
-r--recursive#此参数的效果和指定“-d recurse”参数相同 。
-s--no-messages#不显示错误信息 。
-v--revert-match#显示不包含匹配文本的所有行 。
-V--version#显示版本信息 。
-w--word-regexp#只显示全字符合的列 。
-x--line-regexp#只显示全列符合的列 。
-y#此参数的效果和指定“-i”参数相同 。
4.规则表达式:
grep的规则表达式:
^#锚定行的开始 如:'^grep'匹配所有以grep开头的行 。
$#锚定行的结束 如:'grep$'匹配所有以grep结尾的行 。
.#匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p 。
*#匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行 。
.*#一起用代表任意字符 。
[]#匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep 。
[^]#匹配一个不在指定范围内的字符 , 如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行 。
\(..\)#标记匹配字符,如'\(love\)',love被标记为1 。
\#锚定单词的开始,如:'\
\#锚定单词的结束,如'grep\'匹配包含以grep结尾的单词的行 。
x\{m\}#重复字符x,m次,如:'0\{5\}'匹配包含5个o的行 。
x\{m,\}#重复字符x,至少m次 , 如:'o\{5,\}'匹配至少有5个o的行 。
x\{m,n\}#重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行 。
\w#匹配文字和数字字符 , 也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p 。
\W#\w的反置形式 , 匹配一个或多个非单词字符,如点号句号等 。
\b#单词锁定符,如: '\bgrep\b'只匹配grep 。
POSIX字符:
为了在不同国家的字符编码中保持一至,POSIX(The Portable Operating System Interface)增加了特殊的字符类,如[:alnum:]是[A-Za-z0-9]的另一个写法 。要把它们放到[]号内才能成为正则表达式 , 如[A- Za-z0-9]或[[:alnum:]] 。在linux下的grep除fgrep外 , 都支持POSIX的字符类 。
[:alnum:]#文字数字字符
[:alpha:]#文字字符
[:digit:]#数字字符
[:graph:]#非空字符(非空格、控制字符)
[:lower:]#小写字符
[:cntrl:]#控制字符
[:print:]#非空字符(包括空格)
[:punct:]#标点符号
[:space:]#所有空白字符(新行,空格,制表符)
[:upper:]#大写字符
[:xdigit:]#十六进制数字(0-9,a-f,A-F)
5.使用实例:
实例1:查找指定进程
命令:
ps -ef|grep svn
输出:
[root@localhost ~]# ps -ef|grep svn
root 494310Dec05 ?00:00:00 svnserve -d -r /opt/svndata/grape/
root 16867 168380 19:53 pts/000:00:00 grep svn
[root@localhost ~]#
说明:
第一条记录是查找出的进程;第二条结果是grep进程本身 , 并非真正要找的进程 。
实例2:查找指定进程个数
命令:
ps -ef|grep svn -c
ps -ef|grep -c svn
输出:
[root@localhost ~]# ps -ef|grep svn -c
2
[root@localhost ~]# ps -ef|grep -c svn
2
[root@localhost ~]#
说明:
实例3:从文件中读取关键词进行搜索
命令:
cat test.txt | grep -f test2.txt
输出:
[root@localhost test]# cat test.txt
hnlinux
peida.cnblogs.com
ubuntu
ubuntu linux
redhat
Redhat
linuxmint
[root@localhost test]# cat test2.txt
linux
Redhat
[root@localhost test]# cat test.txt | grep -f test2.txt
hnlinux
ubuntu linux
Redhat
linuxmint
[root@localhost test]#
说明:
输出test.txt文件中含有从test2.txt文件中读取出的关键词的内容行
实例3:从文件中读取关键词进行搜索 且显示行号
命令:
cat test.txt | grep -nf test2.txt
输出:
[root@localhost test]# cat test.txt
hnlinux
peida.cnblogs.com
ubuntu
ubuntu linux
redhat
Redhat
linuxmint
[root@localhost test]# cat test2.txt
linux
Redhat
[root@localhost test]# cat test.txt | grep -nf test2.txt
1:hnlinux
4:ubuntu linux
6:Redhat
7:linuxmint
[root@localhost test]#
说明:
输出test.txt文件中含有从test2.txt文件中读取出的关键词的内容行,并显示每一行的行号
实例5:从文件中查找关键词
命令:
grep 'linux' test.txt
输出:
[root@localhost test]# grep 'linux' test.txt
hnlinux
ubuntu linux
linuxmint
[root@localhost test]# grep -n 'linux' test.txt
1:hnlinux
4:ubuntu linux
7:linuxmint
[root@localhost test]#
说明:
实例6:从多个文件中查找关键词
命令:
grep 'linux' test.txt test2.txt
输出:
[root@localhost test]# grep -n 'linux' test.txt test2.txt
test.txt:1:hnlinux
test.txt:4:ubuntu linux
test.txt:7:linuxmint
test2.txt:1:linux
[root@localhost test]# grep 'linux' test.txt test2.txt
test.txt:hnlinux
test.txt:ubuntu linux
test.txt:linuxmint
test2.txt:linux
[root@localhost test]#
说明:
多文件时,输出查询到的信息内容行时,会把文件的命名在行最前面输出并且加上":"作为标示符
实例7:grep不显示本身进程
命令:
ps aux|grep \[s]sh
ps aux | grep ssh | grep -v "grep"
输出:
[root@localhost test]# ps aux|grep ssh
root27200.00.0626561212 ?SsNov020:00 /usr/sbin/sshd
root168340.00.0880883288 ?Ss19:530:00 sshd: root@pts/0
root169010.00.061180764 pts/0S20:310:00 grep ssh
[root@localhost test]# ps aux|grep \[s]sh]
[root@localhost test]# ps aux|grep \[s]sh
root27200.00.0626561212 ?SsNov020:00 /usr/sbin/sshd
root168340.00.0880883288 ?Ss19:530:00 sshd: root@pts/0
[root@localhost test]# ps aux | grep ssh | grep -v "grep"
root27200.00.0626561212 ?SsNov020:00 /usr/sbin/sshd
root168340.00.0880883288 ?Ss19:530:00 sshd: root@pts/0
说明:
实例8:找出已u开头的行内容
命令:
cat test.txt |grep ^u
输出:
[root@localhost test]# cat test.txt |grep ^u
ubuntu
ubuntu linux
[root@localhost test]#
说明:
实例9:输出非u开头的行内容
命令:
cat test.txt |grep ^[^u]
输出:
[root@localhost test]# cat test.txt |grep ^[^u]
hnlinux
peida.cnblogs.com
redhat
Redhat
linuxmint
[root@localhost test]#
说明:
实例10:输出以hat结尾的行内容
命令:
cat test.txt |grep hat$
输出:
[root@localhost test]# cat test.txt |grep hat$
redhat
Redhat
[root@localhost test]#
说明:
实例11:输出ip地址
命令:
ifconfig eth0|grep -E "([0-9]{1,3}\.){3}[0-9]"
输出:
[root@localhost test]# ifconfig eth0|grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}"
inet addr:192.168.120.204Bcast:192.168.120.255Mask:255.255.255.0
[root@localhost test]# ifconfig eth0|grep -E "([0-9]{1,3}\.){3}[0-9]"
inet addr:192.168.120.204Bcast:192.168.120.255Mask:255.255.255.0
[root@localhost test]#
说明:
实例12:显示包含ed或者at字符的内容行
命令:
cat test.txt |grep -E "ed|at"
输出:
[root@localhost test]# cat test.txt |grep -E "peida|com"
peida.cnblogs.com
[root@localhost test]# cat test.txt |grep -E "ed|at"
redhat
Redhat
[root@localhost test]#
说明:
实例13:显示当前目录下面以.txt 结尾的文件中的所有包含每个字符串至少有7个连续小写字符的字符串的行
命令:
grep '[a-z]\{7\}' *.txt
输出:
[root@localhost test]# grep '[a-z]\{7\}' *.txt
test.txt:hnlinux
test.txt:peida.cnblogs.com
test.txt:linuxmint
[root@localhost test]#
实例14:日志文件过大 , 不好查看,我们要从中查看自己想要的内容,或者得到同一类数据,比如说没有404日志信息的
命令:
grep '.' access1.log|grep -Ev '404'access2.log
grep '.' access1.log|grep -Ev '(404|/photo/|/css/)'access2.log
grep '.' access1.log|grep -E '404'access2.log
输出:
[root@localhost test]# grep “.”access1.log|grep -Ev “404”access2.log
说明:上面3句命令前面两句是在当前目录下对access1.log文件进行查找,找到那些不包含404的行 , 把它们放到access2.log中,后面去掉’v’,即是把有404的行放入access2.log
常用linux命令及作用总结1. ls 命令,只展示文件夹名称内容,ll展示文件权限还有一些什么
2.cd 进入目录./当前目录../表示上级目录
3.cp作用复制
4.rm作用删除
5.mv作用移动
6.pwd查看目录完整目录
7.tar压缩目录
8.kill杀死进程
9.ps查看系统进程线程
权限相关
chmod更改权限
文本查看编辑等命令
1.vi/vim 编辑文件
2.cat 查看配置文件,查看的是整个文件 , 注意使用grep过滤筛选
3.tail一般使用它查询文件最后多少条
shutdown - h 关机
shutdown - r 重启
关于linux 筛选命令查询和linux ls筛选的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读