文件管理 · 2022年8月24日

linux快速检索大文件的内容|如何在Linux中查看占用空间大文件和大文件夹

⑴ linux系统怎么批量查找文件与文件内容

比如查找当前目录下面所有的php文件里面某个关键字代码如下复制代码find ./ -name *.php | xargs grep ‘关键字’如果需要查找的内容包含特殊符号,比如$等等,grep要加参数代码如下复制代码find ./ -name *.php | xargs grep -F ‘关键字’文件名查找文件名查找方法:例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:代码如下复制代码find /etc -name '*srm*'这个命令表明了linux系统将在/etc 整个目录中查找所有的包含有srm这3个字母的文件,比如 absrmyz,tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由 srm 这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:代码如下复制代码find /etc -name 'srm*'一些其它参考

⑵ linux下如何查看文件大小 快速找到最大文件的方法

1. 首先我们先来看最简单的方法,这种方法只是适用于有图形界面的linux操作系统,例如fedora操作系统。右击我们需要查看文件夹,然后点击属性选项,在弹出的属性框中找到内容所在一行,会列出此文件夹有多少项和其大小 2.当然以上方法适用范围有限,只适用于图形界面的linux操作系统,下面小编介绍一种通用的方法,那就是使用命令行操作。你的linux操作系统可以没有图形界面,但总不会不能操作命令行吧,我们点击终端开始操作命令行。 3.首先我们使用ls命令,列出当前文件夹下的所有文件和文件夹,然后我们使用cd命令打开我们需要查看文件夹大小的文件夹,然后我们使用 -s命令,此时我们可能会看到一长串的数字,这就是我们先要的文件夹的大小,只不过显示的是文件夹的字节数。 4.很多朋友可能不习惯字节数,不知道它到底是代表多大,此时我们可以再次使用命令,只不过把后面的参数多加一个h,具体命令是 -sh,然后我们再来看看数值,是不是变了呢,已经变成了以M结尾的数字。 5.当然命令除了这种用法之外还有其他的用法,那就直接在 -sh /输入你想要查询的文件夹路径即可,例如 -sh /home/fengshenlong/vm就是查询vm文件夹的大小,输入命令即可看到,跟直接进入目录输入的结果是一致的。 6.当然除了命令之外还有ls命令也可以查询文件和目录的大小,但是小编使用命令之后查询出来的大小都是4.0k不知道是用法不对还是其他的原因,故在此没有详细的做出介绍,如果有兴趣的朋友可以研究一下它的具体用法。

⑶ linux查找内容命令

find,用于在文件树中查找文件并作相应的处理

-name:按照文件名查找文件

-perm:按照文件权限查找文件

-user:按照文件属主来查找文件

-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】

-group:按照文件所属的组来查找文件

-mtime<-n><+n>:按照文件更改时间来查找文件,-n表示n天之内,+n表示n天以前

-newer file1 file2:查找更改时间在file1和file2之间的文件

例如:

find -mtime -2:查找48小时修改过的文件

find -name ".log":查找当前目录以".log"结尾的文件

find /opt/soft/test -perm 777:查找指定目录下权限为777的文件

find -type f -name "*.log":查找当前目录下以".log"结尾的普通文件

find -type d | sort:查找当前所有目标目录并排序

find /home/wansw -size +20M:查找大于20M的文件

locate指令,可以快速定位文件路径,利用事先建立的系统中的所有文件名称和路径的locate数据库,无需遍历整个文件系统,查询速度较快,为了保证查询准确性,需要定期更新。《Linux就该这么学》

updatedb:第一次运行前,创建locate数据库

grep,用于过滤/搜索指定字符串。可以使用正则表达式,能配合多种命令使用。

用法:grep 【选项】 查找内容 源文件

-A:显示符合的行及之后的内容

-B:显示符合的行及之前的内容

-C:显示符合的行及前后的内容

-c:计算符合的行数目

-n:显示匹配行和行号

-i:忽略大小写

规则表达式

:'grep'表示匹配所有以grep开头的行

'表示匹配所有以grep结尾的行

.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'

:'grep'表示匹配一个或多个空格后紧跟grep的行

[]:[Gg]rep表示匹配Grep与grep

[]:[A-FH-Z]rep表示匹配不以A-F、H-Z开头并紧跟rep的行

例如(grep命令大多数时候多要和别的命令一起使用才有意义):

ps -ef | grep -c SVN:查找指定的进程的个数

cat test.txt | grep -f test2.txt:从text2.txt中读取关键字后在test.txt中搜索

cat test.txt | grep nf text2.txt:从text2.txt中读取关键字后在text.txt中搜索并显示行号

grep 'linux' text.txt test2.txt:从多个文件中搜索关键字'linux'

cat test.txt | grep -E 'ed|at':显示包含ed或at的行

⑷ linux下如何查看大文件的日志内容

日志作为普通的文复本文件存储在磁制盘中,因此可以通过查看文件的命令来查看日志。比如:通过tail命令查看日志的最后10行,通过head命令查看命令的开头10行。日志文件的默认存储路径是:/var/log下面是几个重要的日志文件:/var/log/messages:包括整体系统信息,其中也包含系统启动期间的日志。此外,还包括mail,cron,daemon,kern和auth等内容。/var/log/syslog:它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息。/var/log/user.log:记录所有等级用户信息的日志。/var/log/auth.log:包含系统授权信息,包括用户登录和使用的权限机制等。要查看最新的10条系统消息就可以使用命令:tail/var/log/messages

⑸ linux查找文件内容命令

搜索、查找文件当中的内容,一般最常用的是grep命令,另外还有egrep, vi命令也能搜索文件里面内容

1:搜索某个文件里面是否包含字符串,使用grep "search content" filename1, 例如

$ grep ORA alert_gsp.log

$ grep "ORA" alert_gsp.log

例如我们需要搜索、查找utlspadv.sql文件中包含ORA的字符内容

[[email protected] admin]$ grep "ORA" utlspadv.sql– ORA-XXXXX: Monitoring already started. If for example you want– ORA-20111:– ORA-20112:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'– 0 |<PS> =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""– |<PR> DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM=> 100% 0% 0% "" |<PR> …– =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" |<PR> …– |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00– |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM– ORA-20111:– ORA-20112:– ORA-20100:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'[[email protected] admin]$

如上所示,这个是一个模糊匹配,其实我是想要查看ORA这类错误,那么我要过滤掉哪一些没有用的,搜索的内容修改一下即可(当然也可以使用特殊参数,后面有讲述),如下所示。

[[email protected] admin]$ grep "ORA-" utlspadv.sql– ORA-XXXXX: Monitoring already started. If for example you want– ORA-20111:– ORA-20112:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'– ORA-20111:– ORA-20112:– ORA-20100:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'[[email protected] admin]$

7:有些场景,我们并不知道文件类型、或那些文件包含有我们需要搜索的字符串,那么可以递归搜索某个目录以及子目录下的所有文件

[[email protected] ~]$ grep -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym gv$temp_space_header

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql: FROM gv$temp_space_header

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym v$temp_space_header;

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym gv$temp_space_header;

[[email protected] ~]$

8:如果我们只想获取那些文件包含搜索的内容,那么可以使用下命令

[[email protected] ~]$ grep -H -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql

[[email protected] ~]$ grep -H -r "v$temp_space_header" /u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 | uniq

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspace.sql

/u01/app/oracle/proct/11.1.0/dbhome_1/rdbms/admin/catspacd.sql

[[email protected] ~]$

9:如果只想获取和整个搜索字符匹配的内容,那么可以使用参数w

你可以对比一下两者的区别

[[email protected] admin]$ grep -w "ORA" utlspadv.sql– ORA-XXXXX: Monitoring already started. If for example you want– ORA-20111:– ORA-20112:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'– ORA-20111:– ORA-20112:– ORA-20100:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'[[email protected] admin]$ grep "ORA" utlspadv.sql– ORA-XXXXX: Monitoring already started. If for example you want– ORA-20111:– ORA-20112:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'– 0 |<PS> =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 0 0 2 99.3% 0% 0.7% ""– |<PR> DBS1.REGRESS.RDBMS.DEV.US.ORACLE.COM=> 100% 0% 0% "" |<PR> …– =>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 92 7 99.3% 0% 0.7% "" |<PR> …– |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM 2 0 0 0.E+00– |<C> CAPTURE_USER1=>DBS2.REGRESS.RDBMS.DEV.US.ORACLE.COM– ORA-20111:– ORA-20112:– ORA-20100:– ORA-20113: 'no active monitoring job found'– ORA-20113: 'no active monitoring job found'[[email protected] admin]$

10: grep命令结合find命令搜索

[[email protected] admin]$ find . -name '*.sql' -exec grep -i 'v$temp_space_header' {} ; -printcreate or replace view v_$temp_space_header as select * from v$temp_space_header;create or replace public synonym v$temp_space_header for v_$temp_space_header;create or replace view gv_$temp_space_header as select * from gv$temp_space_header;create or replace public synonym gv$temp_space_headerFROM gv$temp_space_header./catspace.sqldrop public synonym v$temp_space_header;drop public synonym gv$temp_space_header;./catspacd.sql[[email protected] admin]$

11: egrep -w -R 'word1|word2' ~/klbtmp

12: vi命令其实也能搜索文件里面的内容,只不过没有grep命令功能那么方便、强大。

⑹ linux系统中find命令怎么查找大文件

用-size参数,直接跟大小就行;

例如你要在根目录下找大于10M的文件

find/-size+10M

或者你要在/home目录下找大于10k的文件

find/home-size+10K

⑺ linux日志文件几十g,怎么快速从中检索想要的内容

使用grep命令 然后再管道命令和awk sort uniq 等相关命令

⑻ linux大文件怎么快速查找匹配

可以使用find及local查找。 find: 1.命令格式: find pathname -options [-print -exec -ok …] 2.命令功能: 用于在文件树种查找文内件,并作出相应的处理容 3.命令参数: pathname: find命令所查找的目录路径。例如用.来表示当前目录

⑼ linux下查找文件内容

GVIM可以分割窗口实现查找多个文件的功能。不过最好是用命令行这个强大的工具了。比如查找/home/znsys/下所有含VoIP的文件名称:grep-l'VoIP'/home/znsys/*比如查找/home/znsys/文件夹下的所有第三层目录内所有文件中包含“networking"的行:如这些目录:/home/znsys/client_1/data//home/znsys/client_2/data//home/znsys/vendor_1/data/命令为:grep-i/home/znsys/*/data/*'networking'搜索—-whereis<程序名称>查找软件的安装路径-b只查找二进制文件-m只查找帮助文件-s只查找源代码-u排除指定类型文件-f只显示文件名-B<目录>在指定目录下查找二进制文件-M<目录>在指定目录下查找帮助文件-S<目录>在指定目录下查找源代码locate<文件名称>在文件索引数据库中搜索文件-d<数据库路径>搜索指定数据库updatedb更新文件索引数据库find[路径]<表达式>查找文件-name<表达式>根据文件名查找文件-iname<表达式>根据文件名查找文件,忽略大小写-path<表达式>根据路径查找文件-ipath<表达式>根据路径查找文件,忽略大小写-amin<分钟>过去N分钟内访问过的文件-atime<天数>过去N天内访问过的文件-cmin<分钟>过去N分钟内修改过的文件-ctime<天数>过去N天内修改过的文件-anewer<参照文件>比参照文件更晚被读取过的文件-cnewer<参照文件>比参照文件更晚被修改过的文件-size<大小>根据文件大小查找文件,单位bcwkMG-type<文件类型>根据文件类型查找文件。b块设备c字符设备d目录p管道文件f普通文件l链接s端口文件-user<用户名>按归属用户查找文件-uid<uid>按UID查找文件-group<群组名>按归属群组查找文件-gid<gid>按GID查找文件-empty查找空文件grep<字符串>|"<正则表达式>"[文件名]在文件中搜索内容

⑽ 如何在Linux中查看占用空间大文件和大文件夹

在来Linux中查看占用空间大文件自和大文件夹的方法如下:

载安装SSH远程软件

通过ssh远程登录Linux服务器,如图: