linux检查文件命令 linux检查文件是否损坏

linux查找文件内容命令搜索、查找文件当中的内容linux检查文件命令,一般最常用的是grep命令 , 另外还有egrep, vi命令也能搜索文件里面内容
1:搜索某个文件里面是否包含字符串,使用grep "search content" filename1 , 例如
$ grep ORA alert_gsp.log
$ grep "ORA" alert_gsp.log
例如linux检查文件命令我们需要搜索、查找utlspadv.sql文件中包含ORA的字符内容
[oracle@DB-Server admin]$ grep "ORA" utlspadv.sql
【linux检查文件命令 linux检查文件是否损坏】--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'
[oracle@DB-Server admin]$
如上所示,这个是一个模糊匹配,其实我是想要查看ORA这类错误,那么我要过滤掉哪一些没有用的,搜索的内容修改一下即可(当然也可以使用特殊参数,后面有讲述),如下所示 。
[oracle@DB-Server 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'
[oracle@DB-Server admin]$
2: 如果你想搜索多个文件是否包含某个字符串,可以使用下面方式
grep "search content" filename1 filename2.... filenamen
grep "search content" *.sql
例如我想查看当前目录下,哪些sql脚本包含视图v$temp_space_header(注意:搜索的内容如果包含特殊字符时 , 必须进行转义处理,如下所示)
[oracle@DB-Server admin]$ grep "v\$temp_space_header" *.sql
catspacd.sql:drop public synonym v$temp_space_header;
catspacd.sql:drop public synonym gv$temp_space_header;
catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;
catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;
catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;
catspace.sql:create or replace public synonym gv$temp_space_header
catspace.sql:FROM gv$temp_space_header
[oracle@DB-Server admin]$
3:如果需要显示搜索文本在文件中的行数,可以使用参数-n
[oracle@DB-Server admin]$ grep-n "v\$temp_space_header" *.sql
catspacd.sql:68:drop public synonym v$temp_space_header;
catspacd.sql:71:drop public synonym gv$temp_space_header;
catspace.sql:1952:create or replace view v_$temp_space_header as select * from v$temp_space_header;
catspace.sql:1953:create or replace public synonym v$temp_space_header for v_$temp_space_header;
catspace.sql:1956:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;
catspace.sql:1957:create or replace public synonym gv$temp_space_header
catspace.sql:2357:FROM gv$temp_space_header
[oracle@DB-Server admin]$
4: 如果搜索时需要忽略大小写问题,可以使用参数-i
[oracle@DB-Server admin]$ grep"V\$TEMP_SPACE_HEADER" *.sql
[oracle@DB-Server admin]$ grep -i "V\$TEMP_SPACE_HEADER"*.sql
catspacd.sql:drop public synonym v$temp_space_header;
catspacd.sql:drop public synonym gv$temp_space_header;
catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;
catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;
catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;
catspace.sql:create or replace public synonym gv$temp_space_header
catspace.sql:FROM gv$temp_space_header
[oracle@DB-Server admin]$
另外,例如检查安装的MySQL组件
[root@DB-Server init.d]# rpm -qa | grep -i mysql
MySQL-devel-5.6.23-1.linux_glibc2.5
MySQL-client-5.6.23-1.linux_glibc2.5
MySQL-server-5.6.23-1.linux_glibc2.5
5:从文件内容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名
例如查找某些进程时 , 我们不想显示包含命令grep ora_mmon的进程 , 如下所示
[oracle@DB-Server admin]$ ps -ef| grep ora_mmon
oracle16675 162200 00:09 pts/100:00:00 grep ora_mmon
oracle2141210 Aug22 ?00:00:07 ora_mmon_gsp
[oracle@DB-Server admin]$ ps -ef| grep ora_mmon| grep -v grep
oracle2141210 Aug22 ?00:00:07 ora_mmon_gsp
[oracle@DB-Server admin]$
6:搜索、查找匹配的行数:
$ grep -c "被查找的字符串" 文件名
[oracle@DB-Server admin]$
[oracle@DB-Server admin]$ grep"v\$temp_space_header" *.sql
catspacd.sql:drop public synonym v$temp_space_header;
catspacd.sql:drop public synonym gv$temp_space_header;
catspace.sql:create or replace view v_$temp_space_header as select * from v$temp_space_header;
catspace.sql:create or replace public synonym v$temp_space_header for v_$temp_space_header;
catspace.sql:create or replace view gv_$temp_space_header as select * from gv$temp_space_header;
catspace.sql:create or replace public synonym gv$temp_space_header
catspace.sql:FROM gv$temp_space_header
[oracle@DB-Server admin]$ grep -c"v\$temp_space_header"catspacd.sql
2
[oracle@DB-Server admin]$ grep -c"v\$temp_space_header"catspace.sql
5
[oracle@DB-Server admin]$
7:有些场景,我们并不知道文件类型、或那些文件包含有我们需要搜索的字符串,那么可以递归搜索某个目录以及子目录下的所有文件
[oracle@DB-Server ~]$ grep -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/
/u01/app/oracle/product/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/product/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/product/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/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql:create or replace public synonym gv$temp_space_header
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql: FROM gv$temp_space_header
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym v$temp_space_header;
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql:drop public synonym gv$temp_space_header;
[oracle@DB-Server ~]$
8:如果我们只想获取那些文件包含搜索的内容,那么可以使用下命令
[oracle@DB-Server ~]$ grep -H -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
[oracle@DB-Server ~]$ grep -H -r "v\$temp_space_header" /u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/ | cut -d: -f1 | uniq
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspace.sql
/u01/app/oracle/product/11.1.0/dbhome_1/rdbms/admin/catspacd.sql
[oracle@DB-Server ~]$
9:如果只想获取和整个搜索字符匹配的内容,那么可以使用参数w
你可以对比一下两者的区别
[oracle@DB-Server 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'
[oracle@DB-Server 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'
[oracle@DB-Server admin]$
10: grep命令结合find命令搜索
[oracle@DB-Server admin]$ find . -name '*.sql' -exec grep -i 'v\$temp_space_header' {} \; -print
create 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_header
FROM gv$temp_space_header
./catspace.sql
drop public synonym v$temp_space_header;
drop public synonym gv$temp_space_header;
./catspacd.sql
[oracle@DB-Server admin]$
11: egrep -w -R 'word1|word2' ~/klbtmp
12: vi命令其实也能搜索文件里面的内容,只不过没有grep命令功能那么方便、强大 。
在linux中如何用命令查找文件在哪需要准备的材料分别是:电脑、linux连接工具 。
1、首先连接上linux主机 , 进入等待输入指令的linux命令行状态 。
2、例如寻找/home/httpd/html/目录下的test.txt文件,在命令行状态下 , 输入指令:find /home/httpd/html/ -name "test.txt",按回车 。
3、等待查询结束后,会打印出查询结果 。
Linux中查找文件夹的命令Linux中查找文件夹的命令是find命令 。
Linux-文件搜索命令find的操作使用方法如下:
1、全盘搜索 , 也可以指定目录搜索 。find 搜索目录 -name 目标名字 , find / -name file
2、这样搜索看到的都是file的完全匹配,区分大小写的,可以用-iname不区分大小写,find / -iname file 。这样我们就可以多查找到大写的相关文件了 。
3、我们先使用*通配符来匹配下包含file的相关文件区分大小写的:find / -name *file* 。不区分大小写的:find / -iname *file* 。这样匹配的话文件就比较多了,越精准的匹配越有利于查找 。
4、find 搜索目录 -size 文件大小 。下面我们查找下大于100MB的文件,应该实际是102400KB*2,所有搜索命令为:find / -size204800 。-号是小于,直接写数字就是等于 。
5、find 搜索目录 -user 用户名 。这里是查找属于用户名为user1的文件,linux如何添加删除用户名,可以参考Linux 用户管理命令:find / -user user1 。
6、find 搜索目录 -type d 。查找某个目录下的所有目录:find /tmp -type d 。
7、find 搜索目录 -cmin -时间(单位分钟) 。查找etc下面1小时内被修改的文件,根目录下面太多了,指定一个目录:find /etc -cmin -60 。
8、当然find命令是可以多个选项一起添加查询的:-a 是前后条件都要满足,-o 是满足一个条件就好,这样我们可以清除的看到被过滤掉的文件 。
LINUX查看文件属性命令是什么?linux lsattr命令: 显示文件属性介绍:\x0d\x0a文件属性在文件系统的安全管理方面起很重要的作用,linux下lsattr命令用于查看文件属性信息 。\x0d\x0a语法:\x0d\x0a\x0d\x0alsattr [-adRvV] [文件或目录...]选项介绍:\x0d\x0a-a: 显示所有文件和目录 , 包括隐藏文件;\x0d\x0a-d: 显示目录名称 , 而非其内容;\x0d\x0a-R: 递归处理,将指定目录下的所有文件及子目录一并处理;\x0d\x0a-v: 显示文件或目录版本;\x0d\x0a-V: 显示版本信息;\x0d\x0a\x0d\x0a执行范例:\x0d\x0a\x0d\x0a1 $ chattrai text\x0d\x0a\x0d\x0a2 $ lsattr\x0d\x0a\x0d\x0a3 ----ia------- text \x0d\x0a\x0d\x0a扩展阅读:\x0d\x0achattr命令用于修改文件属性,chattr命令需要root权限 。\x0d\x0a\x0d\x0a文件属性:\x0d\x0aa: append only; 系统只允许在这个文件之后追加数据,不允许任何进程覆盖或截断这个文件 。如果目录具有这个属性,系统将只允许在这个目录下建立和修改文件,而不允许删除任何文件 。\x0d\x0a\x0d\x0ac: compressed; 系统以透明的方式压缩这个文件 。从这个文件读取时,返回的是解压之后的数据;而向这个文件中写入数据时,数据首先被压缩之后才写入磁盘 。\x0d\x0a\x0d\x0ad: no dump; 在进行文件系统备份时,dump程序将忽略这个文件 。\x0d\x0a\x0d\x0ai: immutable; 系统不允许对这个文件进行任何的修改 。如果目录具有这个属性,那么任何的进程只能修改目录之下的文件,不允许建立和删除文件 。\x0d\x0a\x0d\x0aj: data journalling; 如果一个文件设置了该属性 , 那么它所有的数据在写入文件本身之前,写入到ext3文件系统日志中 , 如果该文件系统挂载的时候使用了”data=https://www.04ip.com/post/ordered” 或”data=writeback”选项 。当文件系统采用”data=journal”选项挂载时,所有文件数据已经记录日志 , 因此这个属性不起作用 。仅仅超级用户或者拥有CAP_SYS_RESOURCE能力的进程可以设置和删除该属性 。/x0d/x0a/x0d/x0as: secure deletion; 让系统在删除这个文件时,使用0填充文件所在的区域 。/x0d/x0a/x0d/x0at: no tail-merging; 和其他文件合并时,该文件的末尾不会有部分块碎片(为支持尾部合并的文件系统使用) 。/x0d/x0a/x0d/x0au: undeletable; 当一个应用程序请求删除这个文件,系统会保留其数据块以便以后能够恢复删除这个文件 。/x0d/x0a/x0d/x0aA: no atime updates; 告诉系统不要修改对这个文件的最后访问时间/x0d/x0a/x0d/x0aD: synchronous directory updates; 任何改变将同步到磁盘;这等价于mount命令中的dirsync选项:/x0d/x0a/x0d/x0aS: synchronous updates; 一旦应用程序对这个文件执行了写操作,使系统立刻把修改的结果写到磁盘 。/x0d/x0a/x0d/x0aT: top of directory hierarchy; 如果一个目录设置了该属性 , 它将被视为目录结构的顶极目录
linux查看文件可以用光表的命令我们在查看服务器文件或者日志的时候有哪些选择哪?
cat / head / tail / more / less等命令
grep命令
1、cat,直接看,一次性输出.
cat是一次性显示整个文件的内容,可以将多个文件连接起来显示,常与重定向符号配合使用,适用于文件内容较少的时候 。
cat filename
cat -b filename 显示行号,除空白行 cat -n 显示行号,包括空白行
linux检查文件命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux检查文件是否损坏、linux检查文件命令的信息别忘了在本站进行查找喔 。

    推荐阅读