# Linux tools to know ## Built-in Mac OS tools * ls - list directory contents * wc - word, line, character, and byte count * cp - copy files * mv - move files * rm - remove directory entries * chmod - change file modes or Access Control Lists * chown - change file owner and group * mkdir - make directories * touch - change file access and modification times * grep, egrep, fgrep, pgrep - file pattern searcher * [cheatsheet](https://gist.github.com/crittelmeyer/3efb79db19fe1483c0c3) * sed - stream editor * xargs - construct argument list(s) and execute utility * [cheatsheet](https://gist.github.com/crittelmeyer/443aed71797d692a6c0e) * netstat - show network status * vim - Vi IMproved, a programmers text editor * launchd - System wide and per-user daemon/agent manager ## Other useful tools * jp2a: convert jpeg to ascii * nmap: security scanner used to discover hosts and services on a computer network * wget: download files from the internet * ack: tool for finding text inside files * lynx: text web browser * p7zip: a linux port of 7zip * pv: "pipe viewer", displays a progress bar for a series of piped commands * rename: rename files using either common patterns via flags, or custom patterns via regex * speedtest_cli: for testing internet bandwidth using speedtest.net * tree: recursive directory listing with indention and colors * webkit2png: captures a screenshot of a website and saves locally as png * chronic: runs a command quietly unless it fails * combine: combine the lines in two files using boolean operations * ifdata: get network interface info without parsing ifconfig output * ifne: run a program if the standard input is not empty * isutf8: check if a file or standard input is utf-8 * lckdo: execute a program with a lock held * mispipe: pipe two commands, returning the exit status of the first * parallel: run multiple jobs at once * pee: tee standard input to pipes * sponge: soak up standard input and write to a file * ts: timestamp standard input * vidir: edit a directory in your text editor * vipe: insert a text editor into a pipe * zrun: automatically uncompress arguments to command TODO: cheatsheets for these tools