So a Gcode is just an X Y Z and E for Extrude coordinate thingy. So you start with a 3d object usually an STL file, and slicers take that object and calculate what movements it would take to make it. Starting at 0,0, (x, Y, Z) for the lower left hand corner, your gcode file might say something like Start at 0,0,0 and then go up to x=10, and over to Y = 22 (usually in Millimeters) and then make a circle extruding from Extruder E0 or E1 (in the case of a dual extrusion machine) for another 45 mm.
You can send that gcode to the printer one of several ways. Either by loading it onto the sd card manually and starting it from the printer if it has an LCD (like with a Taz) and to do that you would not need a computer attached. You can also instead connect the printer to a computer via USB and user a control program such as Cura, or prointerface or Repetier host to send that gcode to the computer line by line as movement commands. You can also do the same thing with devices such as Octoprint or Astroprint which act as a web server attached to the printer that you upload your gcode to and then start the print.
With auto leveling and nozzle cleaning, you do need to make sure those commands end up in your gcode file. Either by adding them at creation time, or more usefully adding them into the pre and post script sections of your slicer You could also manually add them in i suppose. In Slic3r specifically you will want to use the Pre and post sections to add in all those pieces.