Part 1: The Command-Line Essentials
1.1. Navigating the File System
Basic Command: cd
, ls
, pwd
Let's start with the basics. Use cd
to change directories, ls
to list files and directories, and pwd
to print the current directory.
cd /path/to/directory # Change directory
ls # List files and directories
pwd # Print working directory
1.2. File Manipulation
Basic Command: touch
, cp
, mv
, rm
Learn to create, copy, move, and delete files with touch
, cp
, mv
, and rm
.
touch newfile.txt # Create a new file
cp file.txt copy.txt # Copy a file
mv oldfile.txt newdir/ # Move a file to a directory
rm unwanted.txt # Remove a file
Part 2: Supercharging Your Skills
2.1. Text Manipulation
Basic Command: cat
, grep
, sed
, awk
Unlock the power of text processing with cat
, grep
, sed
, and awk
.
cat file.txt # Display file content
grep 'pattern' file.txt # Search for a pattern
sed 's/old/new/' file.txt # Replace text
awk '{print $2}' file.txt # Extract data
2.2. File Permissions
Basic Command: chmod
, chown
Master file permissions using chmod
and change ownership with chown
.
chmod 755 file.sh # Change file permissions
chown user:group file.txt # Change file ownership
Part 3: Advanced Linux Commands
3.1. Package Management
Basic Command: apt
, yum
Install, update, and manage software packages with package managers like apt
(Debian/Ubuntu) and yum
(Red Hat/CentOS).
sudo apt-get install package # Install a package
sudo apt-get update # Update package lists
sudo apt-get upgrade # Upgrade installed packages
3.2. Process Management
Basic Command: ps
, kill
, top
Take control of running processes with ps
, kill
, and top
.
ps aux # List all processes
kill -9 <process_id> # Terminate a process forcefully
top # Monitor system processes
Part 4: Scripting and Automation
4.1. Bash Scripting
Basic Command: #!/bin/bash
, echo
, if
, for
Write shell scripts to automate tasks using commands like echo
, if
, and for
.
#!/bin/bash
echo "Hello, World!"
if [ $condition ]; then
# Do something
fi
for item in ${array[@]}; do
# Loop through items
done
4.2. Cron Jobs
Schedule recurring tasks with Cron jobs to automate system maintenance and backups.
# Edit the crontab file
crontab -e
# Example: Run a script every day at 2 AM
0 2 * * * /path/to/script.sh
Part 5: Security and Networking
5.1. Secure Shell (SSH)
Basic Command: ssh
, scp
Connect to remote servers securely using ssh
and transfer files with scp
.
ssh user@hostname # Connect to a remote server
scp file.txt user@hostname:/path # Copy files to/from a remote server
5.2. Firewall Management
Basic Command: ufw
, iptables
Control network traffic using ufw
(Uncomplicated Firewall) and iptables
.
sudo ufw enable # Enable the firewall
sudo ufw allow 22/tcp # Allow SSH traffic
sudo ufw status # Check firewall status
Part 6: Advanced Linux Tools
6.1. Version Control with Git
Basic Command: git clone
, git commit
, git push
Collaborate on code using Git for version control.
git clone repository_url # Clone a Git repository
git commit -m "Message" # Commit changes
git push origin branch # Push changes to a remote repository
6.2. Monitoring and Logging
Basic Command: htop
, journalctl
Monitor system performance with htop
and view system logs with journalctl
.
htop # Interactive process viewer
journalctl -u service_name # View service-specific logs
Congratulations, brave Linux adventurer! You've journeyed from the basics to the advanced realms of Linux commands. With these newfound skills, you'll be able to manage files, automate tasks, secure your system, and even collaborate on projects like a seasoned Linux sorcerer. May your terminal sessions be productive, and your commands always execute flawlessly ๐ง๐.