Site icon Ananova Business Web Hosting

Linux Search for Files, Text Strings and Applications

Linux Search

find command

It supports searching by file, folder, name, creation date, modification date, owner and permissions

-type f: Search for files
-type d: Search for directories
-not : Return results that do not match the test case
-iname: Search without regard for text case
-perm octal: Search for the file if permission is ‘octal’ or with entered permissions

find ./Ananova -perm 777

-exec CMD: The file being searched which meets the above criteria and returns 0 for as its exit status for successful command execution

find ./Ananova -perm 771 -exec chmod o+r '{}' \;

-ok CMD: It works same as -exec except the user is prompted first
-inum N: Search for files with inode number ‘N’
-links N: Search for files with ‘N’ links
-name demo: Search for files that are specified by ‘demo’
-newer file: Search for files that were modified/created after ‘file’
-print: Display the path name of the files found by using the rest of the criteria
-empty: Search for empty files and directories

find ./Ananova -empty

Find and delete all the ‘.err' files in the hierarchy starting at the current directory
find . -name “*.err” -delete

find . -name "*.err" -delete

-size +N/-N: Search for files of ‘N’ blocks; ‘N’ followed by ‘c’can be used to measure size in characters; ‘+N’ means size > ‘N’ blocks and ‘-N’ means size < ‘N' blocks
-user name: Search for files owned by user name or ID ‘name’.
\(expr \): True if ‘expr’ is true; used for grouping criteria combined with OR or AND
! expr: True if ‘expr’ is false

Starting from the root, search for the specified file

find / -name <filename>

Find specific file in the specified directory

Search a file with a pattern using ‘*' or ‘?'

To find all the text files with an extension ‘.txt' in Ananova directory

find ./Ananova -name *.txt

The below command finds and deletes adult-host.txt from Ananova directory by taking confirmation

$ find ./Ananova -name adult-host.txt -exec rm -i {} \;

locate command

locate <filename>

Update or create a database ‘mloacate' of the files under the root directory, used by ‘locate' command

-n: Limit Search Queries to a Specific Number to avoid redundancy

locate "*.php" -n 10

-c: Display The Number of Matching Entries

locate -c [LinuxHost]*
-i: Ignore Case Sensitive Locate Outputs
locate -i *linuxhost.php*

-e: Display Only Files Present in Your System

locate -i -e *linuxhost.php*

-S: to view the locate database statistics


Search in all files for a specified string

grep command (global search for regular expression and print out)

The grep filter searches a file for a particular pattern of characters referred to as a regular expression and displays all lines that contain that pattern.

grep <string> <path>/<directory-name>

Search $PATH, man pages and source files for an application specified

-i: Ignores, case for matching

grep -i "Ananova" hosting.php

-c: This prints only a count of the lines that match a pattern
-h: Display the matched lines, but do not display the filenames.
-l: Displays list of a filenames only
-o: Print only the matched parts of a matching line, with each such part on a separate output line
-n: Display the matched lines and their line numbers.
-v: This prints out all the lines that do not matches the pattern
-e exp: Specifies expression with this option. Can use multiple times.
-f file: Takes patterns from file, one per line.
-E: Treats pattern as an extended regular expression (ERE)
-w: Match whole word

whereis command

whereis <application-name>

Search $PATH for an application specified

-b: Search only for binaries
-m: Search for manual sections
-s: Search for sources
-u: Search for unusual entries. A file is said to be unusual if it does not have one entry of each requested type. For example, “whereis -m -u *” asks for those files in the current directory which have no documentation
-B: Change or otherwise limit the places and searches for binaries
-M: Change or otherwise limit the placesand searches for manual sections
-S: Change or otherwise limit the places the command searches for sources
-f: Terminate the last directory list and signals the start of file names, and must be used when any of the -B, -M, or -S options used

which command

To find the location of a program

which <application-name>

-a: show all the places a program installed

Exit mobile version