Dela vilka bash / zsh aliases du använder

Permalänk
Medlem

Dela vilka bash / zsh aliases du använder

Hej!

Tänkte starta en tråd där vi kan tipsa och dela med oss av vilka bash / zsh aliases vi på sweclockers använder i vardagen.

Några som jag flitigt använder:

alias lg='exa -alh | grep --ignore-case' alias lsd='ls -D -l' alias lsf='ls -f -l' alias du='du -sh' alias c='clear' alias e='exit' alias dl='cd ~/Downloads' alias doc='cd ~/Documents'

shooot

Permalänk
Medlem

Clear och exit känns överflödigt, ctrl+d och ctrl+l gör jobbet

Permalänk
Medlem
Skrivet av dlq84:

Clear och exit känns överflödigt, ctrl+d och ctrl+l gör jobbet

Tycker tvärt om

Permalänk
Medlem

git-cmp() { git add . && git commit -m "$1" && git push }

Ibland vill man bara göra en snabb push.

Visa signatur

Starka åsikter om onödiga saker.

Permalänk
Medlem

Visa alla ip addresser vi har en upprättad anslutning emot.

alias con="netstat -lantp | awk '/ESTABLISHED/ {split($5, a, ":"); ips[a[1]]} END {for (ip in ips) print ip}'"

Ifall om jag lyssnar på musik och något jag vill flytta från arkivet till någon personlig mapp / flytta till någon enhet så skriver jag bara cmp3:

cmp3() { target_dir=~/music [ ! -d "$target_dir" ] && mkdir -p "$target_dir" current_track=$(lsof -c cmus 2>/dev/null | awk '/\.mp3/ && /\/mnt/ {print $9}') if [ -n "$current_track" ]; then cp -- "$current_track" "$target_dir/" echo "Copied: $current_track" else echo "No track found or not an mp3 file, see cmus-remote -Q" fi }

För att starta en elapsed timer snabbt med hundradelar "etime":

etime() { start=$(date +%s.%N) while true; do current=$(date +%s.%N) elapsed=$(echo "scale=9; $current - $start" | bc) printf "\rElapsed time: %.2f seconds" "$elapsed" sleep 0.01 done }

Motsatsen, remaining time "rtime 10":

rtime() { countdown_seconds="$1" while [ $(echo "$countdown_seconds > 0" | bc -l) -eq 1 ]; do printf "%.2f seconds remaining\r" "$countdown_seconds" sleep 0.01 countdown_seconds=$(echo "$countdown_seconds - 0.01" | bc -l) done echo -e "\nDone." }

Kolla vädret, valuta värde, antalet mail från mailklienten m.m.

# Funktion för att kolla en URL innan jag besöker den med urlcheck <url> så det är en skum phishing sida

urlcheck() { curl -Ls -o /dev/null -w '%{url_effective}\n' "$1" }

# Kommando för att kolla min IP-address.

myip=$(curl ifconfig.co)

# Skapa ett random lösenord snabbt och elegant, undvik alla otillåtna tecken:

alias pwgen="< /dev/urandom tr -dc 'a-zA-Z0-9-_!@#$%^&*()_+{}|:<>?=' | head -c 16; echo"

# Kommando för att göra en snabb arkivering med mktar <mapp> för att arkivera en mapp..

mktar() { if [ "$1" = "--encrypt" ]; then if [ -f "$2" ]; then echo "Enter encryption password: " read -s password openssl enc -aes-256-cbc -salt -in "$2" -out "$2.enc" -pass pass:"$password" else echo "Error: File not found for encryption." fi elif [ "$1" = "--decrypt" ]; then if [ -f "$2" ]; then echo "Enter decryption password: " read -s password openssl enc -d -aes-256-cbc -in "$2" -out "${2%.enc}" -pass pass:"$password" else echo "Error: File not found for decryption." fi else local folder_path="$1" local folder_name=$(basename "$folder_path") local date=$(date "+%Y%m%d") local archive_name="${folder_name}-${date}.tar.gz" if command -v pigz >/dev/null; then tar cf - "$folder_path" | pigz >"$archive_name" else tar czf "$archive_name" "$folder_path" fi fi }

Sortera alla mappar efter bokstavsordning + dry-run

# alias sortalpha="dry_run=false; for i in *; do I=${i:0:1}; I=${I,,}; if [ ! -d "$I" ]; then if [ "$dry_run" = false ]; then mkdir "$I"; else echo "mkdir $I"; fi; fi; if [ "$dry_run" = false ]; then mv "$i" "$I"/"$i"; else echo "mv $i $I/$i"; fi; done" # alias dryrun_sortalpha="dry_run=true; for i in *; do I=${i:0:1}; I=${I,,}; if [ ! -d "$I" ]; then if [ "$dry_run" = false ]; then mkdir "$I"; else echo "mkdir $I"; fi; fi; if [ "$dry_run" = false ]; then mv "$i" "$I"/"$i"; else echo "mv $i $I/$i"; fi; done

# Konvertera alla filer till ett och samma format. dwebp2png te.x:

alias d2p="dwebp $1 -o $2.png"

Ta bort all metadata från alla bilder

find ~/pictures -type f -print0 | xargs -0 -P $(nproc) exiftool -overwrite_original -all=

Scanna wifi nätverket med "scanwifi="nmcli d w" där d=dev, w=wifi

# Visa alla fäger samt nummer för varje färg som går i 256.

ccolor() { awk -v columns=8 'BEGIN { for (color = 0; color <= 255; color++) { printf "\033[38;5;%dm%d\033[0m\t", color, color if ((color + 1) % columns == 0) printf "\n" } }'

bccolor() { awk -v columns=8 'BEGIN { for (color = 0; color <= 255; color++) { printf "\033[48;5;%dm\033[38;5;%dm%d\033[0m\t", color, (color > 127 ? 0 : 255), color if ((color + 1) % columns == 0) printf "\n" } }' }

Permalänk
Hedersmedlem

Har nästan inga alias alls. På Windows-datorn (WSL1) har jag ls='ls --color', tail='tail --disable-inotify' (för att det inte fungerar i WSL1 och gör att tail -f buggar ur) och två ssh-genvägar, "ssh -t [adress] 'screen -R -d'" för att styra NAS och offsite-servern.
På de andra har jag bara ls.

Har däremot ställt in zsh på att lagra historik och dela det mellan alla aktiva shells med ctrl+upp/ner, och använder Ctrl+R ganska ofta för att göra om saker jag gjort tidigare.

Specifikt såhär:

Klicka för mer information

HISTFILE=~/.histfile HISTSIZE=40000 SAVEHIST=40000 setopt APPEND_HISTORY # Don't erase history setopt EXTENDED_HISTORY # Add additional data to history like timestamp setopt HIST_FIND_NO_DUPS # Don't show duplicates in search setopt HIST_IGNORE_SPACE # Don't preserve spaces. You may want to turn it off setopt NO_HIST_BEEP # Don't beep setopt SHARE_HISTORY # Share history between session/terminals # Up/down arrows use local history, ctrl+up/down use global history, and ctrl+R also uses global history up-line-or-local-history() { zle set-local-history 1 zle up-line-or-history zle set-local-history 0 } zle -N up-line-or-local-history down-line-or-local-history() { zle set-local-history 1 zle down-line-or-history zle set-local-history 0 } zle -N down-line-or-local-history # Bind ctrl+left/right move one word at a time, Ctrl+up/down to use global/shared history, up/down to use shell-local history bindkey "^[[1;5C" forward-word bindkey "^[[1;5D" backward-word bindkey "${key[Up]}" up-line-or-local-history bindkey "${key[Down]}" down-line-or-local-history bindkey "^[[1;5A" up-line-or-history bindkey "^[[1;5B" down-line-or-history

Visa mer
Visa signatur

Asus ROG STRIX B550-F / Ryzen 5800X3D / 48 GB 3200 MHz CL14 / Asus TUF 3080 OC / WD SN850 1 TB, Kingston NV1 2 TB + NAS / Corsair RM650x V3 / Acer XB271HU (1440p165) / LG C1 55"
Mobil: Moto G200