11 KiB
tinkerpad13 Quick Reference — Day-to-Day Admin and General Linux Basics
My own enthusiast-level quick reference for my personal device (openSUSE Tumbleweed) day-to-day administration. Covers shell navigation, zypper package management, systemd services, users/permissions, storage and Btrfs/Snapper, networking, logs, troubleshooting, and system updates. Most commands are general Linux, not SUSE-specific; sections calling out SUSE-specific behavior are tagged explicitly, and a few notes below are specific to how this system is actually configured, not a general SUSE default.
[WARNING] This is a quick reference for common day-to-day tasks, not a
substitute for the official documentation for the exact SUSE release in
use. Commands, defaults, and package names shift between versions —
check documentation.suse.com or man <command> when something here
doesn't match what's on screen.
SECTION: Shell and navigation
To show the current directory:
pwd
To list files including sizes and hidden files:
ls -lah
To change directory:
cd /path/to/directory
cd .. moves up one directory level.
To copy a file or folder (recursive for folders):
cp -r source destination
To move or rename a file or folder:
mv source destination
To delete a folder and its contents:
rm -r directory/
[WARNING] rm -r has no undo and no trash — deleted files and folders
are not recoverable this way.
To search for files by name:
find / -name "pattern*"
To search inside files for text:
grep -r "search text" directory/
To page through a file's contents (press q to quit):
less filename
To read the manual page for a command:
man command
To search past commands:
history | grep search-term
[NOTE] Tab-completion works everywhere in the shell — press Tab instead of typing full paths or command names.
SECTION: Package management with zypper
zypper is SUSE's command-line package manager, used across Leap, SLES, and Tumbleweed.
To search for a package:
zypper se search-term
To install a package:
zypper in package-name
To remove a package:
zypper rm package-name
To show details about a package:
zypper info package-name
To check whether a package is installed and which version:
zypper if package-name
To list configured repositories:
zypper lr
To refresh repository metadata:
zypper ref
To update installed packages on Leap or SLES:
zypper up
To fully sync packages on Tumbleweed:
zypper dup
[WARNING] On Tumbleweed, always use zypper dup, never zypper up.
Mixing the two commands can break dependency resolution on a rolling
release.
To check whether a reboot is actually required after updates:
zypper ps -s
SECTION: Users, groups, and permissions
To show the current user:
whoami
To show which groups the current user belongs to:
groups
To run a single command as root:
sudo command
To switch to another user's shell:
su - username
To add a new user with a home directory:
sudo useradd -m username
To add an existing user to a group:
sudo usermod -aG groupname username
To set file permissions (owner/group/other):
chmod 750 filename
To change file ownership:
chown user:group filename
To change your own password:
passwd
[WARNING] If sudo ever asks for root's password on this system, that
means elevation is not possible — root is locked (confirmed via
passwd -l root), so there is no password that will authenticate
against it. This is not a "try harder" situation — retyping it more
carefully won't help, there is no correct answer to give it. It means
the intended sudo configuration (own-password authentication via
sudo-policy-wheel-auth-self + wheel membership) is not in effect,
and the system needs to be fixed at the console or reinstalled, not
worked around.
Ask me how I know.
SECTION: Services with systemd
To check whether a service is running, with recent log lines:
systemctl status service-name
To start a service immediately:
sudo systemctl start service-name
To stop a service immediately:
sudo systemctl stop service-name
To restart a service (stop then start):
sudo systemctl restart service-name
To make a service start automatically at boot:
sudo systemctl enable service-name
To prevent a service from starting at boot:
sudo systemctl disable service-name
To list every service that failed to start:
systemctl --failed
To list all known services:
systemctl list-units --type=service
[NOTE] enable and start are separate actions — enabling a service
does not start it immediately, and starting a service does not make it
survive a reboot. To do both at once:
sudo systemctl enable --now service-name
SECTION: Storage and disks
To show free space per mounted filesystem:
df -h
To show the total size of a folder:
du -sh directory/
To list block devices and partitions:
lsblk
To show what's currently mounted and where:
mount
To mount a device manually:
sudo mount /dev/device-name /mount-point
To check a drive's health quickly:
sudo smartctl -H /dev/device-name
SECTION: Btrfs and Snapper — SUSE default root filesystem
SUSE uses Btrfs as the default root filesystem, with Snapper managing automatic snapshots.
To list available snapshots:
snapper list
To roll back to a specific snapshot number:
sudo snapper rollback snapshot-number
To show real Btrfs space usage:
btrfs filesystem usage /
[NOTE] Snapper automatically takes snapshots before and after package changes — a broken update is usually a rollback away from being fixed, without needing to reinstall anything.
SECTION: Networking
To show interfaces and IP addresses:
ip a
To show the routing table:
ip r
To show what's listening on which port:
ss -tlnp
To test basic reachability to a host:
ping hostname-or-ip
To show a NetworkManager device overview:
nmcli device status
To show current firewall rules for the default zone:
sudo firewall-cmd --list-all
To apply firewall configuration changes:
sudo firewall-cmd --reload
[WARNING] Firewall changes made with firewall-cmd alone are temporary
and do not survive a reboot. Add --permanent to the change itself,
then run --reload to apply it.
SECTION: Logs and troubleshooting
To show recent logs with explanations, newest entries last:
journalctl -xe
To show logs for one specific service:
journalctl -u service-name
To show logs since the last boot:
journalctl -b
To show logs within a specific time window:
journalctl --since "1 hour ago"
To show kernel and hardware messages with timestamps:
dmesg -T | tail -50
To generate a full diagnostic bundle for SUSE support:
sudo supportconfig
[NOTE] When something breaks unexpectedly, check systemctl --failed
first to find what's actually broken, then run
journalctl -u <that service> -xe to see the actual error.
SECTION: Processes and resources
To show a live view of processes and resource usage (press q to
quit):
top
A friendlier alternative, if installed:
htop
To find a specific running process:
ps aux | grep process-name
To ask a process to stop:
kill process-id
To force-stop a process as a last resort:
kill -9 process-id
To show memory usage in human-readable form:
free -h
To show how long since the last reboot and the current load average:
uptime
SECTION: Files you'll actually open
| File | Type | Purpose |
|---|---|---|
/etc/hostname |
path |
The system's hostname |
/etc/fstab |
path |
What mounts automatically at boot |
/etc/ssh/sshd_config |
path |
SSH server settings |
/etc/sudoers.d/ |
path |
Sudo permission drop-in files |
/var/log/ |
path |
Traditional log location — most logging now lives in journalctl instead |
~/.bashrc |
path |
The current user's own shell startup customizations |
[WARNING] Never hand-edit /etc/sudoers directly — always use visudo
or a file in /etc/sudoers.d/. A syntax error in sudoers can lock out
sudo access entirely.
SECTION: Updating the system
To refresh and update on Leap or SLES:
zypper ref && zypper up
To refresh and fully sync on Tumbleweed:
zypper ref && zypper dup
To list available patches on Leap or SLES:
zypper lp
To apply patches specifically:
zypper patch
To confirm whether a reboot is required after updating:
zypper ps -s
[NOTE] A snapshot is taken automatically before most updates via Snapper — if an update goes wrong, rollback (Section: Btrfs and Snapper) is usually available without reinstalling anything.
SECTION: Quick glossary
| Term | Type | Meaning |
|---|---|---|
YaST |
string |
SUSE's central configuration tool, available as TUI or GUI |
zypper |
string |
SUSE's command-line package manager |
Snapper |
string |
Automatic Btrfs snapshot manager |
AutoYaST |
string |
SUSE's unattended/scripted install system |
targetpw |
string |
SUSE's default sudo behavior — asks for root's password, not the invoking user's own, unless changed |
wheel |
string |
The group typically granted sudo access |
SECTION: When you're stuck
- Run
systemctl --failed— confirm what's actually broken. - Run
journalctl -u <service> -xe— see what the actual error says. - Run
snapper list— check whether a rollback is the fastest fix. - Check documentation.suse.com for the exact release in use before assuming a fix found elsewhere applies.
- If still stuck, run
sudo supportconfigand hand the resulting bundle to whoever supports the system.
[WARNING] This reference covers the commands used most days. It is not a substitute for the official documentation for the specific SUSE release in use — commands, defaults, and package names shift between versions.
Source: CE OS — tinkerpad13 personal quick reference, developed 2026-07-26
Source-type: ce-authored
Licence: John A. Hoeven with the ethical assistance of Claude AI — personal working document
Verified-on: tinkerpad13 (openSUSE Tumbleweed) — sudo/root behavior confirmed on this system directly; general commands are standard SUSE-family behavior
Session: 2026-07-26