locate a filename, make sure it exists and display it with full details

locate -e somefile | xargs ls -l
use the locate command to find files on the system and verify they exist (-e) then display each one in full details.
Sample Output
laptop:~# locate -e freetype.so | xargs ls -l
lrwxrwxrwx 1 root root     16 2009-08-08 11:49 /usr/lib32/libfreetype.so -> libfreetype.so.6
lrwxrwxrwx 1 root root     21 2009-08-08 11:49 /usr/lib32/libfreetype.so.6 -> libfreetype.so.6.3.20
-rw-r--r-- 1 root root 483556 2009-06-01 14:50 /usr/lib32/libfreetype.so.6.3.20
lrwxrwxrwx 1 root root     21 2009-06-17 15:53 /usr/lib/libfreetype.so -> libfreetype.so.6.3.20
lrwxrwxrwx 1 root root     21 2009-06-17 15:53 /usr/lib/libfreetype.so.6 -> libfreetype.so.6.3.20
-rw-r--r-- 1 root root 551872 2009-06-01 14:40 /usr/lib/libfreetype.so.6.3.20

By: nadavkav
2009-08-23 13:16:59

These Might Interest You

  • MAC OSX doesn't come with a locate command, This will do the same thing as the locate command on a typical Linux OS. Simply add it to your ~/.bash_profile

    alias locate='if [ $((`date +%s`-`eval $(stat -s /var/db/locate.database); echo $st_mtime`)) -gt 3600 ]; then echo "locate: db is too old!">/dev/stderr; sudo /usr/libexec/locate.updatedb; fi; locate -i'
    jhyland87 · 2013-01-21 17:45:50 0
  • This command lists extended information about files, i.e. whether or not it is a true file or link, who owns it, etc. without having to 'ls' from the specific directory. If you know the filename, but not the location, this helps with finding other information about the file. It can be truncated by creating an alias for 'ls -l'. The sample output shows difference in regular locate vs. ls + locate. Show Sample Output

    ls -l `locate your_search_here`
    tjcertified · 2009-11-27 05:53:46 3
  • May require the locate package. Locate is awesome, it creates a small file database which is updated once a day or so, or you can do a force update with 'updatedb'. Then you just type in 'locate' with the name of the file or folder that you want and off it goes. Show Sample Output

    locate *.desktop
    Vallamost · 2016-09-21 23:47:39 0
  • To start, you first need to make sure updatedb has been run/updatedb, and initialized the db: su -l root -c updatedb This locate command is provided through the mlocate package, installed by default on most GNU/Linux distributions. It's available on the BSDs as well. Not sure about support for proprietary UNIX systems. The output is self-explanatory- it provides an overview of how many directories and files are on your system. Show Sample Output

    locate -S
    atoponce · 2010-06-25 14:39:49 0

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands

Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: