Lets start with a list of VERY useful commands every linux user should know. I will be explaining all of them and giving some nice tips on useful usage in following posts.
working with directories
cd - change directory
ls - list directory contents
pwd - print current working directory
mkdir - make directories
rmdir - remove empty directories
displaying files
cat - print file contents
less &
more - print text (file contents) page by page. less is more versatile in many cases because it allows jumping back and forward through the text and doesn't need to read in the whole document before displaying it, but more has some good uses too
tail - output the last part of files
creating/deleting/changing files and directories
cp - copy files and directories
mv - move (rename) files
rm - remove files or directories
chmod - change file access permissions
chown - change file owner and/or group
touch - change file timestamps (or create an empty file)
dd - convert and copy a file
tar, bzip2, unzip, gzip and many more - compression / decompression tools
displaying files and directories information
lsof - list opened files
find - search for files in a directory hierarchy
stat - display file or file system status
du - estimate file space usage
working with processes
ps - display snapshot of current processes
top - display and update information about CPU processes
kill - by default kill process of a given pid
bg - resume suspended job in the background, While running a command (job) you can pause/suspend it with ctrl-z and kill it with ctrl-c
fg - Resume suspended job in the foreground, and make it the current job
text operations
echo - display a line of text
history - display the command history
grep - print lines matching a pattern
sort - sort lines of text files
diff - find differences between two files or directories' contents
vi or
vim - text editor
sed - powerful stream editor (input is file or command-line)
network tools
netstat - print network information
ping - send ICMP ECHO_REQUEST to network hosts (pretty much translates to - check if the host will respond and how quickly)
traceroute - print the route packets trace to network host
wget - non-interactive network downloader
ssh - OpenSSH SSH client
telnet - user interface to the TELNET protocol
ftp - Internet file transfer program
scp - secure copy (remote file copy program)
curl - a tool to transfer data from or to a server
executing commands
sudo - execute a command as another user (mostly as root)
alias - display aliases or create an alias for a command
watch - execute a program periodically and print output
cron - daemon to execute scheduled commands
system information
uname - print system information
crontab - print crontab entry for a specific user
free - display the free, used, swap memory available in the system
df - print the file system disk space usage
date - print or set the system date and time
dmesg - program to print out bootup messages
other
clear - clear the terminal screen
passwd - update user's password
mount - mount a file system
lsmod - program to show the status of modules in the Linux Kernel
insmod - simple program to insert a module into the Linux Kernel
rmmod - simple program to remove a module from the Linux Kernel
To get information about any command
man - display the on-line manual pages
whatis - usually a single line description of command
which - tells you what is the actuall path of the command
-h/--help - diplay help information of a command/program