Linux Commands

Commandes Linux essentielles que tout développeur devrait connaître

TL;DR

Quoi : Outils en ligne de commande pour naviguer et gérer les systèmes Linux/Unix.

Pourquoi : Automatisation, gestion de serveurs distants et productivité des développeurs.

Quick Start

Navigation :

pwd                 # Print working directory
ls                  # List files
ls -la              # List all files with details
cd /path/to/dir     # Change directory
cd ..               # Go up one level
cd ~                # Go to home directory

Opérations sur les fichiers :

cat file.txt        # Display file content
less file.txt       # View file with pagination
head -n 10 file     # First 10 lines
tail -n 10 file     # Last 10 lines
tail -f log.txt     # Follow file changes

cp source dest      # Copy file
mv source dest      # Move/rename file
rm file             # Remove file
rm -rf dir          # Remove directory (careful!)
mkdir dirname       # Create directory
touch file.txt      # Create empty file

Cheatsheet

CommandeDescription
grep pattern fileRechercher du texte dans un fichier
find . -name "*.js"Trouver des fichiers par nom
chmod 755 fileModifier les permissions
chown user:group fileModifier le propriétaire
ps auxLister les processus
kill PIDTuer un processus
top / htopSurveiller les processus
df -hEspace disque
du -sh dirTaille du répertoire
tar -czf archive.tar.gz dirCompresser
tar -xzf archive.tar.gzExtraire
curl -O urlTélécharger un fichier
wget urlTélécharger un fichier

Gotchas

Permission denied

# Add sudo for admin operations
sudo command

# Or change permissions
chmod +x script.sh

Command not found

# Check if installed
which command
type command

# Install the package
apt install package      # Debian/Ubuntu
yum install package      # CentOS/RHEL
brew install package     # macOS

Delete files safely

# Always double-check before rm -rf
ls target_dir           # List first
rm -rf target_dir       # Then delete

# Use trash instead
trash-put file          # Install trash-cli first

Pipe and redirect

# Pipe output to another command
cat file.txt | grep "error"

# Redirect output to file
echo "hello" > file.txt    # Overwrite
echo "hello" >> file.txt   # Append

# Redirect errors
command 2>&1 | tee log.txt

Next Steps