Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I need to search for files starting with some particular name. There can be multiple files starting with a particular pattern and I want to list all such files present in the directory.

share|improve this question
up vote 11 down vote accepted

To complete existing answers:


The default directory list utility ls can be used in combination with the shell's wildcards . To search for all files with pattern abc:

ls abc*   # list all files starting with abc---
ls *abc*  # list all files containing --abc--
ls *abc   # list all files ending with --abc

Note that the file extension is relevant for the search results too.

tree Install banshee

In case we need to list files in a directory tree we can also issue tree to search for a given pattern like:

tree -P 'abc*'  # list directory tree of file starting with abc---
tree -l 'def*'  # exclude files starting with def---

In this case, tree itself supports wildcards.

share|improve this answer

You can use find command to search files with pattern

find . -type f -name "abc*" 

The above command will search the file that starts with abc under the current working directory.

-name 'abc' will list the files that are exact match. Eg: abc

You can also use


option with find command to search filename using a pattern

share|improve this answer

There are many ways to do it, depending on exactly what you want to do with them. Generally, if you want to just list them, you can do it in a terminal using:

find | grep '^\./ABC'

... and replacing ABC with your text.

To understand the command, let's break it down a bit:

  • find lists all files under the current directory and its sub-directories; using it alone will just list everything there. Note that find outputs each file or directory starting with ./, indicating that their path is relative to the current directory. Being aware of this is important because it means we will search for results starting with ./ABC and not just ABC.

  • The pipe character | redirects the output of one command to another, in this case the output of find is redirected to grep. This is called piping.

  • grep takes the output and filters it using the given pattern, ^\./ABC.

    • Notice that the pattern is quoted with single quotes ' ' to prevent the shell from interpreting the special characters inside it.
  • Now the pattern itself is written in a particular syntax called regular expression, or regex for short. Regex is an extremely powerful searching tool if you master it, and there are sites such as this which teach you about it in more depth, but note that grep is not a full-fledged regex engine and you can't do everything with it.

  • For our purpose:

    • ^ in regex matches the beginning of the string; this prevents it from matching the pattern if it doesn't occur in the beginning of the file name.

    • . in regex has a special meaning too: it means "match any single character here". In case you want to use it as a literal dot, you'll have to "escape" it using a backslash \ before it. (Yeah, matching any character would be harmless in our case, but I did it for completeness' sake.)

share|improve this answer

you can use GREP, I think this is the most simple solution, probably also add some other grep parameters to make the match more accurate

tree | grep ABC
share|improve this answer

You can search for a particular pattern using the Nautilus file manager and regular expressions.

To do so, click on Select Items Matching in the Gear menu like below (you can also press Ctrl+s).

enter image description here

Then, just type the regular expression ABC* and validate.

enter image description here

Every file whose name matches your pattern will be automatically selected.

enter image description here

I'm using Nautilus 3.6.* from GNOME3 PPA on Ubuntu 12.10 (Quantal).

share|improve this answer

I use

ls | grep abc


ls -la | grep abc

It show all files with abc, not just starting with abc. But, It's a really easy way for me for to do this.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.