20 Commands for Newbies Who Switched from Windows to Linux

So you are planning to switch from Windows to Linux, or have just switched to Linux? Oops!!! what I am asking! For what else reason would you have been here.

[ You might also like: How I Switched from Windows to Linux Mint ]

From my past experience when I was new, Linux commands and terminals really scared me, I was worried about the commands, as to what extent I have to remember and memorize commands to get myself fully functional with Linux.

No doubt online documentation, Linux books, man pages, and user community helped me a lot but I strongly believed that there should be an article with basic Linux commands in easy-to-learn and understand language. These Motivated me to Master Linux and to make it easy to use. This article is a step towards it.

1. Command: ls

The command “ls” stands for (List Directory Contents), List the contents of the folder, be it file or folder, from which it runs.

root@tecmint:~# ls

Android-Games                     Music
Pictures                          Public
Desktop                           Tecmint.com
Documents                         TecMint-Sync
Downloads                         Templates

The command “ls -l” lists the content of the folder, in a long listing fashion.

root@tecmint:~# ls -l

total 40588
drwxrwxr-x 2 ravisaive ravisaive     4096 May  8 01:06 Android Games
drwxr-xr-x 2 ravisaive ravisaive     4096 May 15 10:50 Desktop
drwxr-xr-x 2 ravisaive ravisaive     4096 May 16 16:45 Documents
drwxr-xr-x 6 ravisaive ravisaive     4096 May 16 14:34 Downloads
drwxr-xr-x 2 ravisaive ravisaive     4096 Apr 30 20:50 Music
drwxr-xr-x 2 ravisaive ravisaive     4096 May  9 17:54 Pictures
drwxrwxr-x 5 ravisaive ravisaive     4096 May  3 18:44 Tecmint.com
drwxr-xr-x 2 ravisaive ravisaive     4096 Apr 30 20:50 Templates

Command “ls -a“, list the content of a folder, including hidden files starting with '.'.

root@tecmint:~# ls -a

.			.gnupg			.dbus
.adobe                  deja-dup                .grsync
.gstreamer-0.10         .mtpaint                .thumbnails
.HotShots               .mysql_history          .htaccess
.profile                .bash_history           .icons
.jedit                  .pulse                  .bashrc
.Xauthority		.gconf                  .local
.gftp                   .macromedia             .remmina
.ssh                    .xsession-errors 	.compiz
.xsession-errors.old	.config                 .gnome2

Note: In Linux file name starting with ‘.‘ is hidden. In Linux, every file/folder/device/command is a file. The output of ls -l is:

  • d (stands for directory).
  • rwxr-xr-x is the file permission of the file/folder for the owner, group, and world.
  • The 1st ravisaive in the above example means that the file is owned by user ravisaive.
  • The 2nd ravisaive in the above example means the file belongs to the user group ravisaive.
  • 4096 means file size is 4096 Bytes.
  • May 8 01:06 is the date and time of the last modification.
  • And at the end is the name of the File/Folder.

For more “ls” command examples read our series of articles:

2. Command: lsblk

The “lsblk” stands for (List Block Devices), print block devices by their assigned name (but not RAM) on the standard output in a tree-like fashion.

root@tecmint:~# lsblk

sda      8:0    0 232.9G  0 disk 
├─sda1   8:1    0  46.6G  0 part /
├─sda2   8:2    0     1K  0 part 
├─sda5   8:5    0   190M  0 part /boot
├─sda6   8:6    0   3.7G  0 part [SWAP]
├─sda7   8:7    0  93.1G  0 part /data
└─sda8   8:8    0  89.2G  0 part /personal
sr0     11:0    1  1024M  0 rom

The “lsblk -l” command list block devices in the ‘list‘ structure (not tree-like fashion).

root@tecmint:~# lsblk -l

sda    8:0    0 232.9G  0 disk 
sda1   8:1    0  46.6G  0 part /
sda2   8:2    0     1K  0 part 
sda5   8:5    0   190M  0 part /boot
sda6   8:6    0   3.7G  0 part [SWAP]
sda7   8:7    0  93.1G  0 part /data
sda8   8:8    0  89.2G  0 part /personal
sr0   11:0    1  1024M  0 rom

Note: lsblk is a very useful and easiest way to know the name of the New Usb Device you just plugged in, especially when you have to deal with disk/blocks in the terminal.

[ You might also like: 10 Useful Commands to Collect System and Hardware Information in Linux ]

3. Command: md5sum

The “md5sum” stands for (Compute and Check MD5 Message-Digest), md5 checksum (commonly called a hash) is used to match or verify the integrity of files that may have changed as a result of a faulty file transfer, a disk error, or non-malicious interference.

root@tecmint:~# md5sum teamviewer_linux.deb 

47790ed345a7b7970fc1f2ac50c97002  teamviewer_linux.deb

Note: The user can match the generated md5sum with the one provided officially. Md5sum is considered less secure than sha1sum, which we will discuss later.

4. Command: dd

Command “dd” stands for (Convert and Copy a file), can be used to convert and copy a file and most of the time is used to copy an iso file (or any other file) to a usb device (or any other location), thus can be used to make a bootable USB stick.

# dd if=/home/user/Downloads/debian.iso of=/dev/sdb1 bs=512M; sync

Note: In the above example the usb device is supposed to be sdb1 (You should Verify it using the command lsblk, otherwise you will overwrite your disk and OS), use the name of the disk very Cautiously!!!.

dd command takes some time ranging from a few seconds to several minutes in execution, depending on the size and type of file and read and write speed of Usb stick.

[ You might also like: How to Clone a Partition in Linux Using dd Command ]

5. Command: uname

The “uname” command stands for (Unix Name), print detailed information about the machine name, Operating System and Kernel.

root@tecmint:~# uname -a

Linux tecmint 3.8.0-19-generic #30-Ubuntu SMP Wed May 1 16:36:13 
UTC 2013 i686 i686 i686 GNU/Linux

Note: uname shows the type of kernel. uname -a output detailed information. Elaborating the above output of uname -a.

  • Linux“: The machine’s kernel name.
  • tecmint“: The machine’s node name.
  • 3.8.0-19-generic“: The kernel release.
  • #30-Ubuntu SMP“: The kernel version.
  • i686“: The architecture of the processor.
  • GNU/Linux“: The operating system name.

6. Command: history

The history command stands for History (Event) Record, it prints the history of a long list of executed commands in the terminal.

root@tecmint:~# history

 1  sudo add-apt-repository ppa:tualatrix/ppa
 2  sudo apt-get update
 3  sudo apt-get install ubuntu-tweak
 4  sudo add-apt-repository ppa:diesch/testing
 5  sudo apt-get update
 6  sudo apt-get install indicator-privacy
 7  sudo add-apt-repository ppa:atareao/atareao
 8  sudo apt-get update
 9  sudo apt-get install my-weather-indicator
 10 pwd
 11 cd && sudo cp -r unity/6 /usr/share/unity/
 12 cd /usr/share/unity/icons/
 13 cd /usr/share/unity

Note: Pressing “Ctrl + R” and then search for already executed commands which lets your command be completed with the auto-completion feature.

(reverse-i-search)`if': ifconfig

[ You might also like: Set Date and Time for Each Command You Execute in Bash History ]

7. Command: sudo

The “sudo” (superuser do) command allows a permitted user to execute a command as the superuser or another user, as specified by the security policy in the sudoers list.

root@tecmint:~# sudo add-apt-repository ppa:tualatrix/ppa

Note: sudo allows users to borrow superuser privileged, while a similar command ‘su‘ allows users to actually log in as superuser. Sudo is safer than su.

[ You might also like: 10 Useful Sudoers Configurations for Setting ‘sudo’ in Linux ]

It is not advised to use sudo or su for day-to-day normal use, as it can result in serious error if accidentally you did something wrong, that’s why a very popular saying in the Linux community is:

“To err is human, but to really foul up everything, you need a root password.”

8. Command: mkdir

The “mkdir” (make directory) command creates a new directory with a name path. However is the directory already exists, it will return an error message “cannot create a folder, folder already exists”.

root@tecmint:~# mkdir tecmint

Note: Directory can only be created inside the folder, in which the user has to write permission. mkdir: cannot create directory `tecmint‘: File exists.

(Don’t confuse with a file in the above output, you might remember what I said at the beginning – In Linux, every file, folder, drive, command, script are treated as a file).

[ You might also like: Explanation of “Everything is a File” and Types of Files in Linux ]

9. Command: touch

The touch command stands for (update the access and modification times of each FILE to the current time). touch command creates the file, only if it doesn’t exist. If the file already exists it will update the timestamp and not the contents of the file.

root@tecmint:~# touch tecmintfile

Note: touch can be used to create a file under the directory, on which the user has to write permission, only if the file doesn’t exist there.

10. Command: chmod

The Linux “chmod” command stands for (change file mode bits). chmod changes the file mode (permission) of each given file, folder, script, etc.. according to the mode asked for.

There exist 3 types of permission on a file (folder or anything but to keep things simple we will be using file).

Read (r)=4

So if you want to give only read permission on a file it will be assigned a value of ‘4‘, for write permission only, a value of ‘2‘ and for execute permission only, a value of ‘1‘ is to be given. For read and write permission 4+2 = ‘6‘ is to be given, and so on.

Now, permission needs to be set for 3 kinds of users and user groups. The first is the owner, then the user group, and finally the world.

rwxr-x--x   abc.sh

Here the root’s permission is rwx (read, write and execute).
usergroup to which it belongs, is r-x (read and execute only, no write permission) and
for the world is –x (only execute).

To change its permission and provide read, write and execute permission to the owner, group, and world.

root@tecmint:~# chmod 777 abc.sh

only read and write permission to all three.

root@tecmint:~# chmod 666 abc.sh

read, write and execute to the owner and only execute to group and world.

root@tecmint:~# chmod 711 abc.sh

Note: one of the most important commands useful for sysadmin and user both. On a multi-user environment or on a server, this command comes to the rescue, setting wrong permission will either make a file inaccessible or provide unauthorized access to someone.

11. Command: chown

The Linux “chown” command stands for (change file owner and group). Every file belongs to a group of users and an owner. It is used to do ‘ls -l‘ into your directory and you will see something like this.

root@tecmint:~# ls -l 

drwxr-xr-x 3 server root 4096 May 10 11:14 Binary 
drwxr-xr-x 2 server server 4096 May 13 09:42 Desktop

Here the directory Binary is owned by user “server” and it belongs to usergroup “root” whereas directory “Desktop” is owned by user “server” and belongs to user group “server“.

This “chown” command is used to change the file ownership and thus is useful in managing and providing files to authorized users and usergroup only.

root@tecmint:~# chown server:server Binary

drwxr-xr-x 3 server server 4096 May 10 11:14 Binary 
drwxr-xr-x 2 server server 4096 May 13 09:42 Desktop

Note: “chown” changes the user and group ownership of each given FILE to NEW-OWNER or to the user and group of an existing reference file.

12. Command: apt

The Debian-based apt command stands for (Advanced Package Tool). Apt is an advanced package manager for Debian based system (Ubuntu, Kubuntu, etc.), that automatically and intelligently search, install, update and resolves dependency of packages on Gnu/Linux system from the command line.

root@tecmint:~# apt-get install mplayer

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following package was automatically installed and is no longer required:
Use 'apt-get autoremove' to remove it.
The following extra packages will be installed:
  esound-common libaudiofile1 libesd0 libopenal-data 
libopenal1 libsvga1 libvdpau1 libxvidcore4
Suggested packages:
  pulseaudio-esound-compat libroar-compat2 nvidia-vdpau-driver vdpau-driver 
mplayer-doc netselect fping
The following NEW packages will be installed:
  esound-common libaudiofile1 libesd0 libopenal-data libopenal1 libsvga1 
libvdpau1 libxvidcore4 mplayer
0 upgraded, 9 newly installed, 0 to remove and 8 not upgraded.
Need to get 3,567 kB of archives.
After this operation, 7,772 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
root@tecmint:~# apt-get update

Hit http://ppa.launchpad.net raring Release.gpg
Hit http://ppa.launchpad.net raring Release.gpg
Hit http://ppa.launchpad.net raring Release.gpg
Hit http://ppa.launchpad.net raring Release.gpg
Get:1 http://security.ubuntu.com raring-security
Hit http://in.archive.ubuntu.com raring Release.gpg
Hit http://ppa.launchpad.net raring Release.gpg
Get:2 http://security.ubuntu.com raring-security   
Ign http://ppa.launchpad.net raring Release.gpg
Get:3 http://in.archive.ubuntu.com raring-updates
Hit http://ppa.launchpad.net raring Release.gpg
Hit http://in.archive.ubuntu.com raring-backports

Note: The above commands result in system-wide changes and hence requires a root password (Check ‘#‘ and not ‘$' as prompt). Apt is considered more advanced and intelligent as compared to yum command.

As the name suggests, apt-cache searches for a package containing sub package mpalyer. apt-get install, update all the packages, that are already installed, to the newest one.

[ You might also like: 25 APT-GET and APT-CACHE Commands ]

13. Command: tar

The tar command is a Tape Archive is useful in the creation of an archive, in a number of file format and their extraction.

root@tecmint:~# tar -zxvf abc.tar.gz (Remember 'z' for .tar.gz)
root@tecmint:~# tar -jxvf abc.tar.bz2 (Remember 'j' for .tar.bz2)
root@tecmint:~# tar -cvf archieve.tar.gz(.bz2) /path/to/folder/abc

Note: A ‘tar.gz‘ means gzipped. ‘tar.bz2‘ is compressed with bzip which uses a better but slower compression method.

14. Command: cal

The “cal” (Calendar), is used to displays the calendar of the present month or any other month of any year that is advancing or passed.

root@tecmint:~# cal 

May 2013        
Su Mo Tu We Th Fr Sa  
          1  2  3  4  
 5  6  7  8  9 10 11  
12 13 14 15 16 17 18  
19 20 21 22 23 24 25  
26 27 28 29 30 31

Show calendar of the year 1835 for the month of February, which already has passed.

root@tecmint:~# cal 02 1835

   February 1835      
Su Mo Tu We Th Fr Sa  
 1  2  3  4  5  6  7  
 8  9 10 11 12 13 14  
15 16 17 18 19 20 21  
22 23 24 25 26 27 28

Shows calendar of the year 2145 for the month of July, which will be advancing

root@tecmint:~# cal 07 2145

     July 2145        
Su Mo Tu We Th Fr Sa  
             1  2  3  
 4  5  6  7  8  9 10  
11 12 13 14 15 16 17  
18 19 20 21 22 23 24  
25 26 27 28 29 30 31

Note: You need not turn the calendar of 50 years back, neither you need to make a complex mathematical calculation to know what day you were worn or your coming birthday will fall on which day.

15. Command: date

The date command prints the current date and time on the standard output, and can further be set.

root@tecmint:~# date

Fri May 17 14:13:29 IST 2013
root@tecmint:~# date --set='14 may 2013 13:57' 

Mon May 13 13:57:00 IST 2013

Note: This Command will be very useful in scripting, time, and date-based scripting, to be more perfect. Moreover changing the date and time using the terminal will make you feel GEEK!!!. (Obviously, you need to be root to perform this operation, as it is a system-wide change).

16. Command: cat

The “cat” stands for (Concatenation). Concatenate (join) two or more plain files and/or print contents of a file on standard output.

root@tecmint:~# cat a.txt b.txt c.txt d.txt >> abcd.txt
root@tecmint:~# cat abcd.txt
contents of file abcd 

Note: “>>” and “>” are called append symbol. They are used to append the output to a file and not on standard output. “>” symbol will delete a file already existed and create a new file hence for security reasons it is advised to use “>>” that will write the output without overwriting or deleting the file.

Before proceeding further, I must let you know about wildcards (you would be aware of wildcard entry, in most of the Television shows) Wildcards are a shell feature that makes the command line much more powerful than any GUI file manager. You see, if you want to select a big group of files in a graphical file manager, you usually have to select them with your mouse. This may seem simple, but in some cases, it can be very frustrating.

For example, suppose you have a directory with a huge amount of all kinds of files and subdirectories, and you decide to move all the HTML files, that have the word “Linux” somewhere in the middle of their names, from that big directory into another directory. What’s a simple way to do this? If the directory contains a huge amount of differently named HTML files, your task is everything but simple!

In the Linux command line that task is just as simple to perform as moving only one HTML file, and it’s so easy because of the shell wildcards. These are special characters that allow you to select file names that match certain patterns of characters. This helps you to select even a big group of files by typing just a few characters, and in most cases, it’s easier than selecting the files with a mouse.

Here’s a list of the most commonly used wildcards :

Wildcard			Matches
   *			zero or more characters
   ?			exactly one character
[abcde]			exactly one character listed
 [a-e]			exactly one character in the given range
[!abcde]		any character that is not listed
 [!a-e]			any character that is not in the given range
{debian,linux}		exactly one entire word in the options given

! is called not a symbol, and the reverse of string attached with '!' is true.

[ You might also like: 13 Basic Cat Command Examples in Linux ]

17. Command: cp

The “copy” stands for (Copy), it copies a file from one location to another location.

# cp /home/user/Downloads abc.tar.gz /home/user/Desktop

Note: cp is one of the most commonly used commands in shell scripting and it can be used with wildcard characters (Describe in the above block), for customized and desired file copying.

18. Command: mv

The “mv” command moves a file from one location to another location.

# mv /home/user/Downloads abc.tar.gz /home/user/Desktop

Note: mv command can be used with wildcard characters. mv should be used with caution, as moving of system/unauthorized file may lead to security as well as a breakdown of the system.

19. Command: pwd

The pwd command (print working directory), prints the current working directory with the full pathname from the terminal.

root@tecmint:~# pwd 


Note: This command won’t be much frequently used in scripting but it is an absolute lifesaver for a newbie who gets lost in the terminal in their early connection with Linux. (Linux is most commonly referred to as nux or nix).

20. Command: cd

Finally, the frequently used cd command stands for (change directory), which changes the working directory to execute, copy, move write, read, etc. from the terminal itself.

root@tecmint:~# cd /home/user/Desktop
server@localhost:~$ pwd


Note: cd comes to the rescue when switching between directories from the terminal. “Cd ~” will change the working directory to the user’s home directory, and is very useful if a user finds himself lost in the terminal. “cd ..” will change the working directory to parent directory (of current working directory).

These commands will surely make you comfortable with Linux. But it’s not the end. Very soon I will be coming with other commands which will be useful for ‘Middle-Level User. You will notice promotion in user-level from newbie to Middle-level-user.

In the next article, I will be coming up with commands like ‘Kill‘, ‘ps‘, ‘grep‘.

Ravi Saive
I am an experienced GNU/Linux expert and a full-stack software developer with over a decade in the field of Linux and Open Source technologies

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

78 thoughts on “20 Commands for Newbies Who Switched from Windows to Linux”

  1. dd is Disk Dump. I use it to back up a hard drive to a .iso file before I do any work on it ie recover files, upgrade os, etc.

    Nicely paced article

  2. As i know; is a meta character which is used to separate two commands then what is the use of command after ; here in this dd command and what bs=512M used for?

    root@tecmint:~# dd if=/home/user/Downloads/debian.iso of=/dev/sdb1 bs=512M; sync
  3. You forgot to tell the readers the “root@tecmint:” refers to your computer and will be different for each owner…. Otherwise this is a useful article.

    Although it is directed to power users, most Linux users will find Ubuntu or Mint, along with the many other GUI, will be just fine! Operating from the terminal is complex and fun at the same time just remember be careful with commands.

  4. I think this guide is so nice, well fitted. Just missing a command, which is really useful for new people coming, looking at logs :) to solve problems.
    I’m talking about head and tail and grep. Those commands are necessary to inspect logs in a better/faster/easier way and can be “added” aside the “cat” section you made.
    Also, an Alias section would be mega useful to don’t force users to use ctrl+r to remember their commands.
    I’m one of those people hating viruses along Windows, so I’ve switched to Debian and I know what I say.

    Nice work.

  5. Very good introduction from Windows to Linux. It should be placed at first position of Section 2, before detailed explanations or examples given for each of the commands. Thank you from a windows defector!

  6. Dear Sir,

    What is the future in Linux ?… I want to know….is there any growth?….is it good field in Linux (RHCE)?…please help me…

  7. Hi avishek, this website is very useful for me. Can you tell me what other stuff as a newbie i need to learn to give an interview for position of sys admin intern?

    • Welcome Vatsal. Have good command over Scripting (Shell/Python/perl) and general service which includes but not limited to Apache, MySQL,…. Also have sound knowledge of networking and network Protocols and what ever you can learn just keep doing…

  8. Amazing website. I am a newbie, however I have a quick question in regards to “cat” command and the example above:
    oot@tecmint:~# cat a.txt b.txt c.txt d.txt abcd.txt
    Are you trying to concatenate 5 files (a, b, c, d, abcd.txt) and print the content, or are you trying to concatenate a, b, c, d to abcd.txt? If the latter, should not this command be:
    oot@tecmint:~# cat a.txt b.txt c.txt d.txt >>abcd.txt
    Again – I have learnt a lot, and I am trying to follow every example. It took me a while to understand what was going on with the first command. Thank you!

    • Dear Romanator,
      You are right. It is a mistake on my part.

      The command should be
      # cat a.txt b.txt c.txt d.txt >> abcd.txt
      # cat a.txt b.txt c.txt d.txt > abcd.txt

      Asking admin to amend it, please.

  9. These are the very Basic commands in LINUX…Interested to know some more commands which will be useful too..
    Thanking you…

  10. Dear Sir,

    I am looking for lab session like
    1) creating local repository by copying packages from DVD.
    2) Installing & Configuring SAMBA Server step by step.
    3) Creating Backup Server.

    Thanks & Regards,

    Amol Bhosale

  11. Very nice work. As another ancient but new to Linux user: I Thank you!
    Linux Lite suits my venerably old machine just fine – she hums along happily without the screaming and screeching with Windows…we are both happier :)

  12. As a noob, moving over to Linux, on an old PIII, Dell laptop, I appreciate your effort to introduce me to the command line. I also appreciate the links to find more command line usage.
    My motivation to move to Linux was the age of my computer, the lack of support for the computer by Microsoft, (why throw away that which is usefull, and be forced to buy something new just to have to repeat it again, because Microsoft forces you to) and also to disprove the saying that an old dog ( 68 ) can’t be taught new tricks. The distro that I found that seems best suited to my needs and computer was Slitaz. TThank you Linux world.

  13. Apart of having a TERRIBLE English, your post is good. You’re a experienced computer user, you SHOULD have a good command of English please!!!!

  14. What the hell is this????

    The 1st ravisaive in the above example means that file is owned by user ravisaive.
    The 2nd ravisaive in the above example means file belongs to user group ravisaive.

    What is a “ravissaive”????

  15. This is a nice guide for someone who does more then check email and browse websites on a machine. The basic email/web guys would like more graphical style stuff though I think. It’d be neat if there was a side by side comparison of the command line and graphical tool (if available).

  16. @ ken
    sudo apt-get remove ubuntu is ok.
    but if you mean sudo apt-get remove linux or yum remove linux
    then dear i have to ask you, what the hell are you doing here ?

  17. @ Cat and Scott no Linux user will be afraid of terminal. it is the curosity, the adventure, the fun that drives them to the world of Linux, they know that terminal (shell) is the soul of Linux and is much powerful that powershell or any other shell implemented in other OSes. if this is not true, most of us would have still be sticks to walls, gates and windows.

    • I agree, I am very new but it was the excitement of being able to control things more, to be able to play around with a command line and have the excitement of the risk of potentially being able to break things while playing, that is what drew me to Linux. You are dead right, someone who is afraid of the command line would not be trying to play with it, and would continue to point-and-click :-)

  18. @ Rambo Tribble sure df is one of the important command but for sure a newbie in linux don’t have to bother much about his disk usages, and when you have to provide only 20 commands, whom will you select and whom to discard is a matter of debate, moreover df will surely be available in the next part of this tutorial.

  19. I think that part about apt being superior to yum is pretty infamatory. It would be one thing if you actually had some kind of included reference to back it up. Or at the very least you could have included a brief explanation.

    Honestly, I think they both have their strong points over one another. You can’t say that one is unequivocally better than the other, as they are both very mature.

    I am a pacman user though. And just ask Allan, pacman f-ing rules! (At least is is certainly far faster than yum or apt)

    • yum :
      yum Comes with Fedora and fedora like OS by default and is Widely supported by many RPM repositories which is Fairly easy to roll your own repository.
      However, No “pinning” or other mechanisms for backing out updates, Somewhat confusing to create a hierarchy of “trust,” in terms of which repositories to use for which packages and No graphical update/management tool are the drawbacks of yum.

      apt :
      apt Somewhat has wider support across distributions (since its a Debian tool), which include Synaptic, a graphical GUI for doing updates and “Pinning” support, and uninstall support.
      However, apt is Not a base part of the FC package set. Perhaps a slightly higher learning curve to use effectively.
      Harder to use as a verb in jargon filled conversations. “I apted GIMP2 last night” as opposed to “Yum up that new GIMP2 package”
      (apt is used by debian and debian like distro viz., ubuntu, kubuntu, fuduntu, kali, …….., etc and yum is used by fedora and fedora like os viz., redhat, centos, etc. The number of distros using apt is several times more than distros using yum as package manager. )
      None of the two is perfect, but surely apt has an edge over yum. You better compare yourself.

  20. Sure way to scare linux newbies away is starting to tell them about command line. First they must master normal use in windowed environment. When they have those skills and are interested in deeper dive in linux, then it’s time to start learning command line.

    • I agree. This leaves the impression that to use Linux one must learn the command line. For desktop use the command line is completely unnecessary.

      • I disagree. When I got my first computer, Windows 3.0 had just come out. But instead of installing it, I sat down and learned to work with DOS, and to this day I have never regretted it. It STILL comes in handy and has saved my yass a few times. After all, the operations you perform in a graphical environment are the same ones you perform from the command line. Knowing how to do them in their original, historical form is not going to hurt anybody and will do people a lot of good. It’s a little like learning Latin – once you study it a bit you start to understand English with a lot more depth.


Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.