Links

CLI Tools Cheat Sheet

A cheat sheet for useful Linux CLI tools

awk

  • A tool with similar capabilities to cat and cut where it can read file contents and customize the output.
1
// Selecting text fields from a file
2
root@box ~ $ awk '{print $1 ""}' subdomains.txt
3
blog.techwithtyler.dev
4
braindump.techwithtyler.dev
5
techwithtyler.dev
6
www.techwithtyler.dev

cat

  • A tool for reading file contents onto standard output (STDOUT).
1
// Reading files
2
root@box ~ $ cat subdomains.txt
3
blog.techwithtyler.dev 234234234
4
braindump.techwithtyler.dev 25346536
5
techwithtyler.dev 43564356743
6
www.techwithtyler.dev 45776568

cut

  • A tool for removing sections from each line of files
1
// Selecting text fields from a file
2
root@box ~ $ cut -f2 -d " " subdomains.txt
3
234234234
4
25346536
5
43564356743
6
45776568
// Another option, piping output to cut
root@box ~ $ cat subdomains.txt | cut -f2 -d " "
234234234
25346536
43564356743
45776568

find

  • More advanced than the locate tool.
  • It can search based on several attributes e.g., permissions, timestamp, file size, and more.
// Finding a file
$ find -name my-*
./a/b/c/d/e/f/g/my-lost-file
// Finding files owned by root where all users have 'write' permissions
$ find / -type f -group root -perm -a=w 2>/dev/null
/proc/sys/kernel/ns_last_pid
/proc/pressure/io
/proc/pressure/cpu
[SNIP]

locate

  • A useful tool for quickly finding files and directories.
  • Install it with: sudo apt install mlocate
  • It's a local database that gets updated regularly with a cron job but can otherwise be forced to update with: sudo updatedb
// Finding a file
$ locate my-lost-file
/home/parrot/a/b/c/d/e/f/g/my-lost-file

which

  • Searches the $PATH environment variable for any executable matching the search.
// Checking if python3 is installed
$ which python3
/usr/bin/python3