Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
14 juillet 2010

htmlpdflatexmanmd




arch

arch

Afficher le nom hardware de la machine

   arch affiche le nom hardware de la machine, est équivalent à uname -m

^
12 janvier 2012

htmlpdflatexmanmd




awk

awk, mawk, nawk

Interpréteur de langage AWK

   awk est un interpréteur pour le langage de programmation awk. Ce langage est utile pour manipuler des fichiers de données, traitement et recherche de texte, et pour prototyper et expérimenter des algorithmes.

  Un programme awk est une séquence de paires pattern action et de définitions de fonction. Les programmes cour sont entrés sur la ligne de commande entre ' ' pour éviter une interprétation par le shell. Les programmes plus longs peuvent être lus depuis un fichier. Les données sont lues depuis une liste de fichiers sur la ligne de commande ou depuis l'entrée standard quand la liste est vide. L'entrée est scindée en enregistrements comme déterminé par la variable de séparation d'enregistrement, RS. Initialement, RS = "\n". Chaque enregistrement est comparé avec chaque motif et s'il y'a correspondance, l'action est exécutée.

OPTIONS

-F value Définis le séparateur de champ, FS
-f file Lit depuis le fichier au lieu de la ligne de commande. Peut-être spécifié plusieurs fois.
-v var=value Assigne une valeur à une variable
-- Indique la fin des options de manière non-ambiguë
mawk fournis:
-W version Version de mawk puis quitte
-W dump Écrit en listing style assembleur la représentation interne du programme sur stdout puis quitte.
-W interactive Définis les écritures sans mise en tampon sur stdout et les lignes mise en tampon lues depuis stdin. Les enregistrements depuis stdin sont lus sans regarder RS.
-W exec file Le programme est lu depuis le fichier.
-W sprintf=num Ajuste la taille du tampon sprintf de mawk au nombre d'octets spécifiés.
-W posix_space force mawk à ne pas considérer '\n' comme étant un espace.

Le langage AWK

   Un programme awk est une séquence de paires motif action et de définitions de fonctions.

        Un motif peut être
        BEGIN
        END
        expression
        expression, expression

   motif ou action peut être omis (mais pas les 2). Si action est omis, il est implicitement print. Si le motif est omis, il est simplement matché. BEGIN et END nécessitent une action.

  Les déclarations sont terminées par une nouvelle ligne, ';' ou les deux. Les groupes de déclarations tels que les actions ou les boucles sont délimité par , comme en C. La dernière déclaration dans un block ne nécessite pas de terminaison. Les lignes blanches ne signifient rien; une déclaration vide est terminée par un ';'. Les déclarations longues peuvent continuer sur une ou plusieurs lignes avec \. Une déclaration peut être scindée sans un \ après un ',', [, &&, ||, do, else, la parenthèse droite d'un if, while ou for, ou d'une définition de fonction. Un commentaire commence avec # et s'étend jusqu'à la fin de la ligne.

Les déclarations suivantes contrôlent le flux d'un programme dans les blocks:
if ( expr ) statement
if ( expr ) statement else statement
while ( expr ) statement
do statement while ( expr )
for ( opt_expr ; opt_expr ; opt_expr ) statement
for ( var in array ) statement
continue
break

Types de données, conversions et comparaisons

   Il y'a 2 types de données de bases, les chaînes et les nombres. Les constantes numériques peuvent être entier, décimal, ou en notation scientifique. Tous les nombres sont représentés en interne et tous sont calculés en virgule flottante. Donc 0.2e2 == 20 est vrai, et true vaut 1.0

  Les chaînes sont placées entre guillemets. Elles peuvent être continuées sur une nouvelle ligne en échappant newline. Les caractères échappés suivant sont reconnus:

        \\ \
        \" "
        \a alert, ascii 7
        \b backspace, ascii 8
        \t tab, ascii 9
        \n newline, ascii 10
        \v vertical tab, ascii 11
        \f formfeed, ascii 13
        \r carriage return, ascii 13
        \ddd 1, 2, ou 3 chiffre octal pour le code ascii
        \xhh 1 ou 2 chiffres hexa pour le code ascii

   Il y'a réellement 3 types de données; le troisième est de type "nombre et chaîne" qui a des données numériques et des chaînes en même temps. Les variables utilisateur, lorsqu'elles sont créées, sont initialisées à null, un nombre ou une chaîne qui vaut 0 ou "".

Le type d'une expression est déterminé par son contexte et une conversion de type se produit. Par exemple, pour évaluer:
y = x + 2 ; z = x "hello"

   y est de type numérique. Si x est une chaîne, elle est convertie en numérique avant le calcul. z sera de type chaîne, et la valeur de x sera convertie en chaîne si nécessaire et concaténé avec "hello". Une chaîne est convertie en numérique en utilisant le plus long préfixe numérique comme avec atof(3). Une expression numérique est convertie en chaîne en remplaçant expr avec sprintf(CONVFMT, expr), sauf si expr peut être représentée sur une machine comme un entier exact, alors il est convertit en sprintf("%d", expr). sprintf est embarqué dans awk et duplique la fonction fprints(3), et CONVFMT est une variable intégrée utilisée pour les conversions interne des nombres en chaîne et initialisé à "%.6g". Les conversions peuvent être forcées, expr "" est une chaîne et expr+0 est numérique.

   Pour évaluer, expr1 rel-op expr2, s'ils sont de type numérique ou un nombre et une chaine, la conversion est numérique; s'ils sont de type chaîne la comparaison est de type chaine; si un opérande est de type chaîne, l'opérande non-chaîne est converti et la comparaison est de type chaîne. Le résultat numérique est 1 ou 0.

  En booléen, tel que if ( expr ) statement, une expression chaîne est vrai si et seulement si elle n'est pas vide; une valeur numérique si et seulement si elle ne vaut pas 0.

Expressions régulières

   Dans le langage awk, les enregistrements, champs et chaînes sont souvent testés avec des expressions régulières. Elles sont délimitées par des "/"

  expr /r/

  Cette expression évalue à 1 si expr matche r, qui signifie qu'une sous-chaîne de expr est dans le jeu de chaîne définie par r.

  /r/ action et $0 /r/ action

  Sont identiques, et pour chaque enregistrement en entrée qui match r, action est exécuté. en fait, /r/ est une expression régulière awk qui est équivalent à ( $0 /r/ ).

  awk utilise des expressions régulières étendues comme avec egrep. Les méta caractères, par exemple, ceux qui ont une signification spéciale dans les expressions régulières sont: ^ $ . [ ] | ( ) * + ?

   Les expressions régulières sont construites comme suit:

        c match le non méta caractères
        \c match un caractère définis par la même séquence échappée utilisée dans les constantes chaînes ou le caractère littéral c if \c n'est pas une séquence échappée.
        . Mach n'importe quel caractère (incluant newline)
        ^ Match le début d'une chaîne
        $ Match la fin d'une chaîne
        [c1c2c3...] Match un caractère dans la classe c1c2c3... un intervalle de caractères est noté c1-c2.
        [^c1c2c3...] Match tout caractère non listé dans la classe

   Les expressions régulières sont construites depuis d'autres expressions régulières comme suit:

        r1r2 Match r1 suivi immédiatement par r2 (concaténation)
        r1 | r2 Match r1 ou r2 (alternation)
        regen Match r répété 0 ou plusieurs fois
        r+ Match r répété une ou plusieurs fois
        r? Match r 0 ou une fois
        (r) Match r, fournissant un groupage

   La précédence des opérateurs est: *, +, ?

Exemple

/^[_a-zA-Z][_a-zA-Z0-9]*$/ et /^[-+] ?([0-9]+\. ?|\.[0-9])[0-9]*([eE][-+] ?[0-9]+) ?$/
Sont matchés par les identifiants awk et les constantes numériques awk, respectivement. Noter que "." doit être échappé pour être reconnu comme point décimal, et que les méta caractères ne sont pas spéciaux dans les classes de caractères
BEGIN identifier = "[_a-zA-Z][_a-zA-Z0-9]*"
$0 "^" identifier
Affiche toutes les lignes qui commencent avec un identifier awk.
mawk reconnait l'expression régulière vide //, qui match la chaîne vide et est matché par une chaîne avant, après et entre chaque caractère. Par exemple
echo abc | mawk ' gsub(//, "X") ; print '
XaXbXcX

Enregistrement et champs

   Les enregistrements sont lus en une fois, et stockés dans la variable $0. L'enregistrement est splité en champs qui sont stockés dans $1, $2, ..., NF. La variable NF contient le nombre de champs et NR et FNR sont incrémentés de 1. Les champs derrière $NF sont mis à "".

  Assigner $0 recalcule les champs et NF. Assigner NF ou un champ reconstruit $0 en concaténant le $i séparé par OFS. Assigner un champ avec un index plus grand que NF augmente NF et reconstruit $0.

  Les données en entrée stockés dans les champs est de type chaîne, à moins que tout le champ est sous la forme numérique, le champ est alors de type chaîne et nombre. Par exemple:

echo 24 24E | mawk ' print($1 › 100, $1›"100", $2 › 100, $2›"100") '
0 1 1 1

Expressions et opérateurs

   La syntaxe est similaire au C. Les expressions primaires sont des constantes numériques, variables, champs, tableaux et des appels de fonction. L'identifiant pour une variable, tableau ou fonction peut être une séquence de lettres, chiffres et '_', qui ne commencent pas avec un chiffre. Les variables ne sont pas déclarées; elles existent quand elles sont référencées la première fois et sont initialisées à NULL.

  Les nouvelles expressions sont composées avec les opérateurs suivant par ordre de priorité croissant:

Assignement = += -= *= /= %= ^=
Conditionnel ? :
Ou logique ||
Et logique $$
Array membership in
Matching !
Relationnel ‹ › ‹= ›= == !=
Concaténation (pas d’opérateur explicite)
Ajout + -
Multiplication * / %
Unaire + -
Non logique !
Exponentiel ^
Incrément et décrément ++ —
Champ $

Tableaux

   awk fournis des tableaux à une dimension. Les éléments de tableau sont exprimé comme array[expr]. expr est convertit en interne en type chaîne, donc A[1] et A["1"] sont identique et l'index est "1". Les tableaux indexés par chaîne sont appelés des tableaux associatifs. Un tableau initialisé est vide; les éléments existent au premier accès. Une expression dans un tableau vaut 1 si array[expr] existe, sinon vaut 0.

Il y'a une forme de for qui boucle chaque index d'un tableau:
for ( var in array ) statement

   Définis var à chaque index de array et exécute statement. L'ordre dans lequel var traverse les indices n'est pas définis.

  La déclaration delete array[expr], cause array[expr] de ne pas exister. mawk supporte une extension, delete array, qui supprime tous les éléments d'un tableau.

  Les tableaux multi-dimensionnels sont synthétisés avec concaténation en utilisant la variable intégrée SUBSEP. array[expr1,expr2] est équivalent à array[expr1 SUBSEP expr2].

Tester des éléments multi-dimensionnels utilise un index en parenthèse, tel que:
if ( (i, j) in A ) print A[i, j]

Variables intégrées

   Les variables suivantes sont intégrées et initialisées avant l'exécution du programme.

ARGC Nombre d’arguments sur la ligne de commande
ARGV Tableau des arguments sur la ligne de commande, 0..ARGC-1
CONVFMT Format pour la conversion interne des nombres, chaînes, initialisé à "%.6g"
ENVIRON Tableau indexé par variable d’environnement. Une chaine d’environnement, var=value est stockée comme ENVIRON[var] = value
FILENAME nom du fichier d’entrée
FNR Nombre d’enregistrements dans FILENAME
FS Split les enregistrements dans des champs en tant qu’expression régulière
NF Nombre de champs dans l’enregistrement courant
NR Nombre d’enregistrement courant total dans le flux d’entrée
OFMT Format pour afficher les nombres; initialisé à "%.6g"
OFS Séparateur de champs en sortie, initialisé à " "
ORS Termine chaque enregistrement en sortie, initialisé à "\n"
RLENGTH Longueur définis par le dernier appel de la fonction intégrée match()
RS Séparateur d’enregistrement en entrée, initialisé à "\n"
RSTART Index définis par le dernier appel à match()
SUBSET Utilisé pour construire des tableaux multiples, initialisé à "\034"

Fonctions de chaînes intégrées

gsub(r,s,t) gsub(r,s) Substitutions globale, chaque match avec l’expression régulière r dans la variable t est remplacée par la chaîne s. Le nombre de remplacement est retourné. Si t est omis, $0 est utilisé. un & dans s est remplacé par la sous-chaîne matché de t.
index(s,t) Si t est une sous-chaine de s, la position où t comment est retournée, sinon 0.
length(s) Retourne la longueur de s
match(s,r) Retourne l’index du plus long match de r dans s. sans match, retourne 0. RSTART contient la valeur de retour, RLENGTH la longueur du match ou 61 si aucun match. si une chaîne vide match, RLENGTH vaut 0 et 1 est retourné sur le match est au début, et length(s)+1 si le match est à la fin.
split(s,A,r) split(s,A) s est splitté en champs par r et les champs sont chargés dans le tableau A. Le nombre de champs est retourné. si r est omis, FS est utilisé.
sprintf(format, expr-list) Retourne un chaîne construite depuis expr-list en accord avec format.
sub(r,s,t) sub(r,s) Simple substitution, identique à gsub except au moins une substitution.
substring(s,i) substr(s,i) Retourne le sous-chaîne de s, commençant à l’index i de longueur n. Si n est omis, le suffix de s, commençant à i est retourné.
tolower(s) retourne s en minuscule
toupper(s) retourne s en majuscule

Fonctions arithmétiques intégrées

atan2(y,x) arctan de y/y entre -pi et pi
cos(x) Cosinus, x en radian
exp(x) Fonction exponentielle
int(x) Retourne x tronqué à 0
log(x) Logarithme naturel
rand(x) Retourne un nombre aléatoire entre 0 et 1
sin(x) fonction sinus, x en radian
sqrt(x) Retourne la racine carré de x
srand(expr) srand() Générateur de nombre aléatoire, utilisant l’horloge si expr est omis, et retourne la valeur. mawk génère un nombre aléatoire depuis l’horloge au démarrage donc il n’y a pas de réel besoin de srand(). srand(expr) est utile pour répéter des séquences pseudo-aléatoires.

Entrée et Sortie

   Il y'a 2 déclarations de sortie, print et printf.

print expr1, expr2, ..., exprn Écrit $0 ORS sur la sortie standard, les expressions numériques sont converties en chaîne avec OFMT.
printf format, expr-list Duplique la fonction C printf. Toutes les spécifications sont reconnues avec les conversions %c, %d, %e, %E, %f, %g, %G, %i, %o, %s, %u, %x, %X et %%, et les qualifieur de conversion h et l.

   La liste des arguments de print et printf peuvent optionnellement être entre parenthèses. Les nombres sont affichés en utilisant OFMT ou "%u" pour les entiers exacts. %c avec un argument numérique affiche le caractère 8-bits correspondant. Avec un argument chaîne, affiche le premier caractère de la chaîne. La sortie de print et printf peuvent être redirigés avec ou ›› vers un fichier ou | vers une commande à la fin de la déclaration print. Les redirections accolées sont toujours de type flux ouvert. Par convention mawk associe le nom du fichier /dev/stderr avec stderr. mawk associe également "-" et /dev/sdtout avec stdin et stdout qui permet à ces flux d’être passés en fonctions.

  La fonction d’entrée getline a les variations suivantes:

getline Lit dans $0, met à jours les champs, NF, NR et FNR.
getline ‹ file Lit dans $0 depuis file, met à jours les champs et NF.
getline var Lit l’enregistrement suivant dans var, met à jours NR et FNR.
getline var ‹ file Lit le prochain enregistrement de file dans var
command | getline Pipe un enregistrement depuis command dans $0 et met à jours les champs et NF
command | getline var Pipe un enregistrement depuis command dans var
getline retourne 0 sur end-of-file, -1 sur erreur, sinon 1.

   La fonction close(expr) ferme le fichier ou le pipe associé avec expr. close retourne 0 si expr est un fichier ouvert ou une commande en pipe, -1 sinon. close est utilisé pour relire un fichier ou une commande.

  La fonction fflush(expr) vide le fichier de sortie ou le pipe associé avec expr. fflush retourne 0 si expr est un flux de sortie ouvert, sinon -1. fflush sans argument vide stdout. fflush avec un argument vide ("") vide toutes les sorties ouvertes.

  system(expr) utilise /bin/sh pour exécuter expr et retourner le code de sortie de la commande expr. Les changements sont fait dans le tableau ENVIRON ne sont pas passé à la commande exécutée avec system ou les pipes.

Fonctions utilisateurs

La syntaxe pour une fonction utilisateur est la suivante
function name( args ) statements
Le corps de la fonction peut contenir une déclaration de retour
return opt_expr
Une déclaration de retour n’est pas requise. Les appels de fonction peuvent être imbriqués ou récursifs. Les fonctions sont passées en expressions par valeur et les tableaux par référence. Les arguments supplémentaires servent de variables locales et sont initialisés à null. Par exemple,
csplit(s,A)
place chaque caractère de s dans le tableau A et retourne la longueur de s


function csplit(s, A, n, i)
    
    n = length(s)
    for( i = 1 ; i ‹= n ; i++ ) A[i] = substr(s, i, 1)
    return n

   Placer des espaces supplémentaires entre les arguments passés et les variables locales est conventionnel. Les fonctions peuvent être référencés avant qu’elles soient définies, mais le nom de la fonction et le ’(’ des arguments doivent se toucher pour éviter les confusions avec les concaténations.

Splittes les chaînes, enregistrements et fichiers

   awk utilise le même algorithme pour splitter les chaînes dans les tableaux avec split(), et les enregistrements dans les champs dans FS. mawk utilise essentiellement le même algorithme pour splitter les fichiers en enregistrement dans RS. split(expr,A,sep) fonctionne comme suit:

(1) si sep est omis, il est remplacé par FS. sep peut être une expressions régulière ou une expressions. Si c’est une expression de type non-chaîne, il est convertit en chaîne.
(2) si sep = " " (un simple espace), alors il est recherché du début à la fin de expr, et sep devient "". mawk définie en tant qu’expression régulière /[ \t\n]+/. Sinon sep est traité comme expression régulière, excepté que les méta-caractères sont ignorés pour les chaînes de longueur 1, par exemple, split(x, A, "µ") et split(x, A, /\*/) sont équivalents.
(3) Si expr n’est pas une chaîne, il est convertit en chaîne. si expr vaut "", split() retourne 0 et 1 est vide. Sinon, les matches de sep dans expr, sépare expr dans des champs qui sont stockés dans A et split() retourne le nombre de champs dans A.

   Splitter les enregistrements en champs fonctionne de la même manière excepté que les pièces sont chargées dans $1, $2, ..., $NF. Si $0 est vide, NF vaut 0 et tous les $i sont à "".

  mawk split les fichiers en enregistrements par le même algorithme, mais à la différence que RS est réellement un terminateur au lieu d’un séparateur.

  exemple, si FS = " :+" et $0 = "a ::b :" , alors NF = 3 et $1 = "a", $2 = "b" et $3 = "", mis si "a ::b :" est le contenu d’un fichier d’entrée et RS = " :+", alors il y’a 2 enregistrements "a" et "b".

  RS = " " n’est pas spécial

  si FS = "", mawk casse l’enregistrement en caractères individuels, et, similairement, split(s,A,"") place les caractères individuels de s dans A.

Enregistrements multi-lignes

   Vu que mawk interprète RS comme expression régulière, les enregistrements multi-ligne sont facile. Définir RS = "\n\n+", créé une ou plusieurs lignes blanches pour séparer les enregistrements. Si FS = " " (le défaut), alors un simple newline, via les règles plus haut, devient un espace et les simples newline sont des séparateurs de champs.

  Par exemple, si un fichier est "a b\nc\n\n", RS = "\n\n+" et FS = " ", alors il y’a un enregistrement "a b\nc" avec 3 champs "a", "b" et "c", changer FS = "\n", donne 2 champs "a b" et "c". Changer FS = "", donne un champ identique à l’enregistrement.

   Si vous voulez que les lignes avec des espaces ou tabulation soient considérés blanc, définir RS = "\n([ \t]*\n)+". Pour la compatibilité avec d’autres awk, définir RS = "" a le même effet que si les lignes blanches sont enlevées du début à la fin des fichiers et les enregistrements sont déterminé comme si RS = "\n\n+". Posix nécessite que "\n" sépare toujours les enregistrements quand RS = "" sans regarder la valeur de FS. mawk ne supporte pas cette convention, parce que définir "\n" n’est pas nécessaire.

  La plupart du temps quand vous changez RS pour les enregistrements multi-ligne, vous voulez également changer ORS à "\n\n" pour que l’espacement des enregistrements soit préservé en sortie.

Exécution de programme

   Cette section décrit l’ordre d’exécution des programmes. D’abord ARGC est définit au nombre total d’arguments passé sur la ligne de commande. ARGV[0] a le nom de l’interpréteur awk et ARGV[1] ... ARGV[ARGC-1] contiennent les arguments de la ligne de commande.

Par exemple avec
mawk -f prog v=1 A t=hello B
ARGC = 5
avec
ARGV[0] = "mawk", ARGV[1] = "v=1", ARGV[2] = "A", ARGV[3] = "t=hello" et ARGV[4] = "B".

   Ensuite, chaque block BEGIN est exécuté dans l’ordre. Si le programme consiste entièrement de blocks BEGINS, alors l’exécution se termine, sinon un flux d’entrée est ouvert et l’exécution continue. Si ARGC vaut 1, le flux d’entrée et mis à stdin, sinon les arguments de la ligne de commande sont examinés à la recherche d’un fichier.

   Les arguments se divisent en 3 ensembles: fichiers, arguments et chaînes vide "". Un assignement a le format var=string. Quand ARGV[1] est examiné comme un argument fichier possible, s’il est vide, il est ignoré ; si c’est un assignement, l’assignement à var est fait et i saute au suivant; sinon ARGV[i] est ouvert en entrée. S’il échoue à l’ouverture, l’exécution se termine avec le code d’erreur 2. Sans argument fichier, l’entrée devient stdin. getline dans une action BEGIN ouvre l’entrée. "-" comme argument fichier dénote stdin.

   Une fois un flux d’entrée ouvert, chaque enregistrement entrant est testé avec chaque pattern, et si çà matche, l’action associée est exécutée. Une expression mach si elle vaut true. Un BEGIN match avant qu’une entrée soit lue, et un END match après que toutes les entrées aient été lues. Une plage de motif, expr1,expr2, match chaque enregistrement entre le match de expr1 et le match de expr2, inclus.

   Quand la fin d’un fichier sur produit sur un flux d’entrée, les arguments restants sur la ligne de commande sont examinés à la recherche d’un fichier, et s’il y’en a un, il est ouvert, sinon le pattern END est considéré matché et toutes les actions END sont exécutées.

   Dans l’exemple, l’assignement v=1 prend place après que BEGIN ait été exécutée, et la donnée placée dans v est de type nombre et chaîne. L’entrée est ainsi lue depuis le fichier A. à la fin du fichier A, t est définis à "hello", et B est ouvert en entrée. À la fin du fichier B, les actions END sont exécutées. Le flux de programme au niveau pattern action peut être changé avec:

next Le prochain enregistrement en entrée est lu et le motif est testé pour redémarrer avec le premier pattern action
exit opt_expr Force l’exécution immédiate des actions END ou la fin du programme s’il n’y en a pas ou si exit se produit à la fin d’une action END. opt_expr définie la valeur de sortie.

Exemples

Émuler cat
print

Émuler wc
chars += length($0) +1
words += NF
END print NR, words, chars

Compter le nombre de mots uniques
BEGIN FS = "[^A-Za-z]+"
    for(i = 1 ; i ‹= NF ; i++) word[$i] = ""
END delete word[""]
    for ( i in word ) cnt++
    print cnt

Ajoute le second champs de tous les enregistrements basés sur le premier champ
$1 /credit|gain/ sum += $2
$1 /debit|loss/ sum -= $2

Trie un fichier, comparer les chaînes :
line[NR] = $0 ""
END isort(line, NR)
    for(i = 1 ; i ‹= NR ; i++) print line[i]
    
function isort( A, n, i, j, hold)
    for( i = 2 ; i ‹= n ; i++)
    hold = A[j = i]
    while ( A[j-1] › hold )
        j— ; A[j+1 = A[j]
    A[j] = hold

Problèmes de compatibilité

   nawk apporte ces extensions:

nouvelles fonctions: toupper() et tolower()
nouvelles variables: ENVIRON[] et CONVFMT
Spécifications de conversion ANSI C pour printf() et sprintf()
Options de ligne de commande: -v var=value, plusieurs fois -f et l’implémentation des options en tant qu’argument de -W.

   Posix AWK est orienté pour opérer sur les fichiers une ligne à la fois. RS peut être changé de "\n" à un autre caractère, mais c’est difficile de trouver une utilisation pour ça. Par convention, RS = "", créé une ou plusieurs lignes blanches séparant les enregistrements, permettant les enregistrements multi-lignes. Quand RS = "", "\n" est toujours un champ séparateur sans regarder FS.

   mawk permet à RS d’être une expression régulière. Quand "\n" apparait dans l’enregistrement, il est traité comme espace, et FS détermine toujours les champs.

Supprimer la ligne à un certain moment peut simplifier les programmes et peut souvent améliorer les performances. Par exemple, en réécrivant les 3 exemples plus haut:
BEGIN RS = "[^A-Za-z]+"
word[ $0 ] = ""
END delete word[ "" ]
    for(i in word ) cnt++
    print cnt

   Compte le nombre de mots uniques en faisant de chaque mot un enregistrement. Sur des fichiers de taille modérée, mawk s’exécute 2 fois plus vite.

Le programme suivant remplace chaque commentaire par un simple espace dans un fichier C
BEGIN
    RS = "/\*([^*]|\*+[^/*])*\*+/"
    ORS = " "
    getline hold
    
        print hold ; hold = $0
    END printf "%s" , hold

avec mawk, les déclarations suivantes sont équivalentes: x /a\+b/ x "a\+b" x "a\\+b"

   Les chaînes sont scanées 2 fois, une fois en tant que chaîne, et une fois en tant qu’expression régulière. Au premier scan, mawk ignore les caractères d’échappement alors que awk reconnait \c.

  Posix awk ne reconnait pas "/dev/stdout,err" ou la séquence hexa \x dans les chaînes. À la différence de l’ANSI C, mawk limite le nombre de chiffres qui suivent \x de 2 vu que l’implémentation actuelle supporte uniquement les caractères 8 bits.
^
05 juin 2010

htmlpdflatexmanmd




base64

base64

base64 transforme des données en entrées sous une forme encodée en base 64. Cette forme utilise les caractères ASCII pour représenter les données binaires. L'encodage base64 étend les données d'environ 133% de l'original

OPTIONS

-w COLS, --wrap=COLS scinde les données en lignes de COLS caractères. défaut : 76 caractères.
-d, --decode Change le mode opératoire. l'entrée est supposé être en base64 et la sortie les données originales.
-i, --ignore-garbage durant le décodage, les newlines sont toujours acceptées. cette options ignore les octets non-reconnus, pour permettre à des données distordues d'être décodées.
^
07 juillet 2010

htmlpdflatexmanmd




basename

basename

Supprime la partie répertoire du nom spécifié

   Si un suffix est spécifié et est identique à la fin du nom, il est supprimé du nom. Note que les slashs sont supprimés automatique par basename. Ensemble, basename et dirname sont conçus de telle manière que si ls "$name" réussit, alors cd "$(dirname "$name")" ; ls "$(basename "$name")" réussira également.

Exemples

Affiche sort:
basename /usr/bin/sort
Affiche stdio:
basename include/stdio.h .h
^
05 juin 2010

htmlpdflatexmanmd




cat

cat

Copie chaque fichier ou l'entrée standard et l'envoi sur la sortie

OPTIONS

-A, --show-all Equivalent à -vET
-b, --number-nonblank Numérote toutes les lignes non-vides en sortie, commençant à 1.
-e  Équivalent à -vE
-E, --show-ends Affiche un $ à chaque fin de ligne
-n, --number Numérote toutes les lignes, commençant à 1
-s, --sqeeze-blank Réduire les multiples lignes vide consecutives en une seule.
-t Equivalent à -vT
-T --show-tabs Affiche les caractères TAB sous la forme '^I'
-u Ignoré, pour la compatibilité POSIX
-v, --show-non-printing Affiche les caractères de contrôle excepté pour LFD et TAB en utilisant la notation '^' suivi et précède les caractères qui ont le bit haut avec 'M-'

   Sur des systèmes comme MS-DOS qui distinguent les fichiers texte des fichiers binaire, cat lit et écrire normalement en mode binaire. Cat peut s'exécuter en mode texte si une des option 'bensAE' est utilisé ou si la sortie standard est un terminal.

Exemples

Sort le contenu de f, puis l'entrée standard, puis le contenu de g
cat f - g
copie l'entrée standard sur la sortie standard
cat
Quitter ou poursuivre
ctrl+d
enregistrer l'entrée standard dans un fichier
cat › fichier
ajouter un enregistrement dns
cat ›› /etc/bind/bind.zone
^
14 juillet 2010

htmlpdflatexmanmd




chcon

chcon

Change le contexte de récurité SELinux des fichiers spécifiés

OPTIONS

-h, --no-dereference affecte les liens symboliques au lieu des fichiers référencés
--reference=RFILE utilise le context de sécurité de RFILE au lieu de spécifier un contexte.
-R, --recursive Opère sur les fichiers et les répertoires récursivement.
-H si -R est spécifié et qu'un argument de la ligne de commande est un lien symbolique vers un répertoire, le traverse.
-L en mode récursif, traverse tous les liens symboliqes vers un répertoire.
-P Ne traverse aucun lien symbolique. mode par défaut.
-v, --verbose Affiche un diagnostique pour chaque fichier traité.
-u USER, --user=USER Définis l'utilisateur dans le contexte de sécurité cible.
-r ROLE, --role=ROLE Définis le role dans le contexte de sécurité cible
-t TYPE, --type=TYPE Définis le type dans le contexte de sécurité cible
-l RANGE, --range=RANGE Définit la plage dans le contexte de sécurité cible
^
03 juillet 2010

htmlpdflatexmanmd




chgrp

chgrp

Change le groupe propriétaire de chaque fichier donné. Peut être soit un nom soit un ID.

OPTIONS

-c, --changes Décrit l'action pour chaque fichier dont le groupe change.
-f, --silent, --quiet N'affiche pas de message d'erreur sur les fichiers dont le groupe ne peut pas être changé
--dereference N'agit pas sur les liens symboliques mais sur leurs références. mode par défaut
-h, --no-dereference Agit sur les liens symboliques et non pas leur références
--preserve-root Échoue en tentant de changer le répertoire racine récursivement. sans --recursive cette options n'a pas d'effet.
--no-preserve-root Annule l'effet d'un précédent --preserve-root
--reference=REF_FILE Change le groupe de chaque fichier pour être le même que REF_FILE. si REF_FILE est un lien symbolique, utilise sa référence.
-v, --verbose Affiche un diagnostique pour chaque fichier traité.
-R, --recursive Change récursivement les répertoires et leur contenus
-H si -R est spécifié et que l'argument est un lien symbolique, le traverse.
-L si -R est spécifié, traverse tous liens symboliques vers un répertoire qui est rencontré
-P Ne traverse aucun lien symbolique. mode par défaut
^
03 juillet 2010

htmlpdflatexmanmd




chmod

chmod

Change les permissions d'accès des fichiers spécifiés. Il ne change jamais les permissions des liens symbolique. Cependant pour chaque lien symbolique listé, chmod change les permissions du fichier pointé.

OPTIONS

-c, --changes décrit l'action pour chaque fichier dont les permissions sont changées
-f, --silent, --quiet N'affiche pas de message d'erreur dans le cas ou les permissions d'un fichier ne peuvent être changées.
--preserve-root Échoue en tentant de changer récursivement le répertoire racine. sans -R cette option n'a aucun effet.
--no-preserve-root Annule l'effet d'un précédent --preserve-root
-v, --verbose Décrit l'action effectuée sur chaque fichier.
--reference=REF_FILE Change le mode de chaque fichier à REF_FILE. Si REF_FILE est un lien symbolique, utilise sa référence.
-R, --recursive Change récursivement les permissions des répertoires et leur contenus.
^
03 juillet 2010

htmlpdflatexmanmd




chown

chown

Change les user et group propriétaire

   chown change le user:group propriétaire de chaque fichier spécifiés, sous la forme [OWNER] [ : [GROUP] ]. Peuvent être spécifié par nom ou par ID.

        OWNER Change seulement l'utilisateur.
        OWNER:GROUP change l'utilisateur et le groupe
        OWNER: Change l'utilisateur spécifié et le groupe de cet utilisateur.
        :GROUP Change seulement le groupe.
        : Aucun des 2 n'est changé.

OPTIONS

-c, --changes Décrit l'action de chaque fichier dont le propriétaire est changé.
-f, --silent, --quiet N'affiche pas les messages d'erreur dont le propriétaire des fichiers spécifiés ne peut être changé.
--from=OLD_OWNER Change le propriétaire d'un fichier seulement s'il a les même attributs que OLD_OWNER.
-h, --no-dereference Agit sur les liens symboliques eux mêmes au lieu de leur référence.
--preserve-root Échoue en tentant de changer récursivement le répertoire racine. sans -R cette option n'a aucun effet.
--no-preserve-root Annule l'effet d'un précédent --preserve-root
--reference=REF_FILE Change l'utilisateur et le groupe pour correspondre à ceux de REF_FILE. Si REF_FILE est un lien symbolique, utilise sa référence.
-v, --verbose Affiche un diagnostique pour chaque fichier traité.
-R, --recursive Change récursivement les répertoires et leurs contenus.
-H Si -R est spécifié et qu'une opérande est un lien symbolique vers un répertoire, le traverse.
-L si -R est spécifié, traverse les liens symboliques vers un répertoire qui est rencontré.
-P ne traverse aucun lien symbolique
^
15 juillet 2010

htmlpdflatexmanmd




chroot

chroot

Lance une commande avec un répertoire root différent

Exemple

lancer un ls lié dans /tmp/empty:
chroot /tmp/empty /ls -Rl /
^
07 juin 2010

htmlpdflatexmanmd




cksum

cksum

Calcul un CRC pour chaque fichier donné

   cksum calcul un CRC pour chaque fichier donné. Il affiche le CRC suivi du nombre d'octets du fichier. Typiquement utilisé pour s'assurer que les fichiers transférés n'ont pas été corrompus.

^
21 juillet 2010

htmlpdflatexmanmd




comm

comm

Compare 2 fichiers triés, ligne par ligne, et écrit sur la sortie standard les lignes qui sont communes et les lignes qui sont uniques.

   Avant d'utiliser comm, les 2 fichiers doivent être triés. sort sans options produit toujours une sortie utilisable par comm. Sans options, comm produit une sortie à 3 colonnes. La première contient les lignes uniques du premier fichier, la deuxième les lignes unique dans le deuxième fichier et la troisième colonne contient les lignes communes au 2 fichiers. Les colonnes sont séparées par une tabulation.

OPTIONS

-1, -2, -3 Supprime l'affichage de la colonne spécifiée
--check-order Échoue avec un message d'erreur si un des fichier en entrée n'est pas trié.
--nocheck-order Ne vérifie pas si les fichiers sont triés.
--output-delimiter=STR Permet de spécifier le délimiteur entre les colonnes.
^
04 juin 2010

htmlpdflatexmanmd




coreutils

coreutils

Options Communes

   Certaines options sont disponible pour tous les programmes. Elle sont décrites ici. Tout programme GNU accepte ces options.

  Normalement les options et opérandes peuvent apparaître dans n'importe quel ordre, et les programmes agissent comme si toutes les options apparaissaient avec les opérandes. Beaucoup de programmes qui acceptent les options longues, reconnaissent l'abréviation non-ambigu de ces options.Certains de ces programmes reconnaissent les options --help et --version seulement si l'option est la seule de la ligne de commande.

--help Affiche une aide sur l'utilisation du programme, et quitte.
--version Affiche la version du programme, puis quitte.
-- délimite la liste d'options. les arguments suivants, s'il y'en a, sont traités comme opérande même s'ils commence avec '-'.

Code de sortie

   Les programmes renvoient généralement 0 en cas de succès, et une valeur différente (typiquement 1) dans le cas contraire. Cependant il y'a quelques programmes qui produisent d'autres code de sortie : chroot, env, expr, nice, nohup, printenv, sort, su, test, timeout, tty.

Options de backup

   Certains programmes (cp, install, ln et mv) peuvent créer une copie des fichiers avant d'écrire les nouvelles versions. Ces options contrôlent les détails de ces backups.

-b, --backup[=METHOD] Crée un backup de chaque fichier qui va être écrasé ou supprimé. Sans cette option, les versions originales sont détruites. l'option METHOD, si non spécifiée, utilise la variable d'environnement VERSION_CONTROL, et si elle n'est pas définie, utilise 'existing' par défaut. Les valeurs valides sont :

        none
        off ne jamais faire de backup
        numbered
        t Toujours créer des backups numérotées
        existing
        nil Toujours créer desbackup numérotées des fichiers qui en ont déjà un, simple backup pour les autres.
        simple
        never Toujours créer des backups simple.

-S --suffix=SUFFIX Ajoute SUFFIX à chaque backup crée avec l'option -b. Si cette option n'est pas spécifiée, la valeur de la variable d'environnement SIMPLE_BACKUP_SUFFIX est utilisée, et si elle n'est pas définie le défaut est ' ', comme dans Emacs.

Taille de block

   Certains programmes (df, du et ls) affichent les tailles en blocks. On peut utiliser la taille de block et la méthode d'affichage. La taille de block utilisée pour l'affichage est indépendant de la taille de block des systèmes de fichiers. La taille de block par défaut est choisie en examinant les variables d'environnement. La première qui est définie détermine la taille de block.

        DF_BLOCK_SIZE Spécifie la taille de block par défaut pour df
        DU_BLOCK_SIZE Spécifie la taille de block par défaut pour du
        LS_BLOCK_SIZE Spécifie la taille de block par défaut pour ls
        BLOCK_SIZE Spécifie la taille de block par défaut pour les 3 commandes

   BLOCKSIZE Spécifie le taille de block par défaut pour toutes les valeurs qui sont normalement affichées comme block, si [XX_]BLOCK_SIZE ne sont pas définies.

  POSIXLY_CORRECT si aucune des variables ci-dessus ne sont définies, la taille de block par défaut est 512.

  Si aucune variable n'est définie, la taille de block par défaut est 1024 la plupart du temps. Pour les tailles de fichiers de ls, la taille de block par défaut est 1 octet.

  Une taille de block peut être spécifié par un nombre entier spécifiant le nombre d'octets par block, ou peut être au format 'human-readable'. Une spécification de taille de block précédée par "'" affiche les sorties avec les séparateurs de milliers. ex : --block-size="'1kB" n'affichera pas 1234000 octets, mais 1,234.

  Une taille de block peut être suivie par un multiple de la taillee. Par ex, 1M, 1MiB sont équivalent à 1048576, et 1MB vaut 1000000.

        kB KiloOctets : 10^3 = 1000
        k, KiB KibiOctets : 2^10 = 1024
        MB MegaOctets : 10^6 = 1,000,000
        M, MiB MebiOctets : 2^20 = 1,048,576
        GB GigaOctets : 10^9 = 1,000,000,000
        G, GiB GibiOctets : 2^30 = 1,073,741,824
        TB TeraOctets : 10^12 = 1,000,000,000,000
        T, TiB TebiOctets : 2^40 = 1,099,511,627,776
        PB PetaOctets : 10^15 = 1,000,000,000,000,000
        P, PiB PetaOctets : 2^50 = 1,125,899,906,842,624
        EB ExaOctets : 10^18 = 1,000,000,000,000,000,000
        E, EiB ExbiOctets : 2^60 = 1,152,921,504,606,846,976
        ZB ZettaOctets : 10^21 = 1,000,000,000,000,000,000,000
        Z, ZiB 2^70 = 1,180,591,620,717,411,303,424.
        YB YottaOctets : 10^24 = 1,000,000,000,000,000,000,000,000
        YiB 2^80 = 1,208,925,819,614,629,174,706,176

           Pour spécifier la taille par défaut, utiliser --block-size=SIZE. L'option -k est équivalent --block-size=1K. L'option -h ou --human-readable est équivalent à --block-size=human-readable. --si est équivalent à --block-size=si.

Spécification de signal

`HUP' 1 Hangup.
`INT' 2 Terminal interrupt.
`QUIT' 3 Terminal quit.
`ABRT' 6 Process abort.
`KILL' 9 Kill (cannot be caught or ignored).
`ALRM' 14 Alarm Clock.
`TERM' 15 Termination.
`BUS' Access to an undefined portion of a memory object.
`CHLD' Child process terminated, stopped, or continued.
`CONT' Continue executing, if stopped.
`FPE' Erroneous arithmetic operation.
`ILL' Illegal Instruction.
`PIPE' Write on a pipe with no one to read it.
`SEGV' Invalid memory reference.
`STOP' Stop executing (cannot be caught or ignored).
`TSTP' Terminal stop.
`TTIN' Background process attempting read.
`TTOU' Background process attempting write.
`URG' High bandwidth data is available at a socket.
`USR1' User-defined signal 1.
`USR2' User-defined signal 2.
`POLL' Pollable event.
`PROF' Profiling timer expired.
`SYS' Bad system call.
`TRAP' Trace/breakpoint trap.
`VTALRM' Virtual timer expired.
`XCPU' CPU time limit exceeded.
`XFSZ' File size limit exceeded.

chown et chgrp : ID et noms utilisateur ambigües

   Vu que les arguments OWNER et GROUP de chown et chgrp peuvent être spécifiés soit pas le nom soit pas l'ID, il y'a une ambiguitée. POSIX requière que chown et chgrp tentent d'abord de résoudre la chaîne spécifiée comme nom, et seulement s'ils échouent, ils réessayent en l'interprétant comme ID. Pour forcer un ID à être interprété comme tel, le précéder par un '+'.

exemples :
chown +42 F
chgrp +$numeric_group_id another-file
chown +0 :+0 /

Sources de données aléatoire

   Les commandes shuff, shred et sort ont parfois besoin de données aléatoires. Par défaut ces commandes utilisent un générateur pseudo-aléatoire interne, mais peut être redirigés pour utiliser une source externe avec l'option --random-source=FILE. Une erreur est reportée si FILE ne contient pas suffisamment d'octets. Par exemple, le fichier /dev/urandom peut être utilisé. Les applications qui nécessitent un haut niveau de sécurité à long terme peuvent utiliser /dev/random ou /dev/arandom.

Dossier cible

   Les commandes cp, install, ln et mv traitent la dernière opérande spécialement quand il s'agit d'un répertoire ou un lien symbolique vers un répertoire. Par exemple cp source dest est équivalent à cp source dest/source si dest est un répertoire. Parfois ce mode de fonctionnement n'est pas ce que l'on souhaite, donc pour outrepasser ce mode :

        -T, --no-target-directory Ne traite pas la dernière opérande spécialement
        -t DIRECTORY, --target-directory=DIRECTORY Utilise DIRECTORY comme répertoire de destination de tous les fichiers. Permet notamment à xarg d'être utilisé convenablement.

exemples:
ls | xargs mv -t ../d --
Cette commande ne permet pas de déplacer les fichiers commençant par '.'
find . -mindepth 1 -maxdepth 1 | xargs mv -t ../d
les 2 commandes précédantes échouent s'il n'y a aucun fichier dans le répertoire courant ou si aucun nom de fichier ne contient un blanc ou autre caractère spécial
find . -mindepth 1 -maxdepth 1 | xargs --null --no-run-if-empty mv -t ../d

Slashs

   Certains programmes comme cp et mv permettent de supprimer les slashs de chaque argument SOURCE avant de les traiter. l'option --strip-trailing-slashes autorise ce mode.

Traverser les liens

   Les options suivantes modifient la manière dont chown et chgrp traversent une hiérarchie quand l'option --recursive ou -R est spécifié. Si plus d'une options suivante est spécifiée, seule l'option final prend effet. Ces options spécifient si le traitement d'un lien symbolique vers un répertoire entraine l'opération sur le lien uniquement ou sur tous les fichiers dans ce répertoire.

  Ces options sont indépendantes de --dereference et --no-dereference, qui contrôle si on modifie un lien ou sa référence.

        -H Si --recursive ou -R est spécifié et un argument est un lien vers un répertoire, le traverser
        -L Traverse tous lien vers un répertoire qui est rencontré.
        -P Ne traverse aucun lien symbolique. (par défaut si -H, -L ou -P ne sont pas spécifiés)

Traiter '/' spécialement

   Certaines commandes peuvent opérer de manière destructive sur une hiérarchie entière. Par exemple rm -rf /. Si on veut vraiment détruire tous les fichiers d'un système, on peut utiliser --no-preserve-root, mais le mode par défaut (--preserve-option) est plus sûr. Les commandes chgrp, chmod et chown peuvent aussi être destructeur sur une hiérarchie, ils peuvent donc supporter ces options également.

Utilitaires intégrés

. : break continue eval exit export readonly return set shift times trap unset
Il s'agit d'utilitaires intégrés qui sont standardisés par POSIX. Bash en contient d'autres. Tenter de les lancer via un autre programme comme nice, générera une erreur.

Conformité des standards

   Dans certains cas, les utilitaires GNU en mode par défaut sont incompatibles avec le standard posix. Pour supprimer ces incompatibilités, définir la variable POSIXLY_CORRECT. Les utilitaires GNU sont normalement conforme avec la version POSIX de votre système. Pour les forcer à se conformer à une version POSIX différente, définir la variable d'environnement _POSIX2_VERSION à une valeur sous la forme YYYYMM spécifiant l'année et le mois où le standard à été adopté. 2 valeurs sont actuellement supportées : 199209 et 200112
^
30 juin 2010

htmlpdflatexmanmd




cp

cp

Copie de fichiers

   La copie est complètement indépendante de l'original. Si 2 noms de fichiers sont donnés, copie le premier fichier dans le deuxième. Si -t est spécifié ou que le dernier fichier est un répertoire et que -T n'est pas donné, cp copie chaque fichier dans ce répertoire.

  Généralement, les fichiers sont écris comme ils sont lus, à l'exception de l'option --sparse. Par défaut cp ne copie pas les répertoires si -R, -a ou -r est spécifié, cp copie récursivement.

  En copiant un lien symbolique, cp suit le lien seulement quand il réfère à une fichier régulier existant. Par défaut cp copie le contenus des fichiers spéciaux seulement si la copie n'est pas récursive. Peut être modifié par --copy-contents

  cp refuse généralement de copier un fichier dans lui-même, sauf si --force --backup est spécifié, et réfère à un fichier régulier. cp va créer un fichier backup, soit régulier soit numéroté.

OPTIONS

-a, --archive Préserve autant que possible la structure et les attributs des fichiers originaux dans la copie (mais ne tente pas de préserver la structure interne des répertoires.) essaye de préserver le contexte de sécurité SELinux et les attributs étendus, mais ignore les erreurs. Équivalent à -dR --preserve=all sans les diagnostiques.
-b, --backup[=METHOD] Créer une sauvegarde de chaque fichier qui aurait été écrasé ou supprimé.
--copy-contents En copie récursive, copie le contenu des fichiers spéciaux comme s'ils étaient des fichiers réguliers. A généralement un effet indésirable.
-d copie les liens symbolique au lieu de copier leur référence, et préserve les liens durs entre les fichiers sources dans les copies. Équivalent à --no-dereference --preserve=links
-f, --force Si un fichier de destination ne peut pas être ouvert, force sa suppression et essaye de le réouvrir.
-H si un argument spécifie un lien symbolique, copie sa référence au lieu du lien.
-i, --interactive en copiant un fichier autre qu'un répertoire, demande avant d'écraser un fichier existant.
-l, --link Créer des liens dur au lieu de copies de fichier autre que les répertoires.
-L, --dereference Suit les liens symboliques
-n, --no-clobber N'écrase pas de fichier existant
-P, --no-dereference Copie les liens symboliques au lieu de la référence
-p, --preserve[=ATTRIBUTE_LIST] préserve les attributs spécifiés des fichiers originaux. si spécifiés, ATTRIBUTE_LIST doit être une liste séparé par des ',' :

        mode préserve les bits de mode des fichiers et les acl
        ownership préserve le user:group.
        timestamp préserve le atime et mtime quand c'est possible. généralement pas possible pour les liens symboliques.
        links préserve dans les fichiers de destination les liens entre les fichiers source correspondant.
        context préserve le contexte de sécurité SELinux.
        xattr préserve les attributs étendus
        all Préserve tous les attributs des fichiers

--no-preserve=ATTRIBUTE_LIST ne préserve par les attributs spécifiés.
--parents Forme le nom de chaque fichier de destination en ajoutant au dossier cible un '/' et le nom de chaque fichier source. ex : cp --parents a/b/c existing_dir, copie le fichier a/b/c dans existing_dir/a/b/c, créant ainsi les dossiers intermédiaires.
-R, -r, --recursive copie les répertoire récursivement.
--remove-destination supprime chaque fichier existant dans la destination avant de tenter de l'ouvrir.
--sparse=WHEN Les 'sparse files' contiennent des 'trous", une séquence d'octets à 0 qui n'occupent pas d'espace disque. L'appel système read les lit. Cela peut sauver beaucoup d'espace disque et augmenter la vitesse, vu que beaucoup de fichiers binaires contiennent beaucoup d'octets à 0 consécutif. Par défaut, cp détecte des séquences dans les fichiers source et créer le fichier de sortie étendue. WHEN peut être :

        auto Le mode par défaut : si l'entrée est 'sparse', tente de produire un fichier 'sparse', sauf si ce n'est pas un fichier régulier.
        always Pour chaque séquence suffisamment longue d'octets à zéro dans le fichier d'entrée, tente de créer un trou correspondant dans le fichier de sortie, même si le fichiers d'entrée ne semble pas être 'sparse'.
        never ne créer jamais de fichier de sortie 'sparse'. Utile pour créer un fichier à utiliser avec mkswap, vu qu'un tel fichier de doit pas avoir de trou.

--skip-trailing-slashes supprime les '/' de fin de chaque argument source.
-s, --symbolic-link Créer des lien symboliques au lieu de copies des fichier non-répertoire. Les fichiers sources doivent être absolus, à moins que le fichier de destination ne soit dans le répertoire courant.
-S SUFFIX, --suffix=SUFFIX Ajoute SUFFIX à chaque fichier backup crée avec -b
-t DIRECTORY, --target-directory=DIRECTORY Spécifie le répertoire de destination
-T, --no-target-directory ne traite pas le dernier opérande spécialement quand c'est un répertoire ou un lien symbolique.
--update Ne copie pas un fichier autre que répertoire qui a une destination existante avec un mtime identique ou plus récent.
-v, --verbose Affiche le nom de chaque fichier en cour de copie.
-x, --one-file-system Ne copie pas les fichiers qui sont sur un système de fichier différents. Les points de montage sont copiés.
^
07 juin 2010

htmlpdflatexmanmd




csplit

csplit

Crée des fichiers de sortie contenant des sections de l'entrée

   Le contenu de chaque fichier de sortie est déterminé par les arguments PATTERN. Une erreur se produit si le PATTERN réfère à une ligne non existante dans le fichier d'entrée. Par défaut, csplit affiche le nombre d'octets écrit dans chaque fichier de sortie une fois qu'il l'a crée.

N Crée un fichier de sortie jusqu'à, mais ne l'incluant pas, la ligne N.
/REGEXP/[OFFSET] Créer un fichier de sortie contenant la ligne courante jusqu'à, mais n'inclant pas, la prochaine ligne contenant une correspondance de REGEXP. OFFSET est un entier, contient jusqu'à, mais n'inclus pas, la ligne correspondante moins l'OFFSET
%REGEXP%[OFFSET] Idem excepté qu'il ne crée pas de fichier de sortie, donc la section du fichier d'entrée est ignorée.
REPEAT-COUNT Répète le pattern précédent REPEAT-COUNT fois supplémentaire. Peut être un entier ou un '*'.

OPTIONS

-f PREFIX, --prefix=PREFIX Utilise PREFIX comme préfixe dans le nom de fichier
-b SUFFIX, --suffix=SUFFIX Utilise SUFFIX comme suffixe dans le nom de fichier.
-N DIGITS, --digits=DIGITS Utilise des noms de fichier contenant des nombres de DIGITS chiffres. (2 par défaut)
-k, --keep-files Ne supprime pas les fichiers de sortie quand des erreurs sont rencontrées.
-z --elide-empty-files Supprime la génération de fichier de sortie vide.
-s, -q, --silent, --quiet N'affiche pas de compteur de taille de fichiers

Exemples

Split la séquence 1..14 sur les lignes qui se terminent avec 0 ou 5
seq 14 | cpslit - '/[05]$/' '*'
^
09 juin 2010

htmlpdflatexmanmd




cut

cut

Écrit sur la sortie standard des parties sélectionnées de chaque ligne de chaque fichier en entrée, ou de l'entrée standard

   BYTE-LIST, CHARACTER-LIST et FIELD-LIST sont un ou plusieurs nombres ou plages.

OPTIONS

-b BYTE-LIST, --bytes=BYTE-LIST affiche seulement les positions d'octets listés. les espaces et tabulations sont considérés comme un octet.
-c CHARACTER-LIST, --characters=CHARACTER-LIST affiche seulement les positions de caractères listés. identique à -b pour le moment.
-f FIELD-LIST, --fields=FIELD-LIST Affiche seulement les champs listés. Les champs sont séparés par des tabulations par défaut.
-d INPUT_DELIM_BYTE, --delimiter=INPUT_DELIM_BYTE avec -f, utilise le premier octet de INPUT_DELIM_BYTE comme séparateur de champs.
-n  Ne coupe pas les caractères multi-octets
-s, --only-delimited Pour -f, n'affiche pas les lignes qui ne contienne pas le caractère séparateur de champs.
--output-delimiter=OUTPUT_DELIM_STRING Avec -f, sort les champs qui sont séparés par OUTPUT_DELIM_STRING.
--complement Sélectionne l'affichage complémentaire des octets, caractères ou champs sélectionnés. en d'autres terme, n'affiche pas les octets, caractères ou champs spécifiés avec les options -b, -c ou -f
^
14 juillet 2010

htmlpdflatexmanmd




date

date

Affiche ou définit la date du système

   date affiche ou définit la date du système, invoqué sans format de date revient à l'invoquer avec un format par défaut que dépend de LC_TIME Normalement, date utilise les règles de temps indiqué par TZ, ou les règles par défaut du système si TZ n'est pas utilisé. Si un argument commence par +, date affiche la date courante ( ou la date spécifié par l'option --date) dans le format spécifié par l'argument, qui est similaire à la fonction strftime. Excepté pour les spécifieurs de conversion qui commence avec %, les caractères sont affichés tels quels.

Spécifieurs de conversion de temps

%H heure ('00'...'23')
%I heure ('01'...'12')
%k heure ('0'...'23')
%l heure ('1'...'12')
%M minute ('00'...'59')
%N nanosecondes (`000000000'...`999999999')
%p équivalent local à AM ou PM. vide dans beaucoup de locales
%P Idem mais en minuscule
%r heure locale sur 12 heures
%R identique à %H:%M
%s seconde depuis le 1.1.1970
%S Secondes (`00'...`60')
%T identique à %H:%M:%S
%X représentation de l'heure locale.
%z time RFC 2822. Zone en style numérique. ex: +0200. ou rien si le time zone ne peut pas être déterminé.
%:z RFC 3339. Zone en style numérique. ex: +02:00. ou rien si le time zone ne peut pas être déterminé.
%::z time zone à la plus proche seconde. ex: +02:00:00, ou rien si le time zone ne peut pas être déterminé.
%:::z time zone utilisant le précision minimal nécessaire, ou rien si le time zone ne peut pas être déterminé.
%Z abbréviation du time zone, ou rien si le time zone ne peut pas être déterminé.

Spécifieurs de conversion de date

%a Abréviation du nom du jour de la semaine
%A Nom du jour de la semaine
%b Abréviation du nom du mois
%B Nom du mois
%c Date et heure locale
%C siècle. Identique à %Y mais sans les 2 dernier chiffres.
%d Jour du mois
%D identique à %m/%d/%y
%e jour du mois, identique à %_d
%F Date au format iso 8601. identique à %Y-%m-%d
%g Année, sans le siècle.
%G Année, identique à %Y
%h identique à %b
%j jour de l'année
%m mois
%u jour de la semaine ('1'...'7') 1 correspond à lundi
%U semaine de l'année
%V semaine ISO de l'année. Si la semaine du 1er Janvier à au moins 4 jours dans la nouvelle année, c'est la semaine 1 de la nouvelle année, sinon la 53eme semaine de l'année précédente.
%w jour de la semaine ('0'...'6') 0 correspond à dimanche
%W semaine de l'année avec lundi comme premier jour de la semaine
%x date locale, identique à %d/%m/%Y
%y 2 derniers chiffres de l'année.
%Y année

Spécifieurs de conversion litéral

%% un %
%n newline
%t tabulation horizontale

Padding et autres flags

   date remplis normalement les champs par des 0

- Ne remplis pas les champs par des 0.
_ Remplis avec des espaces
0 remplis avec des 0
^ met les caractères en majuscule si possible
# oppose la casse si possible.
0 Ce chiffre permet de spécifier la largeur du champs

Régler l'heure du système

   Si un argument ne commence pas par +, date définis le temps du système. Les options --date et --set ne peuvent pas être utilisés avec cet argument. --universal peut être utilisé pour indiquer que l'heure est relative à UTC au lieu de du time zone local

MM mois
DD jour dans le mois
hh heure
mm minutes
CC 2 premiers chiffres de l'année
YY 2 derniers chiffres de l'année
ss secondes

OPTIONS

-d DATESTR, --date=DATESTR affiche la date et l'heure spécifié par DATESTR au lieu de l'heure courante. DATESTR peut être de plusieurs formes. Il contient le nom des mois, time zone, am et pm, yesterday etc...
-f DATEFILE, -file=DATEFILE utilise chaque ligne du fichier et affiche la date et l'heure comme pour -d. si DATE vaut '-', utilise l'entrée standard.
-r FILE, --reference=FILE affiche la date et l'heure du mtime du fichier spécifié.
-R, --rfc-822, --rfc-2822 Affiche la date et l'heure en utilisant le format %a, %d %b %Y %H:%M:%S%z
--rfc-3339=TIMESPEC Affiche la date en utilisant un format spécifié par la RFC 3339. Ce format est toujours utilisatable par -d et -f. TIMESPEC peut être:

        date Affiche juste la date complète, identique à %Y-%m-%d
        seconds affiche la date complète et l'heure complète séparé par un espace. Identique à %Y-%m-%d %H:%M:%S%:z
        ns idem, mais affiche les nanosecondes. identique à %Y-%m-%d %H:%M:%S.%N%:z

-s DATESTR, --date=DATESTR Définit la date et l'heure à DATESTR.
-u, --utc, --universal Utilise UTC

Exemples

affiche la date d'il y'a 2 jours:
date --date='2 days ago'
Affiche la date d'il y'a 3mois et 1 jour:
date --date='3 months 1 day'
Affiche le jour de noêl:
date --date='25 Dec' +%j
Affiche le nom du mois et le jour courant:
date '+%B %d'
afficher la date et l'heure sans remplir de 0:
date -d 1may '+%B %-d'
définis l'heure système en la reculant de 2 minutes:
date --set='+2 minutes'
Convertir une date en nombre de secondes depuis le 1/1/1970:
date --date='1970-01-01 00:02:00 +0000' +%s
^
30 juin 2010

htmlpdflatexmanmd




dd

dd

Copie de fichier et conversions

OPTIONS

if=FILE lit FILE au lieu de l'entrée standard
of=FILE Écrit dans FILE au lieu de la sortie standard. par défaut tronque aux octets '0'
ibs=BYTES Définis la taille de block en entrée (défaut 512 octets)
obs=BYTES Définis la taille de block en sortie (défaut 512 octets)
bs=BYTES Définit la taille de block en entrée et en sortie. ça force dd à lire et écrire par block.
cbs=BYTES définit la taille de block de conversion. En convertissant des enregistrements de longueur variable à des longueurs fixes (conv=block) ou inversé (conv=unblock), utilise BYTES comme longueur d'enregistrement.
skip=BLOCKS saute BLOCKS dans le fichier d'entée avant de copier
seek=BLOCKS saute BLOCKS dans le fichier de sortie avant de copier
count=BLOCKS copie BLOCKS dans le fichier d'entrée.
status=noxfer n'affiche pas le taux de transfert et les statistiques de volume quand dd se termine.
conv=CONVERSION[,CONVERSION]... Convertit le fichier comme spécifié par CONVERSION :

        ascii Convertit EBCDIC vers ASCII.
        ebcdic Convertit ASCII vers EBCDIC
        ibm Convertit ASCII vers EBCDIC alternatif
        block pour chaque ligne dans l'entrée, sort cbs octets, remplaçant un newline par un espace et en complétant avec des espaces si nécessaire.
        unblock remplace les espaces à la fin dans chaque block d'entrée de taille cbs par un newline.
        lcase Change les lettres majuscules en minuscules
        ucase Change les lettres minuscules en majuscules
        swab inverse chaque pair d'octets en entrée.
        noerror Continue même en cas d'erreurs
        nocreat ne crée pas de fichier de sorite, il doit déjà exister.
        excl échoue si le fichier de sorite existe déjà.
        notrunc Ne tronque pas le fichier de sortie
        sync complète chaque block d'entrée à la taille de ibs, en complétant avec des '0', ou des espace si block ou unblock est spécifié.
        fdatasync Synchronise les données en sortie juste avant de finir. Cela force une écrite physique.

iflag=FLAG[,FLAG]... Accède au fichier d'entrée en utilisant les flags spécifiés.
oflag=FLAG[,FLAG]... Accède au fichier de sortie en utilisant les flags spécifiés.

        append Écrit en mode ajout.
        cio Utilise le mode I/O courant pour les données. effectue effectue un I/O direct, outrepassant les requis POSIX.
        direct Utilise I/O direct pour les données, annulant le buffer cache.
        directory Échoue à moins que le fichier soit un répertoire. bcp d'OS ne permettent pas I/O sur un répertoire.
        dsync Utilise I/O synchronisé pour les données. Pour le ficheir de sortie, çà force l'écriture physique pour chaque écriture.
        sync Utilise I/O synchronisé pour les données et les métadonnées.
        nonblock Utilise I/O non-blocking
        noatime Ne met pas à jours le atime des fichiers.
        nofollow ne suit pas les liens symboliques
        nolinks échoue si le fichier à de multiples liens dures.
        binary Utilise I/O binaire, pour les plate-formes distinguant les fichier binaire des fichiers texte.
        text Utilise I/O text.
        fullblock accumule les blocks complet en entrée.

   BYTES et BLOCKS peuvent s'exprimer avec un multiplicateur : b vaut 512, c vaut 1, w vaut 2, ou n'importe quel autre multiplicateur.

  Envoyer un signal INFO (ou USR1 pour les système ne supportant pas INFO) à un processus dd en cour le force à afficher des statisques d'I/O sur l'erreur standard, puis reprend la copie.

Exemples

copie en block de 512 octets entre un disque et une cassette, mais saute le label de 4 KiB au début du disque :
disk=/dev/rdsk/c0t1d0s2
tape=/dev/rmt/0
(dd bs=4k skip=1 count=0 && dd bs=512k) ‹$disk ›$tape
(dd bs=4k seek=1 count=0 && dd bs=512k) ‹$tape ›$disk
Copier une partition de disque dur sur un autre disque dur
dd if=/dev/sda2 of=/dev/sdb2 bs=4096 conv=notrunc,noerror
Cloner un disque dur en entier
dd if=/dev/sda of=/dev/sdb conv=notrunc,noerror
Copier un grand disque sur un autre disque plus petit. La seule différence entre une grande partition et une petite partition, hormis la taille, est la table de partition. Si vous copiez sda vers sdb, un disque entier avec une seule partition, sdb étant plus petit que sda, alors vous devez faire :
dd if=/dev/sda skip=2 of=/dev/sdb seek=2 bs=4k conv=noerror
Réaliser l'image ISO d'un CD
dd if=/dev/hdc of=/home/sam/moncd.iso bs=2048 conv=notrunc
Créer une clé USB bootable
dd if=/home/uubu/insert.iso of=/dev/sdb ibs=4b obs=1b conv=notrunc,noerror
Copier seulement le MBR d'un disque dur
dd if=/dev/sda of=/home/sam/MBR.image bs=446 count=1
Ecrire par dessus toute la place libre d'une partition
dd if=/dev/urandom › fichieroccupanttoutlespacelibre

Astuces

Pour voir la mémoire vive
dd if=/proc/kcore | hexdump -C | less
Quels systèmes de fichiers sont installés
dd if=/proc/filesystems | hexdump -C | less
Tous les modules chargés
dd if=/proc/kallsyms | hexdump -C | less
Table des interruptions
dd if=/proc/interrupts | hexdump -C | less
Depuis combien de temps fonctionne le système
dd if=/proc/uptime | hexdump -C | less
Partitions et tailles en Ko
dd if=/proc/partitions | hexdump -C | less
Etat de la mémoire
dd if=/proc/meminfo | hexdump -C | less
Créer un disque de sauvegarde (dcfldd est un programme qui ajoute aux fonctionnalités de dd l'affichage d'une barre de progression)
dcfldd if=/dev/sda of=/dev/sdb bs=4096 conv=notrunc,noerror
pour réaliser un backup de root puis :
dd if=/home/sam/root.img of=/dev/sda2 (root) bs=4096 conv=notrunc,noerror
Créer un lecteur virtuel
dd if=/dev/zero of=/dev/ram7 bs=1k count=16384
puis :
mkfs.ext3 -m0 /dev/ram7 4096
Copier la mémoire RAM dans un fichier
dd if=/dev/mem of=/home/sam/mem.bin bs=1024
Lire le BIOS
dd if=/dev/mem bs=1k skip=768 count=256 2›/dev/null | strings -n 8

Utilitaires dérivés

ddrescue permet de récupérer des secteurs défectueux
sdd Utile quand la taille des blocs d'entrée est différente de celle des blocs de sortie, et réussira dans des cas où dd échoue
^
04 juillet 2010

htmlpdflatexmanmd




df

df

Reporte la quantité d'espace disque utilisé et disponible sur les systèmes de fichiers.sans argument, Reporte l'espace utilisé et disponible sur tous les systèmes montés.

   Normalement l'espace disque est affiché en unité de 1024 octets, mais peut être changé. Les quantités non entières sont arrondis à l'unité supérieure.

OPTIONS

-a, --all Inclue dans le listing, les systèmes de fichiers 'dummy'.
-B SIZE, --block-size=SIZE définit la taille d'unité
--total affiche un grand total de tous les arguments traités.
-h, --human-readable Ajoute une lettre à chaque taille, en puissance de 1024.
-H equivalent à --si
-i, --inodes liste les informations d'utilisation des inodes au lieu de l'utilisation de block.
-k affiche les tailles en block de 1024 octets. équivalent à --block-size=1K
-l, --local limite le listing au systèmes de fichier locaux.
--no-sync N'invoque pas l'appel système sync avant de récupérer l'utilisation de donnée. df devient plus rapide sur les système avec de nombreux disques.
-P, --portability Utilise le format de sortie POSIX. Identique au format par défaut excepté :

        1. les informations sur chaque système de fichier sont toujours affichés sur exactement une ligne.
        2. les labels dans les en-têtes sont changés pour être confirme à POSIX
        3. la taille de block par défaut et le format de sortie ne sont pas affectés par les variables d'environnement DF_BLOCK_SIZE, BLOCK_SIZE et BLOCKSIZE. Cependant, la taille de block par défaut est affectée par POSIXLY_CORRECT, qui est de 512 octets au lieu de 1024 normalement.

--si Ajoute une lettre à chaque taille, en puissance de 1000.
--sync Invoque l'appel système sync avant d'obtenir les données d'utilisation.
-t FSTYPE, --type=FSTYPE limite le listing des systèmes de fichiers de type FSTYPE. Peut être spécifié" plusieurs fois.
-T --print-type affiche chaque type de système de fichier. Les types affichés sont ceux inclus ou exclus avec -t ou -x :

        nfs Système de fichier NFS.
        4.2, ufs, efs... Fichier système local.
        hsfs, cdfs Système de fichier sur un lecteur CD-ROM.
        pcfs Système de fichier MS-DOS, généralement une disquette.

-x FSTYLE, --exclude=FSTYPE Exclue le type de système de fichier spécifié. Peut être spécifié plusieurs fois.
^
28 juin 2010

htmlpdflatexmanmd




dircolors

dircolors

dircolors sort une séquence de commande shell pour définir les couleurs pour la sortie de ls

   Si FILE est spécifié, dircolors le lit et détermine quelles couleurs utiliser pour quels types de fichiers et extensions, sinon une base de donnée précompilée est utilisée. Pour plus de détail sur le format de ce fichier : dircolors --print-database

OPTIONS

-b, --sh, --bourne-shell sort les commandes Bourne Shell. Par défaut si SHELL ne se termine pas par csh ou tcsh
-c, --csh, --c=shell Sort les commande C shell. par défaut si SHELL se termine par csh ou tcsh
-p, --print-database affiche la base de donnée des couleurs par défaut. Cette sortie est elle-même un fichier de configuration valide.

Exemples

utilisation typique
eval "`dircolors [OPTION]... [FILE]`"
Forcer dircolor à lire un fichier /.dircolors s'il existe, vous pouvez utiliser /.bashrc
d=.dircolors
test -r $d && eval "$(dircolors $d)"

Variables d'environnement

LS_COLORS La sortie de dircolors est une commande shell qui est définie dans cette variable
^
07 juillet 2010

htmlpdflatexmanmd




dirname

dirname

Affiche la partie répertoire dans le nom spécifié

Exemples

Affiche /usr/bin
dirname /usr/bin/sort
Affiche .
dirname stdio.h
^
04 juillet 2010

htmlpdflatexmanmd




du

du

Reporte la quantité d'espace disque utilisé par les fichiers spécifiés et pour chaque répertoire.

   Sans argument, du reporte l'espace disque pour le répertoire courant. Normalement l'espace disque est affiché en unités de 1024 octets. Les quantité non entières sont arrondies à l'unité supérieur. Si 2 ou plusieurs liens dur pointent sur le même fichier, seul un des liens dur est compté.

OPTIONS

-a, --all Affiche les fichiers, pas seulement les répertoires.
--apparent-size affiche les tailles apparentes, au lieu de l'espace disque utilisé. il s'agit du nombre d'octets reporté par wc -c sur les fichiers réguliers, ou plus généralement, ls -l --block-size=1 ou stat --format=%s.
-b, --bytes est équivalent à --apparent-size --block-size=1
-B SIZE, --block-size=SIZE définit la taille de block.
-c, --total Affiche un grand total de tous les arguments, après que tous les argument ont été traités.
-D, --dereference-args déréference les liens symboliques qui sont sur la ligne de commande. n'affecte pas les autres liens symboliques.
--files0-from=FILE Désactive le traitement des fichiers nommés sur la ligne de commande, et traite ceux nommés dans FILE. chaque nom est terminé par un ASCII NUL.
-h, --human-readable ajoute une lettre à chaque taille. Utilise les puissances de 1024.
-H Equivalent à --dereference-args
-k affiche les tailles en blocks de 1024 octets. Équivalent à --block-size=1K
-l, --count-links compte la taille de tous les fichiers, même s'ils sont déjà apparus (liens durs)
-L, --derefence Déréférence les liens symboliques
-m équivalent à --block-size=1M
-P, --no-dereference Pour chaque lien symbolique, considère l'espace disque utilisé par le lien symbolique.
--max-depth=DEPTH Affiche le total pour chaque répertoire (et fichier si -a) qui fait moins de DEPH en dessous de la hiérarchie racine. root est au level 0 donc --max-depth=0 est équivalent à du -s
-0, --null sort un ASCII NUL à la fin de chaque ligne, au lien d'un newline. Permet à d'autres programme d'utiliser la sortie de du.
--si ajoute une lettre à chaque taille. Utilise les puissances de 1000.
-s, --summarize Affiche seulement un total pour chaque argument.
-S, --separate-dirs Normalement, dans la sortie de du sans -s, la taille d'un répertoire représente la somme de toutes les entrées dans le répertoire + le répertoire lui-même. Cette options reporte la taille dérivé de stat.st_size.
-x, --one-file-system omet les répertoires qui sont sur un système de fichier différent.
--exclude=PATTERN Omet les fichiers et répertoires correspondant à PATTERN
-X FILE, --exclude-from=FILE idem, mais les patterns sont dans FILE, un par ligne. si FILE vaut '-' utilise l'entrée standard.
--time Affiche le mtime
--time=ctime, --time=status, --time=use affiche le ctime
--time=atime, --time=access Affiche le atime
--time-style=STYLE spécifie le style d'affichage de temps. STYLE peut être :

        +FORMAT FORMAT est interprété comme un argument de date.
        full-iso affiche la date en utilisant ISO 8601. le style est équivalent à +%Y-%m-%d %H :%M :%S.%N %z
        long-iso Liste la date au format ISO 8601. est équivalent à +%Y-%m-%d %H :%M
        iso liste au format ISO 8601 pour les date anciennes. est équivalent à +%Y-%m-%d $newline%m-%d %H :%M

   On peut spécifier le style avec la variable d'environnement TIME_STYLE. par défaut utilise long-iso
^
05 juillet 2010

htmlpdflatexmanmd




echo

echo

Écrit chaque chaîne donnée sur la sortie standard, avec un espace entre chaque et une nouvelle ligne après la dernière

OPTIONS

-n  N'ajoute pas de newline à la fin
-E  désactive l'interprétation des caractères d'échappement
-e  authorise l'interprétation des caractères d'échappement suivant:

        \a alerte
        \b BACKSPACE
        \c n'affiche pas la suite
        \f form feed
        \n NEWLINE
        \r retour charriot
        \t tabulation horizontale
        \v taulation verticale
        \\ \
        \ONNN La valeur 9-bits de numéro octal NNN (0 à 3 chiffres)
        \NNN La valeur 9-bits de numéro octal NNN (1 à 3 chiffres)
        \xHH La valeur 9-bits de numéro hexa HH (1 à 2 chiffres)

   si POSIXLY_CORRECT est définit, et que le premier argument n'est pas -n, traite tous les argument comme chaine.
^
15 juillet 2010

htmlpdflatexmanmd




env

env

Lance une commande avec un environnement modifié.

   env lance une commande avec un environnement modifié. La première opérande qui ne contient pas le caractère '=' spécifie le programme à invoquer.

OPTIONS

-u NAME, --unset=NAME Supprime la variable spécifée de l'environnement.
-, -i, --ignore-environment démarre avec un environnement vide.
NAME=VALUE définir une variable
^
24 juin 2010

htmlpdflatexmanmd




expand

expand

Convertit les tabulations en espace pour chaque fichier donné sur la sortie standard

OPTIONS

-t TAB1[,TAB2]...' , --tabs=TAB1[,TAB2]...' Si seul TAB1 est donnée, définit les espaces de tabulations (défaut est 8). Sinon, définit les tabulations aux colonnes TAB1, TAB2, ... et remplace les tabulations au delà par un seul espace.
-i, --initial Convertit uniquement les tabulations initiales (celles qui précèdent tout caractères autre que des espaces ou tabulations).
^
06 juillet 2010

htmlpdflatexmanmd




expr

expr

Évalue des expressions et écrit le résultat sur stdout

   expr évalue une expression et écrit le résultat sur la sortie standard. les opérandes sont soit des entiers soit des chaînes. Les chaînes ne sont pas entre guillemet pour expr, mais peut être requis pour le shell. Une opérande chaîne ne devrait pas être un parenthèse ou un opérateur de expr. Vous ne devriez pas passer d'entier négatif ou de chaîne avec un '-' final comme premier argument de expr. Cela peut être évité avec des parenthèses.

Codes de status

0 si l'expressions est ni null ni 0
1 si l'expression est null ou 0
2 si l'expression est invalide
3 si une erreur interne s'est produite.

Expressions chaîne

STRING: REGEX Effectue une correspondance de motif. Les arguments sont convertis en chaîne et le second est considéré comme une expression régulière, avec un '^' implicite devant. s'il y'a correspondance et que REGEX utilise '\(' et '\)', retourne la partie de la chaîne qui correspond. Dans l'expression régulière, '\+', '\?', et '\|' sont des opérateurs qui correspondent respectivement à une correspondance d'un ou plus, zéro ou un, et séparés.
match STRING REGEX correspondance de motif alternatif. identique au précédent.
substr STRING POSITION LENGTH retourne le sous-chaîne de STRING commençant à POSITION avec LENGH longueur. si POSITION ou LENGTH sont des valeurs négatives, retourne une chaîne null.
index STRING CHARSET retourne la première position de STRING où le premier caractère dans CHARSET a été trouvé. retourne 0 si rien n'est trouvé.
length STRING retourne la longueur de STRING
+ TOKEN Interprète TOKEN comme une chaîne, même si c'est un mot clé comme MATCH ou un opérateur comme '/'
pour que expr interprète les mots clés comme chaîne, vous devez utiliser "'"

Expressions numériques

+ -  addition et soustraction. les arguments sont convertis en entiers; une erreur se produit s'ils ne peuvent être convertis.
* / %  mulitplication, division, modulo. les arguments sont convertis en entiers ; une erreur se produit s'ils ne peuvent être convertis

Relations pour expr

retourne le premier argument s'il est non null ni zéro. sinon le deuxième argument s'il est non null ni zéro.
retourne le premier argument s'il est non null ni zéro, sinon retourne 0. N'évalue pas le deuxième argument.
‹ ‹= = == != ›= › Compare les arguments et retourne 1 si la relation est vrai, 0 sinon. == est équivalement à =.

Exemples

ajouter 1 à la variable shell foo
foo=`expr $foo + 1`
afficher la partie non-répertoire du nom de fichier stocké dans $fname
expr $fname : '.*/\[.*\]' '|' $fname
exemple montrant que \+ est un opérateur
expr aaa : 'a\+'
affiche 3
expr abc : 'a\(.\)c'
affiche b
expr index abcdef cz
affiche 3
^
15 juillet 2010

htmlpdflatexmanmd




factor

factor

Affiche le facteur premier

   Si aucun argument n'est donné, factor lit l'entrée standard, délimité par des newline, tab, ou spaces.

^
06 juillet 2010

htmlpdflatexmanmd




false

false

Retourner un code de sortie de 1

   false ne fait rien excepté retourner un code de sortie de 1.

^
07 juin 2010

htmlpdflatexmanmd




fmt

fmt

Joint les lignes d'un fichier pour produire des lignes d'un nombre donné de caractères - 75 par défaut

   Par défaut, les lignes blanches, les espaces entre les mots et l'indentation sont préservés dans la sortie; les lignes successives avec différentes indentations ne sont pas jointes; les tabulations sont étendues en entrées et introduits sur la sortie.

  fmt préfère couper les lignes à la fin d'une phrase, et essaye d'éviter de couper une ligne après le premier mot d'une phrase ou avant le dernier mot d'un phrase. Une coupe de phrase est définie soit à la fin d'un paragraphe ou un mot se terminant par '.' '?' ou '!', suivi par 2 espaces ou la fin d'une ligne, en ignorant les parenthèses ou guillemets.

OPTIONS

-C, --compare Compare chaque paire de fichier source et destination, et si la destination à un contenu identique, ainsi que le user, group et permissions, alors ne modifie pas la destination du tout.
-c, --crown-margin Préserve l'indentation des 2 premières lignes dans un paragraphe, et aligne la marge de gauche de chaque ligne suivante avec la seconde ligne.
-t, --tagged-paragraph Identique à -c, excepté que si l'indentaton de la première ligne d'un paragraphe est la même que l'indentation de la seconde, la première ligne est traitée comme un paragraphe à une ligne.
-s, --split-only Coupe les lignes uniquement, Ne joint pas les lignes courtes.
-u, --uniform-spacing Réduit l'espace entre les mots à un espace, et l'espace entre les phrases à 2 espaces.
-WIDTH, -w WIDTH, --width=WIDTH Définit le nombre de caractères par ligne (75 par défaut)
-p PREFIX, --prefix=PREFIX Seul les lignes commençant avec PREFIX sont sujet à formatage.
^
07 juin 2010

htmlpdflatexmanmd




fold

fold

Écrit chaque fichier ou l'entrée standard sur la sortie standard, en coupant les longues lignes. Par défaut il coupe les lignes plus longues que 80 colonnes.

OPTIONS

-b, --byte Compte en octets au lieu de colonnes, donc les tabulations, retour chariot et blackspace sont compté comme une seule colonne.
-s, --spaces Coupe la ligne avec un espace blanc
-w WIDTH, --width=WIDTH Définit la longueur maximale de ligne.
^
17 juillet 2010

htmlpdflatexmanmd




Format d'entrée de date

Format d'entrée de date

Syntaxe du format de date

Syntaxe générale de date

   une date est une chaîne, qui peut être vide, contenant plusieurs items séparés avec un espace blanc. Une date peut contenir:

        - date de calendrier
        - heure du jour
        - time zone
        - jour de la semaine
        - iems relatifs
        - nombres

   Quelques nombres peuvent être écris en mot:

        last vaut -1
        this vaut 0
        first, next valent 1
        third pour 3
        fourth pour 4
        fifth pour 5
        sixth pour 6
        seventh pour 7
        eighth pour 8
        ninth pour 9
        tenth pour 10
        eleventh pour 11
        twelfth pour 12

   Dans l'implémentation actuelle, seul l'Anglais est supporté pour les mots et abbréviations comme AM, DST, EST, first, january, sunday, tomorrow et year.

Date de calentrier et TimeZone

Une date de calendrier spécifie un jour de l'année. Elle est spécifiée différemment, si le mois est indiqué numériquement ou littéralement. Toutes ces chaînes spécifient la même date de calendrier:
1972-09-24
72-9-24
72-09-24
9/24/72
24 September 1972
24 Sept 72
24 Sep 72
Sep 24, 1972
24-sep-72
24sep72
L'année peut également être omise. Dans ce cas, la dernière année spécifiée est utilisée, sinon l'année courante. Exemple
9/24
sep 24

   pour les mois numérique, le format ISO 8601 YEAR-MONTH-DAY est permis. La construction MONTH/DAY/YEAR, populaire aux USA est accepté. Les mois peuvent être spécifiés par leur nom : 'January', 'February','March', 'April', 'May', 'June', 'July', 'August', 'September','October', 'November', 'December'. On peut utiliser leur abréviation (les 3 premières lettres).

Quand les mois sont spécifiés ainsi, la date de calendrier peut être spécifié comme suit
DAY MONTH YEAR
DAY MONTH
MONTH DAY YEAR
DAY-MONTH-YEAR
ou omettre l'année
MONTH DAY

Heure du jour

Quelques exemples:
20:02:00.000000
20:02
8:02pm
20:02-0500 # In EST (U.S. Eastern Standard Time).

   Plus généralement, le temps peut être donné en HOUR:MINUTE:SECOND, et optionnellement suivi par un '.' ou ',' et une fraction contenant un ou plusieurs chiffres. SECOND peut être omis. Si le temps est suivi par 'am' ou 'pm', HOUR est restreint entre 1 et 12.

  L'heure peut être suivie par un time zone exprimé par SHHMM, où S vaut '+' ou '-', HH Est le nombre d'heures de la zone, et MM est le nombre de minutes de la zone (peut être omis).

Jour de la semaine

   La mention du jour de la semaine va renvoyer la date pour atteindre ce jours de la semaine dans le future. Les jours de la semaine peuvent être écris : 'Sunday', 'Monday','Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'. Leur abréviation peut être utilisé (3 premières lettres). Un nombre peut précéder le jour de la semaine pour spécifier un jour antérieur, comme third monday. Dans ce contexte, 'last DAY' ou 'next DAY' sont aussi acceptable.

Items relatifs

Quelques exemples:
1 year
1 year ago
3 years
2 days

   il est possible d'utiliser 'fortnight' pour 14 jours, week pour 7 jours, day pour 24 heures, hour pour 60 minutes, minute ou min pour 60 secondes et second ou sec. Un suffixe 's' est accepté et ignoré. L'unité de temps peut être précédée par un multiplicateur, un nombre signé. pour spécifié un temps antérieur, ajouter ago.

  Ainsi tomorrow est équivalent à day et yesterday est équivalent à day ago. Les chaînes now et today correspondent à aucun déplacement de temps. Ils peuvent être utilisés par exemple: "10:00 today". La chaîne this à la même signification, par exemple: this thursday.

Secondes depuis the Epoch

   Si vous précédez un nombre avec '@', il représente un compteur de seconde interne. the epoch correspond au 1970-01-01 00:00:00 UTC. Il est possible de spécifier des valeurs négatives. Les systèmes 32-bits peuvent représenter le temps de 1901-12-13 20:45:52 à 2038-01-19 03:14:07 UTC. Les systèmes plus modernes utilise un compteur 64-bits.

Spécifier les règles de TimeZone

   Normalement les dates sont interprétées en utilisant les règles de time zone courant, qui sont spécifiées par la variable d'environnement TZ ou par le systéme par défaut si TZ n'est pas définie.

exemple: quelle heure est-il à New York quand il est 6:30 à Paris le 31 octobre 2004, en utilisant une date commençant par TZ="Europe/Paris":
export TZ="America/New_York"
date --date='TZ="Europe/Paris" 2004-10-31 06:30'
Sun Oct 31 01:30:00 EDT 2004
^
18 octobre 2016

htmlpdflatexmanmd




grep

grep

Affiche les lignes qui contiennent une correspondance pour un motif

Options - contrôle de correspondance

-e PATTERN, --regexp=PATTERN Utilise PATTERN comme motif. Si cette option est utilisée plusieurs fois ou combinée avec -f, recherche tous les motifs donnés.
-f FILE, --file=FILE Obtient les patterns depuis le fichier, un par ligne. Si cette option est utilisée plusieurs fois ou combinée avec -e, recherche pour tous les patterns donnés. Un fichier vide ne contient aucun pattern, et ne matche rien.
-i, --ignore-case Ignore la casse.
-v, --invert-match Inverse le sens de match, pour selectionner des lignes non-matchant.
-w, --word-regexp Sélectionne uniquement les lignes contenant les matchs qui forment un mot entier. Le test est que la sous-chaîne matchant doit être soit au début de la ligne, ou précédé par un caractère non-word. Similairement, il est doit être soit à la fin de la ligne ou suivi par un caractère word. N'a pas d'effet avec -x
-x, --line-regexp Sélectionne seulement les matche qui correspondent exactement à la ligne entière.

Options - Contrôles de sortie généraux

-c, --count Supprime la sortie normale; Affiche un compteur de lignes correspondantes pour chaque fichier d'entrée. Avec -v, compte les lignes qui ne matchent pas.
--color[=WHEN], --colour[=WHEN] Mode couleur. Les couleurs sont définies par la variable d'environnement GREP_COLORS (défaut: ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36)
-L, --files-without-match Supprime la sortie normale; affiche le nom de chaque fichier d'entrée dans lequel aucune sortie ne serait affichée.
-l, --files-with-matches Supprime la sortie normale; affiche le nom de chaque fichier d'entrée dans lequel un sortie aurait été affichée.
-m NUM, --max-count=NUM Stop la lecture d'un fichier après NUM lignes matchant.
-o, --only-matching Affiche seulement les parties matchants des lignes matchant.
-q, --quiet, --silent N'affiche rien sur stdout. Quitte avec un status 0 si un match est trouvé, même si une erreur a été détectée.
-s, --no-messages Supprime les messages d'erreur sur des fichiers non-existants ou illisibles.

Options - contrôle de préfixe de ligne

-b, --byte-offset Affiche l'offset dans le fichier d'entrée avant de sortir chaque ligne. si -o est spécifié, affiche l'offset de la partie matchant elle-même.
-H, --with-filename Affiche le nom de fichier pour chaque match. C'est le défaut quand il y a plus d'une fichier à rechercher.
-h, --no-filename Supprime l'ajoute du nom de fichier dans la sortie. C'est le défaut quand il n'y a qu'un fichier ou seulement l'entrée standard à rechercher
--label=LABEL Affiche l'entrée venant de stdin comme entrant depuis le fichier LABEL. Utile pour implémenter des outils comme zgrep (ex: gzip -cd foo.gz | grep --label=foo -H something)
-n, --line-number Préfixe chaque ligne de sortie avec le numéro de ligne dans son fichier d'entrée
-T, --initial-tab S'assure que le premier caractère du contenu de la ligne courante s'appuis sur une tabulation, pour que l'alignement des tabulation semblent normales. Utile avec les options qui préfixent leur sortie avec le contenu actuel.
-u, --unix-byte-offsets Reporte les offsets dans le style Unix.
-Z, --null Affiche un ASCII NUL au lieu du caractère qui suit normalement un nom de fichier.

Options - Contrôle de ligne de contexte

   Sans regarder comment ces options sont définies, grep n'affiche jamais une ligne donnée plus d'une fois. Si -o est spécifié, ces options n'ont pas d'effet et une alerte est donée.

-A NUM, --after-context=NUM Affiche NUM lignes supplémentaires après chaque ligne matchant
-B NUM, --before-context=NUM Affiche NUM lignes supplémentaires avant chaque ligne matchant
-C NUM, -NUM, --context=NUM Affiche NUM lignes avant et après chaque ligne matchant
--group-separator=STRING Avec -A, -B ou -C, affiche un séparateur entre les groupes de ligne
--no-group-separator Avec -A, -B ou -C, n'affiche pas de séparateur entre les groupes de ligne

   Notes sur la manière dont grep choisis le séparateur pour affiche les préfixes:

        - Les lignes matchant utilisent normalement ':' comme séparateur entre les préfixes et le contenu de la ligne courante
        - Les ligne non-matchant utilisent - à la place
        - Quand le context n'est pas spécifié, les lignes adjacentes dans l'entrée forment un groupe et sont affiche un après l'autre, alors qu'un séparateur apparaît entre les groupes non-adjacents
        - Le séparateur par défaut est --
        - Chaque groupe peut contenir de nombreuses lignes matchant quand elles sont suffisamment proches et peuvent être fusionnés en une simple zone contigüe.

Options - Sélection de fichier et de répertoire

-a, --text Traite un fichier binaire comme si c'était du texte.
--binary-files=TYPE Trait le fichier contenant des données binaire en assumant que le fichier est du type spécifié: binary, without-match, text.
-D ACTION, --devices=ACTION Si un fichier d'entrée est un périphérique, FIFO ou socket, utilise ACTION pour le traiter. Si ACTION est 'read', tous les périphériques sont lus comme si c'étaient des fichiers ordinaires. Si ACTION est 'skip', les périphérique, FIFO, et sockets sont ignorés silencieusement.
-d ACTION, --directories=ACTION Si un fichier d'entrée est un répertoire, utilise l'action pour le traiter. par défaut, ACTION est 'read', qui signifie que les répertoires sont lus comme si c'était des fichiers ordinaires. Si ACTION est 'skip', les répertoire sont ignorés silencieusement. 'recurse' lis tous les fichiers sous chaque répertoire, recursivement.
--exclude=GLOB Saute les fichiers de la ligne de commande avec un suffix de nom qui matche le glob.
--exclude-from=FILE Saute les fichiers dont les noms matchent un des patterns lus depuis le fichier spécifié.
--exclude-dir=GLOB Saute les répertoires de la ligne de commande avec un suffix qui matche le glob.
-I Traite un fichier binaire comme s'il ne contenait pas de données correspondantes. (équivalent à --binary-files=without-match)
--include=GLOB Ne recherche que les fichiers dont les noms matchent le glob.
-r, --recursive Pour chaque opérande répertoire, lit et traite tous les fichiers dans ce répertoire, récursivement. identique à --directories=recurse
-R, --dereference-recursive Pour chaque opérande répertoire, lit et traite tous les fichiers dans ce répertoire, en suivant tous les liens symboliques.

Autres options

--line-buffered Utilise le tampon de ligne sur la sortie. Peut réduire les performances
-U, --binary Traite les fichiers en binaire.
-z, --null-data Traite les données d'entrée et de sortie comme séquence de lignes, chacune terminée par un ASCII NUL au lieu d'un newline.

Variables d'environnement

LC_ALL Spécifie la locale
LC_COLLATE Spécifie la locale pour la catégorie LC_COLLATE
LANG Spécifie la locale
LC_TYPE Spécifie la locale pour la catégorie LC_CTYPE
LC_MESSAGES Spécifie la locale pour la catégorie LC_MESSAGES
LANGUAGE Contient une liste séparée par ',' de langages qui remplacent les variables LC_ALL, LC_XXX et LANG
GREP_COLORS Spécifie les couleurs et autres attributs utilisés pour colorer la sortie:

        sl= Lignes sélectionnées
        cx= Lignes de context
        rv booléen inversant la signification de sl et cx
        mt=01;31 Texte non-vide dans un ligne matchant.
        ms=01;31 Texte non vide matchant dans une ligne matchant
        mc=01;31 texte non-vide matchant dans une ligne de contexte
        fn=35 Sous-chaîne our les noms de fichier préfixant une ligne
        ln=32 Sous-chaîne pour les numéros de ligne préfixant une ligne
        bn=32 Offset préfixant une ligne
        se=36 Séparateur inséré entre les champs, entre les lignes de contexte et entre les groupes de lignes adjacentes
        ne Booléen qui empêche d'effacer la fin d'une ligne avec Erase in Line (EL) à droite chaque fois qu'un élément colorisé prend fin.

POSIXLY_CORRECT grep se conforme à POSIX
_N_GNU_nonoption_argv_flags_ Où N est l'ID de processus grep. Si le I-ième caractère de cette variable est 1, ne pas considérer la I-ème opérande de grep comme option. Un shell peut définir cette variable pour chaque commande qu'il lance, en spécifiant quels opérandes sont le résultat d'une expansion de nom de fichier. Uniquement avec POSIXLY_CORRECT

Codes de sortie

   Normalement, le code de sortie est 0 si une ligne est sélectionnée, 1 si aucune ligne n'est sélectionnée, et 2 si une erreur se produit.

Programmes grep

   grep recherche dans les fichiers nommés en entrée à la recherche de lignes contenant un match. Par défaut, grep affiche les lignes matchants. Un fichier nommé '-' signifie l'entrée standard. Si aucune entrée n'est spécifiée, grep recherche le répertoire courant. Si une options spécifie la récursion, cependant, grep recherche l'entrée standard. Il y a 4 variantes majeurs de grep, contrôlés par les options suivantes:

-G, --basic-regexp Interprète le pattern comme expression régulière basique. c'est le mode pas défaut
-E, --extended-regexp Interprète le pattern comme expression régulière étendue.
-F, --fixed-string Interprète le pattern comme une liste de chaîne fixes au lieu d'expressions régulières, séparér par des newline, un d'entre eux doit matcher.
-P, --perl-regexp Interprète le pattern comme expression régulière compatible perl.

Expressions régulières

   Une expression régulière est un pattern qui décrit un jeu de chaînes. Les expressions régulières sont construites analoguement aux expressions arithmétiques, en utilisant divers opérateurs pour combiner des expressions plus petites. Grep comprend 3 types d'expressions régulière: basique, étendue, et perl. La suite décrit les expressions régulières étendue.

Structure fondamentale

. matche un simple caractère
? L'élément précédent est optionnel et est matché une fois au plus
L'élément précédent est matché 0 ou plusieurs fois
+ L'élément précédent est matché 1 ou plusieurs fois
{N} L'élément précédent est matché N fois
{N,} L'élément précédent est matché au moins N fois
{,M} L'élément précédent est matché au plus N fois
{N,M} L'élément précédent est matché au moins N fois et au plus M fois.

Classes de caractère et expressions entre crochet

[:alnum:] Caractères alphanumériques =[0-9A-Za-z]
[:alpha:] Caractère alphabétiques [A-Za-z]
[:blank:] Caractères blancs: espace et tabulation
[:cntrl:] Caractères de contrôle
[:digit:] Chiffres [0-9]
[:graph:] Caractères graphiques: [:alnum:] et [:punct:]
[:print:] Caractères imprimables. [:alnum:], [:punct:], et espace
[:punct:] caractères de ponctuation ‘! " # $ % & ' ( ) * + , - . / : ; ‹ = › ? @ [ \ ] ^ _ ` { | } ~’
[:space:] Caractères espace
[:lower:] caractères minuscules [a-z]
[:upper:] Caractères majuscules [A-Z]
[:xdigit:] Chiffres hexadécimaux [0-9A-Fa-f]

   La plupart des méta-caractères perdent leur signification spéciale dans les expressions entre crochet.

] Termine une expression crochet si ce n'est pas le premier élément de la liste
[. Représente le symbole d'ouverture de regroupement.
.] Représente le symbole de fermeture de regroupement
[= Représente l'ouvertuse de classe équivalente
=] Représente la fermeture de classe équivalente
[: Représente le symbole d'ouverture de classe de caractère
:] Représente le symbole de fermueture de classe de caractère
- Représente la plage si ce n'est pas le premier ou le dernier caractère
^ Représente les caractères qui ne sont pas dans la liste.

Le caractère \\ et des expressions spéciales

\b Matche la chaîne vide au bord d'un mot
\B Matche la chaîne vide qui n'est pas au bord d'un mot
\‹ Matche la chaîne vide au début d'un mot
\› Matche la chaîne vide à la fin d'un mot
\w Matche un constituant d'un mot, synomyme de [_[:alnum:]]
\W Match un non-constituant de mot, synomyme de [^_[:alnum:]]
\s Matche un espace blanc, synomyme de [[:space:]]
\S Matche un non-espace, synonyme de [^[:space:]]

ancre

   ^ et $ sont des méta-caractères qui matchent respectivement la chaîne vide au début de ligne et la fin de ligne.

Références et sous-expressions

   Le back-reférence, \N, où N est un simple chiffre, matche la sous-chaîne précédemment matchée par la N-ième sous-expression entre parenthèses de l'expression régulière. Par exemple, (a)\1 matche 'aa'.

Expressions régulières basiques et étendues

   Dans les expressions régulières basiques, les méta-caractères '?', '+', ‘{’, ‘|’, ‘(’, et ‘)’ perdent leur signification spéciales, utiliser leur versions échappées \.

   egrep ne supporte pas le méta-caractère { et certaines implémentations supportent \{, les scripts portables doivent éviter { dans les pattern grep -E, et utiliser [{].

Exemples

Lister simplement les noms des fichiers qui matchent
grep -l 'main' *.c
Rechercher récursivement
grep -r 'hello' /home/gigi
Rechercher seulement dans les fichiers C
find /home/gigi -name '*.c' -print0 | xargs -0r grep -H 'hello'
Similairement
grep -rH --include='*.c' 'hello' /home/gigi
Recherche toutes les lignes matchant --cut here--
grep -e '--cut here--' *
Recherche seulement les instances de hello qui sont des mots entiers:
grep -w 'hello' *
Et ne matche pas Othello. Pour plus de contrôle, utilise \‹ et \›
grep 'hello\›' *
Afficher le contexte autour des lignes qui matchent
grep -C 2 'hello' *
Forcer grep à afficher le nom d'un fichier
grep 'eli' /etc/passwd /dev/null
ou encore
grep -H 'eli' /etc/passwd
Rechercher sur l'entrée standard et dans les fichiers
cat /etc/passwd | grep 'alain' - /etc/motd
Comment exprimer des palindromes en expressions régulières
grep -w -e '\(.\)\(.\).\2\1' file
^
13 juillet 2010

htmlpdflatexmanmd




groups

groups

Affiche les noms des groupes d'un utilisateur

   groups affiche les noms des groupes primaire et supplémentaires pour chaque utilisateur donné, ou du processus courant si aucun nom n'est spécifié. est identique à id -Gn

^
07 juin 2010

htmlpdflatexmanmd




head

head

Affiche la première partie de chaque fichier - 10 lignes par défaut

   Si plusieurs fichiers sont spécifiés, head affiche un en-tête d'une ligne affichant le nom du fichier sous la forme :

  ==› FILE NAME ‹==

OPTIONS

-c N, --bytes=N Affiche les N premiers octets au lieu de lignes. Si N commence avec un '-', affiche tout sauf les derniers N octets de chaque fichier. N accèpte un suffixe multiplicateur.
N, --lines=N Sort les première N lignes. Identique à l'options -c
-q, --quiet, --silent N'affiche pas les en-têtes
-v, --verbose affiche toujours les en-têtes
^
14 juillet 2010

htmlpdflatexmanmd




hostid

hostid

Affiche l'id de l'hôte

   hostid affiche l'identifiant numérique de l'hôte courant. Sur ce système, cette valeur est proche de l'adresse Internet du système, mais ce n'est pas toujours le cas

^
13 juillet 2010

htmlpdflatexmanmd




id

id

id affiche des informations sur l'utilisateur donné, ou l'utilisateur qui lance id si aucun argument n'est spécifié.

   Par défaut, id affiche le real user ID, real group ID, l'effective user ID s'il est différent, l'effective group ID s'il est différent et les ID de groupes supplémentaires.

OPTIONS

-g, --group Affiche seulement le group ID
-G, --groups Affiche seulement le group ID et les groupes supplémentaires.
-n, --name Affiche l'utilisateur ou le groupe au lieu des ID. s'utilise avec -u, -g ou -G.
-r, --real Affiche le real user ID et ou le real group ID au lieu de l'effectif. s'utilise avec -u, -g ou -G.
-u, --user Affiche seulement l'ID de l'utilisateur
-Z, --context Affiche seulement le contexte de sécurité de l'utilisateur courant, si SELinux est activé.
^
30 juin 2010

htmlpdflatexmanmd




install

install

Copie de fichiers tout en définissant les bits de mode et, si possible, le user et group

   Si 2 noms de fichiers sont spécifiés, copie le premier dans le deuxième.

  Si -t est donné, ou le dernier fichier est un répertoire et -T est donné, copie chaque source dans ce répertoire.

  Si -d est spécifié, crée chaque répertoire et les dossiers parents manquant. Les parents sont créer avec le mode u=rwx,gorx.

  install est similaire à cp mais permet de contrôler les attributs des fichiers de destination. install ne préserve jamais les attributs étendus.

OPTIONS

-b, --backup[=METHOD] Créer une sauvegarde de chaque fichier qui aurait été écrasé ou supprimé.
-D crée les répertoires parents manquant de destination, puis copie la source dans la destination.
-d, --directory Crée les répertoires manquant, donnant les attributs par défaut.
-g GROUP, --group=GROUP Définit le groupe des fichiers installés
-m MODE, --mode=MODE Définit les bits de mode pour les fichiers installés. Peut être spécifié en octal, ou un mode symbolique comme avec chmod.
-o OWNER, --owner=OWNER Définit le propriétaire des fichiers installés.
--preserve-context Préserve le contexte de sécurité SELinux des fichiers.
--preserve-timestamp Défini le atime et le mtime de chaque fichier installé pour correspondre aux fichiers originaux.
-S SUFFIX, --suffix=SUFFIX ajoute un suffixe à chaque ficher de backup crée avec -b
-t DIRECTORY, --target-directory=DIRECTORY spécifie le répertoire de destination.
-T, --no-target-directory Ne traite pas la dernière opérande spécialement quand c'est un répertoire ou un lien symbolique.
-v, --verbose Affiche le nom de chaque fichier avant de la copier.
-Z CONTEXT, --context=CONTEXT Définit le contexte de sécurité SELinux à utiliser pour les fichiers crées.
^
09 juin 2010

htmlpdflatexmanmd




join

join

Écrit sur la sortie standard une ligne pour chaque paire de lignes en entrée qui ont des champs identiques

   Normalement, l'ordre de trie est spécifiée par LC_COLLATE. A moins que -t ne soit donné, la comparaison ignore les blancs au début et à la fin des champs joints, comme avec sort -b. Si --ignore-case est donné, la comparaison ignore la casse, comme avec sort -f

  Il peut être utile d'utiliser sort -k 1b,1 pour trier un fichier en champs à joindre.

OPTIONS

-a FILE-NUMBER Affiche une ligne pour chaque ligne 'unpairable' dans le fichier FILE-NUMBER (soit 1 soit 2), en plus de la sortie normale.
--check-order Quitte avec un message d'erreur si un fichier d'entrée n'est pas ordonné correctement.
--nocheck-order Ne vérifie pas si les fichiers en entrées sont triés. mode par défaut.
-e STRING Remplace les champs en sortie qui sont manquant dans l'entrée avec STRING.
-i, --ignore-case Ignore la casse.
-1 FIELD Joint sur le champs FIELD du fichier 1
-2 FIELD Joint sur le champs FIELD du fichier 2
-j FIELD Equivalent à -1 FIELD -2 FIELD
-o FIELD-LIST Construit chaque ligne en sortie en accord avec le format de FIELD-LIST. Chaque élément dans FIELD-LIST est soit le caractère '0' ou a la forme M.NM le numéro du fichier (1 ou 2) et N un numéro de champ.
-t CHAR Utilise le caractère CHAR comme séparateur de champ d'entrée et de sortie. Utiliser sort -t CHAR pour produire cet ordre.
-v FILE-NUMBER Affiche une ligne pour chaque ligne 'unpairable' dans FILE-NUMBER (soit 1 soit 2), au lieu de la sortie standard

Exemples

cat file1
a a1
c c1
b b1
cat file2
a a2
c c2
b b2
join file1 file2
a a1 a2
c c1 c2
b b1 b2
^
02 juillet 2010

htmlpdflatexmanmd




link

link

Créer un lien dur, interface minimaliste à la fonction système link

   link FILENAME LINKNAME

  FILENAME doit être un fichier existant, et LINKNAME doit spécifier une entrée inexistante dans un répertoire existant. Cette commande agit comme ln --directory --no-target-directory FILENAME LINKNAME

^
02 juillet 2010

htmlpdflatexmanmd




ln

ln

Créer des liens entre les fichiers

   ln crée des liens entre les fichiers. Par défaut il crée des liens dur, -s permet de créer des liens symbolique.

  - si 2 fichiers sont donnés, ln crée un lien du premier fichier dans le second.

  - si une cible est donnée, ln crée un lien de ce fichier dans le répertoire courant

  - si -t est donné ou si le dernier fichier est un répertoire et que -T n'est pas donné, ln crée un lien de chaque cible dans le répertoire spécifié, en utilisant le nom des cibles.

  Normalement ln ne supprime pas de fichiers existant, utiliser -f pour supprimer automatiquement, -i pour demander avant de supprimer, ou -b pour les renommer.

   Un lien dur est un autre nom pour un fichier existant ; le lien et l'original ne sont pas distinct. ils partagent le même inode. Vous ne pouvez pas créer un lien dur sur un répertoire, et les liens dur ne peuvent pas être sur un autre système de fichier que l'original.

  Les lien symboliques, sont un type de fichier spécial dans lequel le lien réfère à un fichier différent. Les liens symboliques peuvent contenir des chaînes arbitraires; un "dangling symlink" se produit quand la chaîne ne résout pas un fichier. Un lien symbolique absolue pointe toujours sur le même fichier, même si le dossier contenant le lien est déplacé, à l'exception des liens visible depuis une autre machine. Un lien symbolique relatif est toujours résolu en relation avec le répertoire qui contient le lien, et est souvent utile pour référer aux fichiers sur le même périphérique sans regarder le nom sous lequel le périphérique est monté.

OPTIONS

-b, --backup[=METHOD] Crée un backup de chaque fichier qui serait supprimé ou écrasé.
-d, -F, --directory Tente de créer un lien dur sur les répertoire, mais va probablement échouer à cause des restrictions systèmes.
-f, --force Supprime les fichiers de destination existant.
-i, --interactive Demande avant de supprimer les fichiers de destination
-n, --no-dereference Ne traite pas la dernière opérande spécialement quand c'est un répertoire ou un lien symbolique.
-s, --symbolic Créer des liens symboliques.
-S SUFFIX, --suffix=SUFFIX ajoute un suffixe au backup crées avec -b
-t DIRECTORY, --target-directory=DIRECTORY Spécifie le répertoire de destination
-T, --no-target-directory Ne traite pas spécialement la dernière opérande quand c'est un lien symbolique ou un répertoire.
-v, --verbose affiche le nom de chaque fichier après l'avoir lié avec succès.
^
13 juillet 2010

htmlpdflatexmanmd




logname

logname

Affiche le nom d'utilisateur appelant

   logname affiche le nom d'utilisateur appelant, comme trouvé dans /var/run/utmp ou /etc/utmp.

^
28 juin 2010

htmlpdflatexmanmd




ls

ls, dir, vdir

Liste les informations sur les fichiers

   Pour les arguments non-options qui sont des répertoires, par défaut ls liste le contenu ces répertoires, non récursivement, et omet les fichiers cachés. Par défaut la sortie est triée alphabétiquement.

  dir est équivalent à ls -C -b

  vdir est équivalent à ls -l -b

Codes de sortie

0 succès
1 problèmes mineurs
2 problèmes sérieux

Options: fichiers listés

-a, --all Affiche également les fichiers cachés.
-A, almost-all identique, mais ignore '.' et '..'
-B, --ignore-backups ignore les fichiers se terminant par '~'
-d, --directory liste seulement le nom des dossiers, au lieu de lister leur contenu. ne suit pas les liens symbolique. a moins que -H, ou -L ne soit spécifié.
-H, --dereference-command-line si la ligne de commande spécifie un lien symbolique, affiche des informations sur la référence au lieu du lien lui-même.
--dereference-command-line-symlink-to-dir ne déréférence pas les liens symboliques, avec une exception : si un argument de ligne de commande spécifie un lien symbolique qui réfère à un répertoire, affiche les informations pour ce répertoire au lieu du lien. c'est le mode par défaut.
--group-directories-first Groupe tous les fichiers, puis les affiche avant les fichiers.
--hide=PATTERN Dans les dossiers, ignore les fichiers dont le nom correspond à PATTERN, identique à -I, sauf si -a ou -A est donné.
-I PATTERN, --ignore=PATTERN Dans les dossiers, ignore les fichiers correspondant à PATTERN.
-L, --dereference En affichant les informations de fichier sur un lien symbolique, affiche les informations pour la référence au lieu du lien lui même, cependant ls affichera toujours le nom du lien symbolique.
-R, --recursive Liste le contenu de tous les répertoires récursivement.

Options: informations affichées

--author Liste chaque auteur de fichier en produisant un listing au format long.
-D, --dired Avec le fomat long -l, affiche une ligne additionnelle après la sortie principale du type : //DIRED// BEG1 END1 BEG2 END2 ....

           BEGN et ENDN sont des entiers non-signés qui enregistrent la position de l'octet du début et de la fin de chaque non de fichier dans la sortie.

  Si les dossiers sont listés récursivement, une sortie est produite pour les sous-répertoire :

  //SUBDIRED// BEG1 END1

  et enfin, une ligne sous la forme :

  //DIRED-OPTIONS// --quoting-style=WORD

--full-time Affiche la la date au format long.
-g N'affiche pas le propriétaire du fichier.
-G, --no-group N'affiche pas le groupe propriétaire du fichier
-h, --human-readable Affiche la taille de chaque fichier avec un préfixe.
-i, --inode Affiche le numéro d'inode de chaque fichier
-l, --format=long, format=verbose Affiche le type de fichier, les permissions, user:group, la taille et la date.

        Le type de fichier est un des suivant :
        - fichier régulier
        b fichier spécial block
        c fichier spécial caractère
        C Fichier haute performance
        d répertoire
        l lien symbolique
        p FIFO
        s socket
        ? autre
       
        les bits de mode :
        s set-user-ID ou set-group-ID et le bit exécutable correspondant sont mis
        S set-user-ID ou set-group-ID et mis mais pas le bit exécutable correspondant
        t sticky bit et le bit exécutable au autres sont mis
        T sticky bit est mis mais pas le bit exécutable aux autres
        x le bit exécutable est mis
        - rien n'est mis
        ls utilise un '.' pour indiquer un fichier avec SELinux, mais sans autre méthode d'accès alternatif.

-n, --numéric-uid-gid affiche l'ID des user:group au lieu des noms.
-o n'affiche pas les information de groupe
-s, --size affiche l'allocation de disque de chaque fichier. C'est la quantité d'espace disque utilisé par le fichier, qui est généralement un petit peu plus que la taille du fichier.
--si identique à -h, mais utilise les puissance de 1000.
-Z, --context Affiche le contexte de sécurité SELinux ou ' ?' si rien n'est trouvé.

Options: trie

-c, --time=ctime, --time=status si -l ou -o est utilisé, affiche le ctime au lieu du mtime.
-f ne trie pas les fichiers
-r, --reverse inverse l'ordre de trie
-S, --sort=size trie par taille, du plus gros au plus petit
-t, --sort=time trie par mtime, du plusrécent au plus ancien
-u, --time=atime, --time=access, -time=use affiche le atime au lieu du mtime
-U, --sort=version trie par numéro et nom de version, le plus faible en premier.
-X, --sort=extension trie alphabétiquement par extension de fichier.

Options: formatage de la sortie

-1, --format=single-column liste les fichiers, un par ligne
-C, --format=vertical Liste les fichiers en colonne, triés verticalement.
--color [=WHEN] Utilise des couleurs pour distinguer les types de fichiers. WHEN peut être :

        none N'utilise pas les couleur
        auto utilise uniquement les couleur si la sortie standard est le terminal
        always utilise toujour les couleurs

-F, --classify, --indicator-style=classify Ajoute un caractère à chaque fichier indiquant le type de fichier :

         *  exécutable
        / répertoire
        @ lien symbolique
        | fifo
        = socket

--file-type, --indicator-style=file-type Ajoute un caractère à chaque fichier indiquant le type de fichier. identique à -F mais n'indique pas les exécutables.
--indicator-style=WORD Ajoute un caractère à chaque nom de fichier du type WORD :

        none n'ajoute pas de caractère.
        slash Ajoute un / pour les répertoires. identique à -p
        file-type dentique à --file-type
        classify ajoute un * aux fichier réguliers exécutables, sinon fonctionne comme file-type. identique à -F ou --classify

-k affiche la taille des fichiers en blocks de 1024 octets.
-m, --format=commas Liste les fichiers horizontalement, autant qu'il pourra sur chaque ligne, séparés par ', '
-p, --indicator-style=slash ajoute un / à chaque dossier
-x, --format=across, format=horizontal Liste les fichiers en colonnes, triés horizontalement
-T COLS, --tabsize=COLS Définit la largeur des tabulations (défaut 8).
-w, --width=COLS définit la largeur de l'écran. par défaut utilise les paramètres du terminal ; sinon la variable d'environnement COLUMNS est utilisé si elle est définie, sinon le défaut est 80.
--time-style=STYLE liste la date dans le style STYLE :

        +FORMAT FORMAT est interprété comme un argument de date.
        full-iso affiche la date en utilisant ISO 8601. le style est équivalent à +%Y-%m-%d %H:%M:%S.%N %z
        long-iso Liste la date au format ISO 8601. est équivalent à +%Y-%m-%d %H:%M
        iso liste au format ISO 8601 pour les date anciennes. est équivalent à +%Y-%m-%d $newline%m-%d %H:%M
        locale affiche la date sous la forme locale, généralement définit par LC_TIME.
        posix-STYLE affiche la date au format posix. STYLE peut être un des précédent.

Options: formater les noms des fichiers

-b, --escape, --quoting-style=escape met un '\' devant les caractères non graphiques
-N, --literal, --quoting-style=literal ne quote pas les noms de fichier. les caractères non-graphique sont affichés avec un 'question mark' si la sortie est le terminal.
-q, --hide-control-chars affiche un 'question mark' au lieu des caractères non-graphiques dans les noms de fichier.
--show-control-chars Affiche les caractères non-graphique tels quel dans les noms de fichier.
-Q, --quote-name, quoting-style=c Met les noms de fichier entre '"'.
--quoting-style=WORD WORD peut être :

        literal affiche les noms tels quels
        shell met les noms de fichier entre ' s'ils contiennent des méta-caractères.
        shell-always met tous les noms de fichier entre '
        c Met les nom de fichier entre "
        escape met un '\' devant les caractères non graphiques
        clocale met les noms de fichier entre ` et '
        locale identique à clocale
        On peut spécifier la valeur par défaut de --quoting-style avec la variable d'environnement QUOTING_STYLE.

Variables d'environnement

QUOTING_STYLE Spécifie la valeur par défaut de --quoting-style
^
07 juin 2010

htmlpdflatexmanmd




md5sum

md5sum

Calcul un checksum 128-bits pour chaque fichier spécifié

OPTIONS

-b, --binary Traite chaque fichier en binaire, en le lisant en mode binaire, préfixe le nom du fichier par '*'. Principalement utile sur les systèmes MS-DOS.
-c, --check Lit les informations de checksum et de nom de fichier dans le fichier et report si le checksum correspond avec le fichier nommé. Le format du fichier d'entrée est généralement le format de sortie d'un md5sum précédent.
--quiet Cette option est utile seulement quand on vérifie les checksums. Ne génère pas de 'OK' pour chaque message vérifié avec succès.
--status Cette option est utile seulement quand on vérifie les checksums. Ne génère pas de diagnostic et ne sort pas d'alerte en cas d'erreur.
-t, --text Traite chaque fichier en entrée comme texte. Utile pour les systèmes de type MS-DOS.
-w, --warn En vérifiant les checksums, alerte sur les ligne de checksums MD5 mal formatés.
^
02 juillet 2010

htmlpdflatexmanmd




mkdir

mkdir

Créer des répertoires

   mkdir crée des répertoires avec les noms spécifiés. par défaut, reporte une erreur si un répertoire existe déjà.

OPTIONS

-m MODE, --mode=MODE définit les bits de permission de fichier des répertoires crées. Utilise la même syntaxe que chmod.
-p, --parents Crée les dossiers parents manquants pour chaque argument. leur bits de mode sont u+rwx.
-v, --verbose Affiche un message pour chaque fichier crée.
-Z CONTEXT, --context=CONTEXT Définit le contexte de sécurité SELinux à utiliser pour créer les répertoires.
^
02 juillet 2010

htmlpdflatexmanmd




mkfifo

mkfifo

Créer des fichiers fifo

   Un FIFO est un fichier spécial qui permet à des processus indépendant de communiquer. Un processus ouvre le fichier FIFO en écriture, et un autre processus ouvre ce même fichier FIFO en lecture.

OPTIONS

-m MODE, --mode=MODE définit le mode des FIFO crées, utilise la même syntaxe que chmod.
-Z CONTEXT, --context=CONTEXT Définis le contexte de sécurité SELinux à utiliser pour créer les FIFO.
^
02 juillet 2010

htmlpdflatexmanmd




mknod

mknod

Créer des fichiers spéciaux fifo, caractère ou block

   mknod [OPTION]... NAME TYPE [MAJOR MINOR]

  Le terme fichier spécial a une signification spécial sous unix: quelque-chose qui peut générer ou recevoir des données. Généralement, cela correspond à un périphérique physique. La commande mknod crée ce type de fichier. De tels périphériques peuvent être lus soit un caractère à la fois, soit par block. les arguments après le nom sont :

p pour un FIFO
b pour un fichier spécial block
c pour un fichier spécial caractère

   En créant un fichier spécial block ou caractère, les numéros de périphérique major et minor doivent être donnés. Ils peuvent être donnés en hexa, octal ou décimal.

OPTIONS

m MODE, --mode=MODE Définit le mode des fichiers crées, la syntaxe est de type chmod.
-Z CONTEXT, --context=CONTEXT Définit le contexte de sécurité SELinux utilisé pour créer les fichiers.
^
30 juin 2010

htmlpdflatexmanmd




mv

mv

Déplace ou renomme des fichiers

   Si 2 noms de fichiers sont spécifiés, déplace le premier fichier dans le second.

  Si -t est donnés ou que le dernier fichier est un répertoire et que -T est donné, déplace chaque fichier source dans le répertoire spécifié.

  mv peut déplacer n'importe quel type de fichier, d'un système de fichier vers un autre. mv essaye toujours de copier les attributs étendus. Si un fichier de destination existe mais n'est pas en écriture, que l'entrée est un terminal, et que -f n'est pas donné, mv demande confirmation pour remplacer le fichier.

OPTIONS

-b, --backup[=METHOD] Créer une sauvegarde de chaque fichier qui aurait été écrasé ou supprimé.
-f, --force Ne demande pas confirmation avant de supprimer un fichier de destination.
-i, --interactive Demande confirmation pour écraser un fichier existant dans la destination.
-n, --no-clobber N'écrase pas un fichier existant
-u, --update Ne déplace pas de fichier autre que répertoire qui a une destionation avec le mtime identique ou plus récent.
-v, --verbose affiche le nom de chaque fichier avant de le déplacer.
--strip-trailing-slashes supprime les '/' de fin de chaque argument de source.
-S SUFFIX, --suffix=SUFFIX ajoute un suffix au fichier de backup crées avec -b
-t DIRECTORY, --target-directory=DIRECTORY Spécifie le répertoire de destination
-T, --no-target-directory ne traite pas le dernier opérande spécialement quand c'est un répertoire ou un lien symbolique.
^
05 juin 2010

htmlpdflatexmanmd




nl

nl

Écrit chaque fichier ou l'entrée standard sur la sortie standard, et ajoute les numéros de ligne à certaines ou toutes les lignes.

   nl décompose son entrée en pages. Par défaut, le numéro de ligne est remis à 1 en haut de chaque page. nl traite tous les fichiers en entrée comme un simple document, il ne reset pas les numéros de lignes entre les fichiers.

  Une page consiste en 3 sections : header, body et footer. Il peut y'avoir des sections vides. Chacune peut être numérotée dans un style différent.

  Le début de chaque section des pages est indiqués dans le fichier d'entrée par une ligne contenant un de ces délimiteur :

        \ :\ :\ : début du header
        \ :\ : début du body
        \ : début du footer

OPTIONS

-b STYLE, --body-numbering=STYLE Selectionne le style de numérotation des lignes pour la section body :

        a numérote toutes les lignes
        t Numérote seulemet les lignes non vide
        n ne numérote pas les lignes
        pBRE numérote uniquement les lignes qui contiennent une correspondance de l'expression régulière BRE

-d CD, --section-delimiter=CD Définis les caractères de délimitation des sections.
-f STYLE, --footer-numbering=STYLE identique à -b mais pour la section footer
-h STYLE, --header-numbering=STYLE identique à -b mais pour la section header
-i NUMBER, --page-increment=NUMBER Incrémente les numéros de ligne par NUMBER (défaut : 1)
-l NUMBER, --join-blank-lines=NUMBER NUMBER lignes vide consécutives sont considérées comme une seule (défaut : 1), et n'en numérote qu'une seule. Une ligne vide ne contient aucun caractère, y compris de caractères blanc.
-n FORMAT, --number-format=FORMAT Sélectionne le format de numérotation de ligne (défaut : rn)

        ln justifié à gauche
        rn justifié à droite
        rz justifié à droite et remplit de zéro.

-p, --no-renumber Ne reset pas le numéro de ligne au début d'une page.
-s STRING, --number-separator=STRING Sépare le numéros de ligne du texte avec STRING (défaut : TAB)
-v NUMBER, --starting-line-number=NUMBER Définit le numéro de ligne initial sur chaque page à NUMBER (défaut 1)
-w, --number-width=NUMBER Utilise NUMBER caractères pour les numéros de lignes (défaut : 6)
^
15 juillet 2010

htmlpdflatexmanmd




nohup

nohup

Lancer une commande de manière à ce que les signaux hangup soient ignorés.

   nohup lance la commande spécifié de manière à ce que les signaux hangup soient ignorés, donc une commande peut continuer même après s'être déconnecté. Si l'entrée standard est le terminal, elle est redirigé vers /dev/null. Si la sortie standard est un terminal, elle est redirigé vers le fichier nohup.out, ou $HOME/nohup.out s'il ne peut pas être accédé en écriture. Si l'erreur standard est un terminal, elle est redirigé vers le même descripteur de fichier que la sortie standard. nohup ne place pas automatiquement la commande en fond, vous devez le faire explicitement, en terminant la ligne de commande avec un &.

Exemple

Pour rediriger la sortie d'un commande lancée avec nohup:
nohup make › make.log
^
05 juin 2010

htmlpdflatexmanmd




od

od

Écrit une représentation de chaque fichier ou de l'entrée standard

   Chaque ligne de sortie consiste de l'offset dans l'entrée, suivie par un groupe de données du fichier. Par défaut, od affiche l'offset en octal, et chaque groupe de donnée du fichier est de type short int. Si OFFSET est donné, il spécifie combien d'octets passer avant de formater et afficher l'entrée. interprété en octal par défaut.

OPTIONS

-A RADIX, --address-radix=RADIX Selectionne la base pour l'affichage de l'offset :

        d décimal
        o octal
        x hexadécimal
        n n'affiche pas l'offset

-J BYTES, --skip-bytes=BYTES Permet de sauter BYTES octets au début du fichier. si BYTES commence par '0x' ou '0X', il est interprété en hexadécimal, s'il commence par 'O', en octal et sans préfix, en décimal. On peut ajouter un facteur multiplicatif :

        b 512 octets
        KB 10000 octets
        K 1024 octets
        etc...

-N BYTES, --read-bytes=BYTES Sort BYTES octets de l'entrée. les préfixes et suffix sont identique à l'option -J
-S BYTES, --strings[=BYTES] Sort uniquement "string constants" : au moins BYTES caractères graphique ASCII consécutifs, suivis par un ASCII NUL. Les préfixe et les suffixes sont identiques à l'option -J
-t TYPE, --format=TYPE Sélectionne le format de sortie des données du fichier. TYPE est une chaîne d'un ou plusieurs caractère indicateur. suffixer avec 'z' permet d'afficher la représentation ascii à la fin de la ligne, à la façon d'un éditeur hexadécimal.

        a nom du caractère.
        c caractère ASCII
        d décimal signé
        f virgule flottante
        o octal
        u décimal non signé
        x hexadécimal

           Hormis a et c, vous pouvez spécifier le nombre d'octets à utiliser pour interpréter chaque nombre en suffixant l'indicateur avec un entier décimal. Alternativement vous pouvez spécifier la taille avec un de ces types:

  pour d, o, u et x:

                C type char
                S type short
                I type integer
                L type long

           pour f:

                F type float
                D type double
                L type Long double

-v, --output-duplicate Sort les lignes consécutives qui sont identiques. Par défaut, en cas de plusieurs lignes consécutives identique, od ne sort que la première ligne et place un astérisk sur la ligne suivante.
-w[N], --width[=N] Dump N octets en entrée par ligne en sortie. défaut 16. si N est omis, défaut est 32.

           Les options suivante sont des formats cours pour des combinaisons d'options :

        -a Equivalent à -t a
        -b Equivalent à -t o1
        -c Equivalent à -t c
        -d Equivalent à -t u2
        -f Equivalent à -t fF
        -i Equivalent à -t dI
        -l Equivalent à -t dL
        -o Equivalent à -t o2
        -s Equivalent à -t d2
        -x Equivalent à -t x2

Exemples

Affichage dans le style d'un héditeur hexa :
od -vA x -t x2z -N 512 /dev/sda
^
09 juin 2010

htmlpdflatexmanmd




paste

paste

Écrit sur la sortie standard des lignes consistant de lignes correspondante séquentiellement de chaque fichier donné, séparés par une tabulation

OPTIONS

-s, --serial affiche les lignes d'un fichier à la fois au lieu d'une ligne de chaque fichier.
-d DELIM-LIST, --delimiters=DELIM-LIST Utilise les caractères DELIM-LIST au lieu d'une tabulation, en alternant chaque caractère.

Exemples

cat num2
1
2
cat let3
a
b
c
paste num2 let3
1 a
2 b
c
paste -s num2 let3
1 2
a b c
^
07 juillet 2010

htmlpdflatexmanmd




patchchk

patchchk

Vérifie la validité de la portabilité des noms de fichier

   Pour chaque nom, pathchk affiche un message d'erreur si une de ces conditions est vrai:

- Un des répertoires existant dans le nom n'a pas la permission de recherche.
- la longueur du nom est plus large que le maximum supporté par le système.
- la longueur d'un composant du nom est plus long que le maximum du système de fichier.

   Un nom non-existant n'est pas une erreur.

OPTIONS

-p Au lieu d'effectuer une vérification basé sur le système de fichier courant, affiche un message d'erreur si une de ces condifition est vrai:

        - Le nom de fichier est vide
        - Le nom de fichier contient des caractères en dehors du jeu de caractère portable POSIX, qui inclue les lettres et chiffres ASCII, ., ,, _, - et /.
        - La longueur du nom de fichier ou un de ses composant excède la limite POSIX.

-P Affiche un message d'erreur si un nom de fichier est vide, ou s'il contient un composant qui commence avec '-'
--portability Affiche un message d'erreur si le nom n'est pas portable sur tous les hôtes POSIX. equivalent à -p -P
^
16 juillet 2010

htmlpdflatexmanmd




Permissions de fichiers

Permissions de fichiers

Description des permissions de fichiers

Structure des bits de mode de fichier

   Les bits de mode de fichier ont 2 parties, les bits de permission de fichier et les bits de mode spéciaux.

   Il y'a 3 types de permission que l'utilisateur peut avoir pour un fichier:

        1. permission de lire le fichier. pour les répertoires, permission de lister le contenu.
        2. permission d'écrire dans le fichier. pour les répertoire, permet de créer et supprimer des fichiers.
        3. Permission d'exécuter le fichier. pour les répertoires, permet d'accéder aux fichiers.

   Il y'a 3 catégories d'utilisateurs que peuvent avoir différentes permissions:

        1. le propriétaire du fichier
        2. les autres utilisateurs qui sont dans le groupe du fichier
        3. Tous les autres.

   Les fichiers ont un propriétaire et un groupe quand ils sont crées. Généralement le propriétaire est l'utilisateur courant et le groupe est le groupe du répertoire, mais celà dépend des systèmes, le système de fichier, et la manière dont il est créé.

  En plus des 3 catégories de permission, les bits de mode ont 3 composants spéciaux, qui affectent seulement les fichiers exécutables et les répertoires:

1. Définis l'ID de l'utilisateur effectif du processus, appelé le bit set-user-ID ou bit setuid. Pour les répertoires, donne aux fichiers crées le même propriétaire, et définis le set-user-ID pour les sous-répertoire crées.
2. Définis l'ID du groupe effectif du processus, appelé le bit set-group-ID ou bit setgid. Pour les répertoires, donne aux fichiers crées le même groupe, et définis le set-group-ID pour les sous-répertoire crées.
3. Empêche les utilisateurs non privilégiés de supprimer ou renommer un fichier dans un répertoire à moins qu'ils aient leur propre fichiers dans ce répertoire. appelé le restricted deletion flag. Pour les fichiers réguliers sur de vieux systèmes, sauver l'image du programme dans le périphérique swap pour qu'il se charge plus rapidement. Appelé le sticky bit.

   En plus des bits de mode de fichiers ci-dessus, il y'a des attributs de fichiers spécifiques aux systèmes de fichier. Par exemple les ACL, si un fichier est compressé, si un fichier peut être modifié, et si un fichier peut être dumpé. ex:

        ext2 Les attributs spécifiques à ce système de fichier se paramètre avec chattr
        FFS Les attributs spécifiques à ce système de fichier se paramètre avec chflags

Modes Symboliques

   les modes symboliques représentent les changements des bits de mode des fichiers. Le format des modes symboliques est:

  [ugoa...][+-=]PERMS...[,...]

        u Le propriétaire du fichier
        g Les utilisateur du groupe du fichier
        o tous les autres
        a tous les utilisateurs, identique à ugo
       
        + Ajouter les permissions
        - supprimer les permissions
        = définir les permissions
       
        r permission en lecture
        w permission en écriture
        x permet d'exécution.

Exemples

donne accès en lecture/écriture pour tous les utilisateurs:
a=rw
Supprime les permissions en écriture à tous les utilisateurs autre que le propriétaire:
go-w
supprimer tous les droits à tous le monde excepté le propriétaire:
go=
ou
og-rwx

Copier les permissions existantes

   Il est possible de baser les permissions d'un fichier sur des permissions existantes. Il faut utiliser u, g ou o. Par exemple le mode o+g copie les permissions du groupe aux autres utilisateurs.

Changer les bits de mode spéciaux

Pour définir le bits setuid, utiliser u pour la partie user et s dans la partie permissions
Pour définir le bits setgid, utiliser g pour la partie user et s dans la partie permissions
pour définir les bits setuid et setgid, omettre la partie user (ou utiliser a), et s dans la partie permissions
Pour définir le restricted deletion flag ou le sticky bit, omettre la partie user (ou utiliser a) et t dans la partie permissions

Exemples

définir le setuid:
u+s
supprimer le setuid et setgid:
a-s
définit le restricted deletion flag ou le sticky bit:
+t

Exécution conditionnelle

   utiliser 'X' au lieu de 'x' affecte le droit d'exécution/recherche si le fichier est un répertoire ou avait déjà les permissions d'exécution. Par ex: a+X donne à tous les utilisateurs le droit de recherche dans les répertoires, ou d'exécuter les fichiers si quelqu'un pouvait les exécuter avant.

Effectuer plusieurs changements

   Il y'a 2 manières d'effectuer des changement multiples.

La première manière est de spécifier plusieurs opérations. Par exemple, donner aux utilisateurs autre que le propriétaire la permission de lire et si c'est un répertoire ou si quelqu'un avait le droit de l'exécuter, de le faire également. et refuse l'écriture:
og+rX-w
La deuxième manière est de spécifier plus d'un mode symbolique simple. Par exemple, donner à tous le droit en lecture mais refuser l'écriture pour tous les utilisateurs hormis le propriétaire:
a+r,go-w
Définir explicitement toutes les permissions
u=rwx,g=rx,o=
Les 2 méthodes peuvent être combinées
a+r,g+x-W
Donner à tous les utilisateurs le droit en lecture, donner au groupe le droit d'exécution/recherche, mais pas en écriture
u+r,g+rx,o+r,g-w

Umask et protection

   Si la partie user d'un mode symbolique est omis, le défaut est a, excepté pour les permissions qui sont définies dans la variable système umask. La valeur de umask peut être définie en utilisant la commande umask. Sa valeur par défaut varie d'un système à l'autre.

  Omettre la partie user d'un mode symbolique n'est généralement pas très utile sauf avec '+', cela permet d'utiliser umask comme protection facilement personnalisable.

Par exemple, si umask a la valeur 2, qui supprime les permissions en écriture pour les utilisateurs qui ne sont pas dans le groupe du fichier, alors le mode
+w
ajoute la permission au fichier et son propriétaire et au groupe, mais pas aux autres utilisateurs
a+w
ignore umask, et donne le droit à tous les utilisateurs

Modes numériques

   Il est possible de spécfier le mode symbolique en octal. Ce nombre est toujours interprété en octal. Il n'est pas necessaire de rajouter des 0, comme en C. 0055 est le même que 55.

        Tous les autres utilisateurs
        1 Exécution/recherche
        2 Écriture
        4 Lecture
        Les utilisateurs dans le groupe du fichier
        10 Exécution/recherche
        20 Écriture
        40 Lecture
        Le propriétaire
        100 Exécution/recherche
        200 Écriture
        400 Lecture
        bits de mode spéciaux
        1000 Restricted deletion flag ou sticky bit
        2000 Set group ID
        4000 Set user ID

Répertoires avec Set-User-ID et Set-Group-ID

   Sur beaucoup de systèmes, si un répertoire a le setgid de mis, les fichiers nouvellement crées héritent du même groupe que le répertoire, et les sous-répertoire nouvellement crées héritent du setgid. Sur certains systèmes, le setuid a le même effet. Ce mécanisme permet aux utilisateurs de partager des fichiers facilement. Les commandes comme chmod et mkdir effacent ces bits généralement.

        ces commandes laissent le setuid et setgid des sous-répertoires:
        mkdir A B C
        chmod 755 A
        chmod 0755 B
        chmod u=rwx,go=rx C
        mkdir -m 755 D
        mkdir -m 0755 E
        mkdir -m u=rwx,go=rx F
        ces commandes essayent de définit setuid et setgid sur les sous-répertoires:
        mkdir G H
        chmod 6755 G
        chmod u=rwx,go=rx,a+s H
        mkdir -m 6755 I
        mkdir -m u=rwx,go=rx,a+s J
        cette commande essaye de supprimer setuid et setgid du répertoire D:
        chmod a-s D
^
07 juin 2010

htmlpdflatexmanmd




pr

pr

Pagination et multi-colonnes

   pr Écrit chaque fichier ou l'entrée standard sur la sortie standard, pagine et optionnellement sort en format multicolonnes et/ou regroupe tous les fichiers, imprime tout en parallèle, un par colonne.

  Par défaut, un en-tête à 5 lignes est imprimé à chaque page: 2 lignes blanches, une ligne avec la date, le nom du fichier, et le compteur de page, 2 lignes blanches. La longueur par défaut de PAGE_LENGTH est de 66 lignes. Le nombre par défaut de ligne de texte est donc de 56. La ligne de texte de l'en-tête prend la forme DATE STRING PAGE.

  Les colonnes ont une largeur égale, séparée par une chaîne optionnelle (un espace par défaut). Pour les sorties multi-colonnes, les lignes seront toujours tronquées à PAGE_WIDTH (défaut : 72). Pour les sorties simple colonne, aucune ligne n'est tronquée par défaut.

OPTIONS

+FIRST_PAGE[:LAST_PAGE, --pages=FIRST_PAGE[:LAST_PAGE] Commence à afficher avec FIRST_PAGE et stop avec LAST_PAGE.
-COLUMN, --columns=COLUMN Produit COLUMN colonnes en sortie.
-a, --across Affiche les lignes alterné sur les colonnes (type ligne1 ligne2 ligne3...)
-c, --show-control-chars Affiche les caractères de contrôle
-d, --double-space Double l'espace de sortie
-D FORMAT, --date-format=FORMAT Format l'en-tête en utilisant FORMAT, en utilisant la même convention que `date +FORMAT` (défaut : %Y-%m-%d %H :%M et si POSIXLY_CORRECT est spécifié : %b %e %H :%M %Y)
-e[IN-TABCHAR[IN-TABWIDTH]], --expand-tabs[=IN-TABCHAR[IN-TABWIDTH]] Étend les tabulations en espaces en entrée. IN-TABCHAR est le caractère de tabulation en entrée et IN-TABWIDTH et la largeur de la tabulation (par défaut 8)
-f, -F, --form-feed Utilise un saut de page au lieu de newlines pour séparer les pages de sortie. n'altère pas la longueur de page de 66 lignes.
-h HEADER, --header=HEADER Remplace le nom de fichier dans l'en-tête avec la chaine STRING
-i[OUT-TABCHAR[OUT-TABWIDTH]], --output-tabs[=OUT-TABCHAR[OUT-TABWIDTH]] Remplace les espaces avec des tabulations en sortie. OUT-TABCHAR est le caractère de tabulation, OUT-TABWIDTH est la largeur de la tabulation (défaut 8)
-J, --join-lines Fusionne les lignes de pleine longueur. Utilisé avec l'option -COLUMN, -a -COLUMN ou -m. Désactive l'option -w/-W. Aucun alignement de colonne n'est utilisé. Peut être utilisé avec --sep-string[=STRING]
-l PAGE_LENGTH, --length=PAGE_LENGTH Définit la longueur de page à PAGE_LENGTH (défaut 66 lignes) si inférieur à 10, l'en-tête et pied de page sont omis.
-m, --merge Fusionne et affiche tous les fichiers en parallèle, un dans chaque colonne. Si une ligne est trop large elle est tronquée, à moins que -J soit utilisé.
-n[NUMBER-SEPARATOR[DIGITS]], --number-lines[=NUMBER-SEPARATOR[DIGITS]] Numérote les lignes avec des nombre à DIGITS chiffres. NUMBER-SEPARATOR est le caractère entre le numéro de ligne et le texte.
-N LINE_NUMBER, --first-line-number=LINE_NUMBER Définis le numéro de la première ligne.
-o MARGIN, --indent=MARGIN Indente chaque ligne avec une marge de MARGIN espace.
-r, --no-file-warnings N'affiche pas de message d'erreur quand un fichier ne peut pas être ouvert.
-s[CHAR], --separator[=CHAR] Sépare les colonnes par un simple caractère (une tabulation par défaut sans -w et aucun caractère avec -w)
-SSTRING, --sep-string[=STRING] Utilise STRING pour séparer les colonnes en sortie. n'affecte pas -w/-W.
-t, --omit-header N'imprime pas l'en-tête usuel (et le pied de page), et ne remplit pas le bas des pages. Aucune structure de page n'est produite, la pagination pré-définie n'est pas changée. -t remplace -h
-T, --omit-pagination N'imprime pas l'en-tête (et le pied de page). Élimine toute forme de retour chariot dans le fichier d'entrée.
-v, --show-nonprinting Affiche les caractères non imprimables en notation octal
-w PAGE_WIDTH, --width=PAGE_WIDTH Définit la largeur des lignes pour les sorties multi-colonnes.
-W PAGE_WIDTH, --page_width=PAGE_WIDTH Définie la largeur des lignes. Valide avec ou sans l'option -COLUMN
^
12 juillet 2010

htmlpdflatexmanmd




printenv

printenv

Affiche les variables d'environnement

   printenv affiche les variables d'environnement. Si aucune variables n'est spécifiée, printenv affiche les valeurs de toutes les variables d'environnement.

^
05 juillet 2010

htmlpdflatexmanmd




printf

printf

Afficher du texte

   printf affiche une chaine en interprétant les directives '%' et '\' pour formater des arguments.

        - L'argument est réutilisé si necessaire: ex printf %s a b affiche ab
        - Les arguments manquant sont traites comme chaîne nul ou 0, selon s'il sagit d'un chaine ou d'un nombre.
        - un \c additionnel ne produit plus de sortie.
        - la sequence hexa \xHH a 2 chiffres maximum, alors que C peut avoir un nombre illimité de chiffres.
        - si un caractère est entouré de "'" ou '"' alors affiche sa valeur numérique. printf "%d" "'a' donne 97

   Un argument virgule flottante doit utiliser une virgule, mais est affiché en accord avec la variable d'environnement LC_NUMERIC.

  printf interprète \000 en octal et \xHH en hexa.

  printf interprète \u pour les caractères unicodes 16-bits, spécifié par quatres chiffrers hexa, et \U pour les caractères unicodes 32-bits, spécifié par 8 chiffres hexa.

  Pour s'assurer d'utiliser le programme printf et non la commande intégré dans bash, lancer printf par env.

^
21 juillet 2010

htmlpdflatexmanmd




ptx

ptx

Lit un fichier texte et produit essentiellement un index permuté, avec chaque mot clé dans son contexte

-G, --traditional désactive toutes les extensions GNU. Si non spécifié, on peut spécifier plusieurs fichiers ou aucun.

Sélection de jeu de caractères

-f, --ignore-case met les minuscules en majuscule pour le trie. ptx assume que le fichier d'entrée est en ISO 8859-1 (latin-1).

Sélection de mot et traitement d'entrée

-b FILE, --break-file=FILE Option alternative à -W décrivant quels caractères composent les mots. il introduit le nom d'un fichier qui contient une liste de caractères qui ne peuvent pas faire partie d'un mot.
-i FILE, --ignore-file=FILE Le fichier associé avec cette option contient une liste de mots qui ne seront jamais comme mot clé.
-o FILE, --only-file=FILE Le fichier associé avec cette option contient une liste de mots qui seront retenus pour la sortie.
-r, --references Sur chaque ligne d'entrée, la séquence principale de caractères non-blanc seront pris pour référence pour identifier cette ligne dans l'index permuté.
-S REGEXP --sentence-regexp=REGEXP Cette option sélectionne quelle expression régulière va décrire la fin d'une ligne ou la fin d'une phrase. En fait, cette expression n'est pas seulement la distinction entre la fin des lignes ou la fin des phrases, et les limites de la ligne d'entrée n'ont pas de signification spécial en dehors de cette options. si -G et -r ne sont pas spécifiés, ce REGEX est importé :

           [.?!][]\"')]*\\($\\|\t\\| \\)[ \t\n]* sinon (si -r est spécifié) regex est: \n

  Utiliser un REGEX vide désactive la reconnaissance de la fin des ligne ou des phrases.

-W REGEXP, --word-regexp=REGEXP Cette option décrit quelle expression va décrire chaque mot clé. par défaut, si -G n'est pas spécifié, un mot est une séquence de lettres; le REGEXP utilisé est \w+ sinon un mot est quelque chose qui se termine par un espace, une tabulation ou un newline, le REGEXP utilisé est [^ \t\n]+

Formattage de sortie

-g NUMBER, --gap-size=NUMBER Sélectionne l'écart minimum d'espace blanc entre les champs sur la ligne de sortie.
-w NUMBER, --width=NUMBER Sélectionne la largeur maximum de sortie de chaque ligne.
-A, --auto-reference Sélectionne les références automatique. chaque ligne en entrée aura une référence automatique composé du nom du fichier et la ligne, avec une ',' entre eux.
-R, --right-side-refs Dans le format de sortie par défaut, si cette option n'est pas spécifiée, les références produite par l'effet des options -r ou -A sont placées à droite des lignes sorties, après le contexte. avec cette options, les références sont placées au début de chaque ligne en sortie.
-F STRING, --flac-truncation=STRING Si la sortie est tronquée, reporte en utilisant STRING
-m STRING, --macro-name=STRING Sélectionne une autre STRING à utiliser au lieu de 'xx', en générant une sortie utilisable par nroff ou troff ou TeX
-o, --format=roff Sélectionne un format de sortie pour le traitement par nroff ou troff. Chaque ligne de sortie ressemblera à: .xx "TAIL" "BEFORE" "KEYWORD_AND_AFTER" "HEAD" "REF"
-T, --format=tex Choisit un format de sortie utilisable par TeX. chaque ligne de sortie ressemblera à: \xx TAILBEFOREKEYWORDAFTERHEADREF
^
12 juillet 2010

htmlpdflatexmanmd




pwd

pwd

Affiche le nom du répertoire courant

OPTIONS

-L, --logical Si le contenus de la variable d'environnement PWD fournit un nom absolue du répertoire courant, mais optionnement avec des liens symboliques, alors affiche ce contenus. Sinon, sort le défaut -P
-P, --physical Affiche de nom complet du répertoire
^
02 juillet 2010

htmlpdflatexmanmd




readlink

readlink

Affiche la référence d'un lien symbolique

   readlink peut fonctionner dans un des 2 modes supportés.

  mode readlink (mode par défaut) sort la valeur du lien symbolique.

  mode canonicalize sort le nom absolue du fichier donné.

OPTIONS

-f, --canonicalize utilise le mode canonicalize. si un composant du nom de fichier excepté si le dernier est manquant ou inexistant, quitte sans sortie.
-e, --canonicalize-existing utilise le mode canonicalize. Si un composant est manquant ou indisponible, readlink quitte sans sortie
-m, --canonicalize-missing Si un composant est manquant ou indisponible, quite sans sortie.
-n, --no-newline Ne sort pas de newline final.
-s, -q, --silent, --quiet n'affiche pas de message d'erreur
-v, --verbose reporte les messages d'erreur
^
30 juin 2010

htmlpdflatexmanmd




rm

rm

Supprime des fichiers, par défaut ne supprime pas les répertoires.

   Si -I est donnés et qu'il y'a plus de 3 fichiers, ou que -r est donné, rm demande à l'utilisateur avant de traiter l'opération entière. Une tentative de supprimer '.' ou '..' est toujours rejetée.

OPTIONS

-f, --force Ignore les fichiers non-existant.
-i Demande confirmation à l'utilisateur pour supprimer chaque fichier.
-I Demande Confirmation 1 fois pour traiter la commande entière.
--interactive [=WHEN] Spécifie quand demande confirmation. :

        never ne prompt jamais
        once demande une fois
        always demande pour chaque fichier

--one-file-system En supprimant une hiérarchie récursivement, ne supprime pas les répertoire qui ont un système de fichier différent.
--preserve-root Echoue lors d'une tentative de supprimer le répertoire root '/' avec -r. c'est le mode par défaut.
--no-preserve-root Permet de supprimer '/' avec -r
-r, -R, --recursive Supprime Les répertoires listés et leur contenu, récursivement.
-v, --verbose Affiche le nom de chaque fichier avant de le supprimer.

   Une question commune est comment supprimer un fichier commençant par '-'. Il faut utiliser '--', pour indiquer que la suite de la ligne de commande ne sont pas des options : rm -- -f ou encore rm ./-f
^
02 juillet 2010

htmlpdflatexmanmd




rmdir

rmdir

Supprimer les répertoires vides

OPTIONS

--ignore-fail-on-non-empty Ignore les échecs dûs à des répertoires non vides
-p, --parents Supprime le répertoire, puis essaye de supprimer chaque composant du répertoire. Par exemple : rmdir -p a/b/c est similaire à rmdir a/b/c a/b a.
-v, --verbose Donne un diagnostique pour chaque suppression réussie.
^
14 juillet 2010

htmlpdflatexmanmd




runcon

runcon

Lance une commande dans le contexte de sécurité SELinux spécifié

   Si aucune option n'est spécifiée, le premier argument est utilisé comme contexte complet. Sans options ni commande, affiche le contexte de sécurité courant.

OPTIONS

-c, --compute Calcule le contexte de transission du processus avant de le modifier
-u USER, --user=USER Définis l'utilisateur dans le contexte de sécurité cible.
-r ROLE, --role=ROLE Définis le role dans le contexte de sécurité cible
-t TYPE, --type=TYPE Définis le type dans le contexte de sécurité cible
-l RANGE, --range=RANGE Définit la plage dans le contexte de sécurité cible
^
18 octobre 2016

htmlpdflatexmanmd




sed

sed

Éditeur de flux, utilisé pour effectuer des transformations de texte basiques

OPTIONS

-n, --quiet, --silent Par défaut, sed affiche le motif à la fin de chaque cycle. Cette option désactive cet affichage.
-e SCRIPT, --expression=SCRIPT Ajoute les commandes dans le script au jeu de commandes à lancer durant le traitement de l'entrée
-f SCRIPTFILE, --file=SCRIPTFILE AJoute les commandes contenues dans le script au jeu de commande à lancer durant le traitement de l'entrée
-i[SUFFIX], --in-place[=SUFFIX] Spécifie que les fichiers sont à éditer sur place. Sed créé un fichier temporaire et envoie la sortie dans ce fichier au lieu de stdout. Cette option implique '-s'. Quand la fin du fichier est atteinte, il est renommé au fichier d'origine. L'extension, si fournie, est utilisé pour renommer l'ancien fichier.
-l N, --line-length=N Spécifie la longueur de ligne par défaut pour la commande 'l'. 0 signifie de ne jamais couper les lignes. Défaut: 70.
--posix Se conforme à POSIX. identique à définir POSIXLY_CORRECT.
-b, --binary Pour les OS faisant la distinction entre les fichiers binaire et fichiers textes, comme MS-DOS, Windows.
--follow-symlinks Seulement avec -i. Si le fichier spécifié est un lien symbolique, sed suit le lien et édite la cible.
-r, --regexp-extended Utilise les expressions régulières étendues au lieu des expressions régulières de base.
-s, --separate Par défaut, sed considère les fichiers spécifiés comme un seul long flux. Cette option permet à l'utilisateur de les considérer comme flux séparés. Les numéros de ligne sont relatifs au début de chaque fichier, '$' réfère à la dernière ligne de chaque fichier, et les fichiers invoqués depuis des commandes 'R' sont remis au début de chaque fichier
-u, --unbuffered Met en tampon l'entrée et la sortie aussi minimal que pratique. Particulièrement utile si l'entrée via depuis des commandes comme tail -f, et que vous souhaitez voir la sortie transformée le plus vite possible.
-z, --null-data, --zero-terminated Traite l'entrée comme jeu de ligne, chacune terminée par un ASCII NUL au lieu d'une nouvelle ligne.

Fonctionnement

   sed maintient 2 tampons: l'espace _pattern_ actif, et l'espace auxiliaire _hold_. Ils sont vide à l'initialisation. sed opères en effectuant le cycle suivant sur chaque ligne d'entrée: d'abord, sed lit une ligne depuis le flux d'entrée, supprime tout newline de fin, et la place dans l'espace pattern. Les commandes sont ensuite exécutées; chaque commande peut avoir une adresse associée: les adresses osnt un type de code de condition, et une commande est seulement exécutée si la condition est vérifiée avant d'exécuter la commande.

   Quand la fin du script est atteint, sauf si l'option -n est utilisé, le contenu de l'espace pattern est affiché dans le flux de sortie, en ajoutant un newline à la fin s'il avait été supprimé. Puis le cycle démarre pour la ligne suivante.

   Sauf pour les commandes spéciales (comme 'D'), l'espace pattern est supprimé entre 2 cycles. L'espace hold, conserve ses données entre les cycles (voir les commandes h, H, x, g, G pour se déplacer entre les tampons)

Expressions régulières

   Les adresses dans un script sed peut être une des formes suivantes:

NUMBER Spécifie un numéro de ligne qui va matcher seulement cette ligne dans l'entrée.
FIRST~ STEP Match chaque ligne par pas en commençant avec le ligne FIRST. Par exemple, pour sélectionner les lignes impaires: 1~2.
$ Matche la dernière ligne du dernier fichier d'entrée, ou la dernière ligne de chaque fichier quand -i ou -s sons spécifiés
/REGEXP/ Sélectionne les lignes qui matchent l'expression régulière. L'expresion vide (//) répète la dernière expression régulière qui a matché.
\%REGEXP% Matche l'expression régulière, mais permet d'utiliser un autre délimiteur que '/'
/REGEXP/I, \%REGEXP%I l'expression régulière matche en étant insensible à la casse.
/REGEXP/M, \%REGEXP%M matche l'expression régulière en mode multi-ligne. '^ matche également la chaîne vide aprèse un newline, '$' la chaîne vide avant un newline. '\`' et '\'' matchent toujours le début ou la fin du tampon. ',' ne matche pas un caractère newline en mode multi-ligne
0,/REGEXP/ Un numéro de ligne 0 peut être utilisé dans une spécification d'adresse pour que sed tente de matcher l'expression régulière dans la première ligne d'entrée également. En d'autres termes, 0,/REGEXP/ est similaire à 1,/REGEXP/, excepté que si ADDR2 matche la première ligne de l'entrée, 0,/REGEXP/ la considère à la fin de la plage.
ADDR1,+N Matche ADDR1 et les N lignes suivantes
ADDR1,~ N Matche ADDR1 et les lignes suivantes jusqu'à la prochaine ligne dont le numéro de ligne soit un multiple de N
! Ajouter ! à la fin d'une spécification d'adresse inverse le sense du match.

Syntaxe des expressions régulières

CHAR Un simple caractère ordinaire correspondant à lui-même
Correspond à une séquence de 0 ou plusieurs instances de correspondances pour l'expression réguière précédante, qui doit être un caractère ordinaire, un caractère spéciale, un regexp groupé, une une expression entre crochet.
\+ comme * mais matche un ou plusieurs
\? comme * mais matche exactement I séquences (I est un entier décimal entre 0 et 255)
\{I,J\} Matche entre I et J, inclusifs, séquences
\{I,\} Matche plus que ou égal à I séquences
\(REGEXP\) Groupe le REGEXP interne dans son ensemble
. Matche n'importe quel caractère, incluant newline
^ Matche la chaîne null au début de l'espace pattern
$ Idem à ^ mais réfère à la fin de l'espace pattern
[LIST], [^LIST] Matche tout caractère simple dans LIST. Par exemple, [aeiou] matche toutes les voyelles. ^ inverse le sense de la liste
REGEXP1\|REGEXP2 Matche soit REGEXP1 ou REGEXP2. Utilise les parenthèses pour utilise des expressions régulières alternative complexes.
REGEXP1REGEXP2 Matche la concaténation de REGEXP1 et REGEXP2.
\DIGIT Matche la n-ième sous-expression \(...\) dans l'expression régulière
\n Matche le caractère newline
\CHAR Matche CHAR où CHAR est '$', '*', '.', '[', '\', ou '^'.

Exemples

Matche abcdef
abcdef
matche 0 ou plusieurs a, suivi par un caractère b:
a*b
Matche b ou ab
a\?b
matche un ou plusieurs a, suivi par un ou plusiuers b
a\+b\+
Matchent tous les caractères dans une chaîne, incluant une chaîne vide
.* 
Matchent tous les caractères dans une chaîne, d'au moins un caractère
.\+
Matche un chaîne commençant avec 'main' suivi par une parenthèse ouvrante et fermante. n, ( et ) ne doivent pas être adjacents
^main.*(.*)
Matche une chaîne commençant avec #
^#
matche une chaîne se terminant avec un \
\\$
Matche une chaîne consisant d'un simple signe dollar
\$
Matche les lettres ASCII ou les chiffres
[a-zA-Z0-9]
(ici ‹TAB› est un simple caractère). Matche une chaîne d'un ou plusieurs caractères, aucun d'entre eux n'est un espace ou une tabulation. Généralement, celà signifie un mot
[^ ‹TAB›]\+
Matche une chaîne consistant de 2 sous-chaînes égales, séparées par un newline
^\(.*\)\n\1$
Matche 9 caractères suivis par un A
.\{9\}A$
Matche le début d'une chaîne qui contient 16 caractères, le dernier est un A
^.\{15\}A

commande usuelles

# Aucune adresse permise. Commence un commentaire, qui contient jusqu'au prochain newline.
q [EXIT-CODE] Quitte sed dans traiter plus de commandes ou entrée, et retourne le code donné
d Supprime l'espace pattern; démarrant immédiatement un nouveau cycle
p Affiche l'espace pattern sur stdout. généralement utilisé avec l'option -n
n Si auto-print est actif, affiche l'espace pattern, puis remplace l'espace pattern avec la ligne suivante.
{ COMMANDS } Un groupe de commandes peut être enfermé dans des accolades.

commande s

   La syntaxe de la commande s (s pour substitute) est 's/REGEXP/REPLACEMENT/FLAGS' Les caractères '/' peuvent être uniformément remplacés par un autre caractère. La commande s est probablement la plus importante de sed. sed tente de correspondre l'espace pattern avec REGEXP, et si le match réussit, remplace la portion de l'espace pattern qui matche avec REPLACEMENT.

   REPLACEMENT peut contenir \N (N étant un nombre de 1 à 9) références aux portion de matche entre \( et \) dans REGEXP. REPLACEMENT peut contenir '&' qui réfère au match comple. Les séquences suivantes peuvent être inculs:

        \L Active le remplacement en minuscule jusqu'à un \U ou \E
        \l Met le prochain caractère en minuscule
        \U Active le remplacement en majuscule jusqu'à un \L ou \E
        \u Met le prochain caractère en majuscule
        \E Stop la conversion démarrée par \L ou \U

Flags

g Applique le remplacement de tous les matches au REGEXP, pas simplement le premier
NUMBER Applique le remplacement seulement au NUMBER-ième matche
p Si la substitution est effective, affiche le nouvel espace pattern
w FILE-NAME Si la substitution est effective, écris le résultat dans le fichier nommé.
e Permet à un pipe d'entrée depuis une commande shell dans l'espace pattern. Si une substitution est effective, la commande trouvée dans l'espace pattern est exécutée et l'espace pattern est remplacée avec sa sortie.
I, i I match de manière insensible à la casse.
M, m M matche les expressions régulière en mode multi-ligne

Commandes moins usuelles

y/SOURCE-CHARS/DEST-CHARS/ Traduit tous caractères dans l'espace pattern qui matche un des SOURCE-CHARS avec le caractères correspondant DEST-CHARS
a\, TEXT Accèpte 2 adresses. Met en file les lignes de texte qui suivent cette commande (chacune sauf celles se terminant avec un '\', qui sont supprimés de la sortie) sur la sortie à la fin du cycle courant, ou quand la ligne suivante est lue.
i\, TEXT Affiche immédiatement les lignes de texte qui suivent cette commande (chacune sauf celles se terminant avec un \, qui sont supprimées de la sortie).
c\, TEXT Supprime les lignes matchant l'adresse ou la plage d'adresse, et sort les lignes de texte qui suivent cette commande à la place de la dernière ligne ( ou à la place de chaque ligne, si aucune adresse n'est spécifiée). Un nouveau cycle est démarré après cette commande vu que l'espace pattern sera supprimé.
= Affiche le numéro de ligne d'entrée avec un newline
l N Affiche l'espace pattern dans une forme non ambigüe: les caractères non-imprimables sont affiché dans une forme échappé style C. N définis la longueur de ligne. 0 ne coupe pas les lignes.
r FILENAME Accèpte 2 adresses. Met en file le contenu de FILENAME à lire et à insérer dans le flux de sortie à la fin du cycle courant, ou quand la prochaine ligne d'entrée est lue. Si FILENAME ne peut pas être lu, il est traité comme si c'était un fichier vide, sans erreur.
w FILENAME écrit l'espace pattern dans FILENAME.
D Si l'espace pattern ne contient pas de newline, démarre un nouveau cycle normal comme si la commande d avait été donnée. Sinon, supprime le texte dans l'espace pattern jusqu'au newline, et redémarre le cycle avec l'espace pattern résultant, sans lire un newline d'entrée
N Ajoute un newline à l'espace pattern, puis ajoute la ligne suivante de l'entrée dans l'espace pattern.
P Affiche la portio de l'espace pattern jusqu'au newline
h Remplace le contenu de l'espace hold avec le contenu de l'espace pattern
H Ajoute un newline au contenu de l'espace hold, puis y ajoute le contenu de l'espace pattern.
g Remplace le contenu de l'espace pattern avec le contenu de l'espace hold
G Ajoute un newline au contenu de l'espace pattern, puis y ajoute le contenu de l'espace hold.
x Échange le contenu des espace pattern et hold.

Commande avancées

   Dans la plupart des cas, il est préférrable d'utiliser des commandes comme awk ou perl au lieu de ces commandes

: LABEL Aucune adresse permise. Spécifie l'emplacement d'un LABEL pour les commandes de branchement.
b LABEL Branche inconditionneles à LABEL.
t LABEL Branche à LABEL seulement s'il a été substitué depuis que la dernière ligne d'entrée a été lue ou qu'un branchement conditionnel a été fait.

Commandes spécifiques à GNU sed

e [COMMAND] Permet de pipe une entrée depuis une commande shell dans l'espace pattern. Sans paramètres, cette commande exécute la commande trouvée dans l'espace pattern et remplace l'espace pattern avec la sortie; et supprime tout newline de fin. Avec un paramètre, cette commande interprète comme commande et envoie sa sortie sur le flux de sortie.
F Affiche le nom du fichier du fichier d'entrée
L N Remplis et joint les lignes dans l'espace pattern pour produire des lignes en sortie de (au plus) N caractères, comme fmt. Si N est omis, le défaut tel que spécifié sur la ligne de commande est utilisé.
Q [EXIT-CODE] n'accepte qu'une seule adresse. fonctionne comme 'q'
R FILENAME Met en file une ligne de FILENAME et l'insert dans le flux de sortie à la fin du cycle courant, ou quand la prochaine ligne est lue. Si FILENAME ne peut pas être lu, ou si la fin est atteind, aucune ligne n'est ajoutée.
T LABEL Brachement sur LABEL uniquement si la substitution n'a pas réussit.
v VERSION Ne fait rien, mais échoue si sed n'a pas les extensions GNU.
W FILENAME Écrit dans le fichier la portion de l'espace pattern jusqu'à un newline.
z Vide le contenu de l'espace pattern. Générallement identique 's/.*//', mais est plus efficate.

Extensions GNU pour les échappements dans les expressions régulières

\a alert
\f form feed
\n nouvelle ligne
\r retour charriot
\t tabulation horizontale
\v Tabulation verticale
\cX Matche CONTROL-X, ou X est un caractère.
\dXXX Caractère ASCII où XXX est la valeur décimale
\oXXX Caractère ASCII où XXX est la valeur octale
\xXXX Caractère ASCII où XXX est la valeur héxadécimale
\b caractère \
\w Matche tout caractère 'word' (lettre, chiffre ou _)
\W Matche tout caractère non word
\b Matche une fin de mot, qui matche si le caractère à gauche est un caractère word, et le caractère à droite est un caractère non-word
\B Matche tout sauf une fin de mot.
\` Matche seulement au début de l'espace pattern. Différent de ^ en mode multi-ligne
\' Matche seulement la fin de l'espace pattern. Différent de $ en mode multi-ligne
^
15 juillet 2010

htmlpdflatexmanmd




seq

seq

Affiche une séquence numérique sur stdout

   seq affiche les nombres du premier au dernier, par incrément. Si l'incrément n'est pas spécifié, le défaut est 1. Si un seul argument est spécifié, il commence à 1, par incrément de 1, jusqu'à la valeur spécifiée.

OPTIONS

-f FORMAT, --format=FORMAT Affiche tous les nombres en utilisant le format spécifié. Il doit contenir des conversion style printf : %a, %e, %f, %g, %A, %E, %F, %G. Le % peut être suivie par des flags parmis : '-+=0' et une largeur optionnelle, et enfin une précision consistant d'un '.' suivi optionnellement par une valeur. le format par défaut est %.Pf
-s STRING, --separator=STRING Sépare les nombres par la chaîne spécifiée. newline par défaut. La sortie se termine toujours par un newline.
-w, --equal-width Affiche tous les nombres avec la même largeur

Exemples

Affiner la sortie avec -f:
seq -f '(%9.2E)' -9e5 1.1e6 1.3e6
Afficher la sortie en hexad:
printf '%x\n' `seq 1048575 1024 1050623`
pour les très longues liste de nombre, utiliser xargs pour éviter les limitations système sur la longueur de la liste des arguments:
seq 1000000 | xargs printf '%x\n' | tail -n 3
^
07 juin 2010

htmlpdflatexmanmd




sha1sum

sha1sum, sha224sum, sha256sum, sha384sum, sha512sum

Calcul un checksum pour chaque fichier spécifié

   sha1sum calcul un checksum 160, 224, 256, 384 et 512-bits respectivement pour chaque fichier spécifié. les options sont les même que md5sum.

OPTIONS

-b, --binary Traite chaque fichier en binaire, en le lisant en mode binaire, préfixe le nom du fichier par '*'. Principalement utile sur les systèmes MS-DOS.
-c, --check Lit les informations de checksum et de nom de fichier dans le fichier et report si le checksum correspond avec le fichier nommé. Le format du fichier d'entrée est généralement le format de sortie d'un md5sum précédent.
--quiet Cette option est utile seulement quand on vérifie les checksums. Ne génère pas de 'OK' pour chaque message vérifié avec succès.
--status Cette option est utile seulement quand on vérifie les checksums. Ne génère pas de diagnostic et ne sort pas d'alerte en cas d'erreur.
-t, --text Traite chaque fichier en entrée comme texte. Utile pour les systèmes de type MS-DOS.
-w, --warn En vérifiant les checksums, alerte sur les ligne de checksums MD5 mal formatés.
^
30 juin 2010

htmlpdflatexmanmd




shred

shred

Écrase des périphériques ou des fichiers, pour éviter la possibilité de récupérer des données.

   Ordinairement, quand on supprime un fichier, les données ne sont pas supprimées, seul l'index est supprimé, et l'espace est déclaré disponible.

OPTIONS

-f, --force modifie les permissions de fichier si nécessaire pour pouvoir écraser.
-NUMBER, -n NUMBER, --iterations=NUMBER par défaut shred utilise 3 passes. après 25 passes, tous les motifs internes seront utilisés au moins une fois.
--random-source=FILE Utilise FILE comme source de données aléatoire
-s BYTES, --size=BYTES efface les premier BYTES octets du fichier. efface le fichier entier par défaut. La taille peut être spécifié avec un multiplicateur
-u, --remove après avoir écrasé un fichier, le tronque si possible puis le supprime. Si le fichier a de multiples liens, seul les liens nommés seront supprimés.
-v, --verbose affiche sur l'erreur standard tous les status du processus.
-x, --exact Par défaut, shred arrondis la taille d'un fichier régulier jusqu'au prochain multiple de taille de block du système de fichier pour écraser complètement le dernier block. Utiliser --exact annule ce mode.
-z, --zero Normalement, la dernière passe est faite de données aléatoires. çà peut être ambigue (peut ressembler à un fichier crypté), cette options permet de remplir le fichier de 0 pour la dernière passe.

Exemples

Effacer toute trace d'un fichier système crée sur une disquette. Cette commande prend environ 20 minutes pour effacer 1.44MB
shred --verbose /dev/fd0
similairement, effacer toutes les données sur une partition d'un disque dur
shred --verbose /dev/sda5
^
21 juillet 2010

htmlpdflatexmanmd




shuf

shuf

Permuter aléatoirement les lignes d'entrée

   shuf a 3 modes d'opération qui affecte où il obtient ses lignes en entrée. Par défaut il lit sur l'entrée standard.

OPTIONS

-e, --echo Traite chaque opérande de la ligne de commande comme ligne d'entrée.
-i LO-HI, --input-range=LO-HI Agit comme si l'entrée venait d'un fichier contenant la plage d'entiers décimales non-signés, un par ligne.
LINES, --head-count=COUNT Sort COUNT lignes. par défaut toutes les lignes sont sorties.
-o OUTPUT-FILE, --output=OUTPUT-FILE Écrit la sortie dans le fichier spécifié.
--random-source=FILE Utilise le fichier spécifié comme source de données aléatoire.
-z, --zero-terminated Délimite les items avec un octet zéro au lieu d'un newline.
^
15 juillet 2010

htmlpdflatexmanmd




sleep

sleep

Effectue un pause

   sleep effectue une pause pendant un temps spécifié. La valeur peut être suffixé par:

s secondes
m minutes
h heures
d jours

^
21 juillet 2010

htmlpdflatexmanmd




sort

sort

Trie, fusionne ou compare toutes les lignes des fichiers spécifiés ou l'entrée standard

   Une paire de lignes est comparé comme suit: sort compare chaque paire de champs, dans l'ordre spécifié sur la ligne de commande, en accord avec les options d'ordre associés, jusqu'à ce qu'une différence soit trouvée ou qu'il ne reste plus aucun champ. Si aucun champ clé n'est spécifié sort utilise une ligne entière comme clé par défaut. Finalement, sort compare les lignes entières comme si aucune option d'ordre autre que --reverse n'était spécifié. L'option stable désactive la dernière comparaison, tout comme l'option --unique.

OPTIONS

-c, --check, --check=diagnose-first Vérifie si le fichier donné est déjà trié. Si ce n'est pas le cas, affiche un la première ligne qui n'est pas dans l'ordre.
-C, --check=quiet, --check=silent Quitte avec succès si le fichier donné est déjà trié, avec un status de 1 le cas contraire. Identique à -c, mais n'affiche rien.
-m, --merge fusionne les fichiers en les triant ensemble. chaque fichier d'entrée doit déjà être triés individuellement.
-b, --ignore-leading-blanks Ignore les blancs pendant la recherche des clés triés dans chaque ligne.
-d, --dictionnary-order Trie de type annuaire téléphonique: ignore tous les caractères excepté les lettres, chiffres et les blanc.
-f, --ignore-case Ignore la casse lors du trie.
-g, --general-numeric-sort,--sort=general-numeric Trie numérique, converti un préfixe de chaque ligne en nombre virgule flottante double précision.
-i, --ignore-nonprinting Ignore les caractères non imprimables
-M, --month-sort, --sort=month Une chaîne initiale, consistant d'une quantité de blanc, suivi par une abréviation de mois, comparé dans l'ordre JANFEB...DEC
-n, --numeric-sort, --sort=numeric Trie numérique. Les nombres commencent chaque ligne et consistent de blanc options, un '-' optionnel et 0 ou plusieurs chiffres, qui peuvent être séparés par des séparateurs de millier, et optionnellement suivi par une partie décimale. Un nombre vide est traité comme '0'. La locale 'LC_NUMERIC' spécifie le caractère décimal et le séparateur de milliers. par défaut, un blanc est un espace ou une tabulation, mais LC_CTYPE peut changer çà.
-V, --version-sort Trie par strverscmp. Comparaison normal de chaîne excepté que les nombres décimaux sont triés par valeur numérique.
-r, --reverse Renverse le résultat de la comparaison.
-R, --random-sort, --sort=random Sort de manière aléatoire.
--compress-program=PROG Compresse les fichiers temporaires avec le programme spécifié. sans argument, il doit compresser l'entrée standard sur la sortie standard, et si -d est donné, il doit décompresser l'entrée standard sur la sortie standard.
--files0-from=FILE Désactive le traitement des fichiers nommés sur la ligne de commande, et traite ceux nommés dans FILE. chaque fichier est séparé par un ASCII NUL. si FILE vaut - , lit l'entrée standard.
-k POS1[,POS2], --key=POS1[,POS2] Spécifie le champ de trie qui consiste de la partie de la ligne entre POS1 et POS2 ou la fin de la ligne si POS2 n'est pas spécifié. Par exemple pour trier le 2eme champs, utiliser --key=2,2
--batch-size=NMERGE mélange au moins NMERGE entrées en une seule.
-o OUTPUT-FILE, --output=OUTPUT-FILE Écrit la sortie dans le fichier spécifié.
--random-source=FILE Utilise FILE comme source de données aléatoires.
-s, --stable désactive la comparaison de dernier recours.
-S SIZE, --buffer-size=SIZE Utilise un buffer de trie de la taille spécifiée. Par défaut SIZE est en unité de 1024 octets. Ajouter un '%' interprète la taille en pourcentage de la mémoire physique. Ajouter un 'K' pour Kilo-octets, M, G etc... b pour octets
-t SEPARATOR, --field-separator=SEPARATOR Spécifie le caractère de séparation des champs. Par défaut c'est un espace ou une tabulation, mais 'LC_CTYPE' peut changer çà.
-T TEMPDIR, --temporary-directory=TEMPDIR utilise TEMPDIR comme répertoire temporaire.
-u, --unique Normalement, sort seulement le premier d'une séquence de lignes qu'il trouve égal.
-z, --zero-terminated Délimite les items avec un octet zéro au lieu d'un newline

Exemples

trie numérique descendant
sort -n -r
trie alphabétique, en omettant les 2 premiers champs et le blanc au début du troisième champ.
sort -k 3b
trie numérique sur le second champ et tente de trier alphabétiquement le 3ème et le 4ème caractère du 5ème champ.
sort -t : -k 2,2n -k 5.3,5.4
trie le fichier password sur le 5ème champ et ignore les blancs. Trie les lignes avec des valeurs égales dans le 5ème champ sur le user ID dans le 3ème champ. les champs sont séparés par un ':'
sort -t : -k 5b,5 -k 3,3n /etc/passwd
sort -t : -n -k 5b,5 -k 3,3 /etc/passwd
sort -t : -b -k 5,5 -k 3,3n /etc/passwd

Codes de sortie

0 si pas d'erreur
1 si invoqué avec -c ou -C est que l'entrée n'a pas été triée
2 si une erreur s'est produite.
^
07 juin 2010

htmlpdflatexmanmd




split

split

Crée des fichiers contenant des sections consécutives de l'entrée

   Par défaut, split place 1000 lignes de l'entrées, dans chaque fichier de sortie. Le nom des fichiers de sortie consiste en un PREFIX ('x' par défaut) suivi par un groupe de caractères ('aa', 'ab', ... par défaut).

OPTIONS

-l LINES, --lines=LINES Place LINES lignes dans chaque fichier
-b SIZE, --bytes=SIZE Place SIZE octets dans chaque fichier de sortie. SIZE accèpte un suffixe multiplicateur.
-C SIZE, --line-bytes=SIZE Place dans chaque fichier autant de lignes complètes que possible sans excéder SIZE octets.
-a LENGTH --suffix-length=LENGTH Spécifie la longueur des suffixes. (défaut : 2)
-d, --numeric-suffixes Utilise des chiffres dans les suffixes au lieu de lettres.
--verbose Écrit un diagnostique juste après que chaque fichier de sortie soit ouvert.
^
04 juillet 2010

htmlpdflatexmanmd




stat

stat

Affiche des informations sur les fichiers spécifiés

   Sans options, stat reporte toutes les informations sur le fichier donné. Il peut aussi être utilisé pour afficher des informations sur le système de fichier où se trouve le fichier. Si les fichiers sont des liens, stat peut aussi donner des informations sur les fichiers pointés.

OPTIONS

-L, --dereference Agit sur la référence des liens et non sur les lien eux-même.
-f, --file-system affiche des informations sur le système de fichier où se trouve le fichier au lieu des informations sur le fichier.
-c, --format=FORMAT utilise FORMAT au lieu du format par défaut. FORMAT est automatique terminé par un newline. ex stat --format=%d :%i affiche 2050:2
--printf=FORMAT idem, mais interprète '\' et ne rajoute pas de newline à la fin (ou \n)
-t, --terse affiche des informations brut pour être utilisé par d'autres programmes.

Directives de FORMAT

%a droits d'accès en octal
%A droits d'accès suffixé
%b nombre de block alloué
%B la taille en octet de chque block reporté par %b
%d Device number en décimal
%D device number en hexa
%f raw mode en hexa
%F type de fichier
%g GID
%G groupname
%h nombre de liens durs
%i numéro d'inode
%n nom du fichier
%N nom entre "'" avec déréférence si lien symbolique
%o taille de block I/O
%s taille total en ocets
%t Major device type en hexa
%T Minor device type en hexa
%u UID
%U username
%x atime
%X atime en sec
%y mtime
%Y mtime en sec
%z ctime
%Z ctime en sec

   En listant les informations sur le système de fichier FORMAT peut prendre:

%a block disponible aux non-root
%b blocks de données total dans le système de fichier.
%c noeud de fichier total dans le système de fichier.
%d noeud de fichier libres dans le système de fichier
%f block disponibles dans le système de fichier
%i ID du système de fichier en hexa
%l longueur maximum dans les noms de fichiers.
%n noms de fichier.
%s taille de block (pour la rapidité des transferts)
%S tailles de block fondamental (pour le compteur de block)
%t type en hexa
%T type
^
12 juillet 2010

htmlpdflatexmanmd




stty

stty

Affiche ou change les caractéristiques du terminal

   Sans argument, affiche le baud rate, le line discipline number, et les paramètres de ligne. Par défaut, le mode de lecture et les paramètres sont effectués sur la ligne tty connecté sur l'entrée standard, mais peut être modifié avec --file

OPTIONS

-a, --all Affiche tous les paramètres courant sous forme compréhensible. Cette option ne peut pas être utilisée avec un paramètre de ligne
-F device, --file=device Définit la ligne ouverte par le nom de fichier au lieu de la ligne connecté sur l'entrée standard
-g, --save Affiche tous les paramètres courant sous une forme qui peut être utilisé en arguments à une autre commande stty pour restaurer les paramètres courant

   Beaucoup de paramètres peuvent être désactivés en le précédent par un "-". Certains paramètres ne sont pas disponibles sur tous les systèmes POSIX, vu qu'ils utilisent des extensions.

Paramètres de contrôle

parenb génère un bit de parité en sortie et attend un bit de parité en entrée.
parodd définit un parité impaire ( même si désactivé)
cs5, cs6, cs7, cs8 Définis la taille de caractère à 5, 6, 7 ou 8 bits
hup, hupcl envoie un signal hangup quand le dernier processus ferme le tty.
cstopb Utilise 2 bits de stop par caractères (un seul si désactivé)
cread autorise de recevoire en entrée.
clocal désactive les signaux de controle de modem.
crtscts Autorise le contrôle de flux RTS/CTS . Non-POSIX

Paramètres d'entrée

   Ces paramètres contrôlent les opérations sur les données reçues depuis le terminal

ignbrk Ignore les caractères break.
brkint Les breaks génère un signal d'interruption.
ignpar Ignore les caractères avec des erreurs de parité
parmrk marque les erreurs de parité (avec une sequence de caractère 255-0)
inpck active le contrôle de parité en entrée.
istrip efface le bit de poid fort des caractères en entrée.
inlcr traduit les newline en retour charriot
igncr ignore les retour charriot
icrnl traduit les retour charriot en newline
iutf8 Assume que les caractères en entrées sont codés en UTF8
ixoff, ixon active le contrôle de flux XON/XOFF (CTRL-S, CRTL-Q)
tandem Active l'envoie du caractère stop quand le buffer d'entrée est plein et le caractère start quand il s'est vidé.
iuclc Traduit les caractères majuscule en minuscule. Non-POSIX
ixany Permet à un caractère de redémarrer la sortie (seulement le caractère start si désactive) Non-POSIX
imaxbel Active le beeping et ne vide pas le tampon d'entrée si un caractère arrive quand le buffer d'entrée est plein. Non-POSIX

Paramètres de sortie

opost post traitement de la sortie
olcuc Traduit les caractère minuscule en majuscule. Non-POSIX
ocrnl Traduit les newlien en retour charriot + newline. Non-POSIX
onocr N'affiche par de retour charriot dans la première colonne. Non-POSIX
onlret Newline effectue un retour charriot. Non-POSIX
ofill Utilise les caractères de remplissage au lieu de timer les délays.
ofdel Utilise les caractères ASCII DEL pour remplir au lieu des caractères ADCII NUL
nl1, nl0 style de délai newline. Non-POSIX
cr3, cr2, cr1, cr0 Retour style de délai charriot Non-POSIX
tab3, tab2, tab1, tab0 style de délai tabulation horizontal. Non-POSIX
bs1, bs0 style de déali backspace. Non-POSIX
vt1, vt0 Style de délai tabulation vertical. Non-POSIX
ff1, ff0 Form feed delay style. Non-POSIX

Paramètres locaux

isig Autorise les caractères spéciaux 'interrupt', 'quit' et 'suspend'.
icanon autorise les caractères 'erase', 'kill', 'werase' et 'print'
iexten Autorise les caractères spéciaux non-POSIX
echo répète les caractères d'entrée
echoe
crterase Répète les caractères 'erase' comme backspace-space-backspace.
echok répète un newline après un caractère 'kill'
echonl répète un newline même si ne répète pas d'autres caractères
noflsh désactive le flushing après les caractères spéciaux 'interrupt' et 'quit'
xcase autorise l'entrée et la sorite des caractères majuscules en précédant leur équivalent minuscule avec \, quand icanon est défini. Non-POSIX
tostop stop les tâches de fond qui essayend d'écrire dans le terminal. Non-POSIX
echoprt prterase Répète les caractères effacés en arrière, entre \ et/. Non-POSIX
echoctl
ctlecho Répète les caractères de contrôle en notation (^C) au lieu de litéral. Non-POSIX
echoke
crtkill Répète le caractère spécial 'kill' en effaçant chaque caractère sur la ligne comme indiqué par echoprt et echoe, au lieu de par echoctl et echok. Non-POSIX

Paramètres de combinaison

evenp
parity Identique à parenb -parodd cs7. si inversé, identique à -parenb cs8
oddp identique à parenb parodd cs7. si inversé, identique à -parenb cs8
nl identique à -icrnl -onlcr. si inversé, identique à icrnl -inlcr onlcr -ocrnl -onlret
ek reset les caractères spéciaux 'erase' et 'kill' à leur valeur par défaut.
sane identique à cread -ignbrk brkint -inlcr -igncr icrnl -ixoff -iuclc -ixany imaxbel opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke et définit les caractères spéciaux à leur valeur par défaut.
cooked identique à brkint ignpar istrip icrnl ixon opost isig icanon, et définis les caractères eos et eol à leur valeurs par défaut si elles sont les memes que les caractères min et time. inversé, est indentique à raw
raw identique à -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany -imaxbel -opost -isig -icanon -xcase min 1 time 0. si inversé, identique à cooked.
cbreak identique à -icanon. si inversé, identique à icanon
pass8 identique à -parenb -istrip cs8. Si inversé, identique à parenb istrip cs7
litout identique à -parenb -istrip -opost cs8. Si inversé, identique à parenb istrip opost cs7
decctlq identique à -ixany. Non-POSIX
tabs identique à tab0. Non-POSIX si inversé, identique à tab3
lcase
LCASE identique à xcase iuclc olcuc. Non-POSIX.
crt identique à echoe echoctl echoke
dec identique à echoe echoctl echoke -ixany intr ^C erase ^ ? kill C-u

Caractères spéciaux

   Les valeurs par défaut des caractères spéciaux varient d'un système à un autre. ils sont défini avec la syntaxe nom valeur.

`intr' Envoie un signal d'interruption
`quit' Envoie un signal quit
`erase' Efface le dernier caractère tapé
`kill' Efface la ligne courante
`eof' Envoie un 'end of file'
`eol' End the line.
`eol2' Caractère alternatife pour end the line. Non-POSIX.
`swtch' Switch to a different shell layer. Non-POSIX.
`start' Redémarre la sortie après l'avoir stoppé
`stop' Stop la sortie
`susp' Envoie un signal stop terminal
`dsusp' Envoie un terminal stop signal après avoir vidé l'entrée. Non-POSIX.
`rprnt' Redéssine la ligne Non-POSIX.
`werase' Efface le dernier mot tapé Non-POSIX.
`lnext' Entre le prochain caractère tapé littérallement, même si c'est un caractère spécial Non-POSIX.

Paramètres spéciaux

min N Définit le nombre minimum de caractèresqui vont satisfaire une lecture jusqu'au moment ou la valeur expire quand -icanon est définit.
time N défini le nombre de dixièmes de secondes avant que la lecture se termine si le nombre de caractère minimum n'a pas été lus quand -icanon est définit.
ispeed N Définis la vitesse d'entrée
ospeed N Définis la vitesse de sortie
rows N Dit au pilote tty du kernel que le terminal a N lignes
cols N
columns N Dit au pilote tty du kernel que le terminal a N colonnes. Non-POSIX
size affiche le nombre de lignes et de colonne que le kernel pense que le terminal a. Non-POSIX
line N Use line discipline N. Non-POSIX
speed Affiche la vitesse du terminal

   N Définit la vitesse de l'entrée et la sortie. N peut être : 0 50 75 110 134 134.5 150 200 300 600 1200 1800 2400 4800 9600 19200 38400 `exta' `extb'. `exta' est identique à 19200 ; `extb' est identique à 38400. Certains systèmes supportent les vitesses élevées : 57600, 115200, 230400, 460800, 500000, 576000, 921600, 1000000, 1152000, 1500000, 2000000, 2500000, 3000000, 3500000, ou 4000000.
^
15 juillet 2010

htmlpdflatexmanmd




su

su

Changer temporairement d'utilisateur

   su autorise un utilisateur à devenir temporairement un autre utilisateur. Il lance une commande (souvent un shell interactif) avec le real et l'effective user ID, group ID et les groupes supplémentaires d'un utilisateur donné. Si aucun utilisateur n'est donné, l'utilisateur par défaut est root. Par défaut su ne change pas le répertoire courant, mais il définit les variables HOME et SHELL, et si l'utilisateur n'est pas root, définis USER et LOGNAME. Par défaut, le shell n'est pas un login shell.

OPTIONS

-c COMMAND, --command=COMMAND passe la commande, une simple ligne de commande à lancer, au shell avec l'option -c au lieu de démarrer un shell interactif.
-f, --fast passe l'option -f au shell. N'a de sens que si le shell est csh ou tcsh, qui empêche la lecture de .cshrc au démarrage.
-, -l, --login transforme le shell en login shell. Ce qui supprime les variables d'environnement sauf TERM, HOME, SHELL, USER et LOGNAME et définis PATH à une valeur par défaut.
-m, -p, --preserve-environment Ne change pas les variables d'environnement HOME, USER, LOGNAME ou SHELL
-s SHELL, --shell=SHELL Permet de lancer le SHELL spécifié.
^
07 juin 2010

htmlpdflatexmanmd




sum

sum

Calcul un checksum 16-bits pour chaque fichier donné. Affiche le checksum suivi par le nombre de blocks dans le fichier

OPTIONS

-r Utilise l'algorithme par défaut (compatible BSD) si -s est omis, n'a aucun effet.
-s, --sysv Calcul le checksum en utilisant un algorithme compatible system V.
^
04 juillet 2010

htmlpdflatexmanmd




sync

sync

Écrit les données en buffer sur le disque.

   Celà peut inclure les superblock modifiés, les inodes modifiés, les lecture/écriture retardées, ... sync effectue un simple appel système sync

^
05 juin 2010

htmlpdflatexmanmd




tac

tac

Copie chaque fichier ou l'entrée standard sur la sortie standard en renversant le contenus, les lignes par défaut.

   Les records sont séparés par des instances d'une chaîne (newline par défaut). Par défaut ce séparateur est attaché à la fin du record qui suit dans le fichier.

OPTIONS

-b, —before Le séparateur est attaché au début du record précédant dans le fichier
-r, —regex Traite la chaine séparateur comme expression régulière.
-s SEPARATOR, —separator=SEPARATOR Utilise SEPARATOR au lieu de newline
^
07 juin 2010

htmlpdflatexmanmd




tail

tail

Affiche la dernière partie de chaque fichier - 10 lignes par défaut

   Si plusieurs fichiers sont spécifiés, head affiche un en-tête d'un ligne affichant le nom du fichier sous la forme:

  ==› FILE NAME ‹==

OPTIONS

-c N, --bytes=N Affiche les N derniers octets au lieu de lignes. Si N commence avec un '+', affiche tout sauf les premières N octets de chaque fichier. N accepte un suffixe multiplicateur.
-f, --follow[=HOW] Boucle en continue la lecture des fichiers et affiche les caractères ajoutés. Il y'a 2 manières de spécifier comment vous voulez tracker des fichiers avec cette option, mais la différence est visible seulement si ces fichiers sont renommés ou supprimés :

        descriptor Continue de tracker la fin d'un fichiers même après qu'il soit 'unlinked', ne détecte pas si un fichier a été supprimé. C'est le mode par défaut.
        name Le fichier est réouvert périodiquement pour voir s'il a été supprimé ou recréer par d'autres programmes (utile pour les log gérés par logrotate). Si un fichier a été supprimé, il affiche un message.

OPTIONS

-F Correspond à --follow=name --retry
--retry Cette option est utile principalement avec l'option --follow=name. il réessaye d'ouvrir un fichier s'il a été supprimé.
--sleep-interval=NUMBER Change la durée d'attente entre les itérations,en secondes. A chaque itération, chaque fichier est vérifié pour voir si sa taille à changé.
--pid=PID Avec -f, permet de spécifier le PID
--max-unchanged-stats=N Si un fichier a été N ( défaut 5) itérations consécutives et que le fichier n'a pas changé, alors il 'open/fstat' le fichier pour déterminer si ce nom de fichier est encore associé avec la même paire device/inode-number.
N, --lines=N Sort les dernières N lignes. Identique à l'options -c
-q, --quiet, --silent N'affiche pas les en-têtes
-v, --verbose affiche toujours les en-têtes
^
07 juillet 2010

htmlpdflatexmanmd




tee

tee

Copie stdin sur stdout et dans des fichiers

   tee copie l'entrée standard sur la sortie standard et également dans les fichiers donnés. Si un fichier n'existe pas, il est créé. Si un fichier existe déjà, les données qu'il contient sont écrasés sauf si -a est spécifié. Un argument de fichier - envois une autre copie de stdin sur stdout.

OPTIONS

-a, --append Ajoute les données à la fin des fichiers donnés au lieu d'écraser leur contenu
-i, --ignore-interrupts ignore les signaux d'interruption

Exemples

télécharger un iso, et calculer son checksum e, le sauvegardant dans un fichier
wget -O - http://example.com/dvd.iso | tee ›(sha1sum › dvd.sha1) › dvd.iso
ou
wget -O - http://example.com/dvd.iso | tee dvd.iso | sha1sum › dvd.sha1
la même commande mais étend le calcul pour les checksum md5 et sha1 en parallèle
wget -O - http://example.com/dvd.iso | tee ›(sha1sum › dvd.sha1) ›(md5sum › dvd.md5) › dvd.iso
créer une copie compréssée du contenu d'un pipe et affichage avec un outil graphique sans tee
du -ak | gzip -9 › /tmp/du.gz ; gzip -d /tmp/du.gz | xdiskusage -a
avec tee
du -ak | tee ›(gzip -9 › /tmp/du.gz) | xdiskusage -a
^
06 juillet 2010

htmlpdflatexmanmd




test

test

Évaluation d'expressions

   test retourne un status de 0 ou 1 en fonction de l'évaruation de l'expression. Chaque partie de cette expression doit être un argument séparé. test a une forme alternative qui utilise [ et ] au lieu de test.

test sans argument retourne false
test avec un seul argument qui vaut null retourne false, true sinon

Test des types de fichier

-b FILE vrai si FILE existe et est un périphérique spécial block
-c FILE vrai si FILE existe et est un périphérique spécial caractère
-d FILE vrai si FILE existe et est un répertoire
-f FILE vrai si FILE existe et est un fichier régulier
-h FILE
-L FILE vrai si FILE existe et est un lien symbolique, ce test ne déréférence pas FILE.
-p FILE vrai si FILE existe et est un pipe
-S FILE vrai si FILE existe et est un socket
-t FD vrai si FD est un descripteur de fichier qui est associé avec un terminal

Test des permissions d'accès

-g FILE vrai si FILE existe et a son bit set-group-ID mit
-k FILE vrai si FILE existe et a son sticky bit mis
-r FILE vrai si FILE existe et le droit en lecture
-u FILE vrai si FILE existe et et son bit set-user-ID mis
-w FILE vrai si FILE existe et le droit en écriture
-x FILE vrai si FILE existe et le droit en exécution
-O FILE vrai si FILE existe et et son propriétaire est l'utilisation courant
-G FILE vrai si FILE existe et et son group propriétaire est le group courant.

Test des caractéristiques de fichier

FILE vrai si FILE existe
-s FILE vrai si FILE existe et a une taille supérieur à 0
FILE1 -nt FILE2 vrai si FILE1 est plus récent que FILE2, ou si FILE1 existe mais pas FILE2 (basé sur le mtime)
FILE1 -ot FILE2 vrai si FILE1 est plus ancien que FILE2, ou si FILE2 existe mais pas FILE1 (basé sur le mtime)
FILE1 -ef FILE2 vrai si FILE1 et FILE2 ont le même numéro d'inode et de périphérique (ex : lien dur)

Test de chaînes

-Z STRING vrai si la longueur de STRING est 0
STRING vrai si la longueur de STRING est différente de 0
STRING1 = STRING2 vrai si les 2 chaînes sont équivalentes
STRING1 != STRING2 vrai si les 2 chaînes sont différentes

Test numérique

ARG1 -eq ARG2
ARG1 -ne ARG2
ARG1 -lt ARG2
ARG1 -le ARG2
ARG1 -gt ARG2
ARG1 -ge ARG2

Connections pour test

! EXPR vrai si EXPR est faux
EXPR1 -a EXPR2 vrai si les 2 sont vrai
EXPR1 -o EXPR2 vrai si l'une des 2 est vrai
^
15 juillet 2010

htmlpdflatexmanmd




timeout

timeout

Lance la commande spécifiée et la termine au delà du temps spécifié.

   timeout lance la commande spécifiée et la termine si elle continue de fonctionner une fois le temps spécifié écoulé. La durée peut être préfixé par:

s secondes
m minutes
h heures
d jours

OPTIONS

-s SIGNAL, --signal=SIGNAL Envoie le signal spécifé à la commande au timeout, au lieu du signal par défaut TERM.
^
03 juillet 2010

htmlpdflatexmanmd




touch

touch

Change le atime et/ou le mtime des fichiers spécifiés

   un argument '-' est manipulé spécialement et force touch à changer le temps des fichiers associés avec l'entrée standard. Le temps est spécifié par la variable d'environnement TZ, ou par les règles par défaut du système si elle n'est pas définie.

OPTIONS

-a, --time=atime, --time=access, --time=use Change le atime uniquement.
-c, --no-create Ne crée pas de fichier s'il n'existe pas
-d, --date=TIME Utilise TIME au lieu du temps courant. exemple : --date="2004-02-27 14:19:13.489392193 +0530" spécifie l'instant de temps qui est 489 392 193 nano-secondes après le 27 février 2004 a 2h19:13 PM dans une zone qui est 5 heures 30 minutes EST d'UTC.
-m, --time=mtime, --time=modify Change le mtime uniquement
-r FILE --reference=FILE utilise le temps de FILE comme référence. Si cette option est combinée ) --date, le temps de FILE est l'origine et TIME est le temps relatif.
-t [[CC]YY]MMDDHHMM[.SS] Utilise l'argument au lieu du temps courant. si l'année est spécifiée avec 2 chiffres : ‹ 69 = 20xx sinon 19xx.
^
24 juin 2010

htmlpdflatexmanmd




tr

tr

Traduit et réduit les caractères

   tr copie l'entrée standard sur la sortie standard, en effectuant un de ces opérations :

- Traduit, et optionnellement réduit les caractères répétés dans le résultat.
- Réduit les caractères répétés.
- Supprimer des caractères
- Supprimer des caractères, puis réduit les caractères répétés dans le résultat.

Jeux de caractères

   Les arguments SET1 et SET2 définissent les jeux de caractères ordonnés.

  Le format de SET1 et SET2 ressemble au format des expressions régulières ; cependant ce ne sont pas des expressions régulières, seulement des listes de caractères.

  Caractères spéciaux reconnus :

        \a Control-G
        \b Control-H
        \f Control-L
        \n Control-J
        \r Control-M
        \t Control-I
        \v Control-K
        \000 Représente la valeur en octal d'un caractère.
        \\ backslash

Plages

   une plage est sous la forme M-N

Caractères répétés

   La notation [C*N] dans SET2 étend N copies du caractère C. donc [y*6] revient à yyyyyy.

Classes de caractères

   La notation [:CLASS :] s'étend à tous les caractères de la classe prédéfinie CLASS.

        alnum Lettres et chiffres
        alpha Lettres
        blank Espaces horizontaux
        cntrl Caractères de contrôle
        digit Chiffres
        graph Caractères imprimables, mais pas les espaces
        lower Lettres minuscules
        print Caractères imprimables
        punct Caractères de ponctuation
        space Espaces horizontaux et verticaux
        upper Lettre majuscules
        xdigits Chiffres Hexadécimaux

Traduction

   tr effectue une traduction quand SET1 et SET2 sont données et que l'option --delete n'est pas donné. tr traduit chaque caractère de l'entrée qui est listé dans SET1 par le caractère spécifié dans SET2.

Exemple

Tout mettre en majuscule
tr a-Z A-Z ou tr '[:lower:]' '[:upper:]'

Réduire

   En donnant juste l'option --delete ou -d, tr supprime tous caractère listé dans SET1.

  En donnant juste l'option --squeeze-repeats ou -s, tr remplace chaque séquence de caractères répété et listé dans SET1, par un seul.

  En utilisant ces 2 options, tr supprime d'abord en utilisant SET1, puis réduit en utilisant SET2. -s peut être utilisé avec la traduction.

Exemples

supprimer tous les octets 0
tr -d '\0'
convertit tous les caractère non-alphanumérique en newline, puis réduit les newlines répétés
tr -cs '[:alnum :]' '[\n*]'
supprimer les newlines consécutifs
tr -s '\n'
trouver les occurrences doublées de mots dans un document
#! /bin/sh
cat -- "$@" | tr -s '[:punct:][:blank:]' '[\n*]' | tr '[:upper:]' '[:lower:]' | uniq -d
^
06 juillet 2010

htmlpdflatexmanmd




true

true

Retourner un code de sortie de 0

   true ne fait rien excepté retourner un code de sortie de 0.

^
04 juillet 2010

htmlpdflatexmanmd




truncate

truncate

Réduit ou étend la taille d'un fichier. Si un fichier est plus grand que la taille spécifiée, les données en trop sont perdues. A l'inverse, le fichier est remplis de 0.

OPTIONS

-c, --no-create Ne créer pas de fichier s'il n'existe pas
-o, --io-blocks traite la taille comme nombre de blocks I/O du fichier au lieu d'octets
-r RFILE, --reference=RFILE définis la taille des fichiers à la même taille que RFILE
-s SIZE, --size=SIZE définit la taille de chaque fichier. peut être suffixé avec un multiplier et/ou:

+ étend de
- réduit de
au plus
au moins
/ arrondis au multiple inférieur de
% arrondis au multiple supérieur de
^
21 juillet 2010

htmlpdflatexmanmd




tsort

tsort

Trie topologique

Exemples

tsort ‹‹EOF
a b c
d
e f
b c d e
EOF
produira:
a
b
c
d
e
f
^
12 juillet 2010

htmlpdflatexmanmd




tty

tty

Affiche le nom du fichier du terminal connecté sur l'entrée standard

OPTIONS

-s, --silent, --quiet N'affiche rien, retourne uniquement le code de sortie

Codes de sortie

0 si l'entrée standard est un terminal
1 si l'entrée standard n'est pas un terminal
2 si l'argument donné est incorrect
3 si une erreur d'écriture s'est produite
^
14 juillet 2010

htmlpdflatexmanmd




uname

uname

Affiche des informations dur la machine et le système d'exploitation

   uname affiche des informations sur la machine et le système d'exploitation. Sans options, uname agit comme uname -s. Si plusieurs options ou -a sont donnés, les informations sont affichés dans l'ordre:

  KERNEL-NAME NODENAME KERNEL-RELEASE KERNEL-VERSION MACHINE PROCESSOR HARDWARE-PLATFORM OPERATING-SYSTEM

OPTIONS

-a, --all affiche toutes les informations, excèpté le type de processeur et le nom hardware.
-i, --hardware-plateform Affiche le nom de la plateforme hardware.
-m, --machine Affiche le nom hardware de la machine
-n, --nodename Affiche le hostname
-p, --processor Affiche le type de processeur
-o, --operating-system Affiche le nom du système d'exploitation
-r, --kernel-release affiche la version du kernel
-s, --kernel-name Nom du kernel
-v, --kernel-version Affiche la version du kernel
^
24 juin 2010

htmlpdflatexmanmd




unexpand

unexpand

Convertit les espaces en tabulation

OPTIONS

-t TAB1[,TAB2]...' , --tabs=TAB1[,TAB2]...' Si seul TAB1 est donné, définit le nombre d'espaces par tabulation (défaut 8). Sinon, définit les espaces TAB1, TAB2, ... au delà, laisse les blancs tels quels.
-a, --all Convertit aussi toute séquence de 2 ou plusieurs blancs juste avant un fin de tabulation, même s'il sont après des caractères non-blanc dans une ligne.
^
21 juillet 2010

htmlpdflatexmanmd




uniq

uniq

Écrit les lignes uniques. Par défaut, écrit les lignes d'entrée, excepté qu'il ignore toutes les lignes adjacentes sauf la première.

OPTIONS

-f N, --skip-fileds=N Ignore N champs sur chaque ligne avant de vérifier les lignes uniques. ces champs ne contiennent pas d'espace ni de tabulation et sont séparés par au moins un espace ou tabulation.
-s N, --skip-chars=N Ignore N caractères sur chaque ligne avant de vérifier les lignes uniques. Si vous utiliser -f et -n, les champs sont ignorés en premier.
-c, --count Affiche le nombre de fois que chaque ligne est trouvé.
-i, --ignore-case Ignore la casse
-d, --repeated Ignore les lignes qui ne sont pas répétées. Il copie la première ligne de chaque ligne répétée.
-D, --all-repetead[=DELIMIT-METHOD] N'ignore pas les lignes répétées, mais ignore les lignes qui ne sont pas répétées. Cette options est utile avec d'autres option pour par exemple ignorer la casse ou comparer certains champs. optionnellement, on peut spécifier comment délimiter les groupes de lignes répétées:

        none Ne délimite pas les groupes de lignes répétées.
        prepend Sort une ligne avant chaque groupe de lignes répétées.
        separate sépare les groupes de lignes répétées avec un simple newline. identique à prepend mais n'insert pas de délimiteur avec le premier groupe.

-u, --unique Ignore la première ligne répétée. affiche les lignes unique.
-e, --zero-terminated Délimite les items avec un octet zéro au lieu d'un newline.
^
02 juillet 2010

htmlpdflatexmanmd




unlink

unlink

Supprimer des liens symboliques

   unlink supprime un simple nom de fichier spécifié via l'appel système unlink.

^
14 juillet 2010

htmlpdflatexmanmd




uptime

uptime

Affiche l'utilisation du système

   uptime affiche l'heure courante, le nombre d'utilisateurs loggés, et la charge moyenne. Si un fichier est spécifié, uptime lis ce fichier pour voir le nombre d'utilisateurs loggés.

^
13 juillet 2010

htmlpdflatexmanmd




users

users

Affiche une liste d'utilisateurs loggés sur l'hôte

   users affiche sur une ligne une liste des utilisateurs actuellement loggés sur l'hôte. Chaque nom d'utilisateur correspond à une session, donc un utilisateur peut apparaitre plusieurs fois.

  Sans argument, users extrait ses informations depuis /var/run/utmp ou /etc/utmp. Si un fichier est donné en argument, users utilise ce fichier à la place ex: /var/log/wtmp.

^
07 juin 2010

htmlpdflatexmanmd




wc

wc

Compte le nombre d'octets, de caractères et de mots pour chaque fichier donné. Par défaut, wc affiche 3 compteurs - nombre de lignes, nombre de mots et nombre d'octets

OPTIONS

-c, --bytes Affiche seulement le compteur d'octets
-m, --chars Affiche seulement le compteur de caractères
-w, --words Affiche seulement le compteur de mots
-l, --lines Affiche seulement le compteur de newlines
-L, --max-line-length Affiche seulement la longueur de ligne maximum.
--files0-from=FILE Désactive le traitement des fichiers donnés sur la ligne de commande, et traite les fichiers nommés dans FILE. chaque nom est terminé par un ASCII NUL. Permet de traiter un grand nombre de fichiers.

Exemples

Trouver le longueur de la ligne la plus longue dans un fichier .c ou .h dans la hiérarchie courante
find . -name '*.[ch]' -print0 | wc -L --files0-from=- | tail -n1
^
13 juillet 2010

htmlpdflatexmanmd




who

who

Affiche des informations sur les utilisateurs loggés

   who affiche des informations sur les utilisateurs qui sont actuellement loggés. Sans argument, who affiche pour chaque utilisateur loggé : le nom de login, le terminal, le temps loggé et l'hôte distant ou l'écran X. S'il a un argument non-option, who utilise ce fichier au lieu de /var/run/utmp ou /etc/utmp. S'il 2 arguments non-option sont donnés, who affiche seulement l'entrée pour l'utilisateur courant, précédé par le nom d'hôte. Traditionnellement les 2 arguments sont am i.

OPTIONS

-a, --all Identique à -b -d --login -p -r -t -T -u
-b, --boot affiche la date et l'heure du dernier boot système
-d, --dead affiche les informations correspondant aux processus mort
-H, --heading affiche une ligne d'en-tête de colonnes.
-l, --login liste seulement les entrées qui correspondent au processus via lequel le systèmes attend qu'un utilisateur se log.le nom d'utilisateur est toujours LOGIN.
--lookup Tente de canoniser les noms d'hôtes
-m identique à who am i
-p, --process liste les processus actifs spawnés par init
-q, --count affiche unsiquement les noms de login et le nombre d'utilisateurs loggés.
-r, --runlevel affiche le run-level courant
-t, --time affiche le dernier changement d'heure système
-u après le temps de log, affiche le nombre d'heures et de minutes que l'utilisateur était absent. un '.' indique que l'utilisateur était actif durant la dernière minute. 'old' signifie que l'utilisateur est absent depuis plus de 24heures.
-w, -T, --mesg, --message, --writable Après chaque login name, affiche un caractère indiquant le message de status des utilisateurs:

        + permet d'écrire des messages
        - ne peut pas écrire de messages
        ? ne peut pas trouver de périphérique terminal
^
13 juillet 2010

htmlpdflatexmanmd




whoami

whoami

Affiche le nom de l'utilisateur

   whoami affiche le nom d'utilisation associé avec l'effective user ID courant. identique à id -un

^
05 juillet 2010

htmlpdflatexmanmd




yes

yes

Affiche les arguments en boucle

   yes affiche les arguments, séparés par des espaces, et suivis par un newline, en boucle jusqu'à ce qu'il soit tué. Sans argument, yes affiche 'y' suivie par un newline.