mirror of
https://github.com/jlevy/the-art-of-command-line.git
synced 2024-12-14 10:53:03 +02:00
fr: Synchronize the translation
This commit is contained in:
parent
d4cdb6b928
commit
340ba0fd05
42
README-fr.md
42
README-fr.md
@ -3,7 +3,9 @@
|
||||
|
||||
# L'art de la ligne de commande
|
||||
|
||||
[![Join the chat at https://gitter.im/jlevy/the-art-of-command-line](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/jlevy/the-art-of-command-line?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
[![Ask a Question](https://img.shields.io/badge/%3f-Ask%20a%20Question-ff69b4.svg)](https://airtable.com/shrzMhx00YiIVAWJg)
|
||||
|
||||
[![Join the chat at https://gitter.im/jlevy/the-art-of-command-line](https://badges.gitter.im/Join%19Chat.svg)](https://gitter.im/jlevy/the-art-of-command-line?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
||||
- [Méta](#méta)
|
||||
- [Notions de base](#notions-de-base)
|
||||
@ -27,6 +29,7 @@ Cette page n'est pas bien longue, mais si vous pouvez retenir et vous servir de
|
||||
|
||||
Ce document est le fruit du travail de [nombreux auteurs et traducteurs](AUTHORS.md).
|
||||
Une partie de celui-ci a été [initialement](http://www.quora.com/What-are-some-lesser-known-but-useful-Unix-commands) [publiée](http://www.quora.com/What-are-the-most-useful-Swiss-army-knife-one-liners-on-Unix) sur [Quora](http://www.quora.com/What-are-some-time-saving-tips-that-every-Linux-user-should-know), mais il se trouve maintenant sur GitHub, où des personnes plus compétentes que l'auteur originel ont apporté de nombreuses améliorations.
|
||||
[**N'hésitez pas à poser des questions**](https://airtable.com/shrzMhx00YiIVAWJg) sur la ligne de commande.
|
||||
[**Merci de contribuer**](/CONTRIBUTING.md) si vous voyez une erreur ou quelque chose qui pourrait être amélioré !
|
||||
|
||||
|
||||
@ -179,10 +182,15 @@ Un exemple classique consiste à se déplacer temporairement dans un autre répe
|
||||
# continue dans le répertoire original
|
||||
```
|
||||
|
||||
- Remarquez qu'en Bash il y a de nombreux types d'expansion des variables.
|
||||
Vérifier l'existence d'une variable : `${name:?error message}`.
|
||||
Par exemple, si un script en Bash exige un unique argument, il vous suffit d'écrire `input_file=${1:?usage: $0 input_file}`.
|
||||
L'expansion arithmétique : `i=$(( (i + 1) % 5 ))`. Suites : `{1..10}`. Suppression de sous-chaînes : `${var%suffix}` et `${var#prefix}`. Par exemple, si `var=foo.pdf`, alors `echo ${var%.pdf}.txt` affiche `foo.txt`.
|
||||
- Notez qu'en Bash, il existe de nombreux types d'expansions de variables. Pour vérifier l'existence d'une variable : `${name:?error message}`.
|
||||
Par exemple, si un script en Bash exige un unique argument, il suffit d'écrire `input_file=${1:?usage: $0 input_file}`.
|
||||
Pour utiliser une valeur par défaut si une variable est vide : `$(name:-default}`.
|
||||
Si vous souhaitez ajouter un paramètre supplémentaire facultatif dans l'exemple précédent, vous pouvez écrire quelque chose comme `output_file=${2:-logfile}`.
|
||||
Si `$2` est omis et donc vide, `output_file` prendra la valeur `logfile`.
|
||||
L'évaluation arithmétique : `i=$(( (i+1) % 5)`.
|
||||
Les listes d'entiers : `{1..10}`
|
||||
Suppression de préfixes et de suffixes : `${var%suffix}` et `${var#prefix}`.
|
||||
Par exemple, si `var=foo.pdf`, alors `echo ${var%.pdf}.txt` affiche `foo.txt`.
|
||||
|
||||
- L'expansion des accolades avec `{`...`}` évite de retaper des textes similaires et automatise les combinaisons d'éléments de listes.
|
||||
C'est utile dans des exemples comme `mv foo.{txt,pdf} some-dir` (qui déplace les deux fichiers), `cp somefile{,.bak}` (équivalent à `cp somefile somefile.bak`) ou `mkdir -p test-{a,b,c}/subtest-{1,2,3}` (qui engendre toutes les combinaisons possibles et crée une arborescence de répertoires).
|
||||
@ -193,6 +201,15 @@ Par exemple, pour comparer le fichier local `/etc/hosts` avec un fichier distant
|
||||
diff /etc/hosts <(ssh somehost cat /etc/hosts)
|
||||
```
|
||||
|
||||
- Lorsque vous écrivez des scripts, vous pourriez avoir envie de placer votre code entre accolades.
|
||||
S'il manque l'accolade fermante, les scripts ne pourront s'exécuter à cause d'une erreur de syntaxe.
|
||||
C'est particulièrement utile pour des scripts mis à disposition sur le web, afin de prévenir leur exécution lorsqu'ils sont partiellement téléchargés.
|
||||
```bash
|
||||
{
|
||||
# Votre code ici
|
||||
}
|
||||
```
|
||||
|
||||
- Renseignez-vous à propos des « here documents » avec Bash, comme dans `cat <<EOF ...`.
|
||||
|
||||
- En Bash, redirigez à la fois la sortie standard et la sortie des erreurs à l'aide de `some-command > logfile 2>&1` ou `some-command &>logfile`.
|
||||
@ -234,9 +251,14 @@ Une alternative plus légère pour la persistance des sessions seulement est [`d
|
||||
|
||||
- Créez un simple serveur web pour partager les fichiers du répertoire courant (et ses sous-répertoires) avec `python -m SimpleHTTPServer 7777` (port 7777 et Python 2) et `python -m http.server 7777` (port 7777 et Python 3).
|
||||
|
||||
- Pour exécuter une commande avec des privilèges, utilisez `sudo` (en tant que root) ou `sudo -u` (en tant qu'un autre utilisateur).
|
||||
Utilisez `su` ou `sudo bash` pour exécuter un shell sous cette utilisateur.
|
||||
Utilisez `su -` pour simuler une nouvelle connexion en tant que root ou un autre utilisateur.
|
||||
- Pour exécuter une commande avec les privilèges d'un autre utilisateur, utilisez `sudo`.
|
||||
Par défaut, cet autre utilisateur est *root* ; utilisez `-u` pour spécifier un autre utilisateur.
|
||||
Utilisez `-i` pour ouvrir une session en tant que cet autre utilisateur (on vous demandera *votre* mot de passe).
|
||||
|
||||
- Pour basculer le shell sous un autre utilisateur, utilisez `su username` ou `su - username`.
|
||||
Incluez `-` pour obtenir le même environnement que lorsque cet utilisateur se connecte.
|
||||
Le nom d'utilisateur par défaut est *root*.
|
||||
Le système vous demandera le mot de passe *de l'utilisateur cible*.
|
||||
|
||||
- Sachez que l'argument de la ligne de commande a une [taille limite de 128 Kio](https://wiki.debian.org/CommonErrorMessages/ArgumentListTooLong). L'erreur « Argument list too long » est fréquente avec les jokers qui reconnaissent un grand nombre de fichiers (quand cela se produit des alternatives comme `find` et `xargs` peuvent aider).
|
||||
|
||||
@ -403,7 +425,7 @@ Remarquez l'option de profilage (`-c`) et la possibilité de les attacher à un
|
||||
Exemples : `/proc/cpuinfo`, `/proc/meminfo`, `/proc/cmdline`, `/proc/xxx/cwd`, `/proc/xxx/exe`, `/proc/xxx/fd`, `/proc/xxx/smaps` (où `xxx` est l'identifiant du processus ou pid).
|
||||
|
||||
- Pour comprendre pourquoi quelque chose a mal tourné antérieurement, [`sar`](http://sebastien.godard.pagesperso-orange.fr/) peut-être très utile.
|
||||
Elle fournit un historique concernant l'usage du CPU, de la mémoire, du réseau, etc.
|
||||
Il fournit un historique concernant l'usage du CPU, de la mémoire, du réseau, etc.
|
||||
|
||||
- Pour une analyse plus approfondie du système et de ses performances, regardez `stap` ([SystemTap](https://sourceware.org/systemtap/wiki)), [`perf`](https://en.wikipedia.org/wiki/Perf_(Linux) et [`sysdig`](https://github.com/draios/sysdig).
|
||||
|
||||
@ -550,7 +572,7 @@ Si vous voulez un décompte du nombre de requêtes pour chaque valeur de `acct_i
|
||||
|
||||
- `apg` : génère des mots de passe aléatoires.
|
||||
|
||||
- `7z` : compresse des fichiers avec taux de compression élevé.
|
||||
- `xz` : compresse des fichiers avec taux de compression élevé.
|
||||
|
||||
- `ldd` : affiche des informations sur les bibliothèques partagées.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user