linux操作命令好多,为易于学习和查阅将分批进行分享,本期分享5个文件搜索操作的命令

1、find文件或目录搜索

2、locate在文件资料库中查找文件命令

3、which搜索命令所在的目录及别称信息

4、whereis搜索命令所在的目录及帮助文档路径

5、grep在文件中搜索字符串匹配的行前输出

1、find在硬碟中搜索文件或目录

格式:find[参数][搜索范围][匹配条件][处理动作]

参数:

-name文件名:按指定文件名查找

-iname:不分辨字母大小写

-perm:按执行权限来查找

-user用户名:按文件属主来查找

-group组名:按组来查找

-mtime–n/+n:按文件修改时间来查找,-n指n天以内,+n指n天曾经

-atime–n/+n:按文件访问时间来查找,-n指n天以内,+n指n天曾经

-ctime–n/+n:按文件创建时间来查找,-n指n天以内,+n指n天曾经

-nogroup:查找无有效属组的文件,即在/etc/groups中不存在

-nouser:查找无有效属主的文件,即在/etc/passwd中不存在

linux全文搜索文件_linux命令行搜索文件_linux系统中怎么搜索文件命令大全

-newerf1!f2:查找修改时间比f1新但比f2旧的文件

-typeb/d/c/p/l/f:按文件类型查找是块设备、目录、字符设备、管道、符号链接、普通文件

-size[n]:依照文件大小查找,查宽度为n块或字节的文件

-depth:按在步入子目录前先进行查完本目录,如:find/etc–depth-print

-fstypef1!f2:查找修改时间比f1新但比f2旧的文件

-mount:查找文件是否跨越文件系统mount点

-follow:查找遇见符号链接文件,则跟踪链接所指的文件。

-cpio:对匹配文件使用gcpio名linux版qq,将她们备份到磁带设备中

-prune:忽视某个目录

处理动作:

-pint:将查找到的文件输出到标准输出

-ls:输出文件的详尽信息

-delete:删掉查找到的文件

-fls/path/to/somefile:把查找到的文件的长格式信息保存到指定文件中

-okcommand{};:对查到的文件执行command表示的命令,每位操作都由用户确认

-execcommand{};:对查找到的每位文件执行由COMMAND表示的命令;

如:查找文件修改时间,并显示下来:find./-mtime–1–ls

2、locate在文件资料库中查找文件命令

格式:locate[文件名]

linux全文搜索文件_linux命令行搜索文件_linux系统中怎么搜索文件命令大全

参数:

-b,--basename--仅匹配路径名的基本名称

-c,--count--只输出找到的数目

-d,--databaseDBPATH--使用DBPATH指定的数据库,而不是默认数据库/var/lib/mlocate/mlocate.db

-e,--existing--仅复印当前现有文件的条目

-1--假如是1.则启动安全模式。在安全模式下,使用者不会见到权限难以见到的档案。这会使速率减缓,由于locate必须至实际的档案系统中取得档案的权限资料。

-0,--null--在输出上带有NUL的单独条目

-S,--statistics--不搜索条目,复印有关每位数据库的统计信息

-q--安静模式,不会显示任何错误讯息。

-P,--nofollow,-H--检测文件存在时不要遵守尾随的符号链接

-l,--limit,-nLIMIT--将输出(或计数)限制为LIMIT个条目

-n--至多显示n个输出。

-m,--mmap--被忽视,为了向后兼容

-r,--regexpREGEXP--使用基本正则表达式

--regex--使用扩充正则表达式

-q,--quiet--安静模式,不会显示任何错误讯息

-s,--stdio--被忽视,为了向后兼容

-o--指定资料库存的名称。

-h,--help--显示帮助

-i,--ignore-case--忽视大小写

-V,--version--显示版本信息

如:搜索etc目录下所有以sh开通的文件:locate/etc/sh

注:locate的搜索速率比find快,由于locate是在/var/lib/slocate/slocate.db数据库中查找,查找并不是实时的。数据库每晚手动更新,自动更新命令为:updatedb。

3、which查看可执行文件的位置

格式:which[参数][程序名称]

常用参数:

-n指定文件名宽度,指定的宽度必须小于或等于所有文件中最长的文件名。

-p与-n参数相同linux系统中怎么搜索文件命令大全,但此处的包括了文件的路径。

-w指定输出时栏位的长度。

-V显示版本信息。

如:whichls运行结果:aliasls='ls--color=auto'/bin/ls

4、whereis搜索命令所在的目录及帮助文档路径

格式:whereis[参数][目录或文件名]

参数:

-b只查找二补码文件

-B只在设置的目录下查找二补码文件

-f不显示文件名前的路径名称

-m只查找说明文件

linux全文搜索文件_linux命令行搜索文件_linux系统中怎么搜索文件命令大全

-M只在设置的目录下查找说明文件

-s只查找原始代码文件

-S只在设置的目录下查找原始代码文件

-u查找包含指定类型的文件

如:whereisbash执行结果:bash:/bin/bash/usr/share/man/man1/bash.1.gz

5、grep在文件中查找匹配的字符串

格式:grep[参数][文件或目录]

参数:

-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:在显示符合款式的那一行之前linux 常用命令,不标识该行所属的文件名称。

-H或--with-filename:在显示符合款式的那一行之前,表示该行所属的文件名称。

-i或--ignore-case:忽视字符大小写的差异。

-l或--file-with-matches:列举文件内容符合指定的款式的文件名称。

-L或--files-without-match:列举文件内容不符合指定的款式的文件名称。

-n或--line-number:在显示符合款式的那一行之前,标识出该行的列数编号。

-o或--only-matching:只显示匹配PATTERN部份。

-q或--quiet或--silent:不显示任何信息。

-r或--recursive:此参数的疗效和指定”-drecurse”参数相同。

-s或--no-messages:不显示错误信息。

-v或--invert-match:显示不包含匹配文本的所有行。

-V或--version:显示版本信息。

-w或--word-regexp:只显示全字符合的列。

-x--line-regexp:只显示全列符合的列。

-y:此参数的疗效和指定”-i”参数相同。

如:greptest*sh在当前目录中,查找后缀有sh字样的文件中包含test字符串的文件,并输出结果。

如:grep–rupdate/etc/test查找指定目录/etc/test及其子目录下所有文件中包含字符串update的文件,并输出结果。

本次分享结束linux系统中怎么搜索文件命令大全,如有遗漏欢迎补充见谅,感谢查阅!!

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复