Automate safe system upodates with a single script (for APT + systemd systems)

THE PROBLEM Keeping a Linux system fully updated usually means doing several things by hand: Update APT package lists Upgrade installed packages Remove unused dependencies and cached files Update Flatpak apps (if you use Flatpak) Update firmware via fwupd (if available) Decide whether to reboot or shut down None of that is hard, but it is repetitive and easy to skip steps, especially firmware updates. This script turns that whole workflow into a single, safe command. REQUIREMENTS This script assumes: Package manager Uses APT Example: Debian, Ubuntu, Linux Mint and similar Init system Uses systemd (for systemctl reboot/poweroff) Shell bash (script uses “#!/usr/bin/env bash” and “set -euo pipefail”) You can run it with: bash script.sh Privileges Your user has sudo rights Optional components Flatpak (optional) If not installed, Flatpak steps are skipped fwupd (fwupdmgr, optional) If not installed, firmware steps a...

Changing or setting up the Prompt Statement - PS (bash prompt)

PS1="<special_characters>"


Guides:


Bash prompt special characters


\a

An ASCII bell character (07)

\d
The date in “Weekday Month Date” format (e.g., “Tue May 26”)

\D{format}
The format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required

\e
An ASCII escape character (033)

\h
The hostname up to the first ‘.’

\H
The hostname

\j
The number of jobs currently managed by the shell

\l
he basename of the shell’s terminal device name

\n
Newline

\r
Carriage return

\s
The name of the shell, the basename of $0 (the portion following the final slash)

\t
The current time in 24-hour HH:MM:SS format

\T
The current time in 12-hour HH:MM:SS format

\@
The current time in 12-hour am/pm format

\A
The current time in 24-hour HH:MM format

\u
The username of the current user

\v
The version of bash (e.g., 2.00)

\V
The release of bash, version + patch level (e.g., 2.00.0)

\w
The current working directory, with $HOME abbreviated with a tilde

\W
The basename of the current working directory, with $HOME abbreviated with a tilde

\!
The history number of this command

\#
The command number of this command

\$
If the effective UID is 0, a #, otherwise a $

\nnn
The character corresponding to the octal number nnn

\\
A backslash

\[
Begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt

\]
End a sequence of non-printing characters 

Comments