Provided by: util-linux-locales_2.39.3-9ubuntu6.3_all bug

NOM

       script - Faire une transcription d'une session d'un terminal.

SYNOPSIS

       script [options] [fichier]

DESCRIPTION

       script effectue un tapuscrit de tout ce qu’il se passe dans la session de votre terminal. Les données du
       terminal sont stockées sous une forme brute dans le fichier journal et les informations de temps le sont
       dans un fichier journal structuré (optionnel). Le fichier journal de temps est nécessaire pour répéter la
       session, plus tard, avec scriptreplay(1) et pour stocker des informations supplémentaires sur la session.

       Since version 2.35, script supports multiple streams and allows the logging of input and output to
       separate files or all the one file. This version also supports a new timing file which records additional
       information. The command scriptreplay --summary then provides all the information.

       Si le paramètre fichier ou l’option --log-out fichier est fourni, script sauvegarde l’affichage dans ce
       fichier. Si aucun nom de fichier n’est fourni, l’affichage est sauvegardé dans le fichier typescript.

       Remarquez que l’enregistrement des saisies avec --log-in ou --log-io peut être une opération sensible au
       plan de la sécurité, puisque le fichier journal contient toute la saisie de la session en terminal (cela
       veut dire y compris les mots de passe) indépendamment du positionnement du drapeau ECHO du terminal.

OPTIONS

       L’argument taille ci-dessous peut être suivi des suffixes multiplicatifs KiB=1024, MiB=1024*1024, etc.,
       pour GiO, TiO, PiO, EiO, ZiO et YiO (la partie « iB » est facultative, par exemple « K » est identique à
       « KiB ») ou des suffixes KB=1000, MB=1000*1000, etc., pour GO, TO, PO, EO, ZO et YO.

       -a, --append
           Ajouter la transcription à la fin du fichier ou de typescript, en conservant le contenu précédent du
           fichier.

       -c, --command commande
           Exécuter la commande au lieu d’un interpréteur de commandes interactif. Cela facilite la capture de
           sortie d’un programme qui se comporte différemment si sa sortie est un terminal ou non.

       -E, --echo quand
           This option controls the ECHO flag for the slave end of the session’s pseudoterminal. The supported
           modes are always, never, or auto.

           The default is auto — in this case, ECHO enabled for the pseudoterminal slave; if the current
           standard input is a terminal, ECHO is disabled for it to prevent double echo; if the current standard
           input is not a terminal (for example pipe: echo date | script) then keeping ECHO enabled for the
           pseudoterminal slave enables the standard input data to be viewed on screen while being recorded to
           session log simultaneously.

           Note that 'never' mode affects content of the session output log, because users input is not repeated
           on output.

       -e, --return
           Renvoyer le code de retour du processus enfant. Le format utilisé est le même que celui de sortie de
           bash quand il reçoit un signal de fin (c’est-à-dire quand le code de retour est 128 + le numéro du
           signal). Le code de retour du processus enfant est également toujours stocké dans le fichier
           typescript.

       -f, --flush
           Flush output after each write. This is nice for telecooperation: one person does mkfifo foo; script
           -f foo, and another can supervise in real-time what is being done using cat foo. Note that flush has
           an impact on performance; it’s possible to use SIGUSR1 to flush logs on demand.

       --force
           Permettre à la destination par défaut, c’est-à-dire le fichier typescript, d’être un lien direct ou
           symbolique. La commande suivra le lien symbolique.

       -B, --log-io fichier
           Enregistrer l’entrée et la sortie dans le même fichier. Remarquez que cette option n’a de sens que si
           --log-timing est également spécifié, sinon il n’est pas possible de séparer les flux d’entrée et de
           sortie à partir du fichier.

       -I, --log-in fichier
           Enregistrer l’entrée dans le fichier. La journalisation de la sortie est désactivée si l’option
           --log-in est spécifiée seule.

           Soyez prudent avec cette fonctionnalité de journalisation, car elle enregistre toutes les entrées, y
           compris lorsque le terminal a le drapeau ECHO désactivé (par exemple lors de la saisie d’un mot de
           passe).

       -O, --log-out fichier
           Enregistrer la sortie dans le fichier. Par défaut, l’enregistrement de la sortie se fait dans un
           fichier typescript si l’option --log-out ou --log-in n’est pas donnée. L’enregistrement de la sortie
           est désactivé si --log-in est spécifiée seule.

       -T, --log-timing fichier
           Enregistrer les informations de temps dans le fichier. Deux formats de fichiers de temps sont
           désormais pris en charge. Le format classique est utilisé quand seul l’enregistrement d’un flux
           (entrée ou sortie) est activé. Le format multi-flux est utilisé avec --log-io ou quand --log-in et
           --log-out sont spécifiées en même temps. Voir aussi --logging-format.

       -m, --logging-format format
           Force use of advanced or classic timing log format. The default is the classic format to log only
           output and the advanced format when input as well as output logging is requested.

           Classic format
               The timing log contains two fields, separated by a space. The first field indicates how much time
               elapsed since the previous output. The second field indicates how many characters were output
               this time.

           Advanced (multi-stream) format
               The first field is an entry type identifier ('I’nput, 'O’utput, 'H’eader, 'S’ignal). The second
               field is how much time elapsed since the previous entry, and the rest of the entry is
               type-specific data.

       -o, --output-limit taille
           Limiter la taille des fichiers typescript et de temps à taille et arrêter le processus enfant lorsque
           cette taille est dépassée. La taille du fichier calculée ne tient pas compte des messages de début et
           de fin ajoutés par la commande script à la sortie du processus enfant. Du fait d’une mise en tampon
           (« buffering »), la taille finale du fichier pourrait être plus grande que la valeur indiquée.

       -q, --quiet
           Être silencieux (ne pas écrire les messages de départ ni de fin sur la sortie standard).

       -t[fichier], --timing[=fichier]
           Afficher les données de temps sur la sortie d’erreur standard ou dans fichier s’il est indiqué. Cette
           option est obsolète et remplacée par --log-timing, où le paramètre fichier n’est pas facultatif.

       -h, --help
           Afficher l’aide-mémoire puis quitter.

       -V, --version
           Afficher le numéro de version et quitter.

SIGNAUX

       Dès la réception de SIGUSR1, script écrit immédiatement les fichiers de sortie.

ENVIRONNEMENT

       Les variables d’environnement suivantes sont utilisées par script :

       SHELL
           Si la variable d’environnement SHELL existe, l’interpréteur de commandes engendré par script (avec
           fork) sera cet interpréteur de commandes. Si SHELL n’est pas définie, l’interpréteur de commandes
           sera supposé de type Bourne (la plupart des interpréteurs de commandes définissent cette variable
           automatiquement).

NOTES

       Le script s’arrête quand le sous-interpréteur de commandes exécuté se termine (un Ctrl-D pour
       l’interpréteur de commandes de type Bourne comme sh(1p) et exit, logout ou Ctrl-d (si ignoreeof n’est pas
       définie) pour les interpréteurs de commandes de type C comme csh(1)).

       Certaines commandes interactives, comme vi(1), créent des parasites dans le fichier de transcription.
       script fonctionne mieux avec les commandes qui ne manipulent pas l’écran, les résultats cherchent à
       émuler un terminal brut.

       Exécuter script dans des interpréteurs de commandes non interactifs n’est pas recommandé. L’interpréteur
       de commandes interne de script est toujours interactif, et cela pourrait avoir pour conséquence des
       résultats imprévus. Si vous utilisez script dans le fichier d’initialisation de l’interpréteur de
       commandes, évitez d’entrer dans une boucle infinie. Utilisez par exemple le fichier .profile qui n’est lu
       que par les interpréteurs de commandes de connexion :

           if test -t 0 ; then
               script
               exit
           fi

       Vous devriez aussi éviter l’utilisation de script dans les tubes de commande, car script peut lire plus
       d’entrées que vous pourriez en attendre.

HISTORIQUE

       La commande script est apparue pour la première fois dans 3.0BSD.

BOGUES

       script place tout dans le fichier journal, dont les changements de ligne et les espaces arrière. Ce n’est
       pas ce à quoi un utilisateur pourrait naïvement s’attendre.

       script est d’abord conçu pour des sessions de terminal interactives. Quand l’entrée standard n’est pas un
       terminal, (par exemple echo toto | script), la session peut se bloquer car l’interpréteur interactif dans
       la session de script n’a pas de EOF et script ne sait pas quand fermer la session. Voir la session
       REMARQUES pour plus d’informations.

VOIR AUSSI

       csh(1) (pour le mécanisme d’historique), scriptreplay(1), scriptlive(1)

SIGNALER DES BOGUES

       Pour signaler un bogue, utilisez le gestionnaire de bogues sur
       https://github.com/util-linux/util-linux/issues.

DISPONIBILITÉ

       La commande script fait partie du paquet util-linux, elle est disponible sur l’archive du noyau Linux
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.39.3                                  2025-06-05                                          SCRIPT(1)