Community-driven coverage of elementary OS — news, guides & forums
Dark abstract low-poly geometric landscape with layered triangular facets in deep navy, charcoal, and muted teal, illuminated by a soft electric-blue glow near the horizon

News roundups, tutorials, application guides, and forums — built by users, for users of the elegant Linux distribution.

elementary weekly
#20
Latest roundup · 18 Apr 2015
Freya Release
Final
Covered in weekly #19 & #20
Forum Topics
Active
Installation, customization & more

Using elementary OS's Terminal: essential commands and customization

The elementary OS Terminal gives you a fast, precise way to work with files, install software and inspect the system. It is not a separate operating system or a required replacement for the desktop: it is a text interface to the same Linux tools behind elementary OS’s file manager, settings and AppCenter. The graphical interface remains ideal for many daily tasks, while the terminal excels at repeatable actions, detailed diagnostics and remote access.

Most elementary OS installations use Bash and show a prompt containing your user name, computer name and current directory. A typical line might look like elementary@eos:~$. The $ means you are an ordinary user; a # would indicate root access and should appear only when the system genuinely requires it. Type echo $SHELL to confirm your login shell, and remember that commands and file names are case-sensitive.

A terminal can feel intimidating because it offers little visual guidance, but it is also forgiving when you learn a small core of commands. Use Tab to complete names, read errors from the first line, and pause before pressing Enter. The fastest route to confidence is not memorising every option; it is recognising which command solves the task in front of you.

Opening the terminal and reading the prompt

Open Terminal from the Activities overview by searching for its name. The shortcut Ctrl+Alt+T commonly launches it directly, although your keyboard settings can change that. A terminal window can contain several tabs, so you can keep one command running while checking output in another. Keep the distinction clear: Ctrl+C interrupts the foreground command, while Ctrl+Shift+T opens a new tab.

Read the prompt before entering anything. pwd prints the working directory, whoami identifies the current user and hostname names the machine. A command followed by arguments tells the program what to act on; options usually begin with a dash. For example, ls -lah combines short and long listing options in one compact form, with hidden files included.

Help is built into the command line. Append --help to learn its common options, or open the manual with man command. In a manual page, move with the arrow keys and press q to leave. apropos word searches manual descriptions, while type command shows whether a name is a shell keyword, alias or executable. When output is unfamiliar, inspect the help before changing the system.

Moving around the filesystem

Begin with pwd and ls -lah. The first confirms where you are; the second lists files, directories, sizes and permissions in your current location. Use cd to change directory: cd Documents, cd .. and cd ~ respectively enter a folder, move to its parent and return home. cd - returns to the previous directory, which is handy when two paths are long.

Relative paths begin from the current directory, while absolute paths begin at /. The symbols . and .. mean the current and parent directories. Quote paths containing spaces, such as cd "$HOME/Travel Plans", and use Tab when a name is uncertain. Files beginning with a dot are hidden; ls -a reveals them, including configuration directories such as ~/.config.

To search rather than browse, use find ~/Documents -type f -iname '*.pdf' for PDF files, regardless of capitalisation. Add -mtime -7 to find files changed during the past week. grep -Rni "invoice" ~/Documents searches file contents, although it can be slow in large folders. The optional ripgrep command, available through the usual package channels, is quicker for many text searches.

Creating, editing and removing files safely

Create a folder with mkdir -p "Projects/Brief"; the -p option creates missing parent directories without complaining. Add a new empty file with touch notes.txt, or copy one with cp report.pdf report-copy.pdf. For text editing, nano notes.txt opens a simple editor: save with Ctrl+O and exit with Ctrl+X. Many graphical editors can also be started from a terminal by passing a filename.

Copying and moving follow ordinary, visible patterns: cp -i source destination asks before overwriting, while mv -i old-name new-name renames a file. The -i flag is especially useful for important documents. For deletions, prefer sending items to Trash with gio trash filename when available, or use the file manager’s Trash action. If you must use rm, begin with rm -i and check the path carefully.

Use cat for a short text file and less for a longer one. less supports paging with the space bar and searching with /; press q to quit. head and tail show the beginning or end of a file, and tail -f application.log follows new log lines. To respect the common Australian day/month/year convention, date +'%d/%m/%Y' prints a numeric date in that order.

Managing permissions and elevated access

Linux permissions assign three classes of access—owner, group and others—to each file. ls -l displays them. chmod u+x script.sh grants the owner execute permission, while chmod 640 report.txt allows the owner to read and write it, the group to read it, and everyone else nothing. A script needs execute permission before it can run as ./script.sh. Avoid chmod 777, which grants far more access than most files require.

sudo runs one command with elevated privileges and normally asks for your password. The password characters do not appear on screen, which is expected. Use it for system-wide installation, service management or editing protected locations, not for ordinary reading and copying. sudo -v refreshes the authentication timestamp when several administrative commands are coming up, and sudo by itself starts an interactive root shell that beginners should avoid.

Ownership is separate from permission bits. id shows your user and groups, and groups file lists a file’s groups. Changing an owner normally requires sudo chown, but most personal files should remain owned by your own account. If a downloaded script will change important settings or access private data, read it first, identify its publisher and prefer a packaged version over an unfamiliar installation script.

Installing and updating software

Start with AppCenter for applications offered by elementary OS, then use the terminal for details or missing packages. Elementary OS is Ubuntu-based, so APT handles system packages. Run sudo apt update to refresh package indexes, then sudo apt install package-name to install a tool. apt-cache policy package-name shows available versions and sources, while apt list --upgradable identifies installed packages with newer updates.

Flatpak is the other major software path on current elementary OS systems, though availability can depend on the release and setup. Check configured sources with flatpak remotes, search with flatpak search name, and install a known application from Flathub with flatpak install flathub org.gimp.GIMP. flatpak list shows installed applications, flatpak update updates them and flatpak uninstall removes one. Keep APT and Flatpak installations conceptually separate.

The Australian market includes many small-business and specialist tools that may reach users as a .deb, AppImage or direct download rather than a well-known Flathub package. Check the publisher and integrity details before installing, and do not add an unknown APT repository merely to obtain one program. Periodically run sudo apt update && sudo apt upgrade; use sudo apt full-upgrade when release notes or the upgrade prompt specifically call for it, and reboot when requested.

Checking processes, services and connectivity

Use ps aux to inspect running processes and pgrep -af name to find one by matching text. top provides a live view; press q to leave it. To stop a process, use kill PID so it can close cleanly, or kill -TERM PID to request the same orderly termination explicitly. Avoid wildcard pkill commands until you have checked which processes match, because an overly broad pattern can terminate more than intended.

System services are controlled through systemd. systemctl status service-name shows whether one is active, journalctl -u service-name -n 50 displays recent entries and sudo systemctl restart service-name restarts it after a configuration change. systemctl --failed is a useful health check. For capacity, free -h shows memory, df -h shows filesystem use and uptime reports load and running time.

Network diagnostics begin with ip -brief address and ip route. Many Australian NBN and broadband routers use 192.168.1.1 as the local gateway, although the ISP model can differ, so trust the route output. Test an outside connection with ping -c 4 1.1.1.1, then check DNS and HTTP separately. Australian cities span several zones: timedatectl can distinguish daylight-saving time in Sydney and Melbourne from the no-DST clocks used in Brisbane and Perth.

Customising the shell and building dependable habits

Personal commands belong in ~/.bashrc, the file Bash reads for interactive settings. Open it with nano ~/.bashrc, then add a line such as alias ll='ls -alF' for a detailed listing or alias sysupdate='sudo apt update && sudo apt upgrade' for the update sequence. Run source ~/.bashrc to apply changes immediately. Aliases belong in interactive use, not essential scripts, where unexpected commands could cause trouble.

Use export for environment variables, but change PATH only when you understand which directory you are adding. A compact prompt can be set through the Bash PS1 variable; include the working directory, current user and a trailing space, then reload the file. Keep a backup before editing shell configuration. If a change breaks new terminals, start a clean shell with bash --noprofile --norc and repair the file before logging out.

Terminal appearance is separate from shell behaviour. Open the app’s preferences to choose a readable font, colour scheme, transparency and tab behaviour. Copy and paste commonly use Ctrl+Shift+C and Ctrl+Shift+V, while Ctrl+C, Ctrl+L, Ctrl+A and Ctrl+E interrupt output, clear the screen and move to the start or end of a command. The Keyboard settings can remap shortcuts, including the terminal launcher.

History makes repetition safer than retyping: use the arrow keys or Ctrl+R, inspect a recalled command, then edit it. A dependable routine is to check pwd, preview the target, use a non-destructive command first, and read the output before continuing. Keep important files in Trash or a backup, and use elevated access only for the specific task that needs it. The practical takeaway is to master pwd, ls, cd, cp, mv, mkdir, less, apt, flatpak, ps, systemctl and sudo, then build a small personal set of safe, repeatable habits around them.

Browse the News Archive
Latest Updates

From the elementary weekly series

Low-poly faceted abstract render in dark charcoal and electric blue tones, suggesting a news bulletin or announcement
elementary news

elementary weekly #20

The first week with the final Freya release — community reactions, tips, and early impressions gathered in one roundup.

Abstract low-poly geometric scene in midnight blue and soft cyan, conveying a live broadcast or event atmosphere
elementary news

elementary SPECIAL

A live Hangouts event with the elementary OS founders, held on 11 April 2015, discussing the Freya final release.

Low-poly faceted render in deep navy and muted teal with subtle amber highlights, suggesting a tutorial or guide
Tips and Tricks

Timeshift Guide

How to use Timeshift — the intuitive system restore utility for elementary OS — to recover from configuration mishaps.

Explore

Topics & Resources

Dive into guides, application recommendations, and community discussions covering every aspect of elementary OS.