Home Operation and Maintenance Linux Operation and Maintenance How to use the Find command to find files in Linux

How to use the Find command to find files in Linux

Mar 15, 2019 pm 04:25 PM
find linux Find files

Linux Find command is one of the most powerful tools in the Linux system administrator tool library. It allows us to search for files and directories in the directory hierarchy based on an expression given by the user, applying the user to each matching file. specified operation. The following article will show you how to use the Find command. I hope it will be helpful to you.

How to use the Find command to find files in Linux

Linux Find command

Use the find command to determine the file permissions, type, date, ownership, size Wait to search for files. It can also be used in conjunction with other tools, such as grep or sed to perform operations on these files

Before discussing how to use the find command, let's first understand the basic syntax:

find [options] [path...] [expression]

Description:

● Options attribute: Controls the processing of symbolic links, debugging options and optimization methods.

● Path... attribute: Defines the starting directory where find will search for files.

● Expression attribute: consists of "options", "search mode" and "operations separated by operators".

Let’s take a look at the following example:

find  -L /home/projects/ -name "*.js" -exec chmod 644 {} \;

Description: This command contains a parameter -L (options), which allows the find command to follow symbolic links and search /home/projects/ (path ...), find all files ending with .js(expression) and set the permissions of all matching files to 644.

How to find files by type?

To specify the file type to be found, you need to use the -type parameter.

You can use the following descriptors to specify file types:

● f: Regular file

● d: Directory

● l: Symbolic link

●●c: Role device

●b: Block device

●p: Named pipe (FIFO)

● s: Socket

Example:

If you want to find all directories in the current working directory, you can use:

find . -type d

If you want to list all character devices on the system type:

find / -type c

How to find files by name?

Finding files by name is probably the most common use of the find command. To find files by name, pass the -name option along with the name of the file you want to search for.

Example:

To search for a file named document.pdf in the /home/linuxize directory, you can use the following command:

sudo find /home/linuxize -type f -name document.pdf

If To run a case-insensitive search, you can change the -name option using the -iname command:

sudo find /home/linuxize -type f -iname document.pdf

Description: The above command will match Document.pdf, DOCUMENT.pdf..etc.

How to find files by extension?

Searching for files by extension is the same as searching for files by name.

For example:

If you want to find all files ending with .log.gzinside /var/log/nginx directory, you can use:

find /var/log/nginx -type f -name '*.log.gz'

If you want to find all files that do not match the regular expression *.log.gz you can use the -not parameter. For example, to find all files that do not end with *.log.gz, use:

find /var/log/nginx -type f -not -name '*.log.gz'

How to find files by size?

To find files based on their size, you need to pass the -size parameter along with the size condition. File sizes can be specified using the following suffixes:

● b: 512-byte blocks (default)

● c: Bytes

● w: Double-byte words

● k:Kilobytes

● M:Megabytes

● G:Gigabytes

For example:

To be in / To find all files in the tmp directory that are exactly 1024 bytes, you can run the following command:

find /tmp -type f -size 1024c

The find command also allows us to search for files larger or smaller than the specified size. For example:

We can search all files smaller than 1MB in the current working directory, this requires adding a minus sign before the size value:

find . -type f -size -1M

If you want to search files larger than 1MB, you need Use the plus sign:

find . -type f -size +1M

to search even files within a size range. For example, the following command will find all files between 1 and 2 MB:

find . -type f -size +1M -size 21M

How to find files by modification date?

The find command can also search for files based on when they were last modified, accessed, or changed.

Same as when searching by size, you can use the plus and minus signs to specify greater or less than.

For example:

You modified a dovecot configuration file a few days ago, but you forgot the file name. We can easily filter all files in the /etc/dovecot/conf.d/ directory ending in .conf that have been modified in the past 5 days:

find /etc/dovecot/conf.d -name "*.conf" -mtime 5

We can also list 30 days Or all files in the /home directory that were modified more recently:

find /home -mtime +30 -daystart

How to find files by permissions?

To filter files based on file permissions, you need to use the -perm option.

For example:

要在/var/www/html目录中查找权限为775的所有文件:

find /var/www/html -perm 644

还可以使用减号-或斜杠/为数字模式添加前缀。

当斜杠/用作前缀时,至少一个类别(用户,组或其他类别)必须至少为文件匹配设置相应的位。

find . -perm /444

说明:搜索对用户,组或其他人设置了读权限的所有文件。

如果使用减号-作为前缀,则必须至少设置要匹配的文件。

find . -perm -664

说明:搜索对所有者和组具有读写权限的文件,并且其他用户可以读取。

如何按所有者查找文件?

要查找特定用户或组拥有的文件,可以使用-user和-group选项。

例如,要搜索用户拥有的所有文件和目录linuxize,可以运行:

find / -user linuxize

这是更高级的示例,假设是希望查找用户www-data拥有的所有文件,并将匹配文件的所有权从www-data更改为nginx:

find / -user www-data -type f  -exec chown nginx {} \;

相关视频教程推荐:《linux教程

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

The above is the detailed content of How to use the Find command to find files in Linux. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1587
276
How to make PHP container support automatic construction? Continuously integrated CI configuration method of PHP environment How to make PHP container support automatic construction? Continuously integrated CI configuration method of PHP environment Jul 25, 2025 pm 08:54 PM

To enable PHP containers to support automatic construction, the core lies in configuring the continuous integration (CI) process. 1. Use Dockerfile to define the PHP environment, including basic image, extension installation, dependency management and permission settings; 2. Configure CI/CD tools such as GitLabCI, and define the build, test and deployment stages through the .gitlab-ci.yml file to achieve automatic construction, testing and deployment; 3. Integrate test frameworks such as PHPUnit to ensure that tests are automatically run after code changes; 4. Use automated deployment strategies such as Kubernetes to define deployment configuration through the deployment.yaml file; 5. Optimize Dockerfile and adopt multi-stage construction

How to build an independent PHP task container environment. How to configure the container for running PHP timed scripts How to build an independent PHP task container environment. How to configure the container for running PHP timed scripts Jul 25, 2025 pm 07:27 PM

Building an independent PHP task container environment can be implemented through Docker. The specific steps are as follows: 1. Install Docker and DockerCompose as the basis; 2. Create an independent directory to store Dockerfile and crontab files; 3. Write Dockerfile to define the PHPCLI environment and install cron and necessary extensions; 4. Write a crontab file to define timing tasks; 5. Write a docker-compose.yml mount script directory and configure environment variables; 6. Start the container and verify the log. Compared with performing timing tasks in web containers, independent containers have the advantages of resource isolation, pure environment, strong stability, and easy expansion. To ensure logging and error capture

How to Securely Erase a Hard Drive on Linux How to Securely Erase a Hard Drive on Linux Jul 24, 2025 am 12:08 AM

Confirm the target hard disk device name (such as /dev/sda) to avoid accidentally deleting the system disk; 2. Use sudoddif=/dev/zeroof=/dev/sdXbs=1Mstatus=progress to overwrite the zero value in full disk, which is suitable for most scenarios; 3. Use sudoshred-v-n3/dev/sdX for three random data overwrites to ensure that it cannot be restored; 4. Optionally execute sudobadblocks-wsv/dev/sdX for destructive write tests; finally use sudohexdump-C/dev/sdX|head to verify whether it is all zero and complete safe erasing.

Linux vs Windows: Which Operating System is Better for You? Linux vs Windows: Which Operating System is Better for You? Jul 29, 2025 am 03:40 AM

Windowsisbetterforbeginnersduetoeaseofuse,seamlesshardwarecompatibility,andsupportformainstreamsoftwarelikeMicrosoftOfficeandAdobeapps.2.LinuxoutperformsWindowsonolderorlow-resourcehardwarewithfasterboottimes,lowersystemrequirements,andlessbloat.3.Li

How to Schedule Tasks on Linux with Cron and anacron How to Schedule Tasks on Linux with Cron and anacron Aug 01, 2025 am 06:11 AM

cronisusedforpreciseschedulingonalways-onsystems,whileanacronensuresperiodictasksrunonsystemsthataren'tcontinuouslypowered,suchaslaptops;1.Usecronforexacttiming(e.g.,3AMdaily)viacrontab-ewithsyntaxMINHOURDOMMONDOWCOMMAND;2.Useanacronfordaily,weekly,o

What to do after installing linux What to do after installing linux Jul 23, 2025 am 02:57 AM

AfterinstallingLinux,thefirststepsincludeupdatingyoursystem,installingessentialsoftware,settingupbackupandsecuritymeasures,andcustomizingtheinterfacetosuityourpreferences.1)Updateyoursystemusingtheappropriatecommandforyourdistro(e.g.,sudoaptupdate&am

How to install software on Linux using the terminal? How to install software on Linux using the terminal? Aug 02, 2025 pm 12:58 PM

There are three main ways to install software on Linux: 1. Use a package manager, such as apt, dnf or pacman, and then execute the install command after updating the source, such as sudoaptininstallcurl; 2. For .deb or .rpm files, use dpkg or rpm commands to install, and repair dependencies when needed; 3. Use snap or flatpak to install applications across platforms, such as sudosnapinstall software name, which is suitable for users who are pursuing version updates. It is recommended to use the system's own package manager for better compatibility and performance.

The Ultimate Guide to High-Performance Gaming on Linux The Ultimate Guide to High-Performance Gaming on Linux Aug 03, 2025 am 05:51 AM

ChoosePop!_OS,Ubuntu,NobaraLinux,orArchLinuxforoptimalgamingperformancewithminimaloverhead.2.InstallofficialNVIDIAproprietarydriversforNVIDIAGPUs,ensureup-to-dateMesaandkernelversionsforAMDandIntelGPUs.3.EnabletheperformanceCPUgovernor,usealow-latenc

See all articles