#!/bin/bash # ------------------------------------------------------------------------------ # A script neve: 1_terminal_plus # # Gyakrabban használt, terminálból futtatható parancsok gyüjteménye # # yt-dlp: terminál alapú program multimédia tartalmak letöltésére # fstrim: az SSD karbantartása. Részletesen itt: # https://magyarlinux.hu/ssd-karbantartasa-fstrim-programmal # Az fstrim az SSD eszközön fel nem használt blokkok visszaszerzésére # szolgáló módszer. # Linux : uname, lsblk, blkid, update & install GRUB, date & time setting # search, install, remove applications in Arch based Linux # # Atrasko # 2026. február 25. # ------------------------------------------------------------------------------ clear FUNCT="_" # a választott funkció betűkódja LINAK=0 # a Linux alap kódja Debian = 1 Arch = 2 LINDN="_" # a Linux disztribúció neve ARG_1="_" # a parancshoz tartozó első argumentum function xwait { local WAITING WAITING="x" echo read -p "Tovább bármelyik billentyűleütésre ... " -s -n 1 WAITING echo } function get_lin_base { local SOR LINAK=0 while IFS= read -r SOR; do case $SOR in # Debian = 1 Arch = 2 "ID=debian") LINAK=1; LINDN="Debian "; break;; "ID=linuxmint") LINAK=1; LINDN="Linux Mint "; break;; "ID=\"endeavouros\"") LINAK=2; LINDN="EndeavourOS "; break;; "ID=cachyos") LINAK=2; LINDN="CachyOS "; break;; # "ID=...........") LINAK= ; LINDN=" "; break;; *) LINAK=0; LINDN="Linux "; ;; esac done < /etc/os-release if [ $LINAK == 0 ]; then echo " A script nem tudta meghatározni az /etc/os-release fájlból, hogy melyik alapra épülő Linuxot használsz. Bár az 'ID_LIKE=' kezdetű sorban van megadva a Linux alapja, sajnos nem minden disztribúció írja bele ezt a sort az /etc/os-release fájlba. Ez a script ezért keres rá inkább az 'ID=' kezdetű sorra, mert az mindig megtalálható az eddigi tapasztalatok szerint. Ellenőrizheted, itt az /etc/os-release fájl tartalma:" echo cat /etc/os-release echo " Ha tudod, hogy ez a Linux melyik alapra lett fejlesztve, akkor választhatsz a listából, illetve beírhatod a script 46. sorába a saját Linuxod adatait, hogy a legközelebbi futtatáskor a script már felismerje azt. ┌───────────────────────────────────────────────────────┐ │ Linux alap: │ │ │ │ 1 Debian │ │ 2 Arch │ │ │ │ X Kilépés │ └───────────────────────────────────────────────────────┘" while true; do echo -e -n "\rA választott funkció :" read -r -p " ? " -n 1 LINAK case $LINAK in 1 | 2 ) break;; x | X ) exit 0;; *) echo -n -e "\b " ;; esac done fi } function display_menu { local MTX_A MTX_B MTX_C MTX_D MTX_E MTX_F MTX_G local MTX_H MTX_I MTX_J MTX_K MTX_L MTX_M MTX_N local LINAN="_" # a Linux alap neve MTX_A="Audió file letöltése mp3 formátumban ...:"; DLC_A="yt-dlp -t mp3 " MTX_B="Videó file letöltése mp4 formátumban ...:"; DLC_B="yt-dlp -t mp4 " MTX_C="Videó file letöltése mkv formátumban ...:"; DLC_C="yt-dlp -t mkv " MTX_D="Blokk eszközök mérete, típusa ..........:"; DLC_D="lsblk " MTX_E="Blokk eszközök típusa és attribútumai ..."; DLC_E="sudo blkid " MTX_F="Az aktuális kernel verzió ..............:"; DLC_F="uname -r " case $LINAK in 1) # ------------------ Debian ----------------------------------- LINAN="Debian Linux" MTX_G="SSD karbantartása ......................:"; DLC_G="/usr/sbin/fstrim -av " MTX_H="GRUB frissítése ........................:"; DLC_H="sudo update-grub " MTX_I="GRUB telepítése ........................:"; DLC_I="sudo grub-install " MTX_J="Dátum és időbeállítások ................:"; DLC_J="mx-datetime " MTX_K="A rendelkezésre álló kernel verziók ....:"; DLC_K="dpkg --list | grep linux-image " MTX_L="........................................:"; DLC_L=" " MTX_M="........................................:"; DLC_M=" " MTX_N="........................................:"; DLC_N=" " ;; 2) # ------------------ Arch ------------------------------------- LINAN="Arch Linux " MTX_G="SSD karbantartása ......................:"; DLC_G="/usr/bin/fstrim -a -v " MTX_H="GRUB frissítése ........................:"; DLC_H="sudo grub-mkconfig -o /boot/grub/grub.cfg " MTX_I="GRUB telepítése ........................:"; DLC_I="sudo grub-install --target=i386-pc " MTX_J="Dátum és időbeállítások ................:"; DLC_J="timedatectl " MTX_K="Alkalmazások frissítése ................:"; DLC_K="sudo pacman -Syu " MTX_L="Alkalmazás keresése ....................:"; DLC_L="sudo pacman -Ss " MTX_M="Alkalmazás telepítése ..................:"; DLC_M="sudo pacman -S " MTX_N="Alkalmazás és függőségeik eltávolítása .:"; DLC_N="sudo pacman -Rs " ;; esac echo " ┌────────────────────────────────────────────────────────────────────────────────────────────┐ │ Linux │ │ A $MTX_A $DLC_A " "│ │ B $MTX_B $DLC_B " "│ │ C $MTX_C $DLC_C " "│ │ D $MTX_D $DLC_D " "│ │ E $MTX_E $DLC_E " "│ │ F $MTX_F $DLC_F " "│ │ │ │ OS: $LINDN Linux alap: $LINAN " "│ │ G $MTX_G $DLC_G " "│ │ H $MTX_H $DLC_H " "│ │ I $MTX_I $DLC_I " "│ │ J $MTX_J $DLC_J " "│ │ K $MTX_K $DLC_K " "│ │ L $MTX_L $DLC_L " "│ │ M $MTX_M $DLC_M " "│ │ N $MTX_N $DLC_N " "│ │ │ │ X Kilépés │ └────────────────────────────────────────────────────────────────────────────────────────────┘" } # ************************* Itt indul a script ************************* get_lin_base while true; do display_menu echo while true; do echo -e -n "\rA választott funkció :" read -r -p " ? " -n 1 FUNCT case $FUNCT in A | B | C | D | E | F | G | H | I | J | K ) break;; L | M | N ) if [ $LINAK == 2 ]; then break fi ;; X | x ) exit;; * ) echo -n -e "\b " ;; esac done echo echo case $FUNCT in A ) read -p "Hivatkozás (link) a fájlra: " ARG_1 $DLC_A $ARG_1 ;; B ) read -p "Hivatkozás (link) a fájlra: " ARG_1 $DLC_B $ARG_1 ;; C ) read -p "Hivatkozás (link) a fájlra: " ARG_1 $DLC_C $ARG_1 ;; D ) $DLC_D ;; E ) $DLC_E ;; F ) $DLC_F ;; G ) echo "Egy kis türelmet, dolgozom ..." echo $DLC_G ;; H ) $DLC_H ;; I ) echo read -p "A tárolóeszköz betűjele /dev/sd? (a, b, ...) : " ARG_1 $DLC_I "/dev/sd"$ARG_1 ;; J ) $DLC_J ;; K ) $DLC_K ;; esac case $LINAK in 1) # ------------------ Debian ----------------------------------- case $FUNCT in L ) $DLC_L ;; M ) $DLC_M ;; N ) $DLC_N ;; esac ;; 2) # ------------------ Arch ------------------------------------- case $FUNCT in L ) read -p "A keresett alkalmazás neve: " ARG_1 $DLC_L $ARG_1 ;; M ) read -p "A telepítendő alkalmazás neve: " ARG_1 $DLC_M $ARG_1 ;; N ) read -p "Az eltávolítandó alkalmazás neve: " ARG_1 $DLC_N $ARG_1 ;; esac ;; esac xwait done # ************************* Itt a script vége **************************