Linux Basic Commands Cheatsheet
Working flawlessly with Linux mostly depends on how well we know the Linux commands. It really needs time to be good at all the Linux commands. The purpose of this document is to list all the basic commands so that anyone can get help.
Linux Command Structures
A command is a program that tells the system to do something. It has a structure like command [options] [arguments]
- The command works on a particular argument.
argumentsare like extra pieces of information to perform the command. Hereargumentsare like function arguments that tell the command what to perform - On the other hand,
optionsare used to control the command behavior.optionsare generally letter preceded by a hyphen(-). e.g.ls -aor word preceded by a double hyphen(—). e.g.ls --help- More than one option can be used with a command in two forms. such as separate form and lumped form.
- Separate form is like
command -[option] -[option] - [option]. e.g.ls -a -l -t - For most commands, more than one option can be lumped together to form
command -[option][option]. e.g.ls -alt. One thing to remember is that not all commands support lumped options but most command supports.
sudo
sudo means superuser do. whenever sudo is used before any command, it allows the current user to have root privilege temporarily for the current command.
sudo rm -rf dir1# recursively delete the dir1 folder as root user privilege
Linux File System
The computer organizes files in a tree-like structure that is known as the file system. Linux has a single file tree system that begins with the root directory(/). One thing we always have to remember is that in Linux almost everything is a file including a USB Device, Hard disk, etc.
- File names are not case sensitive
- file begin with
.used for the configuration file
Linux frequently used basic commands
cd- To change directorymkdir- make/create directorypwd- Print Current directoryls- List Directory Contentcp- copy files and directorymv- Move or rename filerm- remove directory and filesrmdir- Use to remove only empty directory. It does not delete directory that is not empty.cat- Concatenate and display the whole fileexitto exit the terminal from the command lineclearclear terminal
Common Linux Flags
-h- Help flag-v- indicate verbosely.
Directory and Navigation
There are two ways to denote a path. relative path and absolute path. Relative path refers to a path relative to the current directory. On the other hand, the absolute path starts at the root(/) directory and we can reference it from anywhere in the file system.
- Shortcut notation to the directory
/root directory.Current directory..Parent directory~Home directory-Previous directory
pwdPrint the Current Working Directorycd /Go to the root directorycd ..Go to the parent directorycd ~Go to Home directorycd -Go to the previous directorycd /dir1/dir2Navigate to a particular directory
Folder & File Create
mkdir dir1Create directory named dir1 inside the current working directorymkdir -p /dir1/testDirCreate a directory inside dir1. If dir1 does not exist the -p flag indicates that create parent directorydir1if needed.touch shuvangkar.txtCreate a text file inside the current directory named shuvangkar.txttouch /dir1/testfileCreatetestfilefile inside dir1
File and Directory Listing
lscommand options- -l = long listing
- -a= list hiddent files
- -r = list in reverse name
- -t = list new files first
- rt = list in reverse time(oldest first)
ls -l /tmp/dir1/show to long listing of all files inside/tmp/dir1/
Here is a example of file listing and what the different notations indicate.
drwxr-xr-x 2 pi pi 4096 May 25 20:47 Desktop
-rw-r--r-- 1 pi pi 5781 Feb 3 07:07 ocr_pi.png
drwxrwxr-x 2 pi pi 4096 Mar 10 12:20 python_games
-------- ------- ------- -------- ------------ -------------
| | | | | |
| | | | | File Name
| | | | |
| | | | +--- Modification Time
| | | |
| | | +------------- Size (in bytes)
| | |
| | +----------------------- Group
| |
| +-------------------------------- Owner
|
+---------------------------------------------- File Permissions
Copy Files & Directories
cp [option] [source] [destination]Common format forcpcommand.- To perform the copy operation, the source must have read permission and the destination must have write permission. Otherwise, permission denied error is shown.
- The source can be single or multiple files or directories. destination have to be single file or directory
cp file1 backfile1copyfile1content tobackupfilecp file1.txt file2.txt dir1copyfile1.txtandfile2.txtto the directorydir1. When copying multiple files the destination must be a directory.cp -r -v /tmp/sourcedir desDir/copysourcedirintodestDir.-rflag indicates recursively means copying whole directory contents.-vindicate show verbose output while copying
Move & Rename
Move command(mv) has two functions. By default Linux does not have rename option. So it rename file and folder. It default function is to move files and folder
mv [options] [source] [destination]Default syntaxmv file1.txt diffname.txtrenamefile1.txttodiffname.txtmv file1.txt file2.txt dir1move both of the files in folder dir1mv /tmp/testfile .Movetestfileto the current directorymv *.txt dir2move all text file to dir2 folder
Delete Files & Directory
rm /dir1/testfileremovetestfilefromdir1folderrmdir /tmp/testdirremovetestdirif it is emptyrm -r /tmp/testdirrecursively deletetestdirfolderrm -rf /tmp/testdir-f flag indicate force delete. -r indicate recursively
Ubuntu Software Install and Uninstall
In Linux, world software is the package. Different Linux distribution has different package management tools. RedHat has yum, Debian has apt. apt(Advanced Packaging Tool) is the default package management tool for Ubuntu
sudo apt updateupdate the local package list with the latest change made in the repositoriessudo apt upgradeFirst update package index using update command and then this command upgrades all packagesudo apt install <package_name>Install a particular package from package_namesudo apt install -y gitThe option -y tells the apt to assume the answer to all prompts is yessudo apt remove <package_name>remove package but leave configssudo apt purge <package_name>remove package and configs. It may not be the desired effect. So use with cautionapt search filezillasearchfilezillapackageapt autoremoveremove the unnecessary package file
Note: While apt is a command-line tool, it is intended to be used interactively, and not to be called from non-interactive scripts. The apt-get command should be used in scripts (perhaps with the –quiet flag). For basic commands the syntax of the two tools is identical.
Install package from .deb file
- download the .deb package. such as
sublime.deb - Go to the file directory and install the package using the command
sudo apt install ./sublime.deb
How To Get Help
Linux manual is a great source of getting information related to any command. Here is multiple examples of how we can get information related to gzip
man -k gzipfinds gzip related manualgzip --helpprint quick list of manualman gzipManual open
Linux Networking
ip -j -p addr showTo list network details in JSON format
Generate SSH Key and Copy on the clipboard
- /dev/zero is a special file that provides an endless stream of null characters that is used to create file or memory pages.
sudo apt install xclip -y #xclip will copy the ssh file
cat /dev/zero | ssh-keygen -t ed25519 -C "keyname" -q -N "passphrase"
xclip -sel clip <~/.ssh/id_ed25519.pub
More commands
name -aIt prints all the system information in the following order: Kernel name, network node hostname, kernel release date, kernel version, machine hardware name, hardware platform, operating system
Deal with Executable
which mvwhich command returns the path of executables. Here return the location of the move command
More Linux command documents
Here is the list of cheat sheets we can explore more.
- IP command cheatsheet
Control Service
systemctl and service are two commands to control services.
service is high level command used for start, restart, stop, status of a service.
On the other hand systemctl can do lot more than service. It can load service parallel at startup, it can mask or unmask service and lot more.
service script-name commandcommand can bestart,restart,stopsystemctl command servicename.servicecommand = start/stop/enable/reload/restart/
Leave a comment