Skip to content

Instantly share code, notes, and snippets.

@arturoherrero
Forked from s4nchez/gist:4713057
Created March 7, 2013 15:12
Show Gist options
  • Save arturoherrero/5108724 to your computer and use it in GitHub Desktop.
Save arturoherrero/5108724 to your computer and use it in GitHub Desktop.

Command line tools every developer should know

Prior reading

  • The Unix philosophy, specially the "Make each program do one thing well" [1]

Basic

  • File and directory navigation/manipulation (ls, cd, mkdir, rm, rmdir, touch, cp, mv)
  • ln/unlink/readlink
  • find/locate
  • chmod
  • chown
  • man/info
  • su/sudo
  • set/export (environment variables in general, specially PATH)
  • which
  • df
  • history

Text editing

  • vi (enough to open/edit/save a file)

Text processing

  • cat
  • head/tail
  • more/less
  • grep
  • awk/sed/cut
  • (regular expression in general)
  • wc
  • diff
  • tr

Streams, pipes and redirects

  • <<
  • |
  • xargs
  • tee

Networking

  • ping
  • netstat
  • ssh/scp
  • ngrep
  • netcat
  • curl
  • wget
  • telnet (mostly for port testing?)
  • rsync
  • lsof (-i)

Processes

  • ps
  • uptime
  • top/htop
  • nohup
  • kill/pkill/killall
  • &
  • (Ctrl + Z)
  • fg/bg/jobs
  • crontab
  • lsof

File archiving and compressing

  • tar (including manipulating gzip/bzip)
  • zip

References

[1] The Art of Unix Programming (http://www.catb.org/esr/writings/taoup/html/ch01s06.html)

Resources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment