Command Line Basics

The command line can be a scary place for someone not familiar with interacting with a computer through text-only. We are so used to using GUIs to point and click our way through tasks. In this series we'll walk through some of the most common command line tasks to help you understand what is going on and be able to do some cool tricks yourself.

Tutorials in this course
More information

The command line can be a scary place for someone not familiar with interacting with a computer through text-only. We are so used to using GUIs to point and click our way through tasks. In this series we'll walk through some of the most common command line tasks to help you understand what is going on and be able to do some cool tricks yourself.

This is the first video in a series that shows basic command line usage for *nix systems, such as Linux, Mac OS X, and on Windows, using applications like Cygwin. This video shows the following commands and spends the most time explaining how to move around your file structure from the command line:

  • pwd
  • ls (and ls -al)
  • less
  • cd
  • man
  • clear

Note: this video was originally released August 31, 2009 on Lullabot.com.

More information

The second video in the command line basics series, this one covers common commands for dealing with files; copying, moving and deleting them. We walk through examples for the following commands: cp, mv, and rm.

Just a a fair warning that I say the word "stuff" way too many times in this video. Please just bear with it.

´╗┐Note: this video was originally released September 8, 2009 on Lullabot.com.

More information

In this next video of our command line series, we will look at permissions and ownership of files and folders - how to understand the information you see and change it. It covers the following commands:

  • chmod
  • chown
  • chgrp
  • sudo

Note: this video was originally released September 16, 2009 on Lullabot.com.

More information

This command line video covers the three most common commands for compressing and archiving files, including how to get them back out again. Most commonly you first hit the need for these when you download a file and need to get it uncompressed. We'll cover the following commands:

  • zip
  • unzip
  • gzip
  • gunzip
  • tar

Note: this video was originally released October 28, 2009 on Lullabot.com.

More information

This video shows how to use the magical symbolic link, or symlink. These are basically a handy *nix way to create shortcuts. They come in particularly handy if you want to organize code for your websites outside of the web server's document root and that is the example we use here.

Note: this video was originally released November 23, 2009 on Lullabot.com.

More information

In this video you'll see how simple it is to connect to a remote server using SSH (secure shell). We'll also look at how you can quickly and securely copy files from a remote server using the SCP command (secure copy). These are both invaluable tools when working with servers that you don't have physical access to. Note: this video was originally released April 8, 2010 on Lullabot.com.

More information

In this video we'll look at two ways of finding files from the command line. We'll use both locate (and its friend updatedb) and find, and talk about the differences between them.

Note: this video was originally released June 8, 2010 on Lullabot.com.

More information

This video in the command line series will get you started using the very powerful grep command. This is one of the most used commands, especially if you are working with a lot of text (like code, for instance). Grep will let you search through files to find strings and it's great for tracking down where something is coming from. Grep is a very powerful tool with lots of options, but you'll see you can do a lot even with just the basics. We cover the basic command with a file, how to use it through directories, and then we use a few of the most popular options:

-r Recurse
-n Line Number
-l List
-v Reverse
-i Ignore Case

Note: this video was originally released June 22, 2010 on Lullabot.com.

More information

This video introduces you to the Vi (and Vim) editor. Vi is the most common text editor that you will have available to you on *nix systems so it pays to at least learn the basics in case you end up somewhere where that is all you have to use. Vim is also actually a very serviceable editor which many people (mostly hardcore geeks) use as their day to day editor. We'll talk briefly about Vi versus Vim, then open a file, move around, and close the the file. Our next video will dive more into editing files with Vi.

Note: There are a lot of editors out there on various systems, notably emacs, nano, and pico. Vi is considered the lowest common denominator (i.e. it is the most commonly available one), which is why it is the one being covered in the command line basics series. It is also the editor that I use personally, so is the one I am most familiar with. Please limit editor war discussions to other threads on the internet that are meant for them.

Note: this video was originally released July 27, 2010 on Lullabot.com.

Note: In some places the command line prompt is cut-off. The YouTube version of this video doesn't have the cut-off problem. We are working on getting this fixed, but in the meantime, check out the YouTube version instead.

Command Line Basics 9: Introduction to Vi/Vim editor (youtube.com)

More information

In this second Vi/Vim video we move on to doing some basic editing (see the Intro to Vi/Vim video for an overview). We cover inserting text in a few different ways, how to delete text, and then how to revert or save your changes. Note: this video was originally released August 9, 2010 on Lullabot.com.

Note: In some places the command line prompt is cut-off. The YouTube version of this video doesn't have the cut-off problem. We are working on getting this fixed, but in the meantime, check out the YouTube version instead.

Command Line Basics 10: Editing with Vi/Vim editor (youtube.com)

More information

This video picks up where we left off in the Editing with Vi/Vim video. This time we take a look at some shortcuts for replacing text, how to copy/paste, and the cool visual mode feature you get with Vim Note: this video was originally released August 31, 2010 on Lullabot.com.

Note: In some places the command line prompt is cut-off. The YouTube version of this video doesn't have the cut-off problem. We are working on getting this fixed, but in the meantime, check out the YouTube version instead.

Command Line Basics 11: More Editing with Vi/Vim editor (youtube.com)

More information

This video covers some handy tips for reusing previously run commands and moving around through a line of text in the command line interface. These shortcuts make working on the command line much faster and nicer. Trying to remember all of these is not easy to do until you've used them for a while, so we also have a handy-dandy cheat sheet which you can find in the Downloads tab and refer to whenever you are in command line ninja mode. There are always new shortcuts you can learn. Another great shortcut !$.. It's similar to !!, but instead of repeating the last command, it repeats the last argument given. This sequence of commands shows how the shortcut could be used: mkdir sites/default/files followed by chmod a+w !$. That would be the same as typing out chmod a+w sites/default/files

Note: this video was originally released July 9, 2010 on Lullabot.com.

Note: In some places the command line prompt is cut-off. The YouTube version of this video doesn't have the cut-off problem. We are working on getting this fixed, but in the meantime, check out the YouTube version instead.

Command Line Basics 12: Handy Command Line Shortcuts (youtube.com)

More information

This video looks at the basics of working with MySQL from the command line. We get into the mysql environment and look at databases, tables and fields. We cover creating and deleting databases, creating a user, and querying within a particular database.

Note: In some places the command line prompt is cut-off. The YouTube version of this video doesn't have the cut-off problem. We are working on getting this fixed, but in the meantime, check out the YouTube version instead.

Command Line Basics 13: Using MySQL from Command Line (youtube.com)

More information

This video shows you how to create your own custom shortcuts for various commands. We'll look at some common aliases and see how to add them to our command line environment. This is super handy for commands that you type in all the time and don't want to go through the tedium of typing the whole thing out every time. For example, we show how to automatically go to a particular directory with just one word (e.g. type "clients" and go to the /Users/add1sun/lullabot/clients directory immediately).

More information

This is an introduction to the Tail command, available on Unix/Linux systems. Tail has many applications, but this video concentrates on its basic usage and useful options, as they pertain to Drupal developers.

You'll learn how to take a quick peek at recent log messages from a single log file, how to do the same thing with multiple logs, as well as watching log files in real time! We'll finish up with a practical application, to see why this is useful.

Commands used in this video:

To view the documentation (or manual) for the tail command:
man tail

To show the last 20 lines of the webserver's access log file:
tail /var/log/apache2/access.log

To show the last 20 lines of the webserver's error log file:
tail /var/log/apache2/error.log

To show the last 20 lines of the webserver's error log file and continue to print new lines added to the file:
tail -f /var/log/apache2/access.log

This course appears in the following guides:
Categories
Module Development, Backend and Infrastructure
Drupal 9
Categories
Module Development, Backend and Infrastructure
Drupal 9
Categories
Site Building, Theming, Module Development
Drupal 9, 10
Categories
Site Building, Theming, Site Administration
Drupal 9
Categories
Site Building
Drupal 7, 8, 9, and 10
Categories
Module Development
Drupal 7, 8, 9, and 10
Categories
Theming
Drupal 7, 8, 9, and 10