欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


linux su和sudo命令的区别
Linux系统的OOM Killer处理机制
Apache伪静态时rewrite匹配参数超过10个的处理方法
外接程序VMDebugger未能加载或导致了异常
没有ISP?你照样可以拥有局域网
Win7系统下如何打开Windows PowerShell窗口的方法
解决AutoCAD2010在VS2010上无法命中断点
VS2013无法启动 IIS Express Web解决办法
samba服务的搭建
什么是Maven?
Linux如何迅速查找文件
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   如何让迅速查找文件?

  Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。

  1. find

  find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。find命令可在使用、管理Linux系统中方便地查找所需要的指定文件。

  find的使用格式如下:

  $ find <指定目录> <指定条件> <指定动作>

  - <指定目录>: 所要搜索的目录及其所有子目录。默认为当前目录。可以为一个目录列表,目录间用空格分隔。

  - <指定条件>: 所要搜索的文件的特征。

  表达式

  说明

  -name文件

  告诉find要找什么文件;要找的文件包括在引号中,可以使用通配符(*和?)

  -perm模式

  匹配所有模式为指定数字型模式值的文件。不仅仅是读,写和执行,所有模式都必须匹配。如果在模式前是负号(-),表示采用除这个模式外的所有模式。

  -type x

  匹配所有类型为x的文件。x是c(字符特殊),b(块特殊),d(目录),p(有名管道),l(符号连接),s(套接文件)或f(一般文件)。

  -links n

  匹配所有连接数为n的文件。

  -user用户号

  匹配所有用户序列号是前面所指定的用户序列号的文件,可以是数字型的值或用户登录名。

  -atime n

  匹配所有在前n天内访问过的文件。

  -mtime n

  匹配所有在前n天内修改过的文件。

  -newer文件

  匹配所有修改时间比file文件更新的文件。

  -size n

  匹配所有大小为n 块的文件(512字节块,若k在n后,则为1K字节块)。

  -print

  显示整个文件路径和名称。一般来说,都要用-print,如果没有这个参数,则find命令进行所要求的搜索是没有显示结果的。

  - <指定动作>: 对搜索结果进行特定的处理。

  如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。

  find的使用实例:

  $ find . -name 'my*'

  搜索当前目录(含子目录,以下同)中,所有文件名以my开头的文件。

  $ find . -name 'my*' -ls

  搜索当前目录中,所有文件名以my开头的文件,并显示它们的详细信息。

  $ find . -type f -mmin -10

  搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

  1) 知道了某个文件的文件名,却不知道它存于哪个目录下,此时可通过查找命令找到该文件,命令如下:

  # find / -name httpd.conf –print

  2)根据部分文件名查找

  当要查找某个文件时,不知道该文件的全名,只知道这个文件包含几个特定的字母,此时用查找命令也是可找到相应文件的。这时在给字查找文件名时通配符 “*”、“?”。例如,还是查找文件“httpd.conf”,但仅记得该文件名包含“http”字符串,可使用如下命令查找:

  #find / –name *http* -print

  3)根据文件的特性查找

  如果仅知道某个文件的大小、修改日期等特征也可使用find命令把该文件查找出来。例如,知道一个文件尺寸小于为2500bytes,可使用如下命令查找:

  #find /etc –size -2500c –print

  下面是以时间特征为查找条件的find命令函数的参数:

  amin n 查找n分钟以前被访问过的所有文件。

  atime n 查找n天以前被访问过的所有文件。

  cmin n 查找n分钟以前文件状态被修改过的所有文件。

  ctime n 查找n天以前文件状态被修改过的所有文件。

  mmin n 查找n分钟以前文件内容被修改过的所有文件。

  mtime n 查找n天以前文件内容被修改过的所有文件。

  2. locate

  locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含 有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可 以在使用locate之前,先使用updatedb命令,手动更新数据库。

  locate命令的使用实例:

  $ locate /etc/sh

  搜索etc目录下所有以sh开头的文件。

  $ locate ~/m

  搜索用户主目录下,所有以m开头的文件。

  $ locate -i ~/m

  搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

  3. whereis

  whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。

  whereis命令的使用实例:

  $ whereis grep

  4. which

  which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

  which命令的使用实例:

  $ which grep

  5. type

  type命令其实不能算查找命令,它是用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。

  type命令的使用实例:

  $ type cd

  系统会提示,cd是shell的自带命令(build-in)。

  $ type grep

  系统会提示,grep是一个外部命令,并显示该命令的路径。

  $ type -p grep

  加上-p参数后,就相当于which命令。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站