Getting started with commands
Doghouse – Starting Out
Free and open source software can be intimidating at first; a little guidance can help you on your way.
Recently, I was at a conference and I met a young person who wanted to start using free and open source software, but they did not know where to start.
They told me that they were a programmer and even could do simple programs in C, but they wanted an open source IDE (there are a couple) and they were "even willing to learn vim
or emacs
, but they are really hard."
Now I have been a vim
person for a long time, mostly through a series of editors that first started using hardcopy terminals. While these editors were not written by the same people, each was typically compatible enough that I moved from one to the other as the new ones occurred. I was using vi
/ex
(very usable on a hardcopy terminal) when I migrated to vi
/ex
on character cell terminals that used termcap to translate strings of cursor-control output for positioning characters on the screen.
I do realize, however, that beginning to use a powerful editor like vim
or emacs
seems daunting. There are whole books on how to use these editors for what seems to be a relatively simple task: moving and editing text characters.
This is actually true for most of open source (including free) software and is multiplied by the fact that you can learn "below" what the developers actually expose to the end user. It is easy to become overwhelmed.
My advice to my young friend was to concentrate on a small subset of commands for vim
(I could have easily substituted emacs
, but I chose vim
) to open a file, save a file, go into input mode, escape from input mode, move around in the full-screen mode, etc.
Over time you can learn about how to search for strings or move to the end of the line or the beginning with one or two keystrokes, but you can learn those as you go.
Should you try to remember all the commands? No, but you think "I bet that vim
has this command, let me find it in the help facility."
Likewise this is true of GNU/Linux itself. While the power of Linux really lies beneath the graphical interface at what most people think of as "the command line" or "shell level," many people can do whatever they need to do without ever learning these levels of usage.
People can create files using the graphical text editor (on my system this is xed
,) launched through the menu system, which is very mouse based. You can move through the directory structure using a graphical file manager. You can print on a file by clicking on it and choosing the function of "print" with your mouse. It's totally graphical, and many applications are available that work just that way, no command line needed.
However, to really experience the power of GNU/Linux, you have to be willing to search, experiment, and learn.
In 1977 I became a Unix systems administrator at Bell Laboratories. While I had worked on a variety of operating systems and hardware, I had never worked on a Unix system before. Bell Labs (the creators of Unix) hired me because I had demonstrated the ability to learn on my own and apply it.
Bell Labs sent me to a one-week course in Unix and set me up to have two mentors help me with the administration while I came on board.
One night I was sitting at the (paper) console of the Unix system, and I had hundreds of files that had to be updated by moving one element on each line of each file to another place on the same line of that file. I was patiently (and for people that know me, patience is not my strongest strength) editing one file after the other, doing this on each line. I estimated that it would take eight hours or more.
After about two hours of this, I stopped. I said to myself "I do not know that Unix has a command to do this, but I am willing to bet that it does." So I stopped my editing and started looking through the Unix manual.
After a short time I came across the command cut
, which seemed to do what I wanted, but I needed more. At the bottom of the page I saw the words "See also paste." Looking at that page, I formulated a plan to use cut
and paste
to do what I needed. Twenty minutes later I walked out of the room.
I did not memorize everything that cut
could do, or even the rest of the commands, but after that, once a year, I spent an hour or two just refreshing my mind about the different Unix commands.
I knew the rest of the commands would do what I needed when I needed it.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
First Release Candidate for Linux Kernel 6.14 Now Available
Linus Torvalds has officially released the first release candidate for kernel 6.14 and it includes over 500,000 lines of modified code, making for a small release.
-
System76 Refreshes Meerkat Mini PC
If you're looking for a small form factor PC powered by Linux, System76 has exactly what you need in the Meerkat mini PC.
-
Gnome 48 Alpha Ready for Testing
The latest Gnome desktop alpha is now available with plenty of new features and improvements.
-
Wine 10 Includes Plenty to Excite Users
With its latest release, Wine has the usual crop of bug fixes and improvements, along with some exciting new features.
-
Linux Kernel 6.13 Offers Improvements for AMD/Apple Users
The latest Linux kernel is now available, and it includes plenty of improvements, especially for those who use AMD or Apple-based systems.
-
Gnome 48 Debuts New Audio Player
To date, the audio player found within the Gnome desktop has been meh at best, but with the upcoming release that all changes.
-
Plasma 6.3 Ready for Public Beta Testing
Plasma 6.3 will ship with KDE Gear 24.12.1 and KDE Frameworks 6.10, along with some new and exciting features.
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.