Coder Social home page Coder Social logo

unix-and-bash's Introduction

Dive Into UNIX and Bash

Challenge Rating

This goal will likely be within your ZPD if you...

  • Can open a shell session using a terminal emulator like the Terminal app or iTerm
  • Can navigate the filesystem on your computer
  • Are familiar with the concept of an operating system
  • Are interested in the UNIX family of operating systems
  • Are interested in learning how to use your terminal more effectively
  • Are interested in being able to write and use shell scripts

Description

Learn how to navigate your UNIX system like a pro and write scripts with the popular bash scripting language. If you'd like to learn more about how to interact with your operating system and automate common tasks, this is a good goal for you.

This goal will take you through two free online books/tutorials and associated exercises:

There are lots of exercises and activities in each of the books for you to work with. You only have to choose 20 from each book/tutorial to complete the goal. Choose the ones that most interest you and are closest to your ZPD. Some may be too easy, others too difficult.

If you're really keen, consider doing the stretch specs.

Note: while the "Learn Enough Command Line" book is free to read online, you have to buy a copy in order to gain access to the official solutions. ๐Ÿ˜ž However, this nice person put their solutions up, in case you're interested in referencing.

Context

The *nix family of operating systems (that is, anything in the UNIX or Linux families, like Mac OS X or Ubuntu) are the most popular in the world of web development. Whether you are looking to be able to use and navigate your own local system or a remote server, knowing the basic commands is really important.

Then you have the shell. Bash is a common one that ships with all Apple computers, but there are others: zsh, csh, and fish (yes, it's called fish). While this goal only focuses on bash, you may be inspired to try out other shells.

As you work through the books and exercises, you'll may encounter questions like the following:

  • What is the difference between the user and the system?
  • What happens when an executable script is invoked?
  • What is a shell, a terminal, and an operating system, and how do they interact?
  • How is a filesystem organized?
  • What are file permissions and how do they work?
  • What is the PATH and how is it used?
  • What is a process?

Indulge your curiousity and explore the questions that pique your interest.

Specifications

  • Artifact is a GitHub repo.
  • 20 exercises are completed from the "Learn Enough Command Line to be Dangerous" book.
    • Solution code for each exercise is included in its own bash file (*.sh).
    • Solution code for exercises are stored in a command-line/ directory of your artifact repo.
    • Solution code for each exercise includes a comment with the prompt text for the exercise.
  • 20 activities are completed from the Bash Scripting tutorials.
    • Solution code for each activity is included in its own bash file (*.sh). Tip: for the bash-scripting tutorials, check your solutions by executing your bash (.sh) files (type their name in the terminal), instead of writing code directly in the terminal.
    • Solution code for activities are stored in a bash-scripting/ directory of your artifact repo.
    • Solution code for each activity includes a comment with the prompt text for the activity.
  • Cheat sheet of your favorite useful commands and a brief explanation of what they do is included in the artifact as a cheat-sheet.md file.
  • All major features are added via pull requests with a clear description and concise commit messages.
  • Variables, functions, files, etc. have appropriate and meaningful names.
  • The artifact produced is properly licensed, preferably with the MIT license.

Stretch

  • All exercises are completed from the "Learn Enough Command Line to be Dangerous" book and solution code is included as files under a command-line/ directory.
  • All activities are completed from the Bash Scripting tutorials and solution code is included as files under a bash-scripting/ directory.
  • 10 activities are completed from the Linux tutorials and solution code is included as files under a linux/ directory.*

If you finish all of this (or are just itchy for other resources), then go dive into The Art of the Command Line. There's enough material in there for months of learning :).

*Note: there will likely be overlap between this tutorial and the Hartl book. Choose only activities that cover new material so you don't do redundant work.

Resources

Videos:

unix-and-bash's People

Contributors

primexxix avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.