User Tools

Site Tools


shell

This is an old revision of the document!


Table of Contents

Shell

Le shell ou invite de commande (command prompt) ou terminal virtuel est une interface en ligne de commande pour accéder à l'OS. Il permet d'exécuter les programme disponibles dans les répertoires listés dans la variable d'environnement path.

  • Shells:
    • Linux:
      • sh (Bourne Shell, minimal [UNIX philosophy desgined: one program ↔ one function])
      • ksh (Korn Shell, amélioration de sh)
      • csh (C Shell, amélioration de sh: fonctions implémentée en C plutôt que dans des programmes séparés)
      • bash (Bourne again Shell, amélioration de sh, monde linux)
      • Tcsh (Tenex C Shell)
      • zsh (Zero Shell)
      • rsh (Remote Shell)
      • ash (Almquist Shell, portage linux de sh)
      • dash (Debian Almquist Shell)
    • Windows:
      • DOS
      • Cygwin (bash)
  • Interfaces:
    • Linux:
      • xterm
      • terminal
    • Windows:
      • cmd.exe
      • mintty.exe (sur Cygwin)

Shell commands

  • Edition
    • ed (basic)
    • edit
    • ex
    • vi (visual ex)
    • sed (stream)
    • awk (pattern matching)
    • tr (manips rapides)
  • Archivage
    • tar (archiver GNU)
    • cpio (archiver UNIX)
    • pax (archiver, essai de standardisation)
    • compress
    • gzip (GNU, utilise Deflate)
    • bzip2 (comprime mieux que Deflate, mais plus lent, parallélisable)
    • lzma (comprime mieux que bzip2, mais plus lent)
    • lzo
    • xz (comprime avec lzma, wrapper)
    • rzip (compression de fichier massifs (plusieurs centaines de Mo et potentiellement redondant à longue distance))
    • rsync (synchronisation de répertoires)
  • Explorer FS
    • ls (-l(L minuscule): détail)
    • cd
    • pwd
    • find (advanced ls)
    • m?locate (recherche via index)
  • Manipulation fichier
    • cp
    • mv
    • rm
    • mkdir
    • rmdir
    • ln (-s: symbolic link)
    • touch (met à jour la date de modification)
    • chmod
    • chown
  • Affichage
    • echo|print (dépend du shell)
    • cat
    • head
    • tail
    • grep
    • wc (WordCount, peut compter des caractères, des mots ou des lignes)
  • Gestion d'évolution
    • diff
    • merge
    • patch
  • Environnement
    • set
    • export
    • env
    • ps
    • uname
    • kill
    • whoami
    • which (localisation de l'executable)
    • du (DiskUsage)
    • test
    • [
    • nice
    • man
  • Utilitaires spécifiques
    • lsusb
    • pkill

Astuces

Un terminal récupère son entrée sur un fichier texte (stdin ou script). Il parse donc ce texte et agit en conséquence. Toutes les problématiques qui tournent autour du codage des caractères sont donc présentes.

Ctrl-H

Lors d'une connexion à distance sur un hôte UNIX en ksh depuis un client windows, par exemple, ce genre de problème peut se présenter.

Les backspace ou les déplacements via les touches flèches du clavier sont envoyés à l'hôte distant, mais pas forcément imprimés par le terminal client. Il s'en suit des comportement étranges:

  • Co-existance apparente de deux fichiers du même nom dans un répertoire.
  • Diverses erreur du shell.

Pour contourner ce problème, on peut par exemple configurer PuTTY pour gérer les backspace comme des Ctrl-H.

shell.1296667679.txt.gz · Last modified: 2011/02/02 18:27 by ginko