Tutorial

Using the CLI on Arch Linux

A practical guide to the Arch command line: pacman, AUR helpers, rolling release philosophy, and the do-it-yourself mindset.

Terminal entry points

On Arch, you often build your own environment from a minimal base. The default shell is usually Bash, but many users switch to Zsh or fish. Terminals like Alacritty, WezTerm, Ghostty, and Konsole are popular choices.

# Check current shell
$ echo $SHELL
/bin/bash

# Check distribution information
$ cat /etc/os-release

# Check kernel version
$ uname -a

pacman basics

pacman is the package manager for Arch Linux. It is fast, simple, and designed around a rolling release model where there are no major version upgrades—only continuous updates.

# Sync package database and upgrade system
$ sudo pacman -Syu

# Install a package
$ sudo pacman -S git curl tmux

# Search for a package
$ pacman -Ss tmux

# Remove a package
$ sudo pacman -R tmux

# Remove a package and unused dependencies
$ sudo pacman -Rs tmux
  • Rolling release There are no "Arch 24.04" style releases. Running pacman -Syu regularly keeps the entire system current.

  • Arch Wiki The Arch Wiki is one of the most comprehensive Linux references, often useful even for users of other distributions.

AUR and helpers

The Arch User Repository (AUR) contains community-maintained packages that are not in the official repositories. Tools like yay make installing from the AUR straightforward.

# Install yay (a popular AUR helper)
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si

# Search and install from AUR
$ yay -Ss google-chrome
$ yay -S google-chrome

# Upgrade AUR packages alongside official ones
$ yay -Syu

The AUR is powerful, but packages are user-maintained. Always review PKGBUILDs before installing software from the AUR on production systems.

Filesystem and permissions

Arch uses the same Unix-style filesystem as other Linux distributions, rooted at /. Permissions, ownership, and the sudo workflow are identical.

CommandPurposeExample
pwdShow current directory$ pwd
ls -laList files, including hidden ones$ ls -la ~/.config
chmodChange permissions$ chmod +x script.sh
chownChange owner/group$ sudo chown user:user file.txt
# View file permissions
$ ls -l deploy.sh
-rwxr-xr-x 1 stone stone 914 Mar 20 09:14 deploy.sh

# Add execute permission
$ chmod +x deploy.sh

Services and logs

Arch uses systemd for service management, just like Ubuntu, Debian, and Fedora.

# Check service state
$ systemctl status sshd

# View recent logs
$ journalctl -u sshd --since today

# Enable a service at boot
$ sudo systemctl enable nginx

# Start a service now
$ sudo systemctl start nginx

Developer toolchain

Arch tends to have very fresh package versions. This is great for developers who want the latest language runtimes, compilers, and tools.

# Common utilities
$ sudo pacman -S git curl tmux jq ripgrep fd

# Git identity
$ git config --global user.name "Your Name"
$ git config --global user.email "you@example.com"

# Check language runtimes
$ python3 --version
$ node --version
$ go version

Many Arch users also rely on:

  1. paru or yay for AUR package management.
  2. makepkg for building packages from source.
  3. Docker or Podman for containerized environments.
  4. neovim or helix for terminal-based editing.

Next steps

  1. Get comfortable with pacman -Syu as a regular habit.
  2. Learn to read PKGBUILDs before using AUR helpers in production.
  3. Practice systemctl, journalctl, and process inspection.
  4. Build one repeatable workflow using Git, Docker, or a custom shell script.