Where to start with Linux?

Hey, I’m a complete newbie to this so, I’m not sure where I should start with Linux.

I went ahead and installed Fedora (this version to be exact) and messed around with it but, I don’t understand the command line and generally how things work.

Where can I learn the very basics of Linux and the whole command line thing?

Well, that’s largley dependent on what you’re doing.
Some must knows, though:

  • grep
  • cat
  • echo
  • su
  • sudo
  • your package manager (on Fedora you’ll be using “dnf”)

The best way to do this is simply to read the man pages. If you want to read the man page for a particular program, simply type “man” and then the program name. If you wanted to read the man page for su, for example, type “man su”.

Another quick pointer – most programs have a “help” option. For example, typing “grep --help” will print a basic summary of things you can do with grep. The “help” flag usually has two dashes before it, as do most flags in GNU/Linux programs.

Just know that you’re probably going to find yourself using the --help command a whole lot when you first start using a program, it’s a natural part of learning. Try not to get too frustrated if you can’t remember something.

Hope this helps. If you’re still having trouble, ask around here. I’m always happy to help when I have the time. :slight_smile:

1 Like

your package manager (on Fedora you’ll be using “yum”)

Fedora has switched to dnf since Fedora 22. At this point, I believe yum is just a wrapper script to call the appropriate dnf command, and is scheduled to be removed in a future release.

3 Likes

Ahh, thanks for the information. I haven’t used Fedora in quite a while so I didn’t know this. The post has been fixed.

For installing minecraft there was some commands like sudu followwed by a ton of crap and gobleygook.
Use mouse to copy the whole mess
Paste in terminal window
Press enter

Cheating is always easier then learning :slight_smile:

If you get lost pwd…print working directory…from the days when computers had teletypes and no monitor. The commands are arcane because the guys at Bell Labs hated typing.
There was at one time a program to convert the far superior MS-DOS commands to Unix commands. bait

I would start with getting around in terminal:

  • pwd - print working directory, aka show where in the file system you are, your current folder
  • ls - to list the contents of the directory
  • cd - change directory i.e. cd /etc to go into etc folder in the root of file system (/)

There are two ways to represent path (the location) of the files in the file system. Absolute paths, and relative.

Absolute path is relative to the root of file system. As there is only one root, it’s absolute. So a directory a in b in the root would be shown as this: /b/a So to change into it it’s cd /b/a

But if you are in b and want to go a you can use relative path to get there with less typing. Relative path is relative to your current working directory, so where you are atm. It would look like cd a.

It is also important to note for relative path that . and .. are reserved. Those mean . - current directory. And .. means previous directory.

So cd . will do nothing. And cd .. will put into parent directory from your current one. Also files that start with . (dot) are hidden. to view them with ls you need to add -a (all) flag. (ls -a). The file names are case sensitive, a is not the same file as A.

  • rm - remove file (be very careful with this, it doesn’t place files into trash, it just deleted them!) In order to delete a folder use -r (recursive) flag.
  • clear - clears the terminal.

As for the desktop itself, KDE Plasma 5 is fairly intuitive to windows UI, so I think you can manage that on your own :wink:


To get back to file system, it’s a bit different from Windows (I assume you used Windows). In windows each storage drive (be it HDD or SSD or USB Flash drive, etc) are a separate file system. While on Linux OSes it’s a bit different.

We have 1 FS (file system) that acts as a root, meaning the beginning of the FS tree. And other devices are just mapped (mounted) as a directories in the root tree.

Conceptual visualization:

.
├── dir1
├── dir2
├── hdd1
│   ├── dir1
│   ├── dir2
│   ├── dir3
│   └── file1
├── usb-device
│   ├── dir1
│   ├── file1
│   ├── file2
│   └── file3
├── file1
├── file2
└── file3


Suggested reading:

  • FS permissions
  • users and groups
  • service management
  • package management (software installation and deinstallation)

After that just use the OS, and when you need to do something just search the webs, or use man. Good luck :wink:


The Fedora seems to provide a bit of documentation, so you can check it here:

https://docs.fedoraproject.org/en-US/fedora/f28/system-administrators-guide/

Arch Wiki is a good resource even for other distros, as it has lots of distro-agnostic info:

https://wiki.archlinux.org/

3 Likes

@gnuplustrap @oldgek Thanks for the tips :slight_smile:
I tried typing help in consoles but I didn’t know you had to do “help” instead.

I like watching YouTube videos to help me learn. I particularly like Luke Smith and tutorialLinux.

@wendell also made a great video, linked here

These should get you started. Then you can just play around with stuff. Break something and try and fix it.

Also, +1 for picking the right distro :wink:

2 Likes

A dirty little secret of Linux is that it is not 1995 and you don’t really need to noodle around with terminals and command lines for normal day-to-day use unless you want to… or you break something and can’t fix it otherwise.

I’m not at all discouraging learning, but I often still come across assertions that expertise with the command line is essential to leading a happy Linux existence. In truth, expertise with the command line is essential to being an expert command line user. A worthy goal, but not a mandatory goal.

That said, here’s a suggested frame of reference:

When you use a GUI, you are interacting with icons and menus that accept commands delivered by mouse, keyboard, etc. Code underlying those menu/icons then interprets those commands and sends them off to the proper place in the great pile of code that is your system to be executed.

When you interact with the command line, the same thing happens. The difference is that you use text – words – to interact with a program that parses that text and sends the result off to be executed. Colloquially, that program is the shell. Multiple shell programs exist. On Linux the standard defaults to bash.

Re: dnf – Discover on KDE does a good job these days as a basic package installer/remover. dnf is much more capable, and learning about its options is worthwhile. (It has a history and a rollback function whereby you can effectively undo an action.) Also, there is dnfdragora, a GUI front-end to DNF. Can’t recall if it’s installed by default on the KDE spin, but it is in the repos.

Expect a l-o-t of updates in Fedora, including kernel updates. Checking daily isn’t silly. I use the “–refresh” option to be sure it grabs the latest: “sudo dnf --refresh update” (that’s a double dash there) .

RPMFusion is safe to use, but read any of its howto’s that are relevant to you.

I’ve never used it myself, but Linux Academy comes highly recommended if you’re willing to pay for your education.

If not, the way I learned was through trial and error, which honestly wasn’t a very good way. I would probably try to find some kind of book to chew through, but having not read any Linux books myself, I couldn’t recommend any specific one.

Here is a good cheat sheet to help you navigate the terminal

http://cheatsheetworld.com/programming/unix-linux-cheat-sheet/

2 Likes

Can def recommend Luke Smith, that crazy memester.


The only problem there isvim. For a new user might be very weird thing to get using. OP, if you’re ever stuck in vim and want to just exit, type: ESC :q! ENTER Escape puts you in normal mode if you’re not in it (Vim is a modal editor, there are different modes of operation) : means execute command, q means quit and ! means force, so quit and don’t save anything. ENTER to execute command :wink:

You might wanna use nano as command line text editor if you need it. It has more usual UI, to enter text you just type as usual, shortcuts are listen in the bottom. ^ means Cotnrol(Ctrl) and M means Alt. So ^O means Ctrl+O.

2 Likes

Hey, I looked around on Distrowatch and, this one caught my eye:
Zorin OS 12.4

So I grabbed it and gave it a try. I’ve been messing around with it for a couple hours now and, so far I really like it.

I’m not sure if it’s any better or worse than Fedora but, I really like it.
Any opinions on it?

Omgubuntu did a review on Zorin last week I think. It’s Ubuntu based.

I used it long ago, so don’t have much to say about it.

It is cool tho. If you want, you can make it look Unity like or Mac like. You do have to pay for the OS to look like that tho. Which is rather lame. But included in getting your OS to look like that, help support is included. All of this is part of their extreme edition… I believe that’s what it is called.