alias ISO-datestamps='echo -en "\n Searching for files ...\r"; for i in /dev/sd[a-z] $(du -ahx ~/ 2>&1 | grep -v "\.iso". | grep "\.iso"| cut -f2) $(du -ahx / 2>&1 | grep -v "\.iso". | grep "\.iso"| cut -f2); do string=$(sudo hexdump -Cs 33598 -n16 $i | head -1 | cut -f2 -d"|" | cut -c"1-14"); [ "$string" != "" ] && echo " $string $i" ; done | sort -u' alias date_of_iso='for i in ./*.iso ./*/*.iso /dev/sd[a-z]; do echo " $(sudo hexdump -C -s33598 -n16 $i 2>/dev/null |head -1 | cut -f2 -d"|" | cut -c-14) $i" ; done | sort' alias cgrep='grep --color=always' alias grep='grep --color=auto' alias less='less -g' alias ls='ls --color=auto' alias locate='du -ah / 2>&1 | grep ' alias snipe='du -ah ./ 2>&1 | grep ' alias pep-writer='write-out-iso' alias plot-boot='systemd-analyze plot > /tmp/boot_plot.svg ; x-www-browser file:///tmp/boot_plot.svg &' alias timed='clear; neofetch; systemd-analyze' alias update-aliases='echo -en "\n\tUpdating aliases:\t"; for i in $(alias | grep "alias ". | cut -f1 -d= | cut -f2 -d" "); do echo -en "$i\t"; done ;echo; alias | tee ~/.bash_aliases > /dev/null' alias vi='busybox vi' alias vicr='for i in ./* ; do [ -f $i ] && vi -R "$i" ; done' alias view='vi -R' alias write-out-iso=' sysc="\033[00m" grey="\033[30;01m" red="\033[31;01m" green="\033[32;01m" yellow="\033[33;01m" blue="\033[34;01m" violet="\033[35;01m" aqua="\033[36;01m" white="\033[37;01m" iso=" " dev=" " line1="${green}Type or copy-n-paste a file name from above.${sysc}" line2="${green}Type the full path to your USB device. ${yellow}(/dev/sdX)${sysc}" line3="The block device ${yellow}${dev}${sysc} was found and seems Ok to use." lsblk_cmd="lsblk -o PATH,VENDOR,MODEL,SIZE,HOTPLUG,RM" _abort="${green}To abort this now, press ${white}Ctrl+C${sysc} ." _anykey="Hit any key" _coward="Cowardly refusing to write to" _empty="${red}This field cannot be empty${sysc}" _cancel="to cancel" _continue="to continue" _knownISO="to enter the full path to the ${white}ISO${sysc}." _laststep="${aqua}This is the final step.${sysc}" _missing="File not found." _mounted="${red}The location is mounted.${sysc}" _noblock="is not a block device." _nochecks="No checks were done to determine this is an ISO image." _noDEV="The location ${white}${dev}${sysc} does not exist yet, Plug in a USB ?" _noISO="No ISO found in this directory." _notlisted="Check your file name or the location and retry." _passwd="${white}To write to a USB, your password may be required.${sysc}" _re_enter="to Re-Enter the location" _restart1="To start over, Press ${white}Ctrl+C${sysc}," _restart2="then move to a folder with the ISO." _retry="to retry" _search="Searching ${blue}${PWD}${sysc} for ISOs ." _write="${green}Hit ${white}ANY${green} key to write the file to" clear echo -en "\n\t${_passwd}\n\t" sudo clear || echo -e "\tFailed password." until [ ! -z "${iso}" ] && [ -e "${iso}" ] && ! (mount | grep -q "${iso}") do clear echo -e "\n ${_search}\n" for i in ./*.iso ./*/*.iso ; do ls $i 2>/dev/null ; done | /bin/grep "\.iso" && echo -en "\n\t${line1}\n\n" || ( echo -en "\n\t${_noISO} \n\n ${_restart1} ${_restart2}\n\n Or ${_anykey} ${_knownISO}" read -n1 -p " " pause && echo ) read -p " Path to ISO = " iso [ -z "${iso}" ] && (echo -en "\n${_empty}." ; read -n1 -p " ${_anykey} ${_continue}. " back) && continue [ ! -e "${iso}" ] && (echo -en "\n${_missing}." ; read -n1 -p " ${_anykey} ${_retry}. " back) && continue ( mount | grep -q "${iso}" ) && (echo -en "\n${_mounted}" ; read -n1 -p " ${_anykey} ${_retry}. " back) && continue done until [ ! -z $dev ] && [ -b $dev ] && ! (mount | grep -q $dev) && [ $dev != "/dev/sda" ] && [ $dev != "/dev/nvme01" ] do clear echo -e "\n\t ${green}Choose a block device to write the ISO to.${sysc}" echo -e "\n ${white}ISO${sysc} -----> ${white}$iso${sysc}\n " # echo -e "\n$($lsblk_cmd)\n" ; read -p "$line2 " dev echo -e "\n$($lsblk_cmd)\n" | grep -Ew "(PATH|/dev/sd[a-z])"; echo -en "\n $line2 "; read dev [ -z $dev ] && (echo -en "${_empty}."; read -n1 -p " ${_anykey} ${_continue}. " back) && continue [ ! -e $dev ] && (echo -en "${_noDEV}\n\n"; read -n1 -p " ${_anykey} ${_retry}. " back) && continue [ ! -b $dev ] && (echo -en "${dev} ${_noblock}"; read -n1 -p " ${_anykey} ${_retry}. " back) && continue (mount | grep -q "$dev") && (echo -en "\n${_mounted}"; read -n1 -p " ${_anykey} ${_retry}. " back) && continue [ $dev = "/dev/sda" ] && (echo -en "${_coward} ${dev} ."; read -n1 -p " ${_anykey} ${_retry}. " back) && continue [ $dev = "/dev/nvme01" ] && (echo -en "${_coward} ${dev} ."; read -n1 -p " ${_anykey} ${_retry}. " back) && continue done clear echo -e "\n\t\t${_laststep}\n" # echo -e " \t${_anykey} ${_continue}.\n" echo -e " ${white}ISO${sysc} -----> ${white}${iso}${sysc} " # echo -e " Device --> ${dev}\n " # echo -e "$($lsblk_cmd ${dev})" | grep -Ew "(PATH|/dev/sd[a-z])" echo -en " ${white}Device${sysc} --> " ($lsblk_cmd ${dev}) | /bin/grep -w ${dev} echo -e "\n\tThe file ${white}$iso${sysc} exists." echo -e "\t(${_nochecks})" echo -e "\tThe block device ${yellow}${dev}${sysc} was found and seems Ok to use.\n\n" echo -e "\t${_abort}" echo -en "\t${_write} ${yellow}$dev${sysc} . " read -n1 go echo -e "\n ${aqua}Writing ${white}${iso}${aqua} to ${yellow}$dev${aqua} ...${sysc}" sudo dd bs=4M oflag=direct status=progress if="${iso}" of=${dev}'