Best 150 Basic Linux/Unix Commands with Example

This article is for Basic Linux Commands or UNIX commands which are used every day by Linux user or development engineers to kick start with Linux. As of my knowledge, we should at least know these commands, or else we can not work in the Linux environment. If you are searching for any deep knowledge or more commands please search it in my blogging page I have explained it in another article.

I don’t want to waste the time let’s go start with :

Linux File related commands:

  1. The below Linux Command will take you to the ‘/ home‘​ directory. No matter you are in which directory you can go to your home directory.

cd /home

2. The below Linux Command will take you to the go back one level:

cd ..

3. The df Linux Command is used to show the amount of disk space that is free on file systems


4.  Linux ‘cd‘ (Change Directory) command is one of the most important and most widely used commands for newbies as well as system administrators.

cd ../..

5. cd command in Linux known as change directory command. It is used to change the current working directory.


6. This Linux Command is used to the user’s home directory.


7. This Linux Command takes you to the previous directory

cd –

Linux copy related commands:

8. This command is used to copy files or group of files or directory.

cp file1 file2

9. Copy all files of a directory within the current work directory

cp dir/* .

10. copy a data direct within the current work directory

cp -a /tmp/dir1 .

11.  Copy a directory

cp -a dir1 dir2

12. Outputs the mime type of the file as text

cp file file1

Linux Commands about Symlink

13.  Linux Command to create a symbolic link to file

ln -s file1 Ink1

Open a physical link to the file or directory

ln file1 Ink1

14. Open files directory


15. Open files of directory

ls -F

16. Show the details of files and directory

ls -l

17. Open the hidden files

ls -a

18. Show the files and directory containing to the numbers

ls *[0-9]*

19. Show files and directories in a tree starting from root


20. Create a directory called ‘prakash’

mkdir prakash

21. How to create multiple directories simultaneously

mkdir dir1 dir2

22. How to create directory tree

mkdir -p /tmp/dir1/dir2

23. How to Move a Directory

mv dir/file / new_path

24.  Show the path of work directory


25. How to delete a file called ‘file1

rm -f file1

26.  Remove a directory called ‘dir1’ and contents recursively

rm -rf dir1

27.  By using this below command you can remove two directories and their contents recursively

rm -rf dir1 dir2

28. Delete directory called ‘dir1’

rmdir dir1

29. Modify timestamp of a file or directory – (YYMMDDhhmm)

touch -t 0712250000 file1

30. Show files and directories in a tree starting from root(1)


Linux Commands for Process Management

31.  The top command gives you information on the processes that currently exist.


32. The htop command is like top, but prettier and smarter.


33.  Use the ps command to list running processes (top and htop list all processes whether active or inactive).


34.  A step up from the simple ps command, pstree is used to display a tree diagram of processes      that also shows relationships that exist between them.


35. The who command will display a list of all the users currently logged into your Linux system.


36.  As its name suggests, kill can be used to terminate a process with extreme prejudice.


37. The pkill and killall commands can kill a process, given its name.

pkill & killall

38.  pgrep returns the process IDs that match it.


39.  With the help of nice command, users can set or change the priorities of processes in Linux.


40.  It is similar to the nice command. Use this command to change the priority of an already running process.


41. Gives the Process ID (PID) of a process


42. Gives free hard disk space on your system


43.  Gives free RAM on your system


File Permissions

44. chmod the command for changing permissions

chmod 755 Linux_Directory

chmod 644 Linux_File

Different File Permissions

rwx rwx rwx = 111 111 111

rw- rw- rw- = 110 110 110

rwx – – – – – – = 111 000 000

rwx = 111 in binary = 7

rw – = 110 in binary = 6

r – x = 101 in binary = 5

r – – = 100 in bunary = 4

7 = 4+2+1 (read/write/execute)

6 = 4+2 (read/write)

5 = 4+1 (read/execute)

4 = 4 (read)

3 = 2+1 (write/execute)

2 = 2 (write)

1 = 1 (execute)

Briefing about Permissions in Linux

There is huge importance with Linux Commands when we discuss  Permissions. No restrictions on permissions. Anybody may do anything. Generally not a desirable setting.

777 (rwxrwxrwx)

The file’s owner may read, write, and execute the file. All others may read and execute the file. This setting is common for programs that are used by all users.

755 ( rwxr – xr – x )

The file’s owner may read, write, and execute the file. Nobody else has any rights. This setting is useful for programs that only the owner may use and must be kept private from others.

700 ( rwx – – – – – – )

All users may read and write the file.

666 ( rw – rw – rw – )

The owner may read and write a file, while all others may only read the file. A common setting for data files that everybody may read, but only the owner may change.

644 ( rw – r – – r – – )

The owner may read and write a file. All others have no rights. A common setting for data files that the owner wants to keep private.

600 ( rw – – – – – – – )

How to use “Find Command”

The below Linux Commands gives you better Idea on find commands. You can also check more Find Commands in our other article too.

45. To find a file by name

find -name “File1”

46. To find a file by name, but ignore the case of the “File1”

find -iname “File1”

47.  To search all files that end in “.conf”

find /path -type f -name ” * . conf “

48. To find all files that are exactly 50 bytes

find /path -size 50c

49. To find all files less than 50 bytes

find /path -size -50c

50.  To Find all files more than 700 Megabytes

find / -size +700M

51.  To find files that have a modification time of a day ago

find / -mtime 1

52. To find files that were accessed in less than a day ago

find / -atime -1

53.  To find files that last had their meta-information changed more than 3 days ago.

find / -ctime +3

54.  To find files that were accessed in less than a minute ago

find / -mmin -1

55. If we want to match an exact set of permissions

find / -perm 644

56. If we want to specify anything with at least those permissions

find / -prem -644

Linux Commands to check Word Count

57. Prints the number of lines in a file.

wc – l file_name OR cat file_name | wc – l

58.  Prints the number of words in a file.

wc – w

59.  Displays the count of bytes in a file.

wc – c

60. Prints the count of characters from a file.

wc – m

61.  Prints only the length of the longest line in a file.

wc – L

Compression Commands (tar, tar.gz, tar.bz2 and zip

Options to use the above Linux Commands

  • c – create a archive file.
  • x – extract a archive file.
  • v – show the progress of archive file.
  • f – filename of archive file.
  • t – viewing content of archive file.
  • j – filter archive through bzip2.
  • z – filter archive through gzip.
  • r – append or update files/directories to existing archive file.
  • w – verify a archive file.

About TAR Command

62. About TAR Command

tar – cvf compress . tar / path / directory

63. To List Content of tar Archive File

tar – tvf compress . tar

64. To Untar tar Archive File

tar – xvf compress . tar

65. To Untar tar Archive File in a specific directory

tar -xvf compress . tar – c / path / to directory

66. Untar Single file from tar File

tar – xvf compress . tar file1 . txt

67.  Untar Multiple files from tar

tar – xvf compress .tar ” file 1″ ” file 2″

68. Extract Group of Files using Wildcard from tar Archive

tar – xvf compress . tar – – wildcards ‘ * . txt’

69. To Add Files or Directories to tar Archive File

tar – rvf compress . tar file / dir

About TAR.GZ

70. To Create tar.gz Archive File

tar – cvzf compresstar . gz path/directory

71. To List Content tar.gz Archive File

tar – tvf compress . tar . gz

72. To Untar tar.gz Archive File

tar – zxvf compress . tar . gz

73. To Untar tar.gz Archive File in a specific directory

tar – zxvf compress . tar. gz – c / path / to directory

74. Untar Single file from tar.gz File

tar – zxvf compress . tar. gz file1 . txt

75. Untar Multiple files from tar.gz

tar – zxvf compress . tar. gz “file 1″ ” file 2″

76. Extract Group of Files using Wildcard from tar.gz Archive

tar – zxvf compress . tar. gz – – wildcards ‘ * . tzt ‘

77. To Add Files or Directories to tar.gz

tar – rvf compres . tar . gz file / dir

About TAR.BZ2

78. To Create tar.bz2 Archive File

tar – cvfj compress . tar . bz2 / path / directory

79. To List Content tar.bz2 Archive File

tar – tvf compress . tar . bz2

80.  To Uncompress tar.bz2 Archive File

tar – xvf compress . tar . bz2

81. Untar Single file from tar.bz2 File

tar – jxvf compress . tar . bz2 file 1 . txt

82.  Untar Multiple files from tar.bz2

tar – jxvf compress . tar . bz2 ” file 1″ “file 2 “

83.  Extract Group of Files using Wildcard from tar.bz2 Archive

tar – jxvf compress . tar . bz2 – – wildcards ‘* . txt’

84. To Add Files or Directories to tar.bz2

tar – rvf compress . tar . bz2 file / dir

85.  To Verify tar, tar.gz and tar.bz2 Archive File

tar – tvfW compress . tar

Linux Commands for ZIP

ZIP (The extension .zip is not mandatory and this is useful only to identify the file zip file)

86. To zipping a file or folder.

zip compress . zip file 1 file 2 folder 1

87. To Zip individual files to a zip archive

zip compres . zip file 1 file 2 file 3

Zipping a folder is a tricky thing as by default zip will not zip entire folder content such as subfolders and files

88. To zip the first level of folder content use * as shown below

zip compress . zip folder / *

89.  If there are sub folders and files in 1 folder, in order to zip all content of a folder use -r option

zip – r compress . zip folder

90. To list all the files stored in a zip file. Any of the below commands can be used and they give the same results.

unzip – l compress . zip

less compress . zip

zipinfo – 1 compress . zip

91. To delete a file in an archive without extracting the entire zip file.

zip – d compress . zip path / to / file

92.  To extract your files from a zip folder.

unzip compress . zip

93.  To extract to a specific directory used option

unzip compress . zip – d / destination

94. To extract a specific file from an archive

unzip compress . zip test . sh

Linux Commands for Special Attributes on Files

95.  Allows write the opening of a file only append mode

chattr +a file1

96. Allows that a file is compressed/decompressed automatically by the kernel

chattr +c file1

97. Makes sure that the program ignores Dump the files during backup

chattr +d file1

98. Makes it an immutable file, which can not be removed, altered, renamed or linked

chattr +i file1

99.  Allows a file to delete safely

chattr +s file1

100. Makes sure that if a file is modified changes are written in the synchronous mode as with sync

chattr +S file1

101.  Allows you to recover the contents of a file even if it is canceled

chattr +u file1

102.  Allows you to recover the contents of a file even if it is canceled

lsattr file / folder

Linux Commands to know System Information

103. To know only system name, you can use the uname command


104. To view your network hostname

uname – n

105.  To get information about kernel-version

uname – v

106.  To get the information about your kernel release

uname – r

107. To get the information about your kernel release

uname – r

108.  To print your machine hardware name

uname – m

109. All this information can be printed at once. The below two commands gives the same result.

uname – a

cat / proc / version

110. Find out information about the Linux distribution and version

cat / etc / * release*

111. To gather information about file system partitions

fdisk -l

112. To view mounted file systems.


113. To view information about your CPU architecture such as a number of CPU’s, cores, CPU family model, CPU caches, threads, etc. Either of the two below Linux Commands gives the same output.


cat / proc / cpuinfo

114.  To view information about block devices


Extract Information about Hardware Components using “dmidecode

115. To print information about memory. You can get a similar output with all the below commands.

dmidecode – t memory

cat / proc / meminfo

free or free – mt or free – gt

116.  To print information about system

dmidecode – t system

117.  To print information about BIOS

dmidecode – t bios

118. To print information about processor

dmidecode – t processer

119. To dump all hardware information

dmidecode | less

Network Commands

120. PING (Packet Internet Groper) command sends packet requests to the address you specify to test the connectivity between 2 nodes.

ping IP / hostname

121. Ifconfig  utility is used to configure network interface parameters. Mostly we use this command to check the IP address assigned to the system.

ifconfig – a

122.  traceroute print the route packets take to network host. Destination host or IP is mandatory parameter to use this utility

traceroute / IP

123. route command is the tool used to display or modify the routeing table.


124. dig (Domain Information Groper) is a flexible tool for interrogating DNS name servers. It performs DNS lookups and displays the answers that are returned from the name servers.


125.  Whois To know the information about domain like


126. Host Command to find name to IP or IP to name

host hostname

host 1 . 2 . 3 . 4

127.  telnet connect destination host:port via a telnet protocol if connection establishes means connectivity between two hosts is working fine.

telnet 80

128. Tracepath traces the path of the network to the destination you have provided. It attempts to list the series of hosts through which your packets travel on their way to a given destination


129. nslookup is a program to query Internet domain name servers.


130. netstat command allows you a simple way to review each of your network connections and open sockets. netstat with head output is very helpful while performing web server troubleshooting.


131. scp allows you to secure copy files to and from another host in the network.

scp – r – p 22 (ssh port) user @ source_ hostname : / path / to / dir / destination / path

132. nmap is a very powerful command, which checks the opened port on the server.

nmap hostname – p 80

SSH Commands

133. Connect to host as user

ssh user@host

134. connect to host on port

ssh – p port user@host

KeyBoard Shortcuts

135. Halts the current command


136.  Stops the current Linux Command, resume with fg in the foreground or bg in the background


137. Log out of current session, similar to exit


138. Erases one word in the current line


139.  Erases the whole line


140.  Type to bring up a recent command. You need to type the first letter of the command you are searching for.


141. Log out of current session



Notify of
Inline Feedbacks
View all comments
Scroll to Top