Gestion de fichiers Linux Feuille de chaleur
Aperçu général
La gestion des fichiers Linux englobe les commandes et techniques essentielles pour naviguer, organiser et manipuler des fichiers et des répertoires dans les systèmes Linux. Ce guide complet couvre tout, de la navigation de base aux opérations de fichiers avancées, la gestion des autorisations et les stratégies d'organisation du système de fichiers que chaque professionnel de la TI doit maîtriser.
C'est pas vrai. Attention: Les opérations de fichiers comme
rm -rf
peuvent supprimer définitivement les données. Vérifiez toujours vos commandes et maintenez des sauvegardes de fichiers critiques.
Commandes de navigation
Navigation de base
# Print current working directory
pwd
# List directory contents
ls
ls -la # Detailed listing with hidden files
ls -lh # Human-readable file sizes
ls -lt # Sort by modification time
ls -lS # Sort by file size
# Change directory
cd /path/to/directory
cd ~ # Go to home directory
cd - # Go to previous directory
cd .. # Go up one directory level
cd ../.. # Go up two directory levels
Navigation avancée
# Find files and directories
find /path -name "filename"
find . -type f -name "*.log"
find /home -user username
find . -size +100M
find . -mtime -7 # Modified in last 7 days
# Locate files using database
locate filename
updatedb # Update locate database
# Which command shows path of executable
which command_name
whereis command_name
```_
## Opérations de répertoire
### Création de répertoires
```bash
# Create single directory
mkdir directory_name
# Create nested directories
mkdir -p path/to/nested/directories
# Create multiple directories
mkdir dir1 dir2 dir3
# Create directory with specific permissions
mkdir -m 755 directory_name
```_
### Suppression des répertoires
```bash
# Remove empty directory
rmdir directory_name
# Remove directory and contents (dangerous!)
rm -rf directory_name
# Remove multiple empty directories
rmdir dir1 dir2 dir3
# Interactive removal
rm -ri directory_name
Opérations de fichiers
Création de fichiers
# Create empty file
touch filename
# Create multiple files
touch file1 file2 file3
# Create file with specific timestamp
touch -t 202501011200 filename
# Create file and add content
echo "content" > filename
cat > filename << EOF
Multiple lines
of content
EOF
Copie des fichiers
# Copy file
cp source_file destination_file
# Copy file to directory
cp file /path/to/directory/
# Copy multiple files
cp file1 file2 file3 /destination/
# Copy directory recursively
cp -r source_directory destination_directory
# Copy preserving attributes
cp -p source_file destination_file
# Copy only if newer
cp -u source_file destination_file
# Interactive copy (prompt before overwrite)
cp -i source_file destination_file
# Verbose copy
cp -v source_file destination_file
Déplacement et renouvellement des fichiers
# Move/rename file
mv old_name new_name
# Move file to directory
mv file /path/to/directory/
# Move multiple files
mv file1 file2 file3 /destination/
# Interactive move
mv -i source destination
# Verbose move
mv -v source destination
# Backup before overwrite
mv -b source destination
Suppression des fichiers
# Remove file
rm filename
# Remove multiple files
rm file1 file2 file3
# Remove with confirmation
rm -i filename
# Force remove (no confirmation)
rm -f filename
# Remove files matching pattern
rm *.tmp
rm -f /tmp/*.log
# Verbose removal
rm -v filename
Autorisations et propriété des dossiers
Comprendre les autorisations
# View file permissions
ls -l filename
# Permission format: drwxrwxrwx
# d = directory, - = file
# rwx = read, write, execute for owner
# rwx = read, write, execute for group
# rwx = read, write, execute for others
Changement des autorisations
# Numeric permissions
chmod 755 filename # rwxr-xr-x
chmod 644 filename # rw-r--r--
chmod 600 filename # rw-------
chmod 777 filename # rwxrwxrwx
# Symbolic permissions
chmod u+x filename # Add execute for owner
chmod g-w filename # Remove write for group
chmod o=r filename # Set others to read only
chmod a+r filename # Add read for all
# Recursive permissions
chmod -R 755 directory/
# Copy permissions from another file
chmod --reference=file1 file2
Changement de propriété
# Change owner
chown username filename
chown username:groupname filename
# Change group only
chgrp groupname filename
# Recursive ownership change
chown -R username:groupname directory/
# Change ownership to current user
chown $USER filename
Lien de fichier
Liens durs
# Create hard link
ln source_file link_name
# View link count
ls -l filename
# Find all hard links to a file
find / -samefile filename
Liens symboliques
# Create symbolic link
ln -s /path/to/source link_name
# Create symbolic link in different directory
ln -s /full/path/to/source /path/to/link
# View symbolic link target
ls -l link_name
readlink link_name
# Remove symbolic link
rm link_name
unlink link_name
Opérations de contenu de fichier
Affichage du contenu du fichier
# Display entire file
cat filename
# Display with line numbers
cat -n filename
# Display file page by page
less filename
more filename
# Display first lines
head filename
head -n 20 filename
# Display last lines
tail filename
tail -n 20 filename
tail -f filename # Follow file changes
# Display specific lines
sed -n '10,20p' filename
Comparaison de fichiers
# Compare files line by line
diff file1 file2
# Unified diff format
diff -u file1 file2
# Compare directories
diff -r dir1 dir2
# Ignore case differences
diff -i file1 file2
# Side-by-side comparison
diff -y file1 file2
Recherche de fichiers et filtrage
Recherche de contenu
# Search for pattern in file
grep "pattern" filename
# Case-insensitive search
grep -i "pattern" filename
# Recursive search in directories
grep -r "pattern" /path/
# Show line numbers
grep -n "pattern" filename
# Show only matching filenames
grep -l "pattern" *.txt
# Invert match (show non-matching lines)
grep -v "pattern" filename
# Extended regular expressions
grep -E "pattern1|pattern2" filename
Type de fichier et informations
# Determine file type
file filename
# Display file statistics
stat filename
# Calculate file checksums
md5sum filename
sha256sum filename
# Count lines, words, characters
wc filename
wc -l filename # Lines only
wc -w filename # Words only
wc -c filename # Characters only
Archive et compression
Création d'archives
# Create tar archive
tar -cf archive.tar files/
# Create compressed tar archive
tar -czf archive.tar.gz files/
tar -cjf archive.tar.bz2 files/
# Create zip archive
zip -r archive.zip files/
Extraire des archives
# Extract tar archive
tar -xf archive.tar
# Extract compressed tar archive
tar -xzf archive.tar.gz
tar -xjf archive.tar.bz2
# Extract to specific directory
tar -xzf archive.tar.gz -C /destination/
# Extract zip archive
unzip archive.zip
Informations sur les archives
# List archive contents
tar -tf archive.tar
tar -tzf archive.tar.gz
unzip -l archive.zip
# Verbose extraction
tar -xvf archive.tar
Utilisation du disque et gestion de l'espace
Vérification de l'utilisation du disque
# Display disk usage by directory
du -h directory/
du -sh directory/ # Summary only
du -ah directory/ # Include files
# Display largest directories
du -h|sort -hr|head -10
# Check filesystem usage
df -h
df -i # Inode usage
Trouver de grands fichiers
# Find files larger than size
find / -size +100M
find / -size +1G
# Find largest files in directory
find . -type f -exec ls -lh \\\\{\\\\} \;|sort -k5 -hr|head -10
# Find files by age
find / -mtime +30 # Older than 30 days
find / -atime -7 # Accessed in last 7 days
Surveillance du système de fichiers
Surveillance en temps réel
# Monitor file changes
inotifywait -m /path/to/watch
# Monitor directory recursively
inotifywait -mr /path/to/watch
# Watch file modifications
watch -n 1 'ls -la /path/to/file'
Informations sur le système de fichiers
# Display mounted filesystems
mount
findmnt
# Show filesystem type
lsblk -f
blkid
# Check filesystem
fsck /dev/device
Dépannage
Questions relatives à la permission
# Fix common permission problems
chmod 644 /path/to/files/*
chmod 755 /path/to/directories/
# Reset ownership to user
chown -R $USER:$USER /path/to/directory/
# Find files with specific permissions
find / -perm 777
find / -perm -4000 # Find SUID files
Opérations de redressement
# Recover deleted files (if possible)
lsof|grep deleted
# Check for file system errors
dmesg|grep -i error
# Force filesystem check on next boot
touch /forcefsck
Ressources
- [ Hiérarchie du système de fichiers Linux] (LINK_4)
- [GNU Coreutils Manual] (LINK_4)
- [Projet de documentation de Linux] (LINK_4)
- [Fiche Calculatrice des autorisations] (LINK_4)
*Cette feuille de triche fournit des commandes complètes de gestion de fichiers pour les systèmes Linux. Toujours tester les commandes dans un environnement sûr avant de les utiliser sur les systèmes de production. *