首页 > 系统相关 >Linux文件管理知识查找文件

Linux文件管理知识查找文件

时间:2023-08-03 16:00:47浏览次数:37  
标签:bin 文件 知识 查找文件 命令 usr Linux find

Linux文件管理知识:查找文件

前几篇文章一一介绍了LINUX进程管理控制命令及网络层面的知识体系,综所周知,一个linux系统是由很多文件组成的,那么既然有那么多文件,那我们该如何管理这些文件呢?

Linux中的所有数据都是以文件形式存在的,那么所有文件分别被归类到不同的文件系统中。而文件系统则是一种树型结构,通俗的理解为目录。

在linux系统中,你所做的每一步操作及所执行的每个命令都是基于文件系统底层逻辑来呈现出来的。

说到管理linux文件,首先您得先找见它!通过本节可以了解linux的文件管理第一步:查找文件等。今天这篇文章主要介绍下两个用来在linux系统中查找文件的工具或者命令程序。

• locate –通过名称来查找文件

• find – 在一个目录层次结构中搜索文件

locate - 查找文件的简单方法

locate 命令程序会执行一次快速的路径名数据库搜索进程,并且输出结果是与给定字符串相匹配的路径名称。locate 命令程序只能依据文件名来查找文件。

例如,找到所有名字以“zip”开头的文件:

[root@linuxprobe ~]$ locate bin/zip

locate 命令程序执行搜索路径名数据库进程,并输出任一个包含字符串“bin/zip”的路径名:

/usr/bin/zip

/usr/bin/zipgrep

/usr/bin/zipinfo

/usr/bin/zipsplit

或者结合其它命令工具,例如grep 命令,来执行更全面的搜索:

[root@linuxprobe ~]$ locate zip | grep bin

/bin/bunzip2

/bin/bzip2

/bin/gunzip

/bin/gzip

/usr/bin/funzip

/usr/bin/gpg-zip

/usr/bin/prezip

/usr/bin/prezip-bin

/usr/bin/unzip

/usr/bin/zip

/usr/bin/zipgrep

/usr/bin/zipinfo

/usr/bin/zipsplit

扩展知识:

有时候locate命令程序不能正常工作,但是呢第二天它就正常工作了。解决方法:首先转换为超级用户身份,在提示符下运行updatedb 命令,可以手动运行updatedb 命令程序即可。

目前,不同版本的Linux发行版中locate 命令程序有很多演变,不过它们都会拥有一定重叠的选项集合,可通过查看locate 命令的手册来确定安装了哪个版本的locate 命令程序。

find - 查找文件的高阶之路

find 命令程序支持基于给定的各种属性搜索查找文件。find 命令程序的魅力所在就是它能够找到符合特定标准属性的文件。

  1. 最简单的查找方式:

find 命令程序支持接收多个目录名来执行搜索查找。

例如:

[root@linuxprobe ~]$ find ~ //输出家目录的路径名列表

可想而知,查找结果会产生很大的列表。那我们可以尝试使用wc 命令程序来计算并显示出文件的数量:

[root@linuxprobe ~]$ find ~ | wc

-l46052

find 命令程序支持的常见文件类型测试条件如下:

表: find 文件类型

文件类型

描述

b

块特殊设备文件

c

字符特殊设备文件

d

目录

f

普通文件

l

符号链接

  1. 通过文件大小和文件名搜索查找

例如:

查找所有文件名匹配通配符模式“*.JPG”和文件大小大于1M 的普通文件:

[root@linuxprobe ~]$ find ~ -type f -name "*.JPG" -size +1M | wc -l

237

//引入-name 测试条件,后面跟通配符模式。

//双引号引起来的作用就是阻止shell 展开路径名进程。

//引入-size 测试条件,后跟字符串“+1M”。加号“+”代表正在寻找文件大小大于指定数的文件。若以减号“-”开头,那就代表查找小于指定数的文件。若没有符号意味着“精确匹配这个数”。字母“M”表明测量单位是兆字节。测量单位的指定如下表:

表: find 大小单位

字符

单位

b

512 个字节块。如果没有指定单位,则这是默认值。

c

字节

w

两个字节的字

k

千字节(1024 个字节单位)

M

兆字节(1048576 个字节单位)

G

千兆字节(1073741824 个字节单位)

以上列出的只是冰山一角,find 命令手册有更详细的说明。

总结:

find 命令程序搜索目录树以查找一个文件或一组文件。它遍历目录树并报告与用户规范匹配的文件的所有匹配项。查找程序包括非常强大的搜索功能。

locate 程序扫描一个或多个文件名数据库,并显示任何匹配项。如果文件在上次文件名数据库更新期间存在,则可以将其用作非常快速的查找命令。

当然,linux文件类型是不可或缺的一部分,在Linux中,基本的文件类型有以下三种:

1) 普通文件

普通文件基本包括文本文件、源码文件、可执行文件等。

2) 目录

目录可以包含普通文件和特殊文件,目录相当于Windows系统和Mac 系统中的文件夹。

3) 设备文件

设备文件就是Linux 与外部设备(如光驱,打印机等)进行通信所必需的文件。

关于linux系统文件查找命令的运用魅力不止如此,今天的介绍仅仅一小部分,所以强烈建议大家可以参考下《GNU Findutils 4.9.0》及《linux就该这么学》这两本书,对于linux系统文件管理层面的介绍很详细!

标签:bin,文件,知识,查找文件,命令,usr,Linux,find
From: https://www.cnblogs.com/linuxpro/p/17603576.html

相关文章

  • Linux2
    目录切换相关命令(cd/pwd)cd切换工作目录当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录。我们可以通过cd命令,更改当前所在的工作目录语法:cd[Linux路径]cd命令无需选项,只有参数,表示要切换到哪个目录下cd命令直接执行,不写参数,表示回到用户的HOME......
  • Linux常用命令(工作)
    1、查询相关服务例:ps-ef|grepjava2、切换用户默认切换管理员:su切换至指定用户:suname3、给用户赋予文件夹权限例:chown -Rname:name/home/4、ll与lsls:查看当前目录下的文件ll:查看当前目录下的文件详情5、查看当前位置pwd6、修改文......
  • Linux离线升级pip
    Linux离线升级pip1、下载pip包pypi链接:https://pypi.org/project/pip/#files 2、上传安装1)将源码包上传服务器 2)解压安装tar-zxvfpip-23.2.1.tar.gzcdpip-23.2.1/python3setup.pyinstall 3)查看版本pip3version......
  • Linux:安装部署Tomcat和Nginx
    学习自:linux环境安装部署tomcat、nginx_ernesto_ji的博客-CSDN博客系统相关Linux服务器:Linuxrhel1.myguest.virtualbox.org 3.10.0-1160.el7.x86_64虚拟机平台:VirtualBox终端模拟器:Tabby步骤1、Linux环境安装部署Tomcat1)wget下载安装包apache-tomcat-8.5.82.tar.gz①先......
  • linux centos ubuntu 网络图标消失的解决办法
     在使用linux的过程中,有时会出现网络图标消失的问题,这时系统会没有网络。有些linux的网络连接由NetworkManager管理,问题应由它解决。先执行一下systemctlrestartNetworkManager看有没有效果。原因一:NetworkManager未接管网络解决办法:nmclinetworkingon原因:在终......
  • 1.【linux】 下根目录,家目录区别
    1.【linux】下根目录,家目录区别家目录是在根目录里面。1.家目录一般普通用户,家目录是/home/用户名root用户,家目录是/rootroot登录系统,执行如下命令进入root的家目录cd/cd~进入家目录后执行如下命令获取具体路径pwd2.用户切换1.暂时的(root权限)①需要使用root权限......
  • linux中 文件和目录权限
    在Linux/Unix系统中,每个文件和目录都有权限,权限控制着谁可以对文件或目录进行何种操作。Linux/Unix系统中的文件和目录权限是通过一组三位八进制数来表示的,也称为“权限位”或“权限模式”。每个文件和目录的权限位由三个部分组成,分别表示文件所有者的权限、所属组的权限和其......
  • Spring-1-透彻理解Spring XML的必备知识
    学习目标能够说出Spring的体系结构能够编写IOC-DI快速入门思考:为什么学习Spring而不是直接学习SpringBoot1Spring介绍思考:我们为什么要学习Spring框架?工作上面Java拥有世界上数量最多的程序员最多的岗位需求与高额薪资95%以上服务器端还是要用Java开发专业角度简化开发,降低企......
  • IBM DB2 Installation on Red Hat Enterprise Linux
    IBMDB2databasecanbeinstalledonLinux,UNIX,orWindowsoperatingsystems.WearegoingtoinstallDB2Version10.1onRedHatEnterpriseLinuxServerfromthecommandinterface.IBMDB2isanext-generationdataplatformfortransactionalandanalyt......
  • Linux下安装Java环境三种方式(tar.gz、rpm、yum)
    一:Java软件包下载Java各版本下载地址;进入页面后我们首先看到的是Java最新版本的下载界面,但是在这我需要下载Java8的版本,所以得划到下面的界面,即界面如下:在这里我将下载:jdk-8u381-linux-x64.tar.gz(压缩包方式安装)、jdk-8u381-linux-x64.rpm(RPM方式安装)注:在下载界面的下面......