Add free-ports script, Docker aliases, and Bun env
Add free-ports.sh script and a corresponding alias in .bash_aliases. Introduce docker-clean and docker-update aliases for Docker maintenance. Export BUN_INSTALL and prepend its bin directory to PATH in .profile.
This commit is contained in:
+4
-1
@@ -20,6 +20,7 @@ alias list="sudo nala list --upgradable"
|
|||||||
alias sp="source ~/.profile"
|
alias sp="source ~/.profile"
|
||||||
alias snala="sudo nala"
|
alias snala="sudo nala"
|
||||||
alias btrfscheck="sudo btrfs filesystem usage / && echo && df -h /"
|
alias btrfscheck="sudo btrfs filesystem usage / && echo && df -h /"
|
||||||
|
alias free-ports="/usr/local/bin/free-port/free-ports.sh" # sudo ln -s /home/garand_plg/dotfiles/free-ports.sh /usr/local/bin/free-port
|
||||||
|
|
||||||
# Navigation aliases
|
# Navigation aliases
|
||||||
alias ~='cd ~'
|
alias ~='cd ~'
|
||||||
@@ -96,13 +97,15 @@ alias logs="sudo find /var/log -type f -exec file {} \; | grep 'text' | cut -d'
|
|||||||
|
|
||||||
alias kssh="kitty +kitten ssh"
|
alias kssh="kitty +kitten ssh"
|
||||||
|
|
||||||
|
# Docker commands
|
||||||
alias docker-clean=' \
|
alias docker-clean=' \
|
||||||
docker container prune -f ; \
|
docker container prune -f ; \
|
||||||
docker image prune -f ; \
|
docker image prune -f ; \
|
||||||
docker network prune -f ; \
|
docker network prune -f ; \
|
||||||
docker volume prune -f '
|
docker volume prune -f '
|
||||||
|
|
||||||
|
alias docker-update="docker images --format "{{.Repository}}:{{.Tag}}" | grep -v '<none>' | xargs -L1 docker pull"
|
||||||
|
|
||||||
# Remove a directory and all files
|
# Remove a directory and all files
|
||||||
alias rmd='/bin/rm --recursive --force --verbose '
|
alias rmd='/bin/rm --recursive --force --verbose '
|
||||||
|
|
||||||
|
|||||||
@@ -39,4 +39,8 @@ if [ -n "$BASH_VERSION" ] && [ -f "$HOME/.bashrc" ]; then
|
|||||||
. "$HOME/.bashrc"
|
. "$HOME/.bashrc"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# bun
|
||||||
|
export BUN_INSTALL="$HOME/.bun"
|
||||||
|
export PATH="$BUN_INSTALL/bin:$PATH"
|
||||||
|
|
||||||
export PATH
|
export PATH
|
||||||
|
|||||||
Executable
+78
@@ -0,0 +1,78 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "Użycie: $0 [OPCJE] [MIN_PORT] [MAX_PORT]"
|
||||||
|
echo ""
|
||||||
|
echo "Opcje:"
|
||||||
|
echo " -n Wypisz też 4 sąsiednie porty (±1, ±2) z ich statusem"
|
||||||
|
echo " -h Pokaż tę pomoc"
|
||||||
|
echo ""
|
||||||
|
echo "Przykłady:"
|
||||||
|
echo " $0 # zakres 1024–65535"
|
||||||
|
echo " $0 3000 9000 # własny zakres"
|
||||||
|
echo " $0 -n # z sąsiadami"
|
||||||
|
echo " $0 -n 3000 9000 # z sąsiadami i własnym zakresem"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
SHOW_NEIGHBORS=false
|
||||||
|
while getopts ":nh" opt; do
|
||||||
|
case $opt in
|
||||||
|
n) SHOW_NEIGHBORS=true ;;
|
||||||
|
h) usage ;;
|
||||||
|
\?) echo "❌ Nieznana opcja: -$OPTARG" >&2; exit 1 ;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift $(( OPTIND - 1 ))
|
||||||
|
|
||||||
|
MIN_PORT=${1:-1024}
|
||||||
|
MAX_PORT=${2:-65535}
|
||||||
|
|
||||||
|
echo "🔍 Szukam zajętych portów w zakresie $MIN_PORT–$MAX_PORT..."
|
||||||
|
|
||||||
|
USED_PORTS=$(ss -tuln 2>/dev/null \
|
||||||
|
| awk 'NR>1 {print $5}' \
|
||||||
|
| grep -oE '[0-9]+$' \
|
||||||
|
| sort -un)
|
||||||
|
|
||||||
|
USED_COUNT=$(echo "$USED_PORTS" | grep -c '^[0-9]')
|
||||||
|
echo "📋 Znaleziono $USED_COUNT zajętych portów."
|
||||||
|
|
||||||
|
is_used() {
|
||||||
|
echo "$USED_PORTS" | grep -qx "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
MAX_ATTEMPTS=1000
|
||||||
|
ATTEMPT=0
|
||||||
|
|
||||||
|
while [ $ATTEMPT -lt $MAX_ATTEMPTS ]; do
|
||||||
|
PORT=$(( RANDOM % (MAX_PORT - MIN_PORT + 1) + MIN_PORT ))
|
||||||
|
|
||||||
|
if ! is_used "$PORT"; then
|
||||||
|
echo ""
|
||||||
|
echo "✅ Wolny port: $PORT"
|
||||||
|
|
||||||
|
if $SHOW_NEIGHBORS; then
|
||||||
|
echo ""
|
||||||
|
echo "📊 Sąsiednie porty:"
|
||||||
|
for OFFSET in -2 -1 1 2; do
|
||||||
|
NEIGHBOR=$(( PORT + OFFSET ))
|
||||||
|
if [ $NEIGHBOR -lt 1 ] || [ $NEIGHBOR -gt 65535 ]; then
|
||||||
|
printf " port %-6s — poza zakresem\n" "$NEIGHBOR"
|
||||||
|
elif is_used "$NEIGHBOR"; then
|
||||||
|
printf " port %-6s 🔴 zajęty\n" "$NEIGHBOR"
|
||||||
|
else
|
||||||
|
printf " port %-6s 🟢 wolny\n" "$NEIGHBOR"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
ATTEMPT=$(( ATTEMPT + 1 ))
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "❌ Nie udało się znaleźć wolnego portu po $MAX_ATTEMPTS próbach."
|
||||||
|
exit 1
|
||||||
Reference in New Issue
Block a user