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

11 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 default.

Archive.

Command Description
archive [DIRS] Archive directories. All directories by default.
archive_fast [DIRS] Archive directories with fast compression. All directories by default.
archive_check [FILES] Check archives integrity. Checks all archives by default.
archive_prune [NAME] Delete old versions of archives. All archives by default.
unarchive [FILES] Extract previously created archive with checksum validation.
archive_name [ARCHIVE] [NAME] Rename archives. If no name specified, it simplifies archive's name. If no archives specified, apply to all archives.
archive_convert Convert old archives to a new format. TODO: remove me after some time when there won't be any old archives.
archive_rm [FILES] Delete specified or all archive files.

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.

Cd.

Command Description
cdd <DIR> CD (back) to directory. Finds first directory that matches 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.

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.

Disk.

Command Description
df Show only physical drives info.
du [DIRS] Show combined size in SI. Current dir by default.

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.

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.

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.
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.

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.

Name.

Command Description
name [FILES] Rename files to strip all special characters. 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_series <SEASON> [FILES] Rename files for Jellyfin series, i.e. Episode S01E01.mkv All files by default.
name_manga <SEASON> [FILES] Rename files for Kavita manga 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.

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_camel <STRING> Parse to CamelCase.
parse_alnum <STRING> Parse data keeping only alphanumeric characters.

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.

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.
tl List running sessions.
trn [NAME] Rename current session. Uses current dir name by default.
tn [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.

Toolbx.

Command Description
tba [NAME] Attach/create toolbx container with specified name. By default uses main name.
tbk [NAME] Remove toolbx container with specified name. By default uses main name.
tb_rpmfusion [NAME] Install rpm-fusion repository into container with specified name. By default uses main name.
tbl List all available containers.

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.