The 5-Minute Essential Shell Tutorial

justin
  13 years ago
  1122

Alright, far too often (especially in the IRC channels) there is a time where even the most beginner of users are faced with the terminal.  It has many names: terminal, shell, console, "command prompt" even as a carryover from those familiar with Windows.  Many people are frightened by it for some reason or another, so this tutorial will attempt to provide you the most basic of commands to enable navigation and basic system actions from the comfort of your keyboard.

Let's get started shall we?  Since everyone's Mint version can be different, I'm not going to detail how to actually open the terminal.  I'll assume you can find it in the menu or by right-clicking in the desktop.

Facts:

  1. You can do almost anything in a terminal which you would also do from a GUI interface.
     
  2. Most commands were designed first to work in the terminal, then a GUI put on top of them.  That's why some GUI's may feel clunky - they were an afterthought at times.
     
  3. The default location for your terminal to open from the menu is in your home folder, also known as ~
     
  4. Your current directory can be noted by the . operator.  Most commands when they act on the current folder selection, operate on .
     
  5. Commands, locations, and files are case sensitive.  /home is not the same as /HOME or /Home.
     
  6. Use the tab key to complete file names.  If you have a long driver titled, for example,
    driver-128947232jaseu.sh, simply type dri and it will fill in the rest, provided you don't have 2 names starting with "dri" and if you do, add another character to make it "driv" and try again.
     
  7. Almost any command can be read about in full using the manpage or by typing -h or --help after writing the initial command.  This syntax is either man command_namecommand_name -h, or command_name --help.
     
  8. To get even more information, you can use info.  A command can be searched for by using info command_name.  For most of these commands which are part of the coreutils package, one can find info as well using info coreutils command_name invocation where command_name is replaced by the command searched for.
     
  9. Almost any command can also explicitly display what is happening.  This is done usually by the -v or --verbose
     
  10. You can specify multiple command flags to a command at a time to get more information (see the ls -al example below.)
     
  11. Command names are not always obtuse - due to space limitations in the old days of Unix they were shortened, and the conventions stuck.

Commands:

cd -> Used to navigate the directories.  You can move to any location by path.

  1. cd This will move you back to your home, same as cd ~
  2. cd .. This will take you back exactly one directory.  Starting in /home/justin/Desktop, cd .. will put me into /home/justin.  This can be expanded upon, cd ../../ from the Desktop location instead will move me 2 back, from my Desktop to /home.
  3. cd foldername/ This will move you forward to the given folder in your current folder.  Take note of the missing prefix / it is an important omission.  if I am in /home/justin and I want to get to Desktop, I must type cd Desktop/ without the / before Desktop.  Typing / before it places us in the root of file system, which is incorrect.
  4. cd /some/other/path This will take you to the specified folder path, supposing it exists as typed exactly.  Don't forget your tab completion!

ls -> Used to list folder contents.  You can view many kinds of file and folder attributes.

  1. ls By itself, ls will simply list all your files in the current folder.  From fact #4, this literally does ls .
  2. ls -l Provides a longer listing format including owners, permissions, size, and date modified.
  3. ls -a Displays hidden files and folders as well as the normal listing.
  4. ls -al Combine options to display both hidden files and in the long format.
  5. ls -h Show file sizes in human readable format (K, M, Gbyte) filesizes instead of bytes.  Often used in conjuction with the -l flag.
  6. You can view files in directories you are not even in.  If I am in /home/justin/Desktop, and I want to view a file in /home/justin, I can do ls ../ list files one directory back (and not have to go back to do so.)

cp -> Copy files

  1. cp file /path/to/folder Copies specified file to the given path.
  2. cp -r folder /path/to/folder  Copies recursively the contents of the folder to another folder.
  3. cp *.extension /path/to/folder  Copies files matching the given extension to the new folder.  To copy all .doc files, it becomes cp *.doc /path/to/folder and the folder must exist.
  4. cp name* /path/to/folder  Copies all files starting with 'name' to the given folder.  To copy all files starting with example, it becomes cp example* /path/to/folder and the folder must exist.

mv -> Move files

  1. The syntax of mv is similar to the example above with cp exempt for example #2.  mv does not take the -r flag since moving a folder also moves its contents.  The syntax is not exact in all instances, but works with the above examples.  Consult your manpages for more details.

rm -> Remove files

  1. For all intents and purposes, removing files via rm is permanent.  It does not use the Trash bin.  Use with caution and make sure you are deleting explicitly what you want, not what you think you want.  If you decide to get fancy with your delete commands, it's probably going to come back to bite you.
  2. rm file  Remove the specified file from the system.
  3. rm -r folder  Remove the specified folder from the system
  4. rm -rf folder  Removes the specified folder forcefully from the system.  This command can severely break your configuration if used incorrectly as it will not prompt you if something critical is being deleted.  If you have to use this, chances are something more is broken or there was a mistake made.  This should only be used as an absolute last resort method and is not recommended.

nano -> full command line text editor

  1. One can edit files using nano in a terminal to do quick and dirty files all the way up to full configurations.  It's handy, but keep in mind it handles plain text files and programming files, things like MS Word documents will not open properly! 
  2. If a file is owned by root, it is not editable as a normal user.  nano must be prefixed with sudo in order to save changes.  Otherwise, it will open in read-only mode.
  3. nano newfile.whatever  Nano creates a new file of the specified name and opens it for editing.
  4. nano existing_file  Nano opens the existing file for editing.
  5. From inside nano
    1. Save file using the ctrl+o key combination, and either change the name or press entier to keep the same name.  This will save the file.
    2. Exit nano by using ctrl+x key combination.  If you have unsaved changes, it will ask if you want to save.

mkdir -> Create directories

  1. mkdir folder_name  Creates the folder with the specified name
  2. mkdir -p /path/to/folder/name  Creates each folder as necessary.  To create folder /home/justin/newfolder/2ndfolder, and only /home/justin exists, using mkdir -p will make both directories newfolder and 2ndfolder.

ps -> List processes

  1. ps aux  List all processes in detail running on the system, including user, Process ID (PID), and name of process.  Using this, one can view their process list and if necessary, kill unnecessary or stalled processes.

kill / killall / xkill -> Kill offending processes.

  1. kill PID  PID is a number referencing the offending process.  One should obtain the PID from a command like ps aux.  If a process refuses to die, one can alternatively specify kill -9 PID which should terminate the process by any means, even uncleanly or if it will mess up the system.
  2. killall program  Killall kills *by name* all instances of said program.  If there are for example 3 firefox sessions open, killall firefox will do just that; kill all firefox sessions.  kill would simply take the specified PID of the offending firefox process you wish to kill, and kill that one only.
  3. xkill is a GUI way to click and kill windows.  Typing in xkill should present a skull-and-crossbones icon, and the next window clicked on will be killed.

Pipes  ->  The most useful thing you will learn in *NIX.  Redirecting output of a program to anothers input.

  1. Pipes are represented by the ' straight bar ' otherwise known as the ' | ' key.
  2. It is a rarely used key in Windows, it is often found on the backslash key.
  3. They are used to link commands together.  Pipes take the output of one command and route it to be used as input for a second command chained together.
  4. Consult more online resources with information about pipes and their use as there are volumes.

> and >> redirectors  -> Send output to a file instead of the terminal.

  1. > is used to *overwrite* currently existing files contents and replace with the output from the new command.
  2. >> is used to *append* information to currently existing files.  This is useful for logging.
  3. Example: ps aux > processes.log  Sends the output of ps aux to the file processes.log for viewing the command output in a text editor and overwrites the current contents of the file. 

tee -> Send output to both a file and the terminal

  1. tee is used in conjunction with a ' | ' in order to take the command output and send it elsewhere.  This is useful if there are errors which fly by the screen before you can read them, this way whatever goes on the screen is also captured to a file.
  2. Example: dmesg | tee boot.txt would run the command dmesg which shows the initial boot info, and the ' | ' sends the output of dmesg to tee, which then does its job by sending it to the terminal and to the log file boot.txt.

File Execution -> So you want to execute files or programs from the terminal?  Make sure it's  marked executable.  If not, see Quick Tip #4 below.

  1. Need to execute a file in the current directory after it is marked executable?  The ./ operator can execute the file as a normal user provided you do not need root rights.  ./ literally means "in the current directory" so it does not work on files outside of the present directory.
     
  2. Need to execute a file not in the current directory?  You must pass the path to the proper executing program.  If it is a python program, it's python /path/to/file and if it is a shell file, it is sh /path/to/file as an example.  There are of course other programs, but these will be the most common for beginners.
     
  3. Need to execute a file with root rights because you received operation not permitted?  Prefix the command with sudo.  Thus, from the above example, sudo python /path/to/file will execute the script with root rights.
     
  4. Need to execute a GUI program from the terminal?  Simply type the program name (case sensitive!) and it will launch.  This will render the current terminal unusable.  Closing the terminal while the program is open will kill the program.  A better way is to background the program, using program_name & and then typing the word exit at the terminal to close it and keep the process running.
     
  5. Need to run a GUI program with root rights from the terminal?  Prefix it with gksudo or gksu and not sudo.  Using sudo to launch GUI applications is a bad habit and should be avoided.
     
  6. Do not, do *not* use sudo simply because something receives "Operation not permitted."  Keep in mind what you are doing as you can absolutely *destroy* systems by running commands in the wrong place with root rights.  This point cannot be emphasized enough.  Make sure your files come from reputable sources.

Quick tips:

  1. Lost yourself in a directory?  Not sure where you are?  Type pwd to print working directory.
     
  2. Want to calculate your disk space quickly?  df -h can give you a quick checkup.
     
  3. Want to calculate the size of a folder or file quickly?  du -cksh target_name can do exactly that.  Want to calculate the size of the current folder?  du -cksh .
     
  4. Need to mark a file executable?  chmod +x filename can do that.  Next time you see a file you need to execute and it is not marked executable, now you know how to fix it.
     
  5. Want to mount an iso like Daemon-Tools on Windows?  Linux has this functionality built in.  Simply create a directory somewhere, say /home/justin/isomount, and issue the command mount -o loop /path/to/myisofile.iso /home/justin/isomount and the contents will be mounted inside that folder.
     
  6. Run a command before, you need to re-run it, but you can't really remember what it was exactly?  Type history into the terminal and it will print out your command history.  Want to clear your history?  history -c will wipe the information.
Comments
RISC_Taker 11 months ago

Very much appreciated!


Crazyclownaus 1 year ago

Nicely done thankyou


dev_app7 1 year ago

Nice for a Noob.


bobbycatji 1 year ago

Thank you! This is very generous of your time and effort to put this quick tutorial together.


subhash 1 year ago

thanks!


kodzio 1 year ago

That's great. Thanks!


koficoud 1 year ago

Thank you.


Phoenix318 2 years ago

Very good tutorial for beginners. Thank you for sharing.


rangsumbar 2 years ago

Good.. Mantap...


salim1992 2 years ago

Such a very nice tutorial thanks !!


financenewbie 2 years ago

Such a nice tutorial, in 'save file in nano' section it says 'entier' instead of enter, please correct it, thanks. #LinuxMintRocks


Nikos1133 3 years ago

Great tutorial!!


joesplace 3 years ago

good info I haven't been able to find - thanks!


Johnny_Mnemonic 3 years ago

Wow! This really cleared up allot of confusion and brought allot of fractured info all together for me. and I've only gotten up to rm.
This is invaluable resource.
Thanks a ton!


Josemaria 3 years ago

thanks, great explanation


asrajo 3 years ago

thanks man.... :D


wdinspi 3 years ago

I'm sill learning, thanks, in favs


hiyan 3 years ago

thanks bro


BenjaminL 3 years ago

This is great, thank you :)


_chris_ 3 years ago

A large set of clearly defined basic/new user commands. The tutorial has been added to my favorites, as there are some differences sometimes between distributions.


Ansels 3 years ago

Good info, difficult to remember if you don't use it often enough. It's very handy. Thanks


busdriver12 3 years ago

I've been using Linux for just over 6 months and use the command line where I can and have found this to be a great reference - thanks! However, when not getting the gksu/gksudo to work I discovered (after some research) it's been removed by Debian/Ubuntu. Maybe this should be removed from the tutorial as well.


Chrissy 3 years ago

Once a command is entered can it be undone?


djk1983 3 years ago

Thank you, this is very helpful.


ash_nux 3 years ago

Thankyou!!!


wqhjstudios 4 years ago

thanks alot. i will keep it handy! got anything on setting up file server.


michael75 4 years ago

thank you :)


PaulCarry 4 years ago

Thanks for this tutorial. Useful for a refresher.


greencedar 5 years ago

Thank you for the tutorial. I found it helpful


Booty 5 years ago

Great info many thanks


wambamchanaka 5 years ago

Before I decided to make the switch to Linux, I researched shell tutorials. Most were much more information than was helpful to a new user. This is what I was looking for, a crash course of sorts. thanks


Wenaptic 5 years ago

Thx! It´s very useful!


aleksandr74 6 years ago

This is great, thank you!!


opzee 6 years ago

thank you for your tutorial
i just know how to use rm mv today


schakma 6 years ago

I tried TAB to fill in the rest of the file name. It doesn't work.


rw78abd 6 years ago

Very nice overview of absolutely essential terminal commands. A great reference and starting point


otherboy123 6 years ago

Thanks alot


Movemarrow 7 years ago

Thanks for taking the time to write this


Tm_tr1a52 7 years ago

Thank you so much for this very valuable reference. This will be helpful to all concerned and is a great contribution.


m3gam1nd 7 years ago

it,s really awesome and help me a lot..


ATN40021 7 years ago

Very useful! Thank you!


Carcharot 7 years ago

Thanks!!


lkhfif 7 years ago

thank you


Nature 7 years ago

thanks for writing these!


callmedem 7 years ago

Thanks, easy to understand for a newbie.


espion_mobile 7 years ago

Excellent! Thanks !


wsalehi 7 years ago

useful!


Barnie1201 7 years ago

hmmmm, back to the DOS commands (and Apple) formats! This is totally new for me except 30 yrs or so ago when I had to use one of the earlier Apple PCs.


indranandjha 7 years ago

important knowledge..thanks


nariman-palangi 7 years ago

very nice,thanks


sequimbob 7 years ago

excellent tutorial


bl4k0p2 8 years ago

Great post! Much appreciated.


drthangpaserto 8 years ago

nice to get reminded..


tjorge12345 8 years ago

Reminds me of my DOS days on my Tandy 1000


kladowski 8 years ago

Thanks


Check6 8 years ago

Awesome primer - much appreciated.


herbal 8 years ago

Thanks. It could be the best universal entry point to the Nix terminal IMHO.


grchiper 8 years ago

Muito útil, obrigado!
very helful, thanks!


pardhu 8 years ago

its very helpful.


rksharma 8 years ago

very helpful tutorial for beginner like me thanks !


simplejuan 8 years ago

Very helpful!


Esley 8 years ago

I am a newbie so this helped a lot


teachme 8 years ago

Very helpful tutorial; will also make great quick-reference on my bookmark bar, thanks! For those needing more hands-on, in-depth explanations & practice exercises, check out your local community college. Many of them are now offering classes in Linux at reasonable prices. I start in Jan2016, $54. Alumni praise the class for turning even the most illiterate newborn newbies into computer savvy users. This tutorial will make a great cheat sheet :)


astaria 8 years ago

For those who want to learn more, I really like this detailed, and easy-to-understand e-book: http://sourceforge.net/projects/linuxcommand/files/TLCL/13.07/TLCL-13.07.pdf/download. It's the Linux Command Line by William Shots, 537 pages of easily accessible information, organised by theme.


paul2carter 8 years ago

Good beginner info. Has helped me understand some terminal commands and some basic usages many thanks.


kent666 8 years ago

Thanks, but I need info on how to change initial logon password, not the subsequent admin user password. I changed the latter, thinking I was doing both at the same time--now I have two passwords to deal with, not just one. I think I need to change the password using GRUB???.


evertoncustodio 8 years ago

Very useful, thank you!


Oswald77 8 years ago

Very useful for reference, thank you.


bernieb 8 years ago

Thanks! A very good tutorial for someone who has limited experience mucking about " behind the GUI. I had to look up some things, like "man page", which apparently is NOT a sexist term. :_)

A suggestion for improvement.
Add some examples for readers to try.

A suggestion for clarity.
In the section about pipes, comment 2. "It is a rarely used key in Windows, it is often found on the backslash key." I scratched my head here for a while. I was trying to relate the second half of the sentence to the first half, and I could not make sense of what were actually two unrelated comments. Better as two sentences.


MikeS_inFL 8 years ago

Thanks, nice and concise.

I noticed some folks may be taking the title too literally, maybe should consider it an introduction rather than tutorial.

The author has provided a nice, easy to find reference that is much appreciated.


Alex33 8 years ago

Thank you so much for this tuto. I'm new on Linux and I'm surprised to understand quickly basics things.


Simon3863 8 years ago

While I can see the work that has gone into this, i have to agree with paravasta. As a real newbie to Linux who has never used anything other than GUI programs before, I just don't know how to run packages that have not had a GUI written for them. I was hoping that this tutorial would be the answer, but it assumes a level of knowledge above a base beginner. I appreciate Linux was not written for Windows XP exiles, but generally i have found Linux Mint perfect other then when I want to go "off piste". Can anyone point me to a real intro tutorial to Terminal?


stephenniemand 9 years ago

Very essential!


LinuxLover500 9 years ago

Very handy. A great refresher for those of us who only dabble in Linux. Thank you.


schwierz 9 years ago

super


simplejuan 9 years ago

enlightening!


nacho75 9 years ago

Thanks for the tutorial, good starting point.


gotvlad 9 years ago

Good job!
Thanks


gn0m3boy 9 years ago

I already knew most of this stuff...love the article though. There were a few commands I had forgotten.


ibDoug 9 years ago

To be honest, I didn't do this stuff in windows with any luck I won't have to do too much of it with Mint. But hey learning is growing.


Ikem 9 years ago

For shell scripts I use "$PWD" instead of "." and "$HOME" instead of "~". That saved me a lot of troubles.


alkali 9 years ago

very helpful, thanks.


HarryKnutz 9 years ago

Thanks for the info & time given


gagaman 9 years ago

Perfect tutorial for a linux newbie. Thanks alot.


suncoaster 9 years ago

Useful information, bookmarked for reference.


RonMoon 9 years ago

Very helpful.


amasa 9 years ago

Really excellent. Thanks Justin. Hope you are still getting our comments after 3 years.


robertfbn 9 years ago

Thanks Justin, it's always good to start at the beginning.


rayxoxo 9 years ago

Using Mint 16, #3 du-cksh, etc. did not seem to work on my terminal


rmholway 9 years ago

Great! Well resumed and direct.
Reminds me of the time when I had hair on my head and used the DOS on floppies! :)


Shakeyacres 9 years ago

Makes a great Quick Reference for the newbie. Thanks


rajbarath 9 years ago

Thank you extremely useful.


xfirebg 9 years ago

Thanks for the tutorial!


jfleen 9 years ago

I started on Win 3.1 & remember using the command line frequently, but it's been a couple of decades since then. This is a great intro to the terminal. Thanks!


almeriden 9 years ago

Thanks


Peyroutel 9 years ago

Very helpful for us oldies, thank you.


realist2000 9 years ago

Thank you very much for this tutorial.


poly 9 years ago

very helpful for a beginner like me , thank you !


Bee1 9 years ago

Short and Sweet.


jgstef 9 years ago

Excellent tutorial! Thank you!


Bee1 10 years ago

Taking it very slow so that it can marinate.


Rodlea 10 years ago

I'm new to linux and I am pleased to find such quality tutorials. Thanks.


cork 10 years ago

Great tutorial!

If you are new to linux, then this is for you.

If you are experienced, then this is a nice refresher.


Gamma 10 years ago

Great for Terminal Noobs


yabbar 10 years ago

Thanks for a very good starting document for beginners.


IanDSamson 10 years ago

The pipe key \" | \" is often used in Windows, but only in the command line
such as TYPE <> | more
I guess it's the same in Linux, only in Terminal emulator.


Hiace 10 years ago

Handy writing, although it could be updated as mentioned earlyer in the comments.
There's quite a few usefull tips in the comment that deserve a spot in the howto.

I'm lucky to have a Dos os background, from wich i reconize quite a few commands :D
But still, one is never to old to learn new tricks :)


unikk 10 years ago

simple and instructive,THANKS


sagarpdalvi08 10 years ago

Thanks


susannoel 10 years ago

I never completely understood your article the first time. Will study it again. Thank you. Susan


disPPlay 10 years ago

Very good tutorial for newcomers to linux and to linux mint who don't understand how to interact with the terminal.


grumpycrocodile 10 years ago

thanks, good tutorial, starting to enjoy using terminal


cappy 10 years ago

I notice that the article has not been edited for 3 years. It would be helpful if someone who is well versed in Linux could take the suggestions that have been made and write an article for those that need the absolute basics. Looking back in the comments it is obvious that there is a great need for this. Those that have come from an O/S (Operating System) that uses a GUI (Graphical User Interface) have no concept of a command line structure. Many do not know even the most basic abbreviations. I would do it myself, but I do not have the knowledge to do this.


Many who have read this piece state that they are just as confused as before they read it. For experienced Linux users it is difficult to remember how little newcomers really know and how much help they need.


cappy 10 years ago

I agree with korpu as someone like myself, an absolute newby, needs very basic help. (even the font confused me: at the explanation of ls it took me 10 minutes to figure out what the l was. was it a 1, was it an I, was it an |?) However the article did help a lot but I am old and was exposed to DOS. I imagine someone who has never seen command lines before would be really confused. Many of us coming from years of Windows need the absolute basics. What does bash mean? I know from DOS that cd means change directory, but something as simple as knowing that can make a huge difference. This is not to say that that I don't appreciate what the article says. My thanks to the author, because it did help me immensely.


Korpu 10 years ago

It's not basic enough for beginners. It would help to tell where it is, what it can do for me (not abstract benefits, concrete result that I can't get other way), how I can do what. In start Menu > Terminal, the black window opens, shows username@computer name and $. Now what? And what and why should I do? Action-result information, not abstract concepts, please. Why so, see "How to "help" someone to use computer" (http://community.linuxmint.com/tutorial/view/190). Appreciate the effort, though.


dogsolitude_uk 10 years ago

Splendid! I am now a yellow belt in sudo.
Thank you :)


blaine00 10 years ago

Nice! Every new GNU/Linux user should have this on their fridge.


Leos 10 years ago

Well, This is EXCELLENT! Thank you Justin!


webdarek 10 years ago

http://webdarek.tumblr.com/

Protecting files / folders from unwanted deletion is very important security on the tasklist of Unix Administrators. On Linux boxes you can use the chattr command and that works ine on all my Ubuntu based servers.

Let’s give you some examples how chattr work under Linux:
To make a folder undeletable, run:

sudo chattr +i -R foldername

After that, you can’t delete, rename or do anything with this folder. But if you don’t need this folder anymore or you’ve got to apply some changes to it run:

sudo chattr -i -R foldername

To make a file undeletable, run:

sudo chattr +i filename

To be able to change or delete the file, run:

sudo chattr -i filename


Bee1 10 years ago

I have a long road ahead of me!


zantaz 10 years ago

i still read it for 23th time but i cant understood very good ... sorry ...


mhayta 10 years ago

They are mostly needed commands thanks..


zantaz 10 years ago

good and nice introduction of shell command ...


zantaz 10 years ago

good write text ...


elfaure 10 years ago

Justin-

Agreed, rm -rf some_folder is dangerous business for the newbe. Then again, so is sudo -i but at least you only have to enter your password once for the entire interactive root shell session, and you can then execute all sudo commands to follow unprompted. Good when you need to be root for more than a single command.


elfaure 10 years ago

Also add:

sudo apt-get install some_pkg


elfaure 10 years ago

Good, but add:

find
which
echo $PATH
PATH=${PATH}:/Path_to_add
sudo -i
mount | grep tmpfs


robert1407 10 years ago

Most of this is way above my skill level. I just hope that I can use he operating system


kedem 10 years ago

good


disPPlay 10 years ago

Great tutorial.
Congratulations


gadgetboi 10 years ago

i know that some command are simmilar to DOS command but Linux is different and we must understand the basic first :D


Mpegforever 10 years ago

Thanks. Did never hear nano or killall. Well, will continue to use Windoze for work (unfortunately) but am starting now Maya for personal use.
Compliments for the good work.


SteveFAL 10 years ago

**PROPS AND A SUGGESTION***
Very nice tutorial! My command-line experience goes back to DOS 2.0 and I still find myself inadvertently typing "dir" instaead of "ls", and, being new to Linux still have a heckuva lot to learn about the basics. The pipe "|" is a sublimely powerful tool that should have its own tutorial;- whoever invented that deserves to be rich and happy.
The occasional bit (no pun intended) of dry developer humor in the shell really lightens things up too. Developer humor? How about the "less" command doing more than the "more" command. Just like the old saying "less is more", except in this case, less is more than more... Monty Python couldn't have thought of a better name for the command.
Also, I still get a chuckle when I run "sudo apt-get moo".
ANYWAY, I *do* have a suggestion here that may help the (really) green newbies a bit, RE: The tutorial fact 11. "Command names are not always obtuse - due to space limitations in the old days of Unix they were shortened, and the conventions stuck."
My suggestion is to mention the word (or words) that the command abbreviation was derived form. Surely most people can figure out that "cp" is short for "copy" and "mv" for "move", but it may not be immediately obvious that "ls" is short for "list" and "cd" for "change directory". YES, a little thought will make many commands' abbreviations apparent, but once beyond the very basic ones seeing them in print right after the abbreviation will make them easier to not just figure out but to remember, i.e. cat (Concatenate).
The command line is much more useful if people REMEMBER the commands. :-)


DMNashir 10 years ago

Help me a lot.. thx..


surya_73 10 years ago

thanks


Benjamin1974 11 years ago

Sweet! now if I could just find the terminal command for clicking "like" on FB....


prashantnalin 11 years ago

Still I am getting nothing...................


jimijab 11 years ago

Awesome. terminal is very daunting for noobies but this is rather helpful.


mfzn 11 years ago

i prefer terminal than gui
terminal is faster


BigBonsai 11 years ago

The only thing that annoys me every time is that "mv" cannot move folders, or rather move folders recursively (meaning it doesn't take the -r option). Annoying. GUI is much better in this respect. Quick CTRL+X and CTRL+V.


keertushar 11 years ago

Thanks


lucky7 11 years ago

Thank You all for this work and help. I just switched to this os and due to the the fact that I was sick with window's os and the problems that always pop up I joined the Linux Community. Since I have been on windows crack since win 3.1 this is simalar to the old dos and makes sence. Mint is amaizing and thanks for a better OS


Mart777 11 years ago

A really good overview for somebody like me, who has only used the terminal so far to input commands, without knowing what they actually mean and how they inter-relate.

I have started to use it alongside other learning media eg.YouTube.

Good foundation material.


petexanh 11 years ago

Really good tutorial. In a world where so many linux/unix tutorials give you a keyword and just tell you to look up the man page, its great to see one that cuts straight through to the more commonly used basics to give users the confidence in the terminal environment to explore further for themselves.


code4j 11 years ago

Great :)


yatriparis 11 years ago

Light and clear. Thanks. Jacques. Happy new year !


RogerJones 11 years ago

Great tutorial for an old newbie like me.


blueXrider 11 years ago


mekanik7777
i feel so dumb, i just dont get all these terms and ways to use the "shell". why isnt it just in regular language, is there a more of a beginner tutorial, sorry im from the usa, we have crummy schools

DON'T BLAME THE SCHOOLS FOR YOUR EDUCATION PAL. YOU WERE THE ONE THAT HAD TO LEARN THE STUFF


mekanik7777 11 years ago

i feel so dumb, i just dont get all these terms and ways to use the "shell". why isnt it just in regular language, is there a more of a beginner tutorial, sorry im from the usa, we have crummy schools


cdustybk 11 years ago

Great tutorial! I only wish I could have seen it when I was starting.

I think one nice thing to add could be whenever typing your password (for example after sudo some_command), no characters appear for security reasons.
That is probably the one question I get asked more than anything. Again, great tutorial!


longbowz 11 years ago

I have to say Mint tutorial is most user friendly to newbies I've ever seen. Thanks! \o/


diabolist 11 years ago

Good ice-breaker for the terminal noob


sigshane 11 years ago

Awesome down and dirty primer on the terminal, man.


stephenktatton 11 years ago

This is a good straightforeward tutorial,but whenever i try to use a terminal I can put in a command but everything freezes when I attempt to type in my p/word. So it hasn't really helped with my particular problem.
Apart from that, BRILLIANT.


david_a 11 years ago

Good information for people to have.

Under "Commands", in the "cd" section, you say that typing .. takes you back. People might think this means "back where I was a minute ago" - that's the usual meaning of "back". Probably this should be changed to "up" instead. "Up" sounds strange, but at least it isn't wrong.


Lubuntu 11 years ago

Looks like a great place to start. I've been playing around with Mint for a while but it's time to get serious about Linux and this is cool since I'm used to knowing my way around a command prompt in windows.


linuxXTC 11 years ago

Awesome tut :) lots of commands wow thank you


da1vinci 11 years ago

非常好的教程。
Good tutorial! Thanks!


callet09 11 years ago

Thanks. Great tutorial


olemorten 11 years ago

very nice tutorial!


derekpmiles 11 years ago

I'll be back I'm sure ,what I needed to get started.


Althorax 11 years ago

Good stuff here for this noob!


kkdg 11 years ago

If you write a book, I will buy it definitely


kkdg 11 years ago

great tutorial in a nutshell!!


wisdomlight 11 years ago

#A tutorial that demonstrates lreal life examples would be highly appreciated.
I do not understand what can actually be achieved by an avarege user like me who knows very little about computing.
Thank you for the conscie explanation.


Neorg_64 11 years ago

It took me more then 5 minutes and I will consult it many more times. Great start for me.


toniround 11 years ago

Just what I am looking for


bdukes11 11 years ago

Great for beginners like me.


Zebaztian 11 years ago

Excellent! *****


timothy23 11 years ago

Clear, useful, well done.


Bear65 11 years ago

Boss thank you!


redeemed 11 years ago

Very good tutorial> Just what I was needing. A few possible typo's, but still clear and concise.
Is this a typo?;
The syntax of mv is similar to the example above with cp exempt for example #2. Should EXEMPT be EXCEPT?


oldfagin 11 years ago

Great tutorial... Covers the basics and kick starts the old grey-cells into wanting to know more!


Doyle 11 years ago

Good, but please add something like this to the 'rm' command:

"Make sure you are deleting exactly what you want, by testing the file selection using the 'ls' command with the same file selection criteria."

I figured out this stategy in 1993(Microsoft DOS) when I accidentally typed 'del c:\*.*' instead of del a:\*.* at my bosses main work computer and it took all of the rest of a long lunchtime to fix it, finishing just before he got back. I was clearing my full floppy before copying a single file. I won't forget the hour of high stress and potential loss of reputation, access privleges and pay from that mistake.


JML103 11 years ago

Nice tutorial... Helps a lot


JML103 11 years ago

Nice tutorial... Helps a lot


JML103 11 years ago

Nice tutorial... Helps a lot


grimdestripador 11 years ago

Sed and Grep are important. Grep can be used with other programs to search. Use Grep on Search Terms: grep searchTerm $(find . -name "*.ext") . Use itself to find in files of this directory: grep -r --include="*.ext" searchTerm


Toxic 11 years ago

Thank you for these tips. Now I'm going to use pipes more extensively.


bibliafelipe 11 years ago

Very good tutorial!


voor 11 years ago

really helpful


rcraig3 11 years ago

Help to be able to have a source of information you can use to make a cheat sheet.


ChillyWilly 11 years ago

Awesome! Thanks


nunya 11 years ago

useful, thanks


Jimmy_ 11 years ago

Thanks this will come in handy


bibliafelipe 11 years ago

Very good, thank you very much for this Tutorial.


kp99 11 years ago

Thanks. Very Helpful...


Thinker 11 years ago

Nice


mdouzzi 11 years ago

Great job! Very helpful for a beginner


arovella 11 years ago

Very good.


backbone 11 years ago

great tutorials for novice


mark-anthony161 11 years ago

Great... Thanks


NuR1L 11 years ago

terimakasih


RavingLoony 11 years ago

Good for a start but a lot of newbies will still be confused - not necessarily by the article but words like promote/demote when voting - today people use like/not like whether we like it or not! And I speak as a wrinklie.


antonrorepande 11 years ago

waow, good share..

as a beginner, good for me..


chris2006 11 years ago

Great help! Thank you!


mdouzzi 11 years ago

Thank you very much for this tutorial


zrslg01 11 years ago

Nice and handy, but still rtfm :) I know one guy, who can really benefit from this. best


XavierTG 12 years ago

Thanks a lot for your tutorial.


hexmodz 12 years ago

its help me alot


capeferrelometal 12 years ago

This is just great. I just installed Mint 12 LXDE, and love it so far. Never liked the theatrics of Windows.
I have not typed a command since I used Wang UNIX systems mearly two decades ago, so it's great to get back into the fun.
The tutorial is wonderful. Nice to know things under the flash is still intuitive and useful! Thanks!


paulthepenguin 12 years ago

This is great for a new user like me :) thank you


hankrich 12 years ago

thanks, this is very helpful.


AllanLindh 12 years ago

Unix is a beast, but you almost made me smile. Thanks very much. Long live VMS!


newbiewon 12 years ago

I have learned a great deal about Linux history, how to load opperating systems, how to coexist with windows and how to recover from some disasters. Now I want to become a Linux user and this is a great start. Thanks for thinking of the newbies!


gtones 12 years ago

can these commands dependent on which version of Mint someone is using?


soulrain 12 years ago

Just went threw this list. Great stuff. Thanks for taking the time to upload it.


apet666 12 years ago

thanks man.. god bless..


AshBaby 12 years ago

very useful


userXVII 12 years ago

Great place to start. Thanks.


joroxrd 12 years ago

Thank you very much!


tms2004 12 years ago

Thanks really helpful .


kututech 12 years ago

Nice share, very helpful for me..


fxb3 12 years ago

Very nice, well-written tutorial.


sillyousu 12 years ago

hi . Can I translate it into Chinese and post it on my blog?


adibhanna 12 years ago

this is very useful! thank you.


dazw2000 12 years ago

This post is great for the shell commands in a terminal window. Wishing that i had read them as these are of great use to new users. May be i shall not keep going in circles. Many Thaks


stonetrek 12 years ago

Thanks, just what I needed


24horsonline 12 years ago

Poderia atualizar para o novo mint

It could bring up to date for new mint


nicabod 12 years ago

Woopsie! Misplaced closing double quote...

Suggested edit:

"... directory somewhere, say /home/justin/isomount, and issue the command

mount -o loop /path/to/myisofile.iso /home/justin/isomount" <---HERE

and the contents will be mounted inside that folder. I added blank lines,

Should be:

Suggested edit:

"... directory somewhere, say /home/justin/isomount, and issue the command

mount -o loop /path/to/myisofile.iso /home/justin/isomount

and the contents will be mounted inside that folder." I added blank lines,
(et cetera).

Sorry!

(OK with me if the @moderator fixes my original post and deletes this.)

Would be very nice to have a Preview function in this software. Also desirable would be a time-limited (half hour?) ability to edit your message after posting, and enable the Insert key.

Best, [nb]


nicabod 12 years ago

Oh, dear. I just spent about half an hour typing a moderately-long comment, then hit Promote (before "Add comment"), and lost everything. Should have known better. Only an expert could dig through RAM and (maybe) find what I'd typed. Second time will omit and be more concise:

Anyhow: I've come across various explanations of [bash] and the CLI, but usually abandoned them part way through. This is, imho, excellent writing, as many others have said. (I didn't read most comments, just scanned).

A few thoughts: If you ever do [rm -rf], do seriously consider clearing history [history -c] as soon as you can, so you won't do {up arrow} Enter.

I'm still mostly mystified by loop mounting. Your example is helpful, but there's a quite-unfortunate line break just where a newbie doesn't really know whether to type a space or not.

Suggested edit:

"... directory somewhere, say /home/justin/isomount, and issue the command

mount -o loop /path/to/myisofile.iso /home/justin/isomount"

and the contents will be mounted inside that folder. I added blank lines, because line endings will differ once this is posted*. It's better to have a too-short line precede an important command (or other input [text]) than to risk embedding a {newline} within a command (or URL).

*Old-timers will recall a need to hit Enter at the end of every line; this was before automatic line wrap and flowed format became common.

This collection is good enough to merit translation (as in Wikipedia). (Care to make a Wikipedia article out of this? That way, volunteers will translate!)

Best regards,
[nb]
midnight hacker in 1960


paladin_knight 12 years ago

Clear enough but please add these commands:
1. uname
2. whoami
3. which
4. su
5. passwd
etc.. there are tons of basic commands. need to be updated.


thetomster 12 years ago

very useful for cli newbies like me.


IslandWolf 12 years ago

Thanks for the info, both old and new!


thoudahl 12 years ago

Nice first introduction. thx


Arundathi 12 years ago

Merci beaucoup c'est très clair !


paull59 12 years ago

Thanks this was a great refresher....


andrei90 12 years ago

Thank you very much for all the details.
Cheers mate.


inf3RNo 12 years ago

thank you =) nice tut.


salmane 12 years ago

clear enough for newbie, i like this.


nassosdim 12 years ago

Excellent resource for beginners. I'll share it on twitter :)


coolsaddam2525 12 years ago

THANKS....


krause 12 years ago

Excelente para quem está começando a trabalhar com linux


linuxfanatik 12 years ago

About turning this tutorial into a PDF file, I have (Under Libreoffice Writer) a facility whereby when I use my Epson Printer to Print the document under Libreoffice (you just copy and paste it into a blank document, name it then go to print) you get the choice of printing to file, actually print, or turn it into a PDF form - which is great! Linuxfanatik


linuxfanatik 12 years ago

I have several 'guides' to the CLI (Command Line Interface) Console or Terminal using various Bash or Shell Scripts, but the one above is the most clear and useful one! I used to do admin with Unix some forty years ago, when I worked for Plessey PLC, but when you move onto something else you tend to forget familiar scripts and texts, and anyway, Unix has moved on from Bell Associates and Berkeley University in California and improved since BSD and Solaris came out. I miss Solaris as a Free unix system since Oracle took it over - who can afford to pay the prices Oracle want to charge when your retired? I will be happy to see other Tutorials by Justin, like Clem , he's got a great following and knows a lot that we can all use in Linux Mint.Linuxfanatik


moxamandeel 12 years ago

Thanks
It's nice


odyszor 12 years ago

Thanks, very nice intro


dwcunplugged 12 years ago

This is a very good intro to the command line. I just started studying for the LPI level 1 exam, and this is very much the first stuff you learn. Great job.


Examiner 12 years ago

Thank you! From a newbie...


Kulato 12 years ago

Very much needed for those who are new to Linux.


geomcd1949 12 years ago

refrigerator: n. L., a device which, if you look inside it, you should find a cold beer.


ranjith 12 years ago

this is great it had helped me to built knowledge a lot thank u!


sidsparks 12 years ago

I made a pdf of this in response to a couple of comments but don't know where to put it to link to so here is another option. The whole of this can be copied by selecting the text using the mouse in the same way that you would in a text editor or word processor then use the normal copy command (Ctrl C ) or right click and select copy. The text can then be pasted into any editor or word processor of your choice using either Ctrl V or the paste command from the edit menu. Once the text has been pasted it can be printed or saved.


Nills 12 years ago

really thank you. very helpful info for me.


Vishal 12 years ago

nice one got to know commands which i was not aware..


erictennant 12 years ago

Great for beginners, I think a PDF file would be a good idea.


jarhead0311 12 years ago

B nice to have 'Print out' button on these pages.


Labby 12 years ago

Very nice tutorial! Most of these commands I already knew, but it's a great resource for beginners.


kingugo 12 years ago

very helpful info for me as a newbie as i hope to learn more. wont forget to say; it was hard to read and practice


blueXrider 12 years ago

What would be nice here is to wrap this all up and have a download-able PDF


blueXrider 12 years ago

Excellent information


robman1987 12 years ago

Good


ivy_s 12 years ago

Very good for newbies.


breaker 12 years ago

@peterdoug - http://tldp.org/LDP/Linux-Filesystem-Hierarchy/html/

The entire http://tldp.org is awesome, it stands for;

The Linux Documentation Project

Here's a good jumping off point also - http://tldp.org/HOWTO/HOWTO-INDEX/categories.html


RavS 12 years ago

Great! Thanks :)


Seoolas 12 years ago

Very helopful. I shall be refering back here a lot as I go...


pois3 12 years ago

all this was needed, it takes time to learn this. thank you. Most excellent!


Biren 12 years ago

Useful indeed. Thankyou.


kenhall5551 12 years ago

Very good tutorial. great starting point for newbies. Thanks


cwoodsp 12 years ago

As a newbie to Mint and, by extension Linux, it's handy to have easy-to-follow tips and guides. This is one such resource. Well done.


dodjie60 12 years ago

And to add to all this great tutorial, my favorite is typing xman in terminal to show manual browser in GUI. I've been using this since Red Hat 9 and SuSE 9 (I think).


LONNIEFUTURE 12 years ago

Unknown by most you can find and install from the menu as well as any terminal "it's awsome" great thinking.


peterdoug 12 years ago

Hi,

Very helpful.

I would like to see a link to a similarly helpful article that explains the Linux file system as it is so different from Windows.

That would help me get my head around the terminal.

Newbie to Linux, who's used UNIX, DOS, Windows (95-XP) to do work.

Many thanks


jesusmiranda 12 years ago

Really helpful for me... very good tutorial.

Many Thanks, man!


genothomas 12 years ago

Nice article...


Leaf 12 years ago

great tutorial


justin 12 years ago

mysoomro: Thanks for the comment. :) You don't fear the command line, you always keep in mind that just because something doesn't work, don't prefix it with sudo by force of habit. Becoming accustomed to a prompt or denial of an action due to improper rights to the system is no reason for negligence.

Please don't change the meaning by taking only a snippet of the intended comment. Fearing the command line and not realizing consequences of quick actions are two different things. That is the intention of the warning.

I've seen several instances of people who state "It didn't work, so I used sudo" only to cause damage to the system (such as a mass chown -R or something involving local Xorg files.) The goal is to bring this thought to the forefront of the mind when using things that have such impacts. It should not be any different for a personal computer than a mail cluster which hosts 25000 mailboxes - good habits make for proper execution.


mysoomro 12 years ago

Great tutorial. Really helpful for starting up. Thanks.
But I have a question. Do we really don't have to fear command line? You first said don't be afraid, then in bold face font, you warned that, : we can *destroy* systems by running commands in the wrong place with root rights .


thecorfiot 12 years ago

Great introduction to Bash. Nobody should fear the command line!


dazw2000 12 years ago

This is great and well worth taking the time and effort to really read and learn what the commands and the extension on the actual end of the command does, in the terminal. and what effects it has on the system when you use them. Its really a must for me and one shall highly recommend this tutorial to others. Thank You So So Much.


intelliginix 12 years ago

Need more info on the bash shell? Check out the Advanced Bash Scripting Guide http://tldp.org/LDP/abs/html/


Calensito 12 years ago

Really helpful for me, since i install Linux a few days ago.
Thanks man!


michaeltristan 12 years ago

Very well written and to the point. Great set of basic/new user commands clearly defined to get folks on the good foot. Well done, thank you.


kiranguhagarkar 12 years ago

very good tutorial.


pana 12 years ago

Excellent tutorial for beginners, and nice article for anyone on Linux.
I know a lot of this commands, but I refresh my knowledge.
Thanks.


HarryKnutz 12 years ago

very much needed....thanks for your time and effort


ndixon 12 years ago

Nice introduction, though maybe you could mention that 'mv' is also used to rename files?

Also, neat tip: "cd -" alternates between the directory you're in now and your previous location


ashtoash 12 years ago

Somewhere I have already read about that :-)

Good article on the basic shell commands.


Mason- 12 years ago

Great, I knew most of this but the information is great and just to review is always a bonus. Thanks a lot.


wanda 12 years ago

Very gread , good tutorial!


samriggs 12 years ago

Great tutorial.
Turned it into a pdf and saved it my wife wanted to learn more so now she has a pdf of it.
Thanks again


yellowpike 12 years ago

All I can say is THANK YOU !!!


Tonya 12 years ago

Many thanks! Very good tutorial!


thephoenix 12 years ago

A good information for beginner on how to start using the terminal. Nice tutorial, thanks!


jimmyMaruchan 12 years ago

Awesome! Thanks!


Kalingamahesh 12 years ago

very useful..


studentbong 12 years ago

Nice One... This help those who transfer from windows like me.. Thank you so much..


Flanschbob 12 years ago

Great tutorial, but two things are missing to make it complete:
- Quick tip #6 should mention the use of the arrow up/down keys to load used commands
- It should be mentioned that your password is 'invisible' when typing it in. this is quite unusual and very confusing for beginners.


Saints_Dazza 13 years ago

Nice! Good intro to terminal. Great starting point for a seasoned MS user making the transition to Linux.


kakapyly 13 years ago

thank you!


kdh333 13 years ago

Nice tutorial...well done...;-)


kevr 13 years ago

@jhpassarelli, this guide is named "The 5-Minute Essential Shell Tutorial", not "The 5-Minute GUI Tutorial"


jhpassarelli 13 years ago

There is a GUI way to mount ISO images... just right click an ISO amage and select "Open With Archive Mounter". That's all there is to it!


baldwiew 13 years ago

Nice and quick for newbies and a reminder for the likes of me, almost stuck in the GUI world.


spyngamerman 13 years ago

thanks nice and easy to understand for a noob like myself command lines normally scare me but your tutorial definitely takes the edge off ;)


henrymak 13 years ago

This is the first time I use Linux and this tutorials is really helpful. I spent a lot of time just trying to understand some of the terms used in the forum and articles. There should be more tutorials like this to help more people like me migrating to Linux. A glossary of the technical words use in Linux will be most welcome.


troyM 13 years ago

Thank Justin, I just used the Terminal to remove openoffice.org and install libreoffice. Keep up the tutorials!


kephalian 13 years ago

I am a newbie to linux, I like this tutorial. I was long trapped with the Vendor M5 WIND0z, shopkeeper GATE.Linux is For me.OPEN SOURCE ROCKZZ.


cphayes0882 13 years ago

Its funny how the terminal at first glance can scare ya, then you read a tutorial like this and see how relatively simple the commands really are. Thanks a million for this tutorial.


Twix2247 13 years ago

I just switch to Linux from windows (Downloaded Julia x64). I was a pretty good windows user and have a lot to learn about Linux. The basic Terminal commands are something new to me since I was used to MSDOS promt. Thanks for posting this.


Blanton 13 years ago

Thank you for this quick guide. Absolutely a must have in the linux communities as a whole :).


linus 13 years ago

Thanks!! It's really helpfull


mikefreeman 13 years ago

Very helpful for the uninitiated! :)


rubul 13 years ago

thnx


kriskardiak 13 years ago

Thanx


angelomat08 13 years ago

just using this linux mint 10..thanks..i'll try this..^^


numn 13 years ago

Everything is in here!
Beginners will thank you for this :)
Thanx for the tip with gksudo!


Sol_Badguy 13 years ago

Very useful to beginners...


Qruqs 13 years ago

Lots of good information.


grim 13 years ago

Beginner friendly and pretty awesome indeed! Thanks :D


blacx 13 years ago

very useful for the beginners... :)


jahwarrior4179 13 years ago

I Like it.


morris_hunt 13 years ago

I need to download a WIFI driver for Linuxmint 9, that is inside Windows 7, and learn how to make it operate! Can some help me by Chatting in Yahoo Messenger, or by Email,mwh2222@yahoo.com, I am Morris Hunt, mwh2222 in Yahoo Messenger!


dorus43 13 years ago

Very nice summary

Thanks


sandyv 13 years ago

Great tips for someone thats as brain dead as I seem to be at times!

Thanks much! :)


Shostako 13 years ago

Very good first tutorial for the beginners. Great work.


itonggant 13 years ago

thx


corinoco 13 years ago

Useful also to older noobs coming back to *nix after an 18-year absence.


SeaCorpseDan 13 years ago

Thanks for taking the time to write this tutorial. Really helped out a linux noob.


linXea 13 years ago

I like the idea of a quick how-to ... Of course the "man" command will be the most effective to learn the actual use of the commands.


merelyjim 13 years ago

Printed to PDF so I can have something to share with other while in an off-line environment. Nicely done.


johnnyp 13 years ago

very nice ... i learned some new trix


Dervheid 13 years ago

If all tutorials were this well done, there'd be a whole lot more people digging in deeper. I wanna learn, this doesn't scare me off... :)


southsidesam 13 years ago

Good noobe article


eerika_ 13 years ago

Awesome article, Justin. Good work

Erika


Ki3rk3gaard 13 years ago

Truly MINTy fresh now I can be a hero in a half shell ! I have been putting it off but you've removed some of that initial aversion .


crivote 13 years ago

most useful for newcomers and people like me, used to just c&p terminal commands from googled tips pages. Thanks for providing some light and clear explanations.


Lexux 13 years ago

Great Work, very good tutorial. Thanks :)


udana071 13 years ago

As a beginner I think I've 2 read this many times.. :D


tincotts 13 years ago

Tincotts Having used Linux for 6 or more years, Ive always worried about
using the terminal, even though familiar (once!) with the old Dos notation. I feel far more confident now in attempting to try my hand. Very grateful for the info.


Shardon 13 years ago

For someone who was raised on the old DOS command environment, this was most helpful. Amazing how old habits seem to just hang out in the memory banks and when in terminal the urge to use them just comes crashing forward. Nice quick overview and very helpful.


sayry 13 years ago

********


d_zaxc 13 years ago

good work. thanks.


KittyKatt 13 years ago

Awesome article, justin. Good work. :D


gallus_gallus 13 years ago

the shell never goes out of style, thanks for making it easier for us


Ed_Frost 13 years ago

Very helpful, thanks a lot!


m4daredsun 13 years ago

Very nice. Thanks


wdliming 13 years ago

good


gee7 13 years ago

Good article, Justin.

Two things, though, Page Down and Q.

Remember as a newboy to Linux how easy it is to get baffled. For example, after using the command "man application-name" or "info application-name" such as "info gnome-terminal" some of the information will be shown. It would be useful to explain in the tutorial (1) how to see the rest of the info by repeatedly pressing the Down Arrow on the keyboard or by one click on Page Down and (2) more importantly, how to escape from this info and return to your home at ~$: by pressing the Q key (for quit). I guess that many inexperienced users can only escape from their current page by closing the terminal altogether and then opening it up again to start something new.

Also some new users may worry that the processes will continue after closing the terminal, so It's also worth mentioning at the beginning that that closing the terminal by typing "exit" ("exit" and then "exit" to close down root, then user) or by clicking the cross in the top right corner will kill the processes that you have been running in the terminal, either as root or as user. As an introduction, how to open and close an application (and how to escape from some its processes) is always a good start.

It's all very useful stuff, your article can then move from the most basic to the semi-skilled. Thanks for caring.


thermodynamics4 13 years ago

Very well done, i was looking in another places and is a bunch of commands that is not easy to learn at first look. So this is nice and usefull, Suhana point me to the right direction. Thanks Mint Community!


nolarut 13 years ago

Great info, thanks for posting.


kevr 13 years ago

seen tons of new folks asking for pointers to a page with beginning tutorials to the linux shell. this one is laid out right here for you, just don't skip sections. very nice :]


Deadguy 13 years ago

very nice intro to the shell Justin!!


navigator1 13 years ago

good job !!!!!!!thanks


leleyx 13 years ago

Really liked it, I'm a complet n00b to linux, but been playing with MS Command Prompt since monkey years, and love that I can do it again, weird, huh?


Karlozkiller 13 years ago

Really good one, been using different Linux distributions on and off but never really learned too much about shell scripts and such.

This is great!


hatani 13 years ago

Thanks! I know some of the basics, but stuff about (gk)sudo and iso mounting was very helpful.


heltonbiker 13 years ago

Hi, Man!

I was thinking about a tutorial on shell script, which we haven't here yet, and I found this one. It's very good! So I think you could write the next Shell Tutorial, this time teaching people how to save the commands to a .sh file, writing the shebang, making it executable, and so on. It is amazing that a process like this is almost unknown outside linux world, and I for one had been using it a lot earlier if someone taught me how easy and useful it can be.

Thanks for caring!


justin 13 years ago

Thank you everyone for the positive votes, it is greatly appreciated! If there is anything one thinks should be added, please post. Thanks.


Bunstonious 13 years ago

Good start Justin.

This is a sorely needed start for those users that "just don't quite get it" but I am afraid that there are many others that still wouldn't be bothered.

I for one appreciate the effort that you have put into this. Kudos.


justin 13 years ago

@dbpatankar - Agreed, I'm still on the fence about that actually. Abuse of rm -rf just like any others can have drastic consequences. I'll add it with warnings.


dbpatankar 13 years ago

Great start....... congrats!
may be 'rm -rf folder' will also be useful.
Since no user will like to confirm descending in each folder.


justin 13 years ago

This is probably incomplete at the current time, but your thoughts are appreciated. Please let me know. Thank you.