Linux users and administrators can’t really live by the GUI alone. By only learning how to work with your tool, can you get the most out of Linux. Hence, we’ve brought together a list of useful Linux commands into this convenient guide, which will be of help no matter which Linux Curriculum you choose to learn from.
So, I’ve categorized these commands into the following segments;
- Linux Basic Commands
- Commands for Working with Files
- Commands for Working with Directories
- Commands for Working with User Permissions
- Commands for Working with Zipped Files
- Working with Secure Shell For Remote Machine Access
Linux Commands: Basic Commands
Linux provides a CLI (Command Line Interface) to communicate with the OS. Here are the most basic of the Linux Commands.
1. pwd
This command Displays the current working directory of the terminal.
syntax:
$ pwd
2. echo
This command writes its arguments to standard output.
syntax:
$ echo "<text>"
3. su
This command is used to switch to root-user so that superuser permissions can be used to execute commands.
syntax:
$ su
4. su <username>
This command is used to switch to a different user whose name is passed as the argument.
syntax:
$ su <username>
5. sudo
This command executes only that command with root/ superuser privileges.
syntax:
$ sudo <command>
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> <username> | Adding a user to a primary group |
6. clear
This command is used to clear 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
Linux Commands: Working with Files
7. cp
This command copies files and directories. A copy of the file/directory copied, still remains in the working directory.
syntax:
$ cp <flag> {filename} /pathname/
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 |
8. mv
This command 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/
Command | Explanation |
mv -i | Enters interactive mode; CLI asks before overwriting files |
mv -u | Updates the destination file only when the source file is different from the destination file |
mv -v | Verbose; Prints source and destination files |
9. rm
This command 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. |
rm –rp | Removes non-empty directories including parent and subdirectories. |
10. grep
This command is used to search 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}
Command | Explanation |
grep -i | Returns the results for case insensitive strings |
grep -n | Returns the matching strings along with their line number |
grep -v | Returns the result of lines not matching the search string |
grep -c | Returns the number of lines in which the results matched the search string |
Linux Commands | Edureka
This Edureka Live Session gives you an extensive explanation on the basic Linux commands so that you can start using the Linux CLI.
11. cat
This command can read, modify or concatenate text files. It also displays file contents.
syntax:
$ cat <flag> {filename}
Command | Explanation |
cat -b | This is used to add line numbers to non-blank lines |
cat -n | This is used to add line numbers to all lines |
cat -s | This is used to squeeze blank lines into one line |
cat –E | Show $ at the end of line |
Linux Commands: Working with Directories
12. ls
This command lists all the contents in the current working directory.
syntax:
$ ls <flag>
Command | Explanation |
ls <path name> | By specifying the path after ls, the content in that path will be displayed |
ls –l | Using ‘l’ flag, lists all the contents along with its owner settings, permissions & time stamp (long format) |
ls –a | Using ‘a’ flag, lists all the hidden contents in the specified directory |
ls –author | Using ‘–author’ flag, lists the contents in the specified directory along with its owner |
ls –S | Using ‘a’ flag, sorts and lists all the contents in the specified directory by size |
ls *.html | Using ‘*’ flag, lists only the contents in the directory of a particular format |
ls –lS > file.txt | Using ‘>’ flag, copies the result of ls command into a text file |
13. cd
This command is used to change the current working directory of the user.
syntax:
$ cd /pathname/
Command | Explanation |
cd ~ | This command also changes the directory to home directory |
cd / | Changes the directory to root directory |
cd .. | Changes the directory to its parent directory |
cd ‘xx yy’ | We specify the folder name in inverted commas because there is a space in the folder name |
14. sort
This command 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}
Command | Explanation |
sort -r | the flag returns the results in reverse order; |
sort -f | the flag does case insensitive sorting |
sort -n | the flag returns the results as per numerical order |
15. mkdir
This command is used to create a new directory.
syntax:
$ mkdir <flag> {directoryname} /pathname/
Command | Explanation |
mkdir -p | Creates both a new parent directory and a sub-directory |
mkdir –p <filename1>/{f1,f2,f3} | This is used to create multiple subdirectories inside the new parent directory |
16. rmdir
This command is used to remove 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:
$ rmdir <flag> {directoryname}
Command | Explanation |
rmdir –p | Removes both the parent and child directory |
rmdir –pv | Removes all the parent and subdirectories along with the verbose. |
Linux Commands: Working with User Permissions
17. chmod
This command is used to change the access permissions of files and directories. Consider the example below.
On trying to run the newly created file named chmodtest.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}
Number | read | write | execute |
0 | – | – | – |
1 | – | – | yes |
2 | – | yes | – |
3 | – | yes | yes |
4 | yes | – | – |
5 | yes | – | yes |
6 | yes | yes | – |
7 | yes | yes | yes |
Linux Commands: Installing Packages
Stable versions of most software’s will already be available in Linux repositories. Here are the Linux Commands to install them.
18. install packages
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
Linux Commands: Working with Zipped Files
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.
19. tar
The following command is used to zip files of .tar format.
syntax:
$ tar –cvf tar-filename source-folder-name
The following command is used to unzip files of .tar format.
syntax:
$ tar –xvf tar-file-name
Linux Commands: Working with Secure Shell For Remote Machine Access
20. ssh
This 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.
The following command, on running at the slave node, will give remote access to the master.
syntax:
$ ssh <master's ip>
The following command, on running at the master, will give remote access to the slave node.
syntax:
$ ssh <slave's ip>
So, there you have it. All the Linux commands you’re sure to use in your day-to-day IT-life.
Want to know more about the Commands in Linux? Edureka’s Linux Certification course is curated to shape your career as a Linux professional & help you to run applications, perform desired functions on your system and networks, create a network configuration, and maintain security administration.