Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- ###############################################################################
- # Понимание исполняемых файлов (программ) / команд "./shell.sh"
- # Понимание аргументов "argument=value"
- # Понимание флагов "-f hello-world"
- # Понимание системы ввода\вывода команд "> to file < from file | pipes"
- # Понимание горячих клавиш Ctrl+C, Ctrl+D, Ctrl+O, Ctrl+X
- ###############################################################################
- # Базовые знания по командам (15)
- width="90" # Ширина терминала
- largefont="mono12" # Кегель и шрифт для крупных надписей
- smallfont="mono9" # Кегель и шрифт для мелких надписей
- level1=( "ls" "pwd" "cd" "mkdir/rmdir" "touch/rm" "cat" "cp" "mv" "echo" "clear" "sudo/su" "man" "date" "cal" "hostname" )
- text1=( "List" "Print Working Directory" "Change Directory" "Make / Remove Directory" "Touch / Remove" "Concatenate" "Copy" "Move" "Echo" "Clear" "Switch User Do" "Manual" "Date" "Calendar" "Hostname" )
- for i in "${!text1[@]}"; do
- clear
- echo "$(toilet --width $width -F border -f $largefont --metal ${level1[i]})"
- txt=$(printf '%s \n' "${text1[i]}")
- echo "$(toilet --width $width -f $smallfont --gay $txt)"
- read -rsp $'Next (space)...\n' -n1 key
- done
- # Средний уровень (загрузка, отображение, pipelines, права доступа, устройства) (15)
- level2=( "wget" "curl" "head/tail" "less/more" "ifconfig/iwconfig" ">, <, |" "chmod/chown" "grep" "wc" "lsusb" "lspci" "sleep" "df" "du" "mount/umount" )
- text2=( "Web Get" "Concatinate URL" "(read from) Head/Tail" "(show) Less / More" "InterFace Configuration / Interface Wireless Configuration" "Direct to/from file, pipe" "Change (file/directory) Mode/Change (file/directory) Owner" "Grep..." "Word Count" "List USB" "List PCI" "Sleep" "Disk Files (filesystem usage)" "Disk Usage" "Mount/Unmount" )
- for i in "${!text2[@]}"; do
- clear
- echo "$(toilet --width $width -F border -f $largefont --metal ${level2[i]})"
- txt=$(printf '%s \n' "${text2[i]}")
- echo "$(toilet --width $width -f $smallfont --gay $txt)"
- read -rsp $'Next (space)...\n' -n1 key
- done
- # Высший уровень (компиляция, управление процессами) (14)
- level3=( "make" "gcc/g++" "kill/killall" "bg/fg" "pidof" "service" "lshw" "time" "ps/ps aux/pstree" "top/htop" "sort/uniq" "ln" "awk" "dd/dcfldd" )
- text3=( "Make" "Gnu C Compiler" "Kill" "BackGround / ForeGround" "Process ID Of" "Service" "List Hardware" "(execution) Time" "Process Snapshot/Process Snapshot Tree" "Top" "(file/dir Sorting / Unique)" "LiNk" "Awk" "Disk Dump" )
- for i in "${!text3[@]}"; do
- clear
- echo "$(toilet --width $width -F border -f $largefont --metal ${level3[i]})"
- txt=$(printf '%s \n' "${text3[i]}")
- echo "$(toilet --width $width -f $smallfont --gay $txt)"
- read -rsp $'Next (space)...\n' -n1 key
- done
- # Удаленная работа (12)
- remote=( "ping" "ssh" "scp" "rsync" "ftp" "logout/exit/Ctrl+D/Ctrl+C" "tar" "zip/unzip" "export/env" "screen" "dig" "nmap" )
- text4=( "Ping" "Secure Shell" "Secure Copy" "Remote Synchronization" "File Transfer Protocol" "Do I Need To Tell You What Does Logout Means (NINTTYWDLM)?" "Tape ARchive" "Zip" "Export/Environment" "Screen..." "Dig (for some cool info...)" "Network Map" )
- for i in "${!text4[@]}"; do
- clear
- echo "$(toilet --width $width -F border -f $largefont --metal ${remote[i]})"
- txt=$(printf '%s \n' "${text4[i]}")
- echo "$(toilet --width $width -f $smallfont --gay $txt)"
- read -rsp $'Next (space)...\n' -n1 key
- done
- # Поиск (11)
- search=( "which" "where" "whoami" "whois" "whatis" "who/w" "history/!" "lsof" "locate" "find" "md5sum/sha256sum" )
- text5=( "Which?!" "Where The ...!?" "Who Am I?!?!?!!!" "Who Is This Domain?" "What is this ...?!" "Who" "History..." "List of Open Files" "Locate" "Find" "message digest 5 summ/sha256summ" )
- for i in "${!text5[@]}"; do
- clear
- echo "$(toilet --width $width -F border -f $largefont --metal ${search[i]})"
- txt=$(printf '%s \n' "${text5[i]}")
- echo "$(toilet --width $width -f $smallfont --gay $txt)"
- read -rsp $'Next (space)...\n' -n1 key
- done
- # Distro-related (5)
- dl=( "apt-get" "yum" "packer" "pacman" "yaourt" )
- text6=("Application Get" "Yum" "Packer" "Package Manager" "Yaourt" )
- for i in "${!text6[@]}"; do
- clear
- echo "$(toilet --width $width -F border -f $largefont --metal ${dl[i]})"
- txt=$(printf '%s \n' "${text6[i]}")
- echo "$(toilet --width $width -f $smallfont --gay $txt)"
- read -rsp $'Next (space)...\n' -n1 key
- done
- # Полезные сайты (4)
- sites=( "commandlinefu.com" "pastebin.com" "distrowatch.com" "alternativeto.net" "github.com" )
- text7=( "Command Line Examples" "Paste Bin" "Distribution Watch" "Alternative To" "Git Hub..." )
- for i in "${!text7[@]}"; do
- clear
- echo "$(toilet --width $width -F border -f $largefont --metal ${sites[i]})"
- txt=$(printf '%s \n' "${text7[i]}")
- echo "$(toilet --width $width -f $smallfont --gay $txt)"
- read -rsp $'Next (space)...\n' -n1 key
- done
- # Bash scripting (5)
- scripts=( "if/then/fi" "exit" "while" "arrays" "(command results in arguments)" )
- text8=( "Conditions" "EXIT!" "While something goes on.." "Arrays are cool!" "Inline results" )
- for i in "${!text8[@]}"; do
- clear
- echo "$(toilet --width $width -F border -f $largefont --metal ${scripts[i]})"
- txt=$(printf '%s \n' "${text8[i]}")
- echo "$(toilet --width $width -f $smallfont --gay $txt)"
- read -rsp $'Next (space)...\n' -n1 key
- done
- toilet --width 180 -F border -f mono12 --metal 'Congrats - this is the END!'
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement