Hi, which steps would you advice new Linux user to take to start learning linux quickly?


My advice:

If you rent a VPS or Dedicated server, you will probably receive SSH login credentials like:
server IP address
username: root
password: yourpassword

You can use Windows software like "Putty", to access your server command line.

When you login to your server using Putty or other SSH client, you can start entering linux commands. Before doing any commands, you should probably backup your server data or use the server just for purpose of learning linux.

Most basic Linux commands:
Enter - execute some command
Ctrl+C - stop executing some command or exit some script, program
Up/down key - list latest used commands
q - sometimes used to quit program

Basic Linux commands:
exit - exits SSH putty session when you need to stop working with server
pwd - shows directory where you are currently
ls - list content of the directory
ls -lh - list content of the directory in human readable format (-h) and with file details (-l)
cd ..
- go one directory up
cd directoryname - go into certain directory
top - shows you your server stats, memory, cpu usage and running processes. Exit it by Ctrl+C command
df -h - shows disk partitions and disk usage in human readable format (-h)
free -m - shows memory usage megabytes (-m)
passwd - change current user password (do with caution)
history - show commands you already did
reboot - restart computer
shutdown - turn off the computer

The linux filesystem/folders structure can be seen here.

Using file browser/editor Vi/Vim
vi or vim is a command which runs editor/file browser.
vi filename - opens filename in viewing mode or create new file with that name
use arrows, page up/down to move in document
i - you enter into inserting/editing mode
Esc you exit editing mode
dd delete line
- you write(save) changes
:q - you quit
:q! - you quit without saving changes
:wq - you save changes and quit
In viewer mode you can search in file when you type "/" character and then phrase to search for and then Enter, to go to next phrase occurrence, just hit "n" key. Ctrl+C to stop

Basic Linux commands2:

vi filename - create new file or view existing
mkdir directoryname
- make(create) new directory

rm filename - delete file
rmdir directoryname
- delete empty directory
rm -r directoryname - delete directory, all sub-directories and all files! do with caution, delete is probably irreversible (no recycle bin)

cp filename filenamecopy
- make copy of a file
cp -R foldername foldernamecopy - make copy of foldername and do it recursively (-R) including all sub-folders and files. Good for backups

mv foldername newfoldername
- rename folder
mv filename newfilename - rename file

Advanced Linux commands:
chmod 644 filename - change access permissions of a filename or folder. When having a website, files are usually 644, folders 755 (there are exceptions).
chown username:username filename - change file/folder owner and group. to view permissions, do ls -l in folder.
ps aux
- shows all running processes
ps aux | grep http - runs shows all running processes command, but output only those that contains "http". "|" is made by Right Alt + w
kill 1325 - from the ps aux we got list of processes and their PIDs (process IDs), now we can kill process with desired ID
tail /var/log/messages - shows last 10 lines of some file
tar cvzf backupname.tar.gz foldername - create compressed (gzipped) file out of folder (c=create,v=cerbose,z=gzipped,f=file)
tar xvzf backupname.tar.gz - extract compressed file into current directory (x=extract)

Some important folders/files:
/var/log/ - folder where most of the log files are located (maillog, messages), so when some errors appears, you can tail these (cd /var/log; ls; tail logfilename)
/etc/resolv.conf - here you set nameservers which your server connects thru into internet. without these, you would not connect repositories (yum) etc.

You don't know anything? Tee fastest way is Google: how to ***