If you have only ever used a computer through clicking icons and dragging windows, the Ubuntu terminal can look intimidating at first. A blank screen waiting for text seems like a step backwards. Yet the command line is where Linux shows its real strength. Once you learn a handful of commands, you will move faster, control your system more precisely, and unlock tasks that the graphical interface simply cannot do as easily. This guide walks you through the essential Ubuntu commands every beginner should know, explaining what each one does and why it matters.
Table of Contents
- Why Linux relies on the command line
- Basic commands for navigating and managing files
- cd – change directory
- ls – list files
- cp – copy files
- mv – move and rename files
- System administration commands
- chmod – change file permissions
- passwd – change your password
- shutdown – power down the system
- Using the terminal for everyday efficiency
Why Linux relies on the command line
Ubuntu comes with a polished graphical desktop, so a fair question is why anyone would type commands at all. The answer lies in the history and design of Linux itself. Linux descends from Unix, an operating system built in an era when users interacted with computers through text-only terminals that supported no graphics at all. Commands were deliberately given short names because typing was the only way to work, and that text-first culture carried forward into modern Linux.
The command line interface, often shortened to CLI, is a text-based way to instruct the operating system directly instead of clicking through menus and windows. According to Amazon Web Services, the CLI lets you perform actions on several files with a single text command rather than finding and clicking each one individually, which makes navigation and system interaction far faster once you know the commands.
There are three practical reasons the terminal remains central to Linux. First is efficiency. For experienced users, typing a command is quicker than hunting through a graphical menu. Second is automation. Commands can be combined into scripts that run repetitive tasks without supervision, something that is awkward to achieve by clicking. Third is resource efficiency. As Server Academy notes, the CLI consumes far fewer system resources than a graphical environment, which is why most servers run without a desktop at all.
This last point explains why the terminal is not optional knowledge. Nearly every web server, database, and cloud service runs on Linux, and administrators usually manage these machines remotely over a network connection where no graphical desktop exists. If you want to work in technology, the command line is a skill you will return to again and again.
Basic commands for navigating and managing files
The first thing you do in the terminal is move around and handle files. Open the terminal in Ubuntu by pressing Ctrl+Alt+T. You will see a prompt ending in a dollar sign, which is where you type. The four commands below cover most day-to-day file work.
cd – change directory
The cd command moves you between folders, which Linux calls directories. When you first open the terminal, you start in your home directory, usually located at /home/yourusername. To move into a folder named Documents, you type cd Documents. To go back up one level to the parent directory, you type cd .., where the two dots are a shortcut that always means “the folder above this one.”
One useful detail covered in the official Ubuntu desktop documentation is that a single dot represents the current working directory, while two dots represent the parent. These shortcuts let you describe locations quickly without typing out full paths every time. Remember that directory names are case sensitive, so Documents and documents are treated as two different folders.
ls – list files
The ls command lists the files and directories inside your current location. Typing ls on its own shows the visible contents. Commands often accept extra options called flags that change their behaviour. For example, ls -a reveals hidden files, which in Linux are any files whose names begin with a dot. Another common flag is ls -l, which produces a detailed listing showing file sizes, dates, and crucially the permissions of each file, something we will return to shortly.
cp – copy files
The cp command makes a duplicate of a file or directory. It takes two pieces of information: the file you want to copy and where the copy should go. To copy a file, you type cp source.txt destination.txt. The original stays exactly where it is, so cp is ideal for creating backups or duplicating a file before you edit it. To copy an entire directory along with everything inside it, you add the recursive flag, like cp -r oldfolder newfolder.
mv – move and rename files
The mv command moves a file from one place to another. Unlike cp, it does not leave the original behind. To move a file into another folder, you type mv file.txt Documents/. The same command also renames files, which surprises many beginners. Typing mv old.txt new.txt simply renames old.txt to new.txt, because moving a file to a new name in the same location is, to Linux, the same operation as renaming it. The Maker Pro beginner guide highlights this dual purpose as one of the most convenient features of the command.
System administration commands
Once you are comfortable moving and managing files, the next step is controlling the system itself. These commands touch security, access, and the running state of the machine, so they deserve extra care.
chmod – change file permissions
Every file and directory in Linux carries a set of permissions that decides who can read it, write to it, or execute it. Permissions are split across three groups: the owner, the group, and others. The chmod command, short for “change mode,” is how you adjust these rights. As GeeksforGeeks explains, chmod controls access for owner, group, and others using either symbolic notation or a numeric code.
The numeric, or octal, method is the most common. Each permission has a value: read is 4, write is 2, and execute is 1. You add these together for each of the three groups to form a three-digit number. According to Linuxize, only the root user, the file owner, or someone with sudo privileges can change a file’s permissions, so be careful with this command. For example, chmod 755 script.sh gives the owner full read, write, and execute rights while letting the group and others read and execute. A configuration file often uses chmod 644, and a private file like an SSH key uses chmod 600 so only the owner can touch it.
passwd – change your password
The passwd command changes a user’s login password. Typing passwd on its own lets you change your own password after confirming the current one. An administrator can change another user’s password by typing passwd username. There is a fascinating connection here to permissions. Changing a password means writing to a protected system file called /etc/shadow, which only the root user can access. As described by freeCodeCamp and other permission guides, the passwd program carries a special “setuid” bit that lets it run with the owner’s elevated privileges, so an ordinary user can update their own password safely without being given root access.
shutdown – power down the system
The shutdown command safely powers off or restarts the machine. A graceful shutdown gives running programs time to close properly and avoids data loss, which is why using this command is better than simply pulling the power. Typing shutdown now turns the system off immediately, while shutdown -r now restarts it. You can also schedule a shutdown for later, such as shutdown +10 to power down in ten minutes. Because shutting down affects everyone using the machine, this command also requires administrator privileges.
Using the terminal for everyday efficiency
The real payoff of learning commands comes from the productivity tricks that build on them. A few habits will make you noticeably faster.
Tab completion is the single most useful habit. Start typing a command or file name and press the Tab key, and the terminal completes it for you if there is only one match. This saves typing and prevents spelling mistakes, which matters because, as AWS warns, the CLI requires precise input to produce the correct result.
Aliases let you create short nicknames for commands you use often. The DigitalOcean command guide shows how typing alias lsl="ls -l" means you can run lsl instead of the full command from then on, which is a real time saver for long instructions with many options.
Pipes connect commands together so the output of one becomes the input of another, using the vertical bar symbol. For instance, ls -l | less lets you scroll through a long file listing one page at a time. And when you are ever unsure what a command does, the man command opens its manual page, so man ls displays every option available for ls.
These techniques combine into the deeper advantage that command-line programs can be automated in ways graphical tools cannot. Once you can copy hundreds of files with a single line using wildcards, or write a short script to repeat a task every day, the terminal stops feeling like a limitation and starts feeling like a superpower.
What do you think? Which feels more natural to you for managing files, the point-and-click desktop or the precision of typed commands? And can you think of a repetitive task on your own computer that would be worth turning into a simple terminal script?
References
- https://aws.amazon.com/what-is/cli/
- https://www.serveracademy.com/courses/linux-fundamentals/introduction-to-the-linux-command-line-interface
- https://documentation.ubuntu.com/desktop/en/latest/tutorial/the-linux-command-line-for-beginners/
- https://maker.pro/linux/tutorial/basic-linux-commands-for-beginners
- https://www.geeksforgeeks.org/linux-unix/chmod-command-linux/
- https://linuxize.com/post/chmod-command-in-linux/
- https://www.freecodecamp.org/news/file-permissions-in-linux-chmod-command-explained/
- https://www.digitalocean.com/community/tutorials/linux-commands
- https://www.makeuseof.com/why-linux-uses-the-command-line/

Leave a Reply