Home

Linux

Installing packages / files

List installed packages

# 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

Check which way a package was installed

which <package> e.g. which firefox

Likely source for found path prefix:

linux-path-prefixes

Installation

# 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 >

Update / Upgrade

# 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

Updating Chrome

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

Delete / Purge

# 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 .[^.]* *

Listing

Detailed list of files

ls -l

List all files and directories within a directory recursively

ls -R

List files with human readable file sizes

ls -lh

List files sorted by date/time, newest first

ls -t

Get a list for all flags/arguments (for the ls command)

man ls

Show hidden files in Nautilus file manager

Toggle visibility

CTRL + H

Creating directories / renaming files

Create a new directory along with other directories, if they don’t exist

mkdir -p /directory1/directory2/directory3

Create a new directory with specific permissions

mkdir -m 755 <directory>

Create directories or files with brace expansion

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

Rename files

cp <original name> <new name>

Permissions

File Type Indicators (first position)

File Type Indicators

Numeric

Linux numeric permissions

Symbolic

  • u = user
  • g = group
  • o = others
  • a = all (u + g + o)

Usage

# 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

Searching / Displaying

Information about the operating system

uname

more info

uname -a

Find files

locate <filename>

Find directory in current folder and all subfolders

Find directories

find . -type d -name <myfolder>

Show package info

apt show <package>

Search for package

apt search <term>

Show file content

cat <filename>

Show current ubuntu version

lsb_release -a

Show running processes on the system

ps -ef

Search for text in files

grep -i "text to search for" <filename>

Show username

whoami

Locate installed package

whereis <package name>

Show disc space

df -h

Show info about users network and ip addresses

ip addr

Various

Download file from the internet

wget https://...

Start and stop a service

systemctl start <service name>

or

systemctl stop <service name>

Check Display-Server-Protokoll (Wayland or Xorg)

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