How to view hidden files using Linux `find` command

87,099

Solution 1

...

find . -type f -name '*.php'

Solution 2

It's better to use iname (case insensitive).

I use this find command to search hidden files:

find /path -type f -iname ".*" -ls

Extracted from: http://www.sysadmit.com/2016/03/linux-ver-archivos-ocultos.html

Solution 3

The issue is grep, not the find (try just find . -type f to see what I mean).

If you don't quote the * then the shell will expand it - before grep even sees its command line arguments; since the shell doesn't find hidden files by default, you'll have issues.

The reason it's only finding the hidden file is because the shell has already expanded the * and so grep is only matching that one file.

Share:
87,099
Tom
Author by

Tom

Updated on September 17, 2022

Comments

  • Tom
    Tom almost 2 years

    On a Linux server, I need to find all files with a certain file extension in the current directory and all sub-directories.

    Previously, I have always using the following command:

    find . -type f | grep -i *.php
    

    However, it doesn't find hidden files, for example .myhiddenphpfile.php. The following finds the hidden php files, but not the non-hidden ones:

    find . -type f | grep -i \.*.php
    

    How can I find both the hidden and non-hidden php files in the same command?

    • Ignacio Vazquez-Abrams
      Ignacio Vazquez-Abrams about 14 years
      You know that the "re" in "grep" stands for "regular expression", right? I have no clue how either of those command lines are supposed to work...
  • wheelerswebservices
    wheelerswebservices over 4 years
    Any recursive option? This doesn't seem to be going into subdirectories where I ran the command. I don't know what directory the file is in.
  • Rodrigo
    Rodrigo about 4 years
    What if I want both files and directories that may be hidden or not?