How to find executables

I know there is a find switch. but I want to know how to search a specific type of file. For example I need kind of terminal command which search for only executable files.


Solution 1:

This should do what you want:

find . -perm -u+x -type f  

If you want to find everything that could possibly be executable, you could look at mime-types or file output. That would be counter-productive though since you couldn't possibly catch every script.

References:
The man page
Stackoverflow

Solution 2:

This also works,

find ~ -type f -executable

List all executable files inside your /home/$USER directory.

From man find

-executable
          Matches files which are executable  and  directories  which  are
          searchable  (in  a file name resolution sense).  This takes into
          account access control lists  and  other  permissions  artefacts
          which  the  -perm  test  ignores.   This  test  makes use of the
          access(2) system call, and so can be fooled by NFS servers which
          do UID mapping (or root-squashing), since many systems implement
          access(2) in the client's kernel and so cannot make use  of  the
          UID  mapping  information held on the server.  Because this test
          is based only on the result of the access(2) system call,  there
          is  no  guarantee  that  a file for which this test succeeds can
          actually be executed.