There are occasionally times when I'm looking up how to do something or want to install something new and come across a statement like "for intermediate/moderate/advanced users only". As an example, installing arch linux seems to be one of the recommended "projects" for linux intermediate users -- with installing Gentoo being one for advanced users.

How do get from being a "beginner" to an "intermediate user"? What should I be doing to learn more about linux and how it operates? How will I then know that I've achieved "intermediate user"hood?

For reference, I've been using Ubuntu and Linux Mint for about a year now. But I mostly don't do anything in it that I wouldn't do in Windows. Other than occasionally choosing to use the terminal to install/remove software instead of the package manager, most of my time on my computers is surfing the web, listening to music/ watching movies, and reading pdfs. So I don't really feel like I'm getting the full linux experience. What should I be doing to become a better linux user?

closed as primarily opinion-based by jasonwryan, Michael Durrant, Ramesh, don_crissti, Faheem Mitha May 31 '15 at 0:09

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • This question is excessively general, hence it has been put on hold. You say you mostly use your computer for "surfing the web, listening to music/ watching movies, and reading pdfs". This is perfectly fine. The answer to "what else you can do with it", is, whatever you want. Debian and its derivatives have of the order of 20,000 packages (see debian.org/News/2015/20150426). That represents a wide range of functionality. Usually the first step to doing more with your computer is to learn basic programming. Python is a popular choice. Or shell, as Michael suggests. – Faheem Mitha May 31 '15 at 15:31

Get into shell scripting.

Find simple tasks like copying directories, searching for files, testing for conditions, etc.

Get a book on useful shell scripts - there are many out there - and try them out and try adapting them.

Aliases, aliases, aliases

Every time you repeat typing something that is more than 3 or 4 characters, aliases are your friend.

Some examples:

 alias a='. ~/.bash_aliases'
 alias b="cd -"
 alias d="cd ~/Dropbox"
 alias f='git fetch'
 alias g='git status'
 alias h='history | tail -15'
 alias l='ls -alFtrG'
 alias p='pwd'
 alias r='rspec spec'
 alias v='vim .'
 alias x='exit'

Functions are useful too when you want an alias, or to change options, but there is 1 or more parameters

For example - make and cd to a new directory with md:

md () { [ $# = 1 ] && mkdir -p "$@" && cd "$@" || echo "Error - no dir passed!"; }

Add the above to your ~/.bashrc file

Not the answer you're looking for? Browse other questions tagged or ask your own question.