Skip to content

TrainingByPackt/Command-Line-Fundamentals

Repository files navigation

GitHub issues GitHub forks GitHub stars PRs Welcome

Command Line Fundamentals

From the Bash shell to traditional UNIX programs, and from redirection and pipes to automating tasks, Command Line Fundamentals teaches you all you need to know about how command lines work. The most basic interface to a computer, the command line, remains the most flexible and powerful way of processing data and performing and automating various day-to-day tasks. Command Line Fundamentals begins by exploring the basics and then focuses on the most common tool, the Bash shell (which is standard on all Linux and iOS systems). As you make your way through the course, you'll explore the traditional UNIX command-line programs implemented by the GNU project. You'll also learn how to use redirection and pipelines to assemble these programs to solve complex problems. Next, you'll learn how to use redirection and pipelines to assemble those programs to solve complex problems. By the end of this course, you'll have explored the basics of shell scripting, which will allow you to easily and quickly automate tasks.

What you will learn

  • Use the Bash shell to run commands
  • Utilize basic Unix utilities such as cat, tr, sort, and uniq
  • Explore shell wildcards to manage groups of files
  • Apply useful keyboard shortcuts in shell
  • Employ redirection and pipes to process data
  • Write both basic and advanced shell scripts to automate tasks

Hardware requirements

For an optimal student experience, we recommend the following hardware configuration:

  • Processor: Any modern processor manufactured after 2010
  • Memory: 4 GB RAM
  • Storage: 4 GB available hard disk space

Software requirements

You’ll also need the following software installed in advance:

  • Operating System: Any desktop Linux version or iOS, or Windows XP or later versions

Note:

Since we are not dealing with source code, but interactive commands, each exercise has a text file with the commands for each step which can be directly pasted into a Bash shell to verify the results.

  • The exercises assume that the example user name is "robin", although this is not essential to their working.
  • Comments within the files are prefixed with " #", so that there are no issues if they get pasted into the terminal by mistake.
  • Please export HISTCONTROL=ignorespace so that the command history does not pick up any of the comments.
  • The command history needs to be maintained verbatim for some of the exercises - in other words some exercises depend on the commands that have been typed before in previous exercises
  • Each lesson has its own zip file of data to be extracted in the home directory
  • An Open Virtualization Appliance (built for use with Virtualbox) containing a Porteus Linux distro is provided in the repository
  • The VM image automatically downloads this repositories ZIP file and extracts it to the home directory of the guest user when it is first launched under the folders Snippets and Lesson1, Lesson2 etc.

Important:

The VM image is an OVA file of 250 MB stored via Git LFS - it is not included within the archive if you download the repository as a ZIP file from the github link.

To get the file do either of the following:

  • Use git clone [email protected]:TrainingByPackt/Command-Line-Fundamentals.git to clone the repository, and git will download it along with the other files in the repository

Since Packt Publishing has not been able to resolve the issue with github quota and they are not responsive to my communications - I have uploaded the OVA file here https://www.dropbox.com/s/ks9f7kcdsq7skhq/Packt-CLI.ova?dl=0