Linux Is Supposed To Be Easy?

Linux is extremely powerful, robust and flexible, which means it must have a significant amount of complexity. Do you think I learnt everything in a day? I don’t know who told you Linux was easy, many times other people make it harder than it has to be by thinking they need to understand everything at once.

Some Preliminary Advice

Some recommendations I would give you before you began with Linux:

  • Take it easy. Frustration makes things worse for everyone.
  • Never try anything for the first time in a production environment. Always use test environment. For example, iptables firewall or complex security configurations. Always use a test computer or virtual machine to test the various applications, configurations and settings. It will save lots of time. Recommended virtualization software – Vmware or Xen or VirtualBox
  • Another option is start your journey with with LiveCDs. See the list of all Linux, BSD, LiveCDs and LiveDVDs here.
  • Always refer to hardware compatible list (HCL) and kernel source documentation directory (/usr/src/linux/Documentation/) to check your hardware compatibility.
  • Learn to read and search command man pages and vi / vim text editor. Type vimtutor at a shell prompt. The Vimtutor is useful for people that want to learn their first Vim commands.
  • Don’t try to set or create ultra secure servers / services on your first shot. Mess with test system couple times i.e. play for a while until you understand everything. Don’t stress out for the perfect solution, it will slow you down.
  • Stay away from advanced stuff until you learn the basic stuff like, ssh, vi text editor, directory structure, log files, searching and greping files, network configuration, package management, patch management, troubleshooting techniques using host, ping, route, ifconfig and other tools.
  • Learn regex and text utilities such as sed, awk, grep and others. It will save lots of time in a long run.
  • Learn to customize your own login environment. This will give you good idea about many configuration options such as ftp, vi, Gnome, Kde, GUI tools and much more. Get a good Linux book, it will be a big help (see below for recommend books).
  • Don’t hesitate to ask your questions on the forums and mailing lists. Also help others in the forums when you can. You will be supervised to find out how explaining stuff to someone else helps you understand it better.
  • Learn to automate stuff using shell scripts.
  • When you run into a problem with a configuration, make sure you read:
    • The man pages
    • The info pages
    • Read package README.txt, INSTALL.txt and other files stored in a current directory or /usr/share/doc/package-name directory.
  • Use google / yahoo search engines to do several searches with different terms. My personal experience you may get answer in the forums / websites / mailing lists. Only rarely have my problems not already been answered in the forums.
  • Subscribe to security alert mailing lists.
  • Learn to compile packages using make, configure and other build tools.
  • Once you learnt terminology and basic things, start configuring basic services such as Apache. They idea is simple start by getting something up and visible. Take a time to explore stuff and get comfortable with each service / servers. Always configure one service at a time and get familiar with them one at a time.
  • Don’t compare Windows utilities / software with equivalent Linux software. Windows is not Linux or vise versa.
  • Don’t try to replace Windows desktop with Linux desktop. Windows desktop has better applications stack. Similarly, Windows can’t replace Linux. You need to consider various factors before migrating from Windows systems.
  • Gather experience.
  • Finally, always ignore flame wars such as ‘vim vs emacs editor’ or ‘BSD vs Linux’.

Good Luck!

References / Recommend Readings:

🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.

🐧 14 comments so far... add one
CategoryList of Unix and Linux commands
Disk space analyzersncdu pydf
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network UtilitiesNetHogs dig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
14 comments… add one
  • Bryan Jun 26, 2008 @ 12:03

    You know, sometimes I have to work with windows at work and I’ve forgotten how to do alot. People have a hard time with linux because they’ve become set in their ways as to how an os should work and what should be where. Just imagine having used linux all your life and then start using windows….you’d be completely lost. Needless to say, I’ve been pretty frustated since having to use windows recently. In addition to all your points, newcomers really just need patience and the willingness to learn something new.

  • saroj Jun 26, 2008 @ 12:33

    Past four years i am managing Linux Server as internet gateway. But still i struggled a lot to do for basic things in linux. Still the same fear for touching linux box what i had four years ago.

    Your article made me a new idea as how to make me to familiar with linux. At least today onwards I will follow what ever points you mentioned here.

    This article shows clearly Your Great experience in this linux field.

    Keep it up and share this type of basic experience and help people like me

    Thank you very much

  • Bhet Jun 26, 2008 @ 13:13

    I agree with Bryan, newcomers in the field of OS has to be patient in learning to use the new environment. I’m also new to Linux but I take it easy in my learning curve. Additionally, some Linux distros are very much like the Windows environment most of us are used to. Though there are things/items/apps/commands that are not Windows-like but with the same functionality. Just kepp a steady learning curve and everything will fall into place as it should be.

  • kwik Jun 26, 2008 @ 13:28

    You have my admiration for this superb article.

  • Bash Jun 26, 2008 @ 15:44

    What nonsense!

    Everyone knows that Windows is infinitely easier to use…

  • Ramesh | The Geek Stuff Jun 27, 2008 @ 5:36


    I’m a very seasoned and experienced Linux System Administrator and I still enjoyed reading this article, as I’ve seen lot of Junior Sys Admin making the mistakes that you’ve pointed out in this article.

    In my opinion LINUX IS EASY, if you are very analytical and if you know exactly what you are doing.

    The Geek Stuff

  • root Jun 27, 2008 @ 8:55

    “Don’t try to replace Windows desktop with Linux desktop.” That’s right. Don’t try – just do it. Years ago I said I will not use DOS. I will not use MS software. Simple. Enjoy the future of your knowledge by understanding that investing your time learning about open source software is much better than some commercial software.

    Bryan’s point is spot on. It’s not really about learning curve as much as it is about habit. I had to code something in VB. I can’t even remember how to comment in VB anymore.

  • ricc Jun 27, 2008 @ 9:05

    Great Vivek,
    You are like Dronacharya and I am Eklavya. Without ever meeting you, we are learning a lot from you.

    You inspire many like me to master *nix.

  • fXsTar Jun 27, 2008 @ 14:32

    great article

  • Kneo Jun 27, 2008 @ 15:40

    Nice article, lots of good referencies, thank you.

  • Anjanesh Jun 28, 2008 @ 8:39

    Im making the transition to Ubuntu 8.04 these days but I still use my WinXP PC for production.

    While linux is becoming easier to use with better GUI and all, Windows still has far better lead when it comes to graphical environment. Linux rocks for server requirements but GUI navigation is much better in Windows. The rendering is much neater in Windows when compared to Linux.

    For a web-based app to be run on the browser, Linux is the ideal solution. But for a GUI desktop-app, its better done in Win32/MFC/.NET etc.

  • Akshay Sulakhe Jul 4, 2008 @ 18:05

    @ Ajanesh
    No i seriously dont think so…Linux has matured enough to become an alternative 2 atleast M$…forget others…And there are many GUI-desktop apps which i also use…also u dont have 2 face trouble…and as we know these days mosy of the applications are directly connected to net…right???

  • Anjanesh Jul 5, 2008 @ 6:18

    Take for example FileZilla – same source code for Windows, Linux (& Mac).

    But it looks much neater in Windows and hence easier to navigate. Look at the distance (pixel-wise) between 2 folders (tree view, FileZilla) – its lesser in Windows and more in Ubuntu(GNMOE). Its neater, much more fine-grained in Windows and hence easier to navigate – lesser mouse movement.

    You might find this to be a bit extreme, but this is reason why the ordinary person can use Windows instead of GNOME/KDE.

    Im very much in favour of Linux – but only if one accepts to use shell/terminal. I will not recommend Linux to any graphic designer.

  • Lars Nov 18, 2008 @ 15:56

    Hi,I have a list of search words that I would like to combine with another list in order to se were (with what combination) I find the most hits/non hits. How do I do that with help of any of the bigger search engines??


Leave a Reply

Your email address will not be published.

Use HTML <pre>...</pre> for code samples. Still have questions? Post it on our forum