# 1. APT/DEB Package Check
# Traditional Debian package (e.g. downloaded from website or installed via apt)
apt list --installed # high-level, user-friendly
apt list --installed | grep -i <package name>
dpkg -l # low-level, canonical
dpkg -l | grep -i <package name>
# 2. Snap Package Check
# Developed by Canonical (the makers of Ubuntu), Ubuntu Software Center, CLI
snap list
snap list | grep -i <package name>
# 3. Flatpak Package Check - often used for sandboxed desktop apps, Flathub
flatpak list
flatpak list | grep -i <package name>
// Example for slack and Snap Package
snap list | grep -i slack
which <package> e.g. which firefox
Likely source for found path prefix:

# 1. With the apt package manager (preferred) or the dpkg package manager
# Install package with checking and installing necessary dependencies
sudo apt update
sudo apt install < package > or ./< file >
# Install package without installing dependencies
sudo dpkg -i < package > or < file >
# If running fails install missing dependencies with:
sudo apt -f install
# 2. Snap packages
sudo snap install < package >
# 3. Flatpak packages
# One-time setup
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# Installation
flatpak install flathub < package-name >
# 1. APT/dpkg
# Update only the package list
sudo apt update
# Update all already installed packages (nothing is removed)
sudo apt upgrade
# Update all and remove obsolete packages
sudo apt full-upgrade
# 2. Snap
snap refresh --list
sudo snap refresh
# 3. Flatpak
flatpak update
sudo apt update
sudo apt --only-upgrade install google-chrome-stable
# Alternative if the above is not working
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb
# 1. APT / DEB
# Remove package
sudo apt remove < package >
# Purge to completely remove data with config and other data in /var
sudo apt purge < package >
# 2. Snap packages
sudo snap remove < package-name >
# 3. Flatpak packages
flatpak uninstall < package-name >
Delete all files from the current directory, except hidden files (-v show deleted files)
rm or rm -v
Delete all files and directories including hidden files from the current directory (-v show deleted files)
rm -rfv .[^.]* *
ls -l
ls -R
ls -lh
ls -t
man ls
Toggle visibility
CTRL + H
mkdir -p /directory1/directory2/directory3
mkdir -m 755 <directory>
mkdir files/{a,b,c}
# Becomes:
files/a files/b files/c
# Same as writing:
mkdir files/a files/b files/c
# Multiple levels
mkdir files/{a,b}/{1,2}
# Becomes:
files/a/1 files/a/2 files/b/1 files/b/2
# Ranges/Numbers:
mkdir files/{a..d}
mkdir files/{01..05}
# Becomes:
files/a files/b files/c files/d
files/01 files/02 files/03 files/04 files/05
touch file_{a,b,c}.txt
# Becomes:
touch file_a.txt file_b.txt file_c.txt
touch project/{src,tests}/README.md
# Becomes:
project/src/README.md
project/tests/README.md
cp <original name> <new name>


# numeric
755 = 7 for owner, 5 for group, 5 for world
chmod 755 script.sh
# symbolic
chmod u+x script.sh # add execute for user
chmod g-w datei.txt # remove write for group
chmod a=r datei.txt # only read for all (overwrite other permissions)
chmod +r datei.txt # set read for all (not removing other permissions)
chmod u=rwx,g=rx,o=rx script.sh
uname
more info
uname -a
locate <filename>
Find directory in current folder and all subfolders
find . -type d -name <myfolder>
apt show <package>
apt search <term>
cat <filename>
lsb_release -a
ps -ef
grep -i "text to search for" <filename>
whoami
whereis <package name>
df -h
ip addr
wget https://...
systemctl start <service name>
or
systemctl stop <service name>
echo $XDG_SESSION_TYPE
Change protokoll (comment point 2 in/out)
1. sudo nano /etc/gdm3/custom.conf
2. WaylandEnable=false
3. CTRL + X and y to save and exit