Cheatsheet
Here are some more or less ordered snippets for things I regularly re-search. Use Control+F to search for keywords or use the listing for quick access.
General #
Various tips and tricks to do different things.
Hint: You can always use :%!<command> in neovim to apply a command to the
entire buffer. :% means 'start command line and take the entire file as input.
!<command> is for executing a command with said input.
| Task | Fish Shell | Neovim |
|---|---|---|
| Modify/Format JSON in-place | jq* |
:%!jq |
| Modify/Format XML in-place | xq* |
:%!xq |
| Hex to ASCII | xxd -r -p |
:%!xxd -r -p |
| Copy filename | ls file | + wl-copy, pbcopy, ... |
:let @*=expand("%") (current buffer) |
* To edit files in fish in-place you can use psub like this:
cat (cat tests.json | jq | psub) > tests.json
Database Commands #
Placeholder values are identified by <placeholder>.
| Task | SQLite | Mysql | InfluxDB v1 |
|---|---|---|---|
| Show all Databases | .databases |
show databases; |
SHOW DATABASES |
| Show all tables | .tables |
show tables; |
SHOW SERIES ON "database" |
| Table Schema | .schema <table> |
describe <table>; |
SHOW SERIES FROM "series.name" |
| Vertical output | .mode line * |
<query>\G |
? |
* see .help mode, it's awesome!
POSIX Commands #
You can research a single command by looking at the conformance chapter from the OpenGroup spec
(convenience link 2024 POSIX) (just CTRL+F).
Original source (Wikipedia). List taken from https://upload.wikimedia.org/wikipedia/commons/b/b7/POSIX_Utilities.pdf
(List does not include commands that have to do with the SCCS suite of commands)
| Command name | Function |
|---|---|
| alias | define or display aliases |
| ar | create and maintain library archives |
| asa | interpret carriage-control characters |
| at | execute commands at a later time |
| awk | pattern scanning and processing language |
| basename | return non-directory portion of a pathname |
| batch | schedule commands to be executed in a batch queue |
| bc | arbitrary-precision arithmetic language |
| bg | run jobs in the background |
| c17 | compile standard C programs |
| cal | print a calendar |
| cat | concatenate and print files |
| cd | change the working directory |
| cflow | generate a C-language flowgraph (DEVELOPMENT) |
| chgrp | change the file group ownership |
| chmod | change the file modes |
| chown | change the file ownership |
| cksum | write file checksums and sizes |
| cmp | compare two files |
| comm | select or reject lines common to two files |
| command | execute a simple command |
| compress | compress and decompress data |
| cp | copy files |
| crontab | schedule periodic background work |
| csplit | split files based on context |
| ctags | create a tags file (DEVELOPMENT, FORTRAN) |
| cut | cut out selected fields of each line of a file |
| cxref | generate a C-language program cross-reference table (DEVELOPMENT) |
| date | write the date and time |
| dd | convert and copy a file |
| df | report free disk space |
| diff | compare two files |
| dirname | return the directory portion of a pathname |
| du | estimate file space usage |
| echo | write arguments to standard output |
| ed | edit text |
| env | set the environment for command invocation |
| ex | text editor |
| expand | convert tabs to spaces |
| expr | evaluate arguments as an expression |
| false | return false value |
| fc | process the command history list |
| fg | run jobs in the foreground |
| file | determine file type |
| find | find files |
| fold | filter for folding lines |
| fuser | list process IDs of all processes that are using one or more |
| named | files |
| gencat | generate a formatted message catalog |
| getconf | get configuration values |
| getopts | parse utility options |
| gettext | retrieve text string from messages object |
| grep | search a file for a pattern |
| hash | remember or report utility locations |
| head | copy the first part of files |
| iconv | codeset conversion |
| id | return user identity |
| ipcrm | remove an XSI message queue, semaphore set, or shared memory |
| segment | identifier |
| ipcs | report XSI interprocess communication facilities status |
| jobs | display status of jobs in the current shell execution environment |
| join | relational database operator |
| kill | terminate or signal processes |
| lex | generate programs for lexical tasks (DEVELOPMENT) |
| link | call link function |
| ln | link files |
| locale | get locale-specific information |
| localedef | define locale environment |
| logger | log messages |
| logname | return the user's login name |
| lp | send files to a printer |
| ls | list directory contents |
| m | 4 macro processor |
| mailx | process messages |
| make | maintain, update, and regenerate groups of programs (DEVELOPMENT) |
| man | display system documentation |
| mesg | permit or deny messages |
| mkdir | make directories |
| mkfifo | make FIFO special files |
| more | display files on a page-by-page basis |
| msgfmt | create messages objects from portable messages object |
| source | files |
| mv | move files |
| newgrp | change to a new group |
| ngettext | retrieve text string from messages object |
| nice | invoke a utility with an altered nice value |
| nl | line numbering filter |
| nm | write the name list of an object file (DEVELOPMENT) |
| nohup | invoke a utility immune to hangups |
| od | dump files in various formats |
| paste | merge corresponding or subsequent lines of files |
| patch | apply changes to files |
| pathchk | check pathnames |
| pax | portable archive interchange |
| pr | print files |
| printf | write formatted output |
| ps | report process status |
| pwd | return working directory name |
| read | read from standard input into shell variables |
| readlink | display the contents of a symbolic link |
| realpath | resolve a pathname |
| renice | set nice values of running processes |
| rm | remove directory entries |
| rmdir | remove directories |
| sed | stream editor |
| sh | shell, the standard command language interpreter |
| sleep | suspend execution for an interval |
| sort | sort, merge, or sequence check text files |
| split | split a file into pieces |
| strings | find printable strings in files |
| strip | remove unnecessary information from executable files (DEVELOPMENT) |
| stty | set the options for a terminal |
| tabs | set terminal tabs |
| tail | copy the last part of a file |
| talk | talk to another user |
| tee | duplicate standard input |
| test | evaluate expression |
| time | time a simple command |
| timeout | execute a utility with a time limit |
| touch | change file access and modification times |
| tput | change terminal characteristics |
| tr | translate characters |
| true | return true value |
| tsort | topological sort |
| tty | return user's terminal name |
| type | write a description of command type |
| ulimit | report or set resource limits |
| umask | get or set the file mode creation mask |
| unalias | remove alias definitions |
| uname | return system name |
| uncompress | compress and decompress data |
| unexpand | convert spaces to tabs |
| uniq | report or filter out repeated lines in a file |
| unlink | call the unlink function |
| uucp | system-to-system copy |
| uudecode | decode a binary file |
| uuencode | encode a binary file |
| uustat | uucp status enquiry and job control |
| uux | remote command execution |
| vi | screen-oriented (visual) display editor |
| wait | await process completion |
| wc | word, line, and byte or character count |
| who | display who is on the system |
| write | write to another user |
| xargs | construct argument lists and invoke utility |
| xgettext | extract gettext call strings from C-language source files (DEVELOPMENT) |
| yacc | yet another compiler compiler (DEVELOPMENT) |
| zcat | compress and decompress data |