Since long I was trying to learn Linux. I
realized it is not as difficult as it seems. I have compiled some of the
basic commands that are mandatory to learn to step into this beautiful world.
They are not all, I have skipped grep, awk and sed knowingly, as I presume they deserve bit more attention. I will keep updating the list as soon as I can. Do
look around too, some good video tutorials are also available that aid in
learning. Also, I have made this available as a simple printable PDF.
LINUX BASICS FOR ADVANCE USERS - Download Here
LINUX BASICS FOR ADVANCE USERS - Download Here
Basic commands: On the terminal type these commands at-least
two-three times to practice. Also, it is advisable to read man (help) pages of
all these commands at least once.
####################################################
Command
|
Function
|
|
man <command>
|
:
|
Displays
manual or help page for a commend, always read it full at least once
|
cd
|
:
|
Change
directory, to navigate from one directory to another
|
cd -
|
:
|
Toggle
between previous directory and current directory
|
ls
|
:
|
List files
or folders, with several arguments give detail information about the files
and folders, try: ls -ltrh
|
date
|
:
|
Displays
current date
|
ssh
|
:
|
login to remote host
|
passwd
|
:
|
Change password
|
bc
|
:
|
Opens
calculator
|
cp
|
:
|
Copies files
or directories, usage: cp file.txt /directory
|
mv
|
:
|
Moves file,
rename file, usage: mv file1.txt file2.txt (renames file1.txt to file2.txt)
|
pwd
|
:
|
Present
working directory
|
mkdir
|
:
|
Make a new
directory, usage: mkdir dir1 ; creates directory dir1
|
rmdir
|
:
|
Removes
empty directory
|
cal
|
:
|
Opens calendar
|
echo
|
:
|
Displays
message, usage: echo "hi" ; displays hi
|
printf
|
:
|
Alternative
to echo, displays message
|
script
|
:
|
Records your
session
|
uname
|
:
|
Know about
your machine, usage: uname -a
|
tty
|
:
|
Know your
terminal
|
stty
|
:
|
Display and
setting terminal characteristics
|
gzip
|
:
|
Compressing
files
|
gunzip
|
:
|
Decompress
files
|
tar
|
:
|
Archival
program
|
head <filename>
|
:
|
Displays
beginning of a file
|
tail <filename>
|
:
|
Displays end
of a file
|
exit
|
:
|
Exits
terminal
|
who
|
:
|
Who is
logged into the system
|
whoami
|
:
|
Username
|
hostname
|
:
|
Machine name
|
rm -r
|
:
|
Removes
directory including its content recursively (be careful)
|
ctrl+w
|
:
|
Cuts last
work with keyboard while typing on terminal
|
ctrl+y
|
:
|
Paste with keyboard
|
ctrl+a
|
:
|
Cursor at
the beginning of the line while typing on terminal
|
ctrl+e
|
:
|
End of the
line while typing on terminal
|
ctrl+k
|
:
|
Cuts to the
end of the line while typing on terminal
|
ctra+c
|
:
|
Kills the
process currently running
|
history
|
:
|
History of
all the commands on terminal
|
~
|
:
|
Home
directory, you ca do [ cd ~ ] to go to the home directory
|
wc
|
:
|
Word count,
can be combined (piped through) various other commands (it gives results as
lines, words and characters)
|
wc -c
|
:
|
Counts the
number of bytes
|
wc -w
|
:
|
Counts the
number of words
|
wc -l
|
:
|
Counts the
number of lines
|
free -m
|
:
|
Free memory
(ram) in mb
|
free -g
|
:
|
Free memory
(ram) in gb
|
df
|
:
|
Disk space
|
du - sch <dir>
|
:
|
Disk space
of the current directory
|
du -sch *
|
:
|
Disk space
of individual files or directories
|
du -sch * | sort -nr
|
:
|
Disk space
of individual files or directories sorted by file size
|
w
|
:
|
Who is
logged onto the system and what are they doing
|
ps
|
:
|
Processes
running by the users
|
ps -e
|
:
|
All the
processes running in the system, also used with argument -a, -x, read man ps
|
ps -o %t -p <pid>
|
:
|
How long the
process was running
|
ctrl+z
|
:
|
Suspend or
sleep the current running process in foreground
|
bg
|
:
|
Run process
in background
|
fg
|
:
|
Bring
processes foreground, those running in background
|
kill <pid>
|
:
|
Kills a
process with the given process id
|
kill -9 <pid>
|
:
|
Violently
kills a given process id giving it no time to cleanup
|
kill -l <pid>
|
:
|
List all
signals that can be sent to a process
|
kill -s sigstop <pid>
|
:
|
Suspends or
sleep a process
|
kill -s sigcont <pid>
|
:
|
Resumes or
wakes up a process
|
renice -n <value> <pid>
|
:
|
Gives a
priority value to the process id, ranges from 1-19, higher the value lower
the priority, default is 10, it is said to be how nice the process is i.e.
How much ram it leaves for other process to run
|
cmp <file1> <file2>
|
:
|
Compares two
given files
|
diff <file1> <file2>
|
:
|
Find the
differences between two files, compares two files, argument -w ignores
whitespace
|
mount
|
:
|
Mounts
drive, usage: mount /media/usb
|
umount
|
:
|
Unmounts
drive, usage: /media/usb
|
eject
|
:
|
Ejects cd
rom, usage: /media/cdrom
|
join
|
:
|
Combines
lines from two files on a common field, usage: join file1.txt file2.txt
|
tr a-z A-Z < file.txt
|
:
|
Transfers
case to another i.e. Lowercase to uppercase
|
tr A-Z a-z < file.txt
|
:
|
Transfers
case to another i.e. Uppercase to lowercase
|
xargs
|
:
|
Takes output
of one command and passes it as an argument to another command usage: cat
urllist.txt | xargs wget -c
|
sort
|
:
|
Sorts the
lines of a text files in ascending order, usage: sort file.txt ; argument -r
sorts in descending order, usage: sort -r file.txt ; argument -t is delimiter
(colon, space, comma, tab etc.), usage: sort -t: file.txt ; argument -k sorts
on a particular field, I recommend to read more on this, important and very
helpful, used in combination with other commands [ man sort ]
|
uniq
|
:
|
Removes
duplicate entries from sorted files, therefore mostly used in combination
with sort, in order for uniq to work, all the duplicate entries should be in adjacent
lines, usage: sort names.txt | uniq ; sort -u names.txt ; to count duplicate
lines: sort file.txt | uniq -c ; to
display duplicate entries: sort file.txt | uniq -cd
|
cut
|
:
|
Used to
display only specific columns from a text file or other command outputs i.e.
To display first field from a colon delimited file : cut -d: -f 1 file.txt ;
to display first and third field from colon delimited file : cut -d: -f 1, 3
file.txt
|
find
|
:
|
Find files,
usage: find [pathname] [condition], arguments it takes are -name (for names
of the files), -type (for type of file) -size (for size of file i.e. +100m, -mtime
(modified time in days i.e. +60 or -2), -exec
|
stat
|
:
|
Used either
to check the status or properties of single file or file system, usage: stat
/etc/file.txt ; argument -f i.e. Stat -f / (displays the status of the file
system i.e. Size/total/free/available
|
ac -d
|
:
|
Displays the
statics about the user connect time, argument -d breaks the output for
individual days, usage: ac -d username
|
&
|
:
|
At the end
of the command executes job in the background but if you logout the job will
be killed
|
nohup
|
:
|
At the
beginning of the command executes job in background with (ampercent &),
usage: nohup ./script.sh & ; the job will run in background even if you
logout
|
screen
|
:
|
Once you
logout the same session will not be connected, to do that, end with screen
and attach it later by screen to get back as it was when you logged out
|
at
|
:
|
Schedule job
i.e. At -f backup.sh 10am tomorrow
|
watch
|
:
|
To execute
command continuously at certain intervals, usage: watch df -h
|
split
|
:
|
Splits the
given file (big file) as per the requirement with respective arguments, i.e.
File size, number of lines, etc.
|