Linux

Table of contents
  1. Find
  2. Search
  3. Processes
  4. File permissions
  5. List files
  6. Symlinks
  7. Checking logs
  8. Text manipulation
  9. Sed
  10. Networking
  11. Space
  12. Miscellaneous
  13. For more information

Find

  • find dir -type f Find all files in the directory
  • find dir -type d File all directories within this directory
  • find dir -name "a*.mp3" -print0 Find all files/directory with name like a***.mp3
  • find dir -type f -name "a*.txt" Find all files (recursively) with name like a***.txt
  • find dir -type f -print0 | xargs -0 grep -l "word" List file names with matching word
  • find dir -type f -print0 | xargs -0 mv -t Move all files from dir tree into single directory

  • grep "word" file All matching lines in the file
  • grep -i "word" file All matching lines - Ignore case
  • grep -r "word" dir All matching lines in (recursively) all files or directory
  • grep -c "word" file Count of matching lines
  • grep "word" file | wc -l Count of matching lines
  • grep -v "word" file | wc -l Count of non-matching lines
  • grep -o -w "word" file | wc -w Word count
  • grep -l -r "word" dir List file names with matching word
  • find dir -type f -print0 | xargs -0 grep -l "word" List file names with matching word

Processes

  • nohup program.sh > mylog.txt 2>&1 &
    • & starts process as child process in the background
    • nohup Ctrl-C or terminating session sends kill signal to all child processes, nohup catches and ignores it
    • > redirect output (from left/source to right/target)
    • 2 error stream
    • 1 output stream
    • 2>&1 append all errors to output
  • top Check CPU and memory consumption
  • kill -9 processId kill the process with that pid
  • kill -3 processId for a JVM process, will write thread dump to output stream
  • ps -ef | grep word find process with matching word
  • echo $? print output of last process

File permissions

  • chmod file Change
  • chmod +x file Add execute permission
  • chmod +w file Add write permission
  • chmod +r file Add read permission
  • chmod 755 file Change permission
  • chmod -R 755 dir Change permission recursively
  • chmod g+w file Add write permission at group level
  • Numbers: 1=x, 2=w, 3=w+x, 4=r, 5=r+x, 6=r+w, 7=r+w+x
  • References: u=user, g=group, o=others, a=all

List files

  • ls list files in this directory
  • ls -ltr list files in this directory with more details and in reverse chronological order
  • ls -ltra same as above + list hidden files (names starting with .)
  • ls -ltr | grep "^l" Lists all symlinks (ls -ltr lists symlinks with l as first character of output)

  • Symbolic or soft links. Pointer to a file.
  • ln -s /java/jdk7 jdk create symlink jdk which points to /java/jdk7
  • ln -ns /java/jdk8 jdk update symlink jdk to point to /java/jdk8

Checking logs

  • tail -f logfile output appended data as file grows (f=follow)
  • less +F logfile open file, and output appended data as file grows

Text manipulation

  • head file display first 10 lines
  • head -20 file display first 20 lines
  • tail file display last 10 lines
  • tail -5 file display last 5 lines
  • head -20 file | tail -1 display 20th line
  • cut -f3 file display 3rd field for each line, tab as separator
  • cut -d',' -f3 file display 3rd field for each line, , as separator
  • cut -c3-6 file display characters from 3rd to 6th position for each line
  • cut -c7- file display characters from 7th to end of each line

Sed

  • sed s/unix/linux file replace first occurrence of “unix with “linux”
  • sed s/unix/linux/3 file replace 3rd occurrence
  • sed s/unix/linux/g file replace all occurrences
  • sed s/unix/linux/3g file replace all occurrences starting from 3rd one
  • sed -i '1 d' file delete header of file
  • sed -i '$ d' file delete footer of file
  • sed –n '10 p' file print 10th line of the file

Networking

  • ping hostname or telnet hostname port check if remote host is alive
  • scp /dir/file user@hostname:/targetdir/file copy file to different host
  • netstat -a | grep "port" check host connected to machine’s port

Space

  • df -h space in current drive (-h is human readable format)
  • du -h . sizes of all files in current directory
  • du -sh . sizes of current directory
  • du /bin/* | sort -n sort all files based on size (asc)

Miscellaneous

  • lsof file list processes using the file
  • rev file reverses the text in each line
  • echo "string" | rev reverses the string
  • sort file sorts file lines alphabetically
  • sort -n file sorts file lines numerically
  • uniq file filter out adjacent duplicate lines and print
  • uniq -c file print with count at the begining of each line of output
  • uniq -d file print only duplicates

For more information


Back to top

Copyright © 2022-2023 Interview Docs Email: docs.interview@gmail.com