Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
L’éditeur de texte vi
L'éditeur Unix par défaut se nomme vi (visual editor ; vim ou vim.tiny). S'il n'est pas des plus
ergonomiques par rapport à des éditeurs en mode graphique, il a l'avantage d'être
disponible et d'utiliser la même syntaxe de base sur tous les Unix. Chaque Unix propose
généralement une syntaxe étendue au-delà de la syntaxe de base. Pour en connaître les
détails : man vi.
Commandes de saisie
Quitter
Copier-Coller
On utilise la commande « y » (Yank) pour copier du texte, elle-même devant être combinée
avec d'autres indications. Pour couper (déplacer), c'est la commande « d ». Pour coller le
texte à l'endroit choisi, c'est la commande « p » (derrière le caractère) ou « P » (devant le
caractère). Si c'est une ligne complète qui a été copiée, elle sera placée en-dessous de la
ligne active.
Commande set
set number (ou nu) / nonumber (ou nonu) : affiche / supprime les numéros de lignes.
Sortie standard
On se sert du caractère « > » pour rediriger la sortie standard (celle qui va normalement sur
écran). On indique ensuite le nom du fichier où seront placés les résultats de sortie.
Si le fichier n'existe pas, il sera créé. S'il existe, son contenu sera écrasé, même si la
commande tapée est incorrecte. Le shell commence d’abord par créer le fichier puis exécute
ensuite la commande.
Sortie d’erreur
Enfin, pour rediriger la sortie d’erreur vers un fichier, on utilise le descripteur 2 de la sortie
standard « 2> » ou « 2>> » pour rajouter à la fin du fichier.
On peut aussi rediriger les deux canaux de sortie dans un seul et même fichier, en les liant.
On utilise pour cela le caractère « >& ». Il est aussi important de savoir dans quel sens le
shell interprète les redirections.
Pour regrouper les deux canaux de sortie et d'erreur dans un même fichier, il faut procéder
comme suit :
Entrée standard
Les commandes qui attendent des données ou des paramètres depuis le clavier peuvent
aussi en recevoir depuis un fichier, à l'aide du caractère « < ». Un exemple avec la
commande « wc » (word count) qui permet de compter le nombre de lignes, de mots et de
caractères d'un fichier.
Les filtres sont des commandes qui, à partir d'un flux d'entrées donné, effectuent des
traitements avant d'afficher un résultat en sortie. On les nomme également commandes de
traitement de flux.
cat : pour concaténer le contenu d’un fichier et l’afficher ensuite sur la sortie
standard, qui est par défaut l’écran.
La commande cat sans argument (nom de fichier) attend les suites de caractères
tapés sur l’entrée standard (le clavier)
cut : pour n’afficher que certaines colonnes (champs) d’un fichier donné.
Cette commande utilise alors comme option le séparateur de champs et le numéro
du champ à afficher pour chaque ligne. S’il n'est pas spécifié, le séparateur de
champs par défaut est le caractère de tabulation.
grep : pour afficher les lignes contenant une occurrence de caractères donnée ;
Syntaxe: grep CHAINE chemin ; CHAINE peut être une expression régulière.
Pour afficher toutes les lignes qui commencent par la chaîne « root » :
split : pour découper un fichier en plusieurs. On peut spécifier une taille de fichiers en
option. Par exemple, la commande pour créer les fichiers petitfichieraa,
petitfichierab… d’une taille maximum de 1,4 Mo (taille d’une disquette) est :
split -b 1.4m /home/maitre/grosfichier petitfichier
Le mécanisme de tube (pipe) permet de faire en sorte que la sortie d’une commande
devienne l’entrée d’une autre. Les tubes utilisent le caractère « | » ;
Cette commande affiche les 6 premières lignes du fichier /etc/passwd une fois ce fichier trié
par ordre alphabétique croissant.
Tubes et redirections peuvent êtres enchaînés indéfiniment sur une ligne de commande
selon les résultats que l’on veut obtenir.
Le résultat affiché est relatif si le chemin précisé est relatif. Il est absolu si le chemin précisé
est absolu.
La commande find étant récursive, il suffit d’indiquer un répertoire de base pour que toute
l’arborescence depuis ce répertoire soit parcourue.
Critères de recherche
Les paramètres permettent de définir les critères de recherche. Ces critères, s’ils sont
plusieurs, sont combinés entre eux par un ET (critère1 ET critère2).
-name : permet une sélection par noms de fichiers. Il est possible d’utiliser les wildcards déjà
vus. Le critère est idéalement placé entre guillemets.
Pour afficher la liste de tous les fichiers du dossier /usr/include commençant par « ldap » :
-user et -group
Recherche dans le répertoire /home tous les fichiers ordinaires appartenant à l’utilisateur
diokh
-size : permet de préciser la taille des fichiers recherchés. Sa syntaxe est particulière car elle
travaille par défaut en blocs si vous ne précisez rien.
La valeur située après le critère peut être suivie des caractères k (kilo), m (méga),etc.
La valeur peut être précédée d’un + ou d’un - signifiant respectivement "plus de" ou "moins
de". Sans cette indication, la taille recherchée doit correspondre EXACTEMENT.
-size 5 : recherche les fichiers d’une taille de 5 blocs (512 octets par bloc, soit ici 2560
octets).
-size 10k : recherche les fichiers d’une taille de 10 Ko (10*1024 octets = 10240
octets).
-size +5000k : les fichiers de plus de 5000 Ko.
-size -100k : les fichiers de moins de 100 Ko.
-atime : recherche sur la date du dernier accès (access time). Un accès peut être la lecture
du fichier, mais aussi le simple fait de le lister spécifiquement.
-ctime : recherche sur la date de changement (change time, en fait la date de dernière
modification du numéro d’inode).
Ces trois critères ne travaillent qu’avec des jours (périodes de 24 heures). 0 est le jour
même, 1 hier, 2 avant-hier, etc. La valeur n située après le critère correspond donc à n*24
heures. Cette plage n’est pas fixe car « hier » signifie il y a entre 24 et 48 heures...
-perm :permet d’effectuer des recherches sur les autorisations d’accès (droits, SUID, SGID,
Sticky). Les droits doivent être précisés en base 8 (valeur octale) et complets.
Le caractère - placé devant la valeur octale signifie que les fichiers recherchés doivent au
moins avoir les droits désirés.
Le + indique que le fichier doit avoir au moins l’un des droits spécifiés.
Outre l’option -print on trouve d’autres options permettant d’effectuer une action sur les
fichiers trouvés.
-ls
Le critère affiche des informations détaillées sur les fichiers trouvés correspondant au critère
au lieu du simple nom de fichier. La sortie correspond à une commande ls avec les
paramètres d, i, l et s (taille en blocs de 1 Ko).
-exec
Le critère -exec va exécuter la commande située juste après pour chaque occurrence
trouvée. Quelques remarques s’imposent :
La commande find n’attend pas d’avoir trouvé tous les fichiers avant d’exécuter la
commande précisée. Elle la lance dès qu’un fichier est trouvé. Aussi si la commande
précédente vous a affiché n fichiers avant que vous ne pensiez à l’interrompre, alors ces n
fichiers sont déjà perdus.
Le critère -ok est identique à l’option -exec mais, pour chaque occurrence, une confirmation
est demandée à l’utilisateur.
Il est possible de combiner les options de critère de sélection. Sans aucune précision c’est le
ET logique qui est implicite.
! : Négation du critère
whereis
La commande whereis recherche dans les chemins de fichiers binaires, du manuel et des
sources les fichiers correspondant aux critères fournis.
which
La commande which recherche une commande dans le PATH (chemin des exécutables) et
vous fournit la première qu’elle trouve :
1. Il est courant de trouver des fichiers core quand les programmes plantent. Comment
tous les supprimer ?
2. Vous voulez lister tous vos fichiers avi (divx ?) de plus de 650 Mo et auxquels vous
n’avez pas accédé depuis environ 6 mois, depuis le dossier /public/videos. Comment
procéder ?
3. Vous recherchez toutes les instances d’un programme appelé « startappli » au sein
du path. Quelle commande utilisez-vous ?
A - whereis -b startappli
B - which startappli
C - which -a startappli
D - locate startappli
4. Vous avez perdu un document qui commence par lettre, quelque part dans le
système de fichier. Comment vérifier que locate retournera des informations à jour
et comment obtenir la liste des fichiers qui pourraient convenir ?
5. Comment rentrer en mode saisie pour insérer du texte à l’endroit actuel, quel que
soit le mode précédent ?
A - [Echap] i
B - [Echap] a
C - [Echap] : i
D-:i
6. Comment sauver son document actuel, en cours d’édition, sous le nom « newfic » ?
A - ZZ
B - :q
C - :wq
D- : x
8. Comment rechercher toutes les lignes qui commencent par bonjour ou Bonjour ?
10. Comment se rendre à la ligne 112, copier 8 lignes et les placer après la ligne 180 ?
11. Affichez uniquement la liste des logins et UID associés (champ 3) de /etc/passwd.
12. Triez le fichier /etc/group par ordre de GID (3ème colonne) décroissant
Travaux Pratiques :
Exercice 1 :
Sans utiliser un éditeur de texte, créez un fichier informations.txt contenant la date, le
calendrier du mois en cours, les informations de l’utilisateur connecté et enfin le chemin de
votre répertoire de travail.
Exercice 2
1. Affichez la liste des fichiers du répertoire /usr/bin/ en contrôlant le défilement écran
par écran
5. Affichez les noms des fichiers de /usr/bin/ classés par ordre alphabétique inverse