Handy Linux Commands

    • Searches for files by their name

(ref: 25 simple examples of Linux find command, http://www.binarytides.com/linux-find-command-examples/ )

$ find ./test -name "*.php" ./test/subdir/how.php ./test/cool.php

        • $ find ./test -name "abc.txt" ./test/abc.txt

    • Finding all files containing a text string on Linux

(ref: http://stackoverflow.com/questions/16956810/finding-all-files-containing-a-text-string-on-linux)

        • grep -rnw '/path/to/somewhere/' -e "pattern"

    • -r or -R is recursive,

    • -n is line number, and

    • -w stands match the whole word.

    • -l (lower-case L) can be added to just give the file name of matching files.

    • Along with these, --exclude or --include parameter could be used for efficient searching. Something like below:

      • grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"

    • This will only search through the files which have .c or .h extensions. Similarly a sample use of --exclude:

      • grep --exclude=*.o -rnw '/path/to/somewhere/' -e "pattern"

    • Above will exclude searching all the files ending with .o extension. Just like exclude file it's possible to exclude/include directories through --exclude-dir and --include-dir parameter; for example, the following shows how to integrate --exclude-dir:

      • grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"