This repository has been archived on 2024-03-04. You can view files and clone it, but cannot push or open issues or pull requests.
linux/.doc/Bash.md

13 KiB

Bash reference file.

To get help with usage info run:

$ help <COMMAND>

or

$ h <COMMAND>

Android.

Command Description
emulator [NAME] Start an Android emulator. Default name is main.

Archive.

Command Description
archive [DIRS] Archive directories. All directories by default. Supports .archiveignore exclude file.
archive_mt [DIRS] Archive using multiple threads. Uses 75% of free RAM. All directories by default. Supports .archiveignore exclude file.
archive_fast [DIRS] Archive directories with fast compression. All directories by default. Supports .archiveignore exclude file.
archive_check [FILES] Check archives integrity. Checks all archives by default.
archive_prune [NAME] [VERSIONS] Delete old versions of an archive. All archives with 1 version by default.
archive_rm [FILES] Delete specified or all archive files.
archive_xz [FILES] Recompress previously created archive_fast with better compression.
archive_name [ARCHIVE] [NAME] Rename archives. If no name specified, it simplifies archive's name. If no archives specified, apply to all archives.
unarchive [FILES] Extract previously created archive with checksum validation.

Battery.

Command Description
battery_level Print current battery level.

Bootstrap.

Command Description
bootstrap_rust Install Cargo/Rust.
bootstrap_texlive Install TeXLive.
bootstrap_grub Install grub theme.
bootstrap_ffmpeg Install ffmpeg.
bootstrap_editorconfig Install Editorconfig file (with tabs) in current directory.
bootstrap_editorconfig_space [AMOUNT] Install Editorconfig file (with specified spaces, 8 by default) in current directory.

Cd.

Command Description
cdd <DIR> CD (back to) directory. Goes to the exact-match dir first. If no exact match found, it finds first directory that contains the input (case-insensitive).

Checksum.

Command Description
checksum_create [FILES] Save file checksums. For file with a name file it will create a new file called .file.sha1 with hash in it. All files by default.
checksum_check [FILES] Check stored values against actual files. All files by default.
checksum Calculate hashes for all files recursively and store in a file called checksum.sha1.

Chmod.

Command Description
x <FILES> Add executable flag to file.

Color.

Command Description
color_test Print all available colors with their names colored in corresponding color.

Container.

Command Description
ca [NAME] Attach/create container box in current directory with specified name. Uses main name by default.
ck [NAME] Remove container box with specified name. By default uses main name.
cka Remove all container boxes.
cl List all container boxes.

Copypaste.

Command Description
copy Copy stdin to system clipboard. Example: echo hi | copy.
paste Paste system clipboard to stdout. Example: paste > file.txt.

Cp.

Command Description
cp <FROM> <TO> Replaces default cp with rsync.
cp_merge <FROM> <TO> Copy and also merge all changes (delete dst files that do not exist in src).
cp_link <FROM> <TO> Copy by creating hardlinks. Works for directories, too.
bcp Default cp, a.k.a builtin cp. When you don't need rsync.
cp_test <FROM> <TO> Print output of cp_merge without writing anything.

Date.

Command Description
today Print today date in yyyyMMdd format.
dow Current day of week number.

Dconf.

Command Description
dconf_load Load Gnome settings.
dconf_save [FILE] Dump Gnome settings into the file. Default name is gnome.dconf. Do this before changing settings and after, an then run diff to find out what to add to the main gnome.dconf.

Docker.

Command Description
docker_volumes <CONTAINER> Show container's volumes.
docker_health Check if any container exited.
docker_ip <CONTAINER> Find out container's IP address.
docker_update Update all docker images.
docker_prune Prune everything.
dc Docker compose shortcut.
dcu [SERVICES] Docker compose up.
dcd [SERVICES] Docker compose down.
dcp [SERVICES] Docker compose pull.
dcl [SERVICES] Docker compose logs.
dcr [SERVICES] Docker compose restart.
dcs [SERVICES] Docker compose stop.
dcdu [SERVICES] Docker compose down & up specified services.
dcpu [SERVICES] Docker compose pull & up specified services.
dcul [SERVICES] Docker compose up & attach to logs for specified services.

Doc.

Command Description
doc_bash Generate a markdown file with all the help info. Outputs to ~/.doc/Bash.md.

Export.

Command Description
export_java [VERSION] Set java version. Sets to latest when not specified.

Ffmpeg.

Command Description
ffmpeg_mux_audio <SOUND> <OUTPUT DIR> Mux audio into containers. File names in sound and current dirrectories must match.
ffmpeg_mux_cover <FORMAT> <COVER> Mux cover into music file.
ffmpeg_music_meta <FORMAT> Generate music metadata from directory structure. Top dir is the Artist name like this: The_Beatles. Next are albums like this: 2010_My_love. Inside are songs like this: 01_sample.flac.

File.

Command Description
o <FILE> Open file/dir in GUI.
play [FILE] Play media file from CLI. All files by default.

Find.

Command Description
find_ext Find all file extensions.
find_module Find all modules.
find_function [MODULE] Find all module functions. Functions from all modules by default.

Fix.

Command Description
fix_ethernet_speed <DEVICE> <SPEED> Fix when ethernet mistakenly detects 100 Mb instead of 1000 Mb. SPEED is one of 10/100/1000 etc.
fix_files_sftp Fix nautilus after typing wrong sftp password.

Git.

Command Description
gps Git push.
gpsa Git push all (branches). Useful for pushing all stuff to a new remote.
gpsf Git force push.
gpl Git pull.
gl Git log.
gs Git status.
gst Git stash.
gd Git diff.
gc Git commit.
gch Git checkout.
gchb <BRANCH> Git checkout branch.
gb Git branch.
gbd <BRANCH> Git branch delete.
gbda Git branch delete all except current.
gf Git fetch all.
gt Git tag.
gi Git ignore files.
gpc <FILE> Git patch create.
gp <FILE> Git patch (apply).
ggc Run git garbage collection.
ga [FILES] Preview diff while adding. Adds current dir by default.
gr [COMMIT COUNT] Rebase by X commits or from root. When COUNT is 0 - rebase from root. Default is 2.
gu [EMAIL] Specify git user as Dmitry Voronin with provided email.
gg <REPO> Get my git repo.
gdc <COMMITHASH> See diff for a specific commit.

Group.

Command Description
group_ext [FILES] Group files by extension.
group_year [FILES] Group files and dirs by year.

Help.

Command Description
help <FUNCTION> Get help about dotfiles bash function.
h <FUNCTION> Short for help.

Ls.

Command Description
l [DIRS] List files in dirs. Current dir by default.
ll [DIRS] List last modified files first. Current dir by default.
lll [DEPTH] [DIRS] List files in tree structure. Current dir by default. Depth can be omitted by passing - (dash).
llll [DIRS] List files recursively. Current dir by default.
la [DIRS] List all files in dirs, incl. hidden files. Current dir by default.
lla [DIRS] List all files in dirs, incl. hidden files, sorted by mtime. Current dir by default.

Markdown.

Command Description
markdown_render <FILE.md> Render markdown in browser using Gitea API. Because I want consistency with Gitea web render. Works only inside LAN.

Name.

Command Description
name [FILES] Rename dirs to snake_case and files to PascalCase. Careful with structured file names like archives!
name_parse <PARSER> [FILES] Rename files with provided parser, i.e. parse_simple. All files by default.
name_hash [FILES] Rename all files to their hashes while keeping extensions. All files by default.
name_hash_check [FILES] Check hashes for previously renamed files. All files by default.
name_show [FILES] Rename files for Jellyfin shows, i.e. Episode S01E01.mkv All files by default.
name_manga <SEASON> [FILES] Rename files for Kavita manga format. All files by default.
name_music [FILES] Rename files for ffmpeg_music_meta format. All files by default.
name_ext <EXTENSION> [FILES] Rename files with new extension. All files by default.
name_prefix <OLD> <NEW> [FILES] Change file name prefix. All matching files by default.
name_postfix <OLD> <NEW> [FILES] Change file name postfix. All matching files by default.
name_replace <OLD> <NEW> [FILES] Replace part of the name. All matching files by default.
name_fix_numbering [FILES] Fix numbering for numbered files. I.e if there are 10 items and some of them start without zero, then append zero to it. 1..10 -> 01..10.

Ncdu.

Command Description
ncdu [DIRS] Search only on current filesystem. Current dir by default.

Nix.

Command Description
nix_find <PACKAGE> Find Nix package path.
nix_unstable Switch to Unstable branch.
nix_unstable_small Switch to Small Unstable branch (for server).
nix_channel Display current channel.
nix_update Update system (rebuild).
nix_upgrade Upgrade system.
nix_clean Free up root space.
shell Spawn temporary shell.

Notify.

Command Description
notify <MESSAGE> Send Telegram notification.
notify_silent <MESSAGE> Send silent Telegram notification.

Own.

Command Description
own [USER] [FILES] Change file ownership to specified user id and restrict access to him. Root user by default. This directory recursively by default.

Pack.

Command Description
pack <TARGET.ext> [FILES] Pack files into desired format. All files and directories by default.
unpack [FILES] Attempt to unpack. All supported formats by default.

Parse.

Command Description
parse_simplify <STRING> Parse data and output simplified format.
parse_pascal <STRING> Parse to PascalCase.
parse_snake <STRING> Parse to snake_case.
parse_kebab <STRING> Parse to kebab-case.
parse_camel <STRING> Parse to camelCase.
parse_snake_uppercase <STRING> Parse to SNAKE_CASE_UPPERCASE. NOT STABLE! Repeating results in different output.
parse_alnum <STRING> Parse data keeping only alphanumeric characters.
parse_ints <STRING> Parse integers from mixed string.
parse_lowercase <STRING> Parse string to lowercase.
parse_uppercase <STRING> Parse string to uppercase.
parse_titlecase <STRING> Parse string to title case.
parse_sentencecase <STRING> Parse string to sentence case.
parse_startcase <STRING> Parse string to start case.
parse_json <STRING> Parse string to pretty Json.

Permissions.

Command Description
perm_share Recursively change permissions to allow read sharing with group and others.
perm Recursively change permissions to restrict access for group and others.

Ps.

Command Description
ps [PROCESS] Find process and filter.

Random.

Command Description
random_file Picks a random file or directory.

Recursive.

Command Description
recursive <COMMAND> Run something recursively over all directories.
recursive1 <COMMAND> Run something recursively over directories of 1 depth (excluding current dir).

Rust.

Command Description
rust_book Open Rust book.

Su.

Command Description
s [USER] Su shortcut for lazy me. Root by default.

Terminal.

Command Description
tsize Get terminal size.

Tmp.

Command Description
tmp CD into host's primary tmp dir.

Tmux.

Command Description
ta [NAME] Create/attach to named session. By default uses name main.
td Detach from running session.
tda Detach all other tmux clients.
tl List running sessions.
tns [NAME] Assign name to session. Uses current dir name by default.
tnw [NAME] Assign name to window. Uses current dir name by default.
tk [NAME] Kill specified session. By default it kills main session.
tka Kill all sessions.

Todo.

Command Description
todo Open ~/.todo.md file.

Transcode.

Command Description
transcode <FORMAT> [FILES] Convert between different formats. By default tries to convert all files.

Try.

Command Description
try <COMMAND> Retry command every 2 sec until it completes successfully.

Vdl.

Command Description
vdl [LINK] Download video from URL. When no [LINK] specified, it tries to update previously downloaded link.
vdl_vk <LINK> Temporary fix for vk downloads.
vdl_file <FILE> Download all videos from file with links.

Vi.

Command Description
v Neovim shortcut.

Wallpaper.

Command Description
wallpaper <FILE> Set specified file as a wallpaper.

Watch.

Command Description
w <COMMAND> Watch command output with 2 seconds interval.
ww <COMMAND> Watch command output with minimal interval.