cheatsheets/command_line.md

2.8 KiB

title
Command line stuff

List (ls)

{: .-three-column}

Usage

ls [options] [paths]

Format

Switch Description
-1 One entry per line
-l Long view
-o Long view (without groups)
-C Multicolumn (sorted horizontally)
-x Multicolumn (sorted vertically)
---
-F Add / after directories
-G Color

Options

| -R | Recurse | | -a | Include hidden (dotfiles) | | -A | Include hidden (but not . and ..) |

Sorting

Switch Description
-r reverse order
-S sort by size
-t sort by time modified
-u sort by time accessed
-U sort by time created
-c sort by time status was changed
---
-h Human-readable size (3k)

Tail

{: .-three-column}

Usage

tail [-F | -f | -r] [-bN | -cN | -nN] [file ...]

Modes

| -f | follow | | -F | follow by filename (accounts for log rotation) | | -r | Reverse order |

Options

| -bN | N*512 bytes | | -cN | N bytes | | -nN | N lines | | +N | Start from line N |


Sudo

{: .-three-column}

Usage

sudo [options] <command>

Listing

| -l | List allowed commands |

Options

| -A | Use $SUDO_ASKPASS | | -b | Run in background | | -E | Preserve environment | | -H | use target's $HOME | | -n | Don't prompt for password | | -P | Preserve group vector | | -S | Read password from stdin |

File descriptors

| -C fd | Close all open file descriptors |

Prompt

| -p prompt | Custom prompt (-p "%p password:") |

Interactive

Switch Description
-i [cmd] Interactive shell without variables
-s [cmd] Interactive shell
----
-u user run as this user
-g group run as this group

Timestamp

| -v | revalidate timestamp for 5 mins | | -k | invalidate timestamp | | -K | just like -k |

wc (Word count)

{: .-three-column}

wc

... | wc [options]

Options

| -c | Bytes | | -l | Lines | | -m | Characters (incl multi-byte) | | -w | Words |

Grep

{: .-three-column}

Usage

grep [options] [pattern] [file ...]

Options

Switch Description
-A num Print num lines of training context
----
-G --basic-regexp (default)
-E --extended-regexp
-P --perl-regexp
----
-f file --file (Get patterns for file)
-F --fixed-strings
----
-h --no-filename
-H --with-filename
----
-l --files-with-matches (just print filenames)
-L --files-without-match
----
-r, -R --recursive
-v --invert-match
-i --ignore-case

Synonyms

egrep  =>  grep -E
fgrep  =>  grep -F

Other recipes

{: .-three-column}

Search-and-replace in all files

perl -p -i -e 's/hello/HELLO/g' **/*