Linux command line basics

Linux Command Line Interface (CLI from now on) could be at first glance discouraging for the average Joe, since nowadays we are only used to Graphic Interfaces. But don’t let that get you down, using a command line shell could be not only very useful, but also kind of funny. This guide will help you make your first steps in the command shell environment.

First, when could a Command Line Interface be useful for you?


 * Remote Connection via SSH: SSH remote connection allows you to interact with UDOO without physical access to it. SSH is available only with command line interface.


 * Using a minimal Linux Distribution without a graphical interface. Some Linux Distributions come without a Graphical User Interface in order to maximize available resources. Command line interface is your only bet in this scenario. Some power-users consider CLI the most convenient way to perform code execution and file-system operations. Even if you are not in this category, you may find that the CLI can be very fast when you get used to it.

To help you get started, here are some very basic Linux commands:

sudo

Your first ally, this command allows users to run programs with the security privileges of root, or superuser. Its name is a concatenation of "su" (super user) and "do", or take action. So, if you get an error message saying "only root can do that", just use the same command preceded with sudo.

sudo su

This enables root privileges once for all, without forcing you to type sudo everytime. It works until you close the shell you are working in.

sudo su touch

Creates an empty file.

nano

Open an handy text editor. To save and exit, press CTRL and X, and press Y for yes or N for no.

cat

Shows the content of a file, it speeds up file inspection for smaller files. e.g. cat /etc/hostname

ls

Lists the contents of the current folder.

cd

Changes current folder to specific folder.

cd..

Changes current folder to a higher folder level.

cd /

Changes current folder to root (top filesystem level).

rm

Deletes a file.

rm -rf

Deletes a folder.

mv

Moves a file or a folder. Useful for renaming as well, e.g. mv myfile /myfolder/myfile and mv myfile mysecondfile

cp

Copies a file, e.g. cp myfile /home/ubuntu/</tt>

cp -R

Copies a folder, e.g. cp -R myfolder /home/ubuntu/myfolder</tt>

mkdir

Creates a folder

top

A very useful utility, this command basically gives you a complete overview of the system's status. It produces an ordered list of running processes selected by user-specified criteria. top</tt> shows how much processing power and memory are being used, as well as other information about the running processes.

df -h

Shows used and available disk space, in megabytes.

ifconfig -a

Shows useful networking data, like current IP, netmasks and other statistics.

chmod

Lets you set files permissions. This utility is very important for people concerned about security, but it is also useful for coders, since you can set a script as executable with it.

dmesg

Shows the messages resulting from the most recent system boot. This is useful for troubleshooting, since you can see which modules have been loaded, which binaries have started and so on.

sync

Thanks to this command your SD card lifespan will drastically improve, remember to launch it every time before you turn UDOO off or remove the power. It completes all pending input/output operations. It must be launched as root, or with sudo</tt>.

reboot

Reboots the system.

shutdown

Shuts it down.