As a developer you will need to employ certain basic Linux CLI skills in navigating across file system, manipulating files, executing scripts.
The following modules on Git will require Linux CLI skills as well.
Having this module completed you would know the effect of the commands listed and also know how to accomplish some typical tasks.
The classification below is heavily opinionated, yet you will benefit from mastering all of the below described.
When mastering Linux CLI basics check yourself against the list below.
You know effects of the following commands:
ls
cd
cd ~/
cd /
cd ..
touch
mkdir
echo
echo "Some text" > smth
echo "Some text" >> smth
cp
mv
rm
rm -rf
rmdir
pwd
cat
less
chmod
sudo
Tasks (using command line only):
- List directory contents
- Navigate to an arbitrary location within the file system
- Navigate to a current user home directory
- Create a directory
- Create an empty file
- Create a file with some short text content
- Add a line of text to a file
- Dump file contents to terminal
- Remove file(s)/directory
- Redirect/pipe input/output
- Launch a shell script
- Remove files recursively
- Identify current working directory
- Install a package/piece of software
- Make a file (script) executable
- Execute a command with elevated user privileges
Commands/operations:
&&
| (pipe operator)
& (backgrounding operation)
pushd/popd
cd -
-
Linux Survival (4 modules) is an interactive online course covering the following topics:
- navigation across file system
- manipulating files
- security, permissions, users and groups, user info
- important locations in the file system
- built-in help
- output redirection and piping
- printing
- wild cards and patterns
- finding files and text
- processes
-
Learning the Shell (10 modules) greatly supplements the previous courses offering a deeper insight into Linux Shell. Make sure to practise every command from the course in your Linux terminal.
Need safe environment for this task? Use a virtual Linux CLI playground
Anything is not clear enough or want more practice? Dive into the extra materials below.
- Linux utilities that every developer should know
- Anna Williford's
- Linux workshop synopsis
- Linux Bash Shell Cheat Sheet:
- A Guide to 100 (ish) Useful Unix Commands
- 101 Bash Commands and Tips for Beginners to Experts
- RUS: Быстрое изучение Bash: 30 легких команд для новичков
- RUS: Конспект по bash, ч.1
- RUS: Конспект по bash, ч.2
- RUS: Команды bash, о которых вы, возможно, не знали
- Command Line Essentials: Git Bash for Windows
- RUS: Основы командной строки
Advanced
- Advanced Bash-Scripting Guide
- A video series for web developers on learning a modern command line workflow with ZSH, Z and related tools
- The curl guide to HTTP requests
Try doing as much as possible via CLI. Not so convenient as it would be using the GUI as you get used to it, but you will find this skill beneficial for your further learning and career.
A note for Windows users (CLICK to expand)
You may practice Linux CLI on your Windows machine using Git Bash that gets installed along with [Git](https://git-scm.com/downloads).To open Git Bash right click anywhere in file explorer and select
Git Bash here option. Bash will get opened in context of the
directory you called it at.
Proceed to Git basics
