Finding files o the command line

Posted by ardchoille on Aug 16, 2009 3:03 AM EDT
Ian's Thoughts; By Ian MacGregor
Mail this story
Print this story

One of the things I like about Linux is the command line. I have used nautilus, konqueror, and thunar to manage files in Linux and these file managers are great for what they do. But there are times when one simply wants to find a file when working on the command line without having to open a GUI application.

One of the things I like about Linux is the command line. I have used nautilus, gnome-commander, konqueror, kommander, dolphin and thunar to manage files in Linux and these file managers are great for what they do. But there are times when one simply wants to find a file when working on the command line without having to open a GUI application.

From the find man page:
GNU find searches the directory tree rooted at each given file name by evaluating the given expression from left to right, according to the rules of precedence until the outcome is known at which point find moves on to the next file name.

Find empty directories:
find /path -depth -type d -empty

Find empty files:
find /path -depth -type f -empty

Find a file with a specific name:
find /path -name name_of_file

Find a files with specific extensions:
find /path -name "*.given_extension"

Find files with specific permissions which have a ".txt. file extension:
find /path -name '*.txt' -perm 644

Find files with some given permissions:
find /path -perm -permision_bits

Find files with a given name and any extension:
find /path -name 'given_name.*'

Find files modified in the latest blocks of 24 hours:
find /path -mtime n

Where n is:

  • 0 for the last 24 hours
  • 1 for the last 48 hours
  • 2 for the last 72 hours

Find files that were accessed in the latest blocks of 24 hours:
find -atime n

Where n is:
  • 0 for the last 24 hours
  • 1 for the last 48 hours
  • 2 for the last 72 hours

Find files according to owner:
find /path -user root

One can also pipe find commands to the xargs command to execute commands on files.
Find and delete files:
find /path -name mytestfile | xargs rm

See man find and man xargs for more information about these powerful commands.

Many new Linux users are intimidated by the command line and this feeling should be overcome from the onset because the command line can be faster and more powerful than most GUI applications.

Full Story

  Nav
» Read more about: Story Type: ; Groups: GNU, Linux

« Return to the newswire homepage

This topic does not have any threads posted yet!

You cannot post until you login.