zoukankan      html  css  js  c++  java
  • linux上查找文件存放地点和文件中查找字符串方法

    一、查找文件存放地点

    1、locate

    语法:locate <filename>

    locate命令实际是"find -name"的另一种写法,但是查找方式跟find不同,它比find快得多。因为它不搜索具体目录,而是在一个数据库(/var/lib/locatedb)中搜索指定的文件。次数据库含有本地文件的所有信息,此数据库是linux系统自动创建的,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,默认情况下为每天更新一次,所以用locate命令你搜索不到最新更新的文件,除非你在用locate命令查找文件之前手动的用updatedb命令更新数据库。

    注意:每次有新文件更新和删除之后,在updatedb之前数据库中保存的文件信息不会改变,即新添加一个文件之后,updatedb之前用locate搜索不到指定的文件。同样再删除一个文件信息已经在数据库中的文件时,updatedb之前用locate照样能搜索到该文件的信息,,尽管此时该文件已经不存在了。

    2、find 

    语法:find <起始目录> <搜索条件> <动作> 

    默认起始目录是.(当前目录)。

    默认动作是输出文件名。

    常用的搜索条件参数选项:

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

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

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

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

    -prune:不在当前指定目录中查找

    -mtime -n +n:按照文件修改时间来查找文件,-n表示文件修改时间距现在n天以内,+n表示文件修改时间据现在n天以前

    -type:查找某一类型的文件(b:块设备文件;d:目录文件;c:字符设备文件;p:管道文件;l:链接文件;f:普通文件)

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

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

    例如:find /home -name nginx.conf

    注意:find命令不加任何参数时,表示搜索路径为当前目录及其子目录,默认的动作为-print,即不过滤任何结果,也就是说输出所有的文件。

    3、whereis命令

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

    4、which命令

    which命令是在PATH变量指定的路径中搜索指定的系统命令的位置。用echo $PATH可显示当前PATH变量的值。

    5、type命令

    type命令主要用于区分一个命令到底是shell自带的还是外部独立的二进制文件提供的。如果是shell自带的则会提示此命令为shell buildin,否则会列出命令的位置。例如:cd为shell自带的命令,当用which查找时,which会按照PATH变量设置的路径进行搜索,结果显示no cd in...;用type cd则显示cd为shell buildin命令。ssh不是shell自带命令,用type时会显示ssh的路径。

    二、查看文件中的字符串

    1、vim或vi命令下查找字符串

    1、命令模式下输入"/字符串",点击enter

    2、需要往上查找点击“N”,继续反方向搜索

    3、需要往下查找点击“n”,继续朝同一方向搜索

  • 相关阅读:
    Windows 8.1 应用再出发
    Windows 8.1 应用再出发
    python 列表,字典,元组,字符串,常用函数
    python 排序 sort和sorted
    python中的zip、map、reduce 、lambda、filter函数的使用
    SecureCRT的安装与破解(过程很详细!!!)
    L1和L2正则
    神经网络,机器学习公开课
    待整理
    tensorflow中文教程
  • 原文地址:https://www.cnblogs.com/pachongshangdexuebi/p/5280089.html
Copyright © 2011-2022 走看看