People have told me these activities define more or less “the linux experience”
A reference to the post “What does “linux experience” mean in job postings?”
Linux and shell scripting experience guideline
Functions
The general functions of using and getting used in Linux environment specially the terminal can be categorized in -
- File exploring
- File management
- Launching applications
- Installing packages
- Using basic terminal applications such as git
- Knowing main directories (like /etc, /home, / var, /usr etc.)
- File permissions
- Reading man pages
The idea is just familiarity with linux terminal. Other functions that are useful to learn are-
- SSH into other devices
- SFTP for file transfer
- Knowing how certificates work
- Reading log files
- Installing webserver
- Basic webdev with version control
- Inspect apache logs
- Installing nginx
- reverse proxy stuff
- Read and write shell scripts
- Tools related to communications with servers
- Managing server software
- Network configuration
- Automating server setup using bash scripts
But there may be other functions required based on the type of the job you are looking for, like system administrator work may require much more in depth knowledge of the linux environment.
Commands
Knowing commands such as -
chmod
grep
less/more
nano/pico/vi
mv
ls
cd
cp
rm
head
sort
find
df
sudo
mkdir
man
Using basic tools such
cron
git
ssh
scp
wget
top
iftop
chmod
apt-get
pip
docker
crontab
Learning methods
- Using linux in a VM (Virtual Machine)
- Xubuntu
- Linux with no GUI
- Linux subsystem for windows (Ubuntu subsystem)
- Buy a raspberry pi, or an old laptop install linux and experiment on it, like SSHing into it
- Cloud hosting a linux box (AWS)
- Dual boot
- Git bash
Learning materials
- The linux course Beginner to sysadmin (53 videos)
- Linux From Scratch (LFS is a pivoting point for understanding computers in general. Bash & Linux is just a part of it.)
- Beginner’s Guide to Bash Terminal (1 hour long)
- Servers for hackers
- Edx linux course by linux foundation
- Free linux shell using blinkeshell