Believe it or not, one of the most frequent thing you will be doing in Linux is using command line tools. It(Terminal) may look scary but is one of the most powerful part of Linux. And let’s be honest, its just looks cool to work on terminal. So, here are top 15 must know commands in Linux(in no specific order).
Yes, they are 2 different commands but are really very commonly used and simple.
pwd(present working directory) is used to print the address of the current directory you are working in.
user@user:~$ pwd /home/user
ls command list all the files present in the working directory. You can use ls -a to list hidden files/folders also and ls /directory to list files/folders under a specific directory.
user@user:~$ ls Desktop Downloads Music Public Templates websites Documents hts-cache Pictures snap Videos user@user:~$ ls -a . Documents .ICEauthority snap .. Downloads .local .ssh .bash_history .gconf .mozilla .sudo_as_admin_successful .bash_logout .gimp-2.8 Music Templates ..... user@user:~$ ls /etc acpi hosts.deny popularity-contest.conf adduser.conf hp ppp alternatives ifplugd printcap anacrontab ImageMagick-6 profile apache2 init profile.d apg.conf init.d protocols apm initramfs-tools pulse ....
mkdir is used to make a new directory in the current working directory or you can specify another directory where you want to create a folder.
user@user:~$ mkdir new user@user:~$ mkdir Desktop/new
rmdir is used to remove a folder. To remove a file use rm command. To remove a folder containing multiple files use rm -r filename.
user@user:~$ rmdir new user@user:~$ rm new.txt user@user:~$ rm -r Documents
cp command is used to copy the files and folders from one location to another.
mv command is used to move the files and folders from location to other.
user@user:~$ cp targetfile destination user@user:~$ mv targetfile destination
touch command is used to create a file in a specific location. If no location is specified, it will by default make the file in current working directory.
user@user:~$ touch file.txt user@user:~$ touch Desktop/file.txt
Short for “SuperUser Do”, this command enables you to perform tasks that require administrative or root permissions. However, it is not advisable to use this command for daily use because it might be easy for an error to occur if you did something wrong.
user@user:~$ sudo <command>
The cat command serves two very important functions: concatenating (merging) files (as the name suggests) and printing the contents of a file to the screen. Printing the contents of files is by far the more frequent use of this command.
user@user:~$ cat filename
user@user:~$ cat file1 file2 > newFileName
To know more about a command and how to use it, use the man command. It shows the manual pages of the command.
user@user:~$ man mkdir
This gives the manual page for mkdir command.
If you want to check how much space a file or a directory takes, the du (Disk Usage) command can be used. However, the disk usage summary will show disk block numbers instead of the usual size format. If you want to see it in bytes, kilobytes, and megabytes, add the -h argument to the command line.
user@user:~$ du user@user:~$ du -h
Use df command to get a report on the system’s disk space usage, shown in percentage and KBs. If you want to see the report in megabytes, type df -m.
user@user:~$ df user@user:~$ df -m
Short for difference, the diff command compares the contents of two files line by line. After analyzing the files, it will output the lines that do not match. Programmers often use this command when they need to make program alterations instead of rewriting the entire source code.
The simplest form of this command is:
user@user:~$ diff _file1.txt_ _file2.txt_
Use ping to check your connection to a server.
Ex: If you type
ping www.google.com it checks if it can connect to the server and come back. The use of this command for simple users is to check your internet connection. If it pings the Google server (in this case), you can confirm that your internet connection is active!
The lshw command will print detailed information about your hardware like cpu, memory, graphics card, and so on. You should run this command with sudo.
user@user:~$ sudo lshw
Use zip to compress files into a zip archive, and unzip to extract files from a zip archive. It has a plenty of options but for basic zipping & unzipping, you can use the format:
user@user:~$ zip -r targetfile.zip folder1 folder2 …… user@user:~$ unzip targetfile.zip
Note: -r flag is used to perform a task recursively. In genral, you want to use this flag if your file is not empty(which is genrally the case).
When you’ve been using Linux for a certain period of time, you’ll quickly notice that you can run hundreds of commands every day. Running history command is useful if you want to review the commands you’ve entered before.
This command is used to move some data into a file. For example, if you want to add the text, “Hello, my name is John Doe” into a file called name.txt, you would type:
user@user:~$ echo Hello, my name is John Doe >> name.txt
The top command will display a list of running processes and how much CPU each process uses. It display the processes in descending order(high to low) of their memory usage. It’s very useful to monitor system resource usage, especially knowing which process needs to be terminated because it consumes too many resources.
These are some of the most frequently used and important linux commands but by no means the only commands. There are endless numbers of these commands but you don’t need to learn all at once. You will get exposed to these commands as you need them. Just be curious and never stop learning.