What is the Shell? โข Projects
Simply put, the shell is a program that takes commands from the keyboard and gives them to the operating system to perform. In the old days, it was the only user interface available on a Unix-like system such as Linux. Nowadays, we have graphical user interfaces (GUIs) in addition to command line interfaces (CLIs) such as the shell.
On most Linux systems a program called bash (which stands for Bourne Again SHell, an enhanced version of the original Unix shell program, sh, written by Steve Bourne) acts as the shell program. Besides bash, there are other shell programs available for Linux systems. These include: ksh, tcsh and zsh.
This repository contains projects where Shell functionality is explored.
This table contains all the projects of this repository, click on a project name to be redirected to the project.
Please follow the next directory order:
Project Directory | Summary |
---|---|
basics |
In this project we will learn the basic concepts of the Shell, Also we will learn how to navigate in the Shell to look around and how to manipulate files. |
permissions |
On a Linux system, each file and directory is assigned access rights for the owner of the file, the members of a group of related users, and everybody else. In this project we will learn all the nuances about that. |
io_redirections_and_filters |
In this project, we will explore a powerful feature used by command line programs called input/output redirection. Also we will explore one kind of program frequently used in pipelines that is called a filter. Filters take standard input and perform an operation upon it and send the results to standard output. |
init_files_variables_and_expansions |
In this project we will learn what is the difference between a local and a global variable, how to create, update and delete them, also we will learn about what are expansions. |
loops_conditions_and_parsing |
In this project we will learn the difference between #!/usr/bin/env bash and #!/bin/bash , how to use while , until and for loops, how to use if , else , elif and case condition statements and more. |
processes_and_signals |
Here we will learn what is a PID , what is a process, how to find and kill signals, also we will learn about the two signals that cannot be ignored. |