Désignez n'importe quel fichier avec un chemin absolu ou relatif, et agissez sur plusieurs fichiers à la fois.
Ouvrir cette leçon dans KodokonIl existe deux façons d'indiquer où se trouve un fichier, exactement comme pour donner une adresse. Le chemin absolu est l'adresse postale complète : il part de la racine et fonctionne depuis n'importe où. Sur macOS et Linux, il commence toujours par une barre oblique /, par exemple /home/yoann/mon-projet/index.html. Sur Windows, il commence par une lettre de lecteur, par exemple C:\Users\yoann\mon-projet.
Le chemin relatif, lui, est une indication du type « deuxième porte à gauche » : il part du dossier où vous êtes actuellement. Trois symboles suffisent à tout exprimer. Le point . désigne le dossier courant. Les deux points .. désignent le dossier parent. Le tilde ~ désigne votre dossier personnel. On les enchaîne avec des barres obliques pour composer un trajet.
cd /home/yoann/mon-projet
cd ~/mon-projet
cd ../autre-projet
cat ./src/index.html
cp ../photo.jpg .Quand vous devez agir sur dix fichiers, vous n'allez pas taper dix commandes. Le shell reconnaît des jokers, aussi appelés *motifs* : des caractères spéciaux qui remplacent un ou plusieurs caractères inconnus. L'étoile * remplace n'importe quelle suite de caractères, y compris aucun. Le point d'interrogation ? remplace exactement un caractère. Les crochets [ ] acceptent l'un des caractères listés à l'intérieur.
ls *.html
ls src/*.css
ls photo-?.jpg
ls rapport-202[45].pdf
cp *.txt archives/Un dernier détail qui évite bien des erreurs : sur macOS et Linux, les noms de fichiers sont sensibles à la casse. Photo.jpg et photo.jpg sont deux fichiers différents, et ls photo* ne trouvera pas le premier. Windows, lui, ne fait pas la différence. Un projet qui fonctionne sur votre machine Windows peut donc échouer sur le serveur Linux qui l'héberge, uniquement à cause d'une majuscule.
./~*.html ?.tmp sans risque. Quelle précaution prendre ?rm *.tmp puis vérifier avec lsls *.tmp pour voir ce qui sera supprimé