Terminal / Command Line Skills

Learn how to transfer and manage files and manage MySQL databases with ease from the command line / terminal
5.0 (2 ratings)
Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
35 students enrolled
Take This Course
  • Lectures 43
  • Length 1.5 hours
  • Skill Level Beginner Level
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 9/2015 English Closed captions available

Course Description

You've gotten a new web development client and you are totally psyched!

Wait, what's that? You need to access the server through a terminal and ssh?

Have no fear! You can do it!

Don't fear the terminal! Whatever you can do through a graphical (S)FTP interface you can also do on the command line.

This course will quickly get you up to speed on all the typical commands you will use to:

  1. Create a key pair
  2. Connect to a remote computer
  3. Navigate the through the directory structure
  4. Perform file managements tasks like creating directories; copying and moving files; setting permissions on directories and files
  5. Create and manage databases and database users

Just follow sequentially through the lectures and all of the above and more will become clear.

Course Structure

Each command is presented in a separate lecture to make it easy to digest and easy to find again when you want to use the course like a reference guide.

Each command is fully demonstrated in a High Definition screen cast.

Satisfaction Guarantee

I personally guarantee that after you take this course you will be able to complete all the tasks you were formerly able to do only through a graphical interface. If you find that you are not able to do the things you could have otherwise done with a graphical interface, I will work one-on-one with you to help you through your challenge and will add that information to the course.

Click the "Take This Course" button now and get ready to level up your command line skills!

What are the requirements?

  • You must have some type of command line / terminal functionality set up on your computer. This course will NOT cover enabling command line functionality. If you are a GNU/*nix user or Mac user you've already got terminal access. If you are a Windows user, it is recommended that you install something like Cygwin, but you are free to use any tool of your choosing as long as it emulates a *nix environment.
  • Your account should already be set up to access the remote server. This course will NOT cover how to set up the remote server to allow you to access it.
  • You should be added to the sudoers file on the remote server. Alternatively, and far less preferably, you should have root access to the remote server.
  • You must have an account with elevated privileges to a MySQL server

What am I going to get from this course?

  • Create a key pair.
  • Transfer files from and to your computer and a remote computer.
  • Manage file permissions and access.
  • Organize file structure.
  • Create a MySQL Database
  • Create a Table in a MySQL Database
  • Create a User for a MySQL Database
  • Manage Privileges for a User of a MySQL Database
  • Manage Backing up and Restoring a MySQL Database

Who is the target audience?

  • You are used to using a graphical interface, such as an FTP client (for example, WinSCP or Filezilla) to manage files on a remote server, but now you need to be able to use the command line to perform those same types of tasks.
  • You will be accessing a server that is running some distribution of Linux. You are not working on a Windows server.
  • You are looking for a basic introduction to the command line; you are not looking for a comprehensive curriculum on doing all things command line.
  • You are a command line newbie; you are not already well-versed and comfortable using the command line.
  • You are new to using the Command Line to perform basic management of MySQL Databases
  • You had previously been doing this basic MySQL database management through a graphical user interface, such as phpMyAdmin
  • This course is not for people looking to learn to: define views or stored procedures; write MySQL queries; build a MySQL server; acquire advanced MySQL skills

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction

Having to use the command line instead of a graphical user interface (GUI) can induce anxiety, as one has to operate in an unfamiliar environment. But, there's no need to fear the terminal! Even if you weren't alive when MS-DOS was in its heyday (yes, even before Windows 3.1) and have only ever used a GUI, you will be able to follow along step-by-step as I show you the most useful commands to transfer and manage files.


Even though my first introduction to a computer was a Commodore Vic-20, I was a bit nervous about having to switch from using a graphical FTP client to using the terminal. But, I found out pretty quickly that it wasn't too bad at all! Now I love to use the terminal and the command line. I look forward to helping you move from GUI to terminal with ease.


The course is organized to take you step-by-step from setting up the pieces on your local computer to managing files on a remote server. Just proceed sequentially through the lectures in the "Most Used Commands" sections and you will be transferring and managing files from the command line before you know it!

Section 2: File Management Commands
man - an interface to the on-line reference manuals
clear - clear the terminal screen
pwd - print name of current/working directory
Relative versus Absolute Path Names
ls - list directory contents
The .ssh Directory
mkdir - make directories
rmdir - remove empty directories
cd - change directory
ssh-keygen - authentication key generation, management and conversion
Understanding *nix Users
sudo - execute a command as another user
chown - change file owner and group
chgrp - change group ownership
Understanding *nix permissions
chmod - change file mode bits
ssh-copy-id - use locally available keys to authorize logins on a remote machine
scp - secure copy (remote file copy program)
ssh - OpenSSH SSH client (remote login program)
mv - move (rename) files
cp - copy files and directories
rm - remove files or directories
exit - exit the shell
6 questions

Feel free to solve the problems either in your head or by testing them in the terminal.

Section 3: Extra File Management Commands
wget - a non-interactive network downloader
tar - archiving utility
find - search for files in a directory hierarchy
Section 4: Basic Database Management Tasks
Before you can accomplish any of the tasks in this section, you must first sign in to the MySQL Server. It’s a snap to do!

This lecture will look at creating a database and deleting a database. You could probably almost guess the commands you have to use just by looking at those two sentences! You’ll be right on your way in no time.


Tables are what stores the data in a database. Many content management systems will automatically create tables for you when you install them. This lecture will give you a brief introduction on how you can create them on your own.

I spend additional time in this lecture explaining how I used the documentation so that you can begin to understand how to interpret the significance of the way the grammar for the commands is written.

Creating users is easy! Just be careful that you follow the structure of the command closely. Many people make some small mistakes that create big problems.
You must make sure that you grant the necessary privileges to the specific User you have created. Make sure that you specify the User in the exact same way you created it.
Create a MySQL Database and User
2 questions

Solidify your understanding and build your skills by creating a Database, a User and assigning Privileges as specified in the lecture

Section 5: Database Backup and Recovery
The most precious asset on any site is its data. Remember, if it’s not backed up, it doesn’t exist!
Make sure that you know how to back up and restore a database now! It’s too late to learn it when you actually need it.
Section 6: Optional Advanced Command Line Database-fu

You may find that certain queries you are running could benefit from being able to access a table more efficiently. Adding an index can save a lot of CPU cycles when selecting data from a table and is an example of something you accomplish by altering an existing table.

This lecture covers adding an index as well as some other typical table alters.


Prepare to be amazed as I show you some clever techniques to harvest information from your database and to accomplish some tedious tasks with the power of the command line!

  1. Dump the output of a query to a text file.
  2. Create a script to convert all the tables in a database to the InnoDB engine.

Explain what the given commands are doing.

Section 7: Course Feedback
1 page

I work hard to make this course the best that it can be and I want it to be absolutely delightful for you. The best way for me to ensure that I am meeting these goals is to hear from you! Let me know what you like and what you'd like to see improved; I really do listen!

1 page

It is entirely at your discretion whether you leave a review and it is important that you are able to leave your honest feedback. I would never engage in behavior to coerce or coach you into giving a particular rating. Your review means a lot to me and to all prospective students of the course and I appreciate your willingness to take the time to rate and comment on the course.

Section 8: Bonus Section

I appreciate you being one of my students and I want you to always have access to a better price on my courses than Udemy will ever offer you.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Marc Isaacson, Drupal Application Architect, BS Comp Sci, MST Mathematics

I was an AS/400 RPG application developer from 1989 - 2001. Then I pursued some other life interests, including teaching High School math, before returning to programming in 2010. I spent approximately 6 months, 7 days a week for 12 hours a day teaching myself to use the Drupal content management system prior to launching my web development business in July of 2010. Since that time I have become a highly sought after Drupal web developer. I specialize in using Drupal as a framework to build custom web applications for clients.

My "Drupal nick" is vegantriathlete.

I am both a vegan and a triathlete and successfully completed my first IronMan distance triathlon on August 2, 2015.

I began my personal branding journey in October 2015 as part of the process to become a full-time Udemy instructor.

I have a passion for teaching and helping people to build the life of their dreams. I look forward to having you as one of my students and promise to do my best to make my classes absolutely delightful for you!

Finally, I am the creator of the concept of Ridiculously Open Online Self Training Sites. I really do like to live my life following the philosophy of being ridiculously open. So, if there is anything you would like to know from or about me or anything you would like to tell me, please do get in touch!

I give thanks to the Universe for the abundance it provides me. I surrender and am open and ready to receive.

Bhavatu sabba mangalam - May all beings be happy

Ready to start learning?
Take This Course