Linux Fundamentals
Linux Fundamentals
Linux Commands
© Brain4ce Education Solutions Pvt. Ltd.
Linux Commands
Basic Linux Commands
Linux provides a CLI (Command Line Interface) to communicate with the OS. Here are the most
basic of the Linux Commands.
1. pwd
Displays the current working directory of the terminal.
syntax:
$ pwd
2. echo
Writes its arguments to standard output.
syntax:
$ echo "<text>"
3. clear
Clears the terminal screen. Contents will not actually be deleted in this case, only scrolled down.
You can also clear the screen by pressing Ctrl+L on the keyboard.
syntax:
$ clear
Working with Files
1. cp
Copies files and directories. A copy of the file/directory copied, still remains in the working
directory.
syntax:
$ cp <flag> {filename} /pathname/
©Brain4ce Education Solutions Pvt. Ltd Page 1
Linux Commands
Command Explanation
cp -i Enters interactive mode; CLI asks before
overwriting files
cp -n Does not overwrite the file
cp -u Updates the destination file only when the source
file is different from the destination file
cp -R Recursive copy for copying directories; Copies even
hidden files
cp -v Verbose; Prints informative messages
2. mv
Moves files and directories from one directory to another. The file/directory once moved, is
deleted from the working directory.
syntax:
$ mv <flag> {filename} /pathname/
©Brain4ce Education Solutions Pvt. Ltd Page 2
Linux Commands
Command Explanation
Enters interactive mode; CLI asks before
mv -i
overwriting files
Updates the destination file only when
mv -u the source file is different from the
destination file
Verbose; Prints source and destination
mv -v
files
3. rm
Removes files from a directory. By default, the rm command does not remove directories. Once
removed, the contents of a file cannot be recovered.
syntax:
$ rm <flag> {filename}
Command Explanation
rm –r Removes even non-empty directories.
Removes non-empty directories
rm –rp
including parent and subdirectories.
4. grep
Searches for a particular string/word in a text file. This is similar to “Ctrl+F” but, executed via a CLI.
syntax:
$ grep <flag or element_to_search> {filename}
©Brain4ce Education Solutions Pvt. Ltd Page 3
Linux Commands
Command Explanation
Returns the results for case insensitive
grep -i
strings
Returns the matching strings along with
grep -n
their line number
Returns the result of lines not matching the
grep -v
search string
Returns the number of lines in which the
grep -c
results matched the search string
5. cat
Used to read, modify or concatenate text files. It also displays file contents.
syntax:
$ cat <flag> {filename}
Command Explanation
This is used to add line numbers to non-blank
cat -b
lines
cat -n This is used to add line numbers to all lines
This is used to squeeze blank lines into one
cat -s
line
cat –E Show $ at the end of line
Working with Directories
1. ls
©Brain4ce Education Solutions Pvt. Ltd Page 4
Linux Commands
Lists all the contents in the current working directory.
syntax:
$ ls <flag>
Command Explanation
By specifying the path after ls, the
ls <path name>
content in that path will be displayed
Using ‘l’ flag, lists all the contents along
ls –l with its owner settings, permissions &
time stamp (long format)
Using ‘a’ flag, lists all the hidden
ls –a
contents in the specified directory
Using ‘–author’ flag, lists the contents
ls –author in the specified directory along with its
owner
Using ‘a’ flag, sorts and lists all the
ls –S contents in the specified directory by
size
Using ‘*’ flag, lists only the contents in
ls *.html
the directory of a particular format
Using ‘>’ flag, copies the result of ls
ls –lS > file.txt
command into a text file
2. cd
Used to change the current working directory of the user.
syntax:
$ cd /pathname/
©Brain4ce Education Solutions Pvt. Ltd Page 5
Linux Commands
Command Explanation
This command also changes the
cd ~
directory to home directory
cd / Changes the directory to root directory
Changes the directory to its parent
cd ..
directory
We specify the folder name in inverted
cd ‘xx yy’ commas because there is a space in the
folder name
3. sort
Sorts the results of a search either alphabetically or numerically. Files, file contents and directories
can be sorted using this command.
syntax:
$ sort <flag> {filename}
©Brain4ce Education Solutions Pvt. Ltd Page 6
Linux Commands
Command Explanation
sort -r the flag returns the results in reverse order;
sort -f the flag does case insensitive sorting
the flag returns the results as per numerical
sort -n
order
4. mkdir
Creates a new directory.
syntax:
$ mkdir <flag> {directoryname} /pathname/
Command Explanation
Creates both a new parent directory and a
mkdir -p
sub-directory
This is used to create multiple
mkdir –p <filename1>/{f1,f2,f3} subdirectories inside the new parent
directory
5. rmdir
Removes a specified directory. Although by default, it can only remove an empty directory, there
are flags which can be deployed to delete the non-empty directories as well.
syntax:
©Brain4ce Education Solutions Pvt. Ltd Page 7
Linux Commands
$ rmdir <flag> {directoryname}
Command Explanation
rmdir –p Removes both the parent and child directory
rmdir –pv Removes all the parent and subdirectories
User Permissions
1. su
Switches to root-user so that superuser permissions can be used to execute commands.
syntax:
$ su
2. su <username>
Switches to a different user whose name is passed as the argument.
syntax:
$ su <username>
3. sudo
Executes only that command with root/ superuser privileges.
syntax:
$ sudo <command>
©Brain4ce Education Solutions Pvt. Ltd Page 8
Linux Commands
Command Explanation
sudo useradd <username> Adding a new user
sudo passwd <username> Setting a password for the new user
sudo userdel <username> Deleting the user
sudo groupadd <groupname> Adding a new group
sudo groupdel <groupname> Deleting the group
sudo usermod -g <groupname>
Adding a user to a primary group
<username>
4. chmod
Used to change the access permissions of files and directories. Consider the example below.
On trying to run the newly created file named chmodtestfile.sh, an error is thrown. After
modifying the permissions of the file using the said Linux command, it turns executable.
syntax:
$ chmod <permissions of user,group,others> {filename}
©Brain4ce Education Solutions Pvt. Ltd Page 9
Linux Commands
The permissions associated with each digit is as follows.
Number read write execute
0 – – –
1 – – yes
2 – yes –
3 – yes yes
4 yes – –
5 yes – yes
6 yes yes –
7 yes yes yes
Installing Packages
Stable versions of most software’s will already be available in Linux repositories. Here are the Linux
Commands to install them.
1. Install packages
For an RHEL based system;
syntax:
$ sudo yum install package-name
For a Debian based system;
syntax:
$ sudo apt-get install package-name
For a Fedora based system;
syntax:
$ sudo dnf install package-name
Zipped Files
©Brain4ce Education Solutions Pvt. Ltd Page 10
Linux Commands
When you download a package from the internet, the downloaded file comes in compressed form.
Here are a few commands to decompress and compress files in Linux.
1. tar
Zips/Compresses files of .tar format.
syntax:
$ tar –cvf tar-filename source-folder-name
Unzips/Decompresses files of .tar format.
syntax:
$ tar –xvf tar-file-name
Secure Shell For Remote Access
1. ssh
The following command refers to a cryptographic network protocol for operating network services
securely over an unsecured network. Typical use-cases include remote command-line execution,
but any network service can be secured with SSH.
This command, on running at the slave node, will give remote access to the master.
syntax:
$ ssh <master's ip>
This command, on running at the master, will give remote access to the slave node.
syntax:
$ ssh <slave's ip>
©Brain4ce Education Solutions Pvt. Ltd Page 11