0% ont trouvé ce document utile (0 vote)
30 vues5 pages

Commandes essentielles de l'éditeur vi

Transféré par

lahrachhamidnour
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
30 vues5 pages

Commandes essentielles de l'éditeur vi

Transféré par

lahrachhamidnour
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd

L’éditeur vi : principales commandes

vi nomfic ou vi +n nomfic pour ouvrir le fichier et se poitionner en ligne n

mode commande ESC

i insertion de texte à gauche du cuseur

/chaine recherche en avant


?chaine - en arrière
:%s/chaine1/chaine2 recherche et remplace les occurrences de chaine1 par chaine2
il est possible d’utiliser les caractères génériques :
:%s/[tT]iti/toto

ndd efface les n lignes à partir de la position courante du curseur

nyy insère le contenu des n lignes suivantes dans le buffer


p insère le contenu du buffer à droite du curseur

u annule la dernière modification

:wq sauvegarde le fichier et quitte vi


:q ! quitte vi sans sauvegarder

:set pour définir des préférences

all : affiche la liste des options de set


number : numérote les lignes
nonumber : annule la fonction précédente
ignorecase : ne tient pas compte de la casse dans les recherches

Vous voulez garder des options à chaque fois que vous démarrez vi :
créer un fichier .exrc
y insérer les options à garder
Préambule

Les exercices qui suivent vous permettent de manipuler certaines commandes.


Ceci n’est en aucun cas restrictif et l’on ne peut que vous conseillez de multiplier les
manipulations.

Exercice 2 :

-Afficher le contenu de votre répertoire


- Utiliser les options de la commande ls
- Changer de répertoire.
- aller chez un autre utilisateur
- se déplacer dans l’arborescence
- Revenir dans votre propre répertoire ( avec une seule commande)
- Utiliser la commande man pour approfondir les commandes déjà connues.

Exercice 3 :

- Connectez-vous sous col


- Utiliser la commande cat pour créer un fichier dans votre répertoire de travail (nom du fichier : fic1)
- ouvrez une autre session et connectez-vous sous un autre nom (root par exemple)
- copiez le fichier créé ci-dessus dans le répertoire d’accueil de root et renommez le fic2
- créez un répertoire essai
- transférez le fichier créé dans le répertoire essai
- doublez le fichier en l’appelant test
- créez en tant qu’utilisateur col un répertoire test
- copiez le contenu du répertoire essai dans le répertoire test
- effacez le répertoire essai
- effacez le contenu du répertoire test et ensuite le répertoire lui-même.

A chacune des manipulations, pensez à vérifier que tout se passe bien. Notez les problèmes ou difficultés
rencontrés.

- créez en un minimum de commandes la hiérarchie suivante :


/

rep10 rep11 rep12

rep101 rep121 rep122

rep1011

- ajoutez par la commande cat une ligne au fichier fic1


- comparez fic1 et fic2 en affichant les diférences :
- sous forme de numéro de ligne
- sous forme de contenu

- recherchez le fichier passwd


- comptez le nombre de lignes, de mots et de caractères du fichier fic1.
- « francisez » les commandes suivantes :
- copie pour cp
- transfert pour mv
- efface pour rm

Attention, la commande efface doit être sécurisée.

- Exécutez la commande who avec diverses options

Exercice 4
- Créez un fichier dans lequel vous aurez :

Nomstag prénomstag date de naissance (AA/MM/JJ)


département résidence
- Triez le fichier pour obtenir le plus jeune puis le plus âgé des stagiaires.
- Triez le fichier par département.

- Depuis le fichier famille (support de cours), comment obtenir les enregistrements commençant par E et
finissant par O.

- Soit le fichier suivant :

Lentille 2.89
Tomate 3.69
Brocolis 1.79
Persil 0.14
Avocat 1.19
Carotte 3.65
Cerise noire 4.15
Cerise jaune 5.03
Fraises montantes 2.05
Fraises rampantes 2.15
Pomme de terre 3.00
Pomme verte 5.04
Pomme rouge 6.10
Artichaut 8.75

Comment obtenir les légumes et fruits :


- Commençant par C
- Commençant par une voyelle
- Dont le prix finit par 5
- Dont le prix finit par 65, 75 ou 15
- Dont le prix ne finit pas par 5
- Dont le prix finit par 5, sauf 15 et 65.
Exercice 5
- Mémorisez la liste des répertoires suivants :
- /bin /sbin /etc /usr /root

- affichez cette liste


- utilisez pushd + ou –n pour vous positionner directement dans le répertoire souhaité
- supprimez le répertoire courant

- listez tous les fichiers dont le nom est composé comme suit :
- le 1er caractère est soit f, g ou h
- les 2ème et 3ème caractères sont sans importance
- le 4ème caractère est un e
- peu importent les autres caractères.

Exercice 6
- Créez un fichier et regardez ses droits
- Modifiez les de manière à ce que seul le propriétaire puisse lire, écrire et exécuter
- Changez le propriétaire du fichier ainsi que le groupe propriétaire
- Essayez de modifier le fichier en vous connectant avec un nom d’utilisateur autre que le propriétaire
- Même opération en essayant de supprimer le fichier
Exercice 7
- Compressez une partie du file ystem dans un répertoire et décompressez
- Envoyez un message à un utilisateur acceptant un message et à un autre, le refusant.
- Affichez la date ainsi :
- Bomjour nous sommes « jour en clair » du mois de « mois » - année : « an »

- Faîtes en alias appelé dbis


- Vous êtes né quel jour ?
- Et le 14/07/1789, c’était un ?
- Préparez les jobs suivants , à éxécuter dans 10 mn
- Lister le répertoire courant
- Créer dans le file system de col, un répertoire essai
- Y copier le fichier des users en le renommant passwdbis
- Afficher les alias
- Changer le prompt en « Vous êtes en « chemin complet » : »

- Le job suivant sera à exécuter dans 15 mn


- Rechercher tout ce qui concerne init

- Listez les jobs et supprimez le second


- Précisez que col est autorisé à différer ses jobs
- Sous root lancer un job différé, que se passe-t-il ?

- Mettre le user col dans [Link] et [Link], que se passe-t-il ?

- Prévoir de faire ls –l vendredi à 12 h30

Exercice 8
- Affichez vos processus uniquement
tous les processus s’exécutant

- Lancer plusieurs sessions et différents processus par session


- Sous root, affichez tous les processus s’exécutant sous tty2
- Lancez diverses commandes en arrière plan :
- Listez les jobs générés
- N’affichez que le dernier job par une ou n commande ( à vous de voir !)
- Par une commande, récupérez tous les processus dont l’UID est égal à celui de col

Common questions

Alimenté par l’IA

Effectively handling operations on a sequence of nested directories in Unix involves using recursive commands. For instance, creating a complex directory structure such as '/rep10/rep11/rep12/rep101/rep121/rep122/rep1011/enables' can be achieved with a single 'mkdir' command with '-p' option: 'mkdir -p /rep10/rep11/rep12/rep101/rep121/rep122/rep1011'. This ensures the entire path is created, even if some parent directories do not exist .

Simplification of complex file operations in Unix can be achieved through the use of aliases. By defining short commands for longer expressions in the '.bashrc' or '.bash_profile' files, repetitive tasks become more manageable. For example, aliasing 'rm -i' to 'safe_rm' introduces an interactive prompt before deletion, minimizing accidental data loss. Similarly, creating an alias 'showdate' that outputs the current date in a specific format improves user experience efficiency. Once defined, 'alias' allows recall of simple commands with immediate effect .

Tailored access permissions in Unix are managed through 'chmod' and 'chown' commands. 'chmod' modifies file and directory permissions using symbolic or numeric modes, and 'chown' changes the file's user and group ownership. To restrict access, set permissions to '700', granting only the owner full access. 'chown user:group filename' and 'chmod 700 filename' effectively limit access while ensuring the owner retains control. Verifying permissions using 'ls -l' confirms configurations are correctly applied .

Efficient management of text editing and file navigation in 'vi' can be achieved through a combination of commands. For quick navigation, you can use 'vi nomfic' to open a file or 'vi +n nomfic' to jump directly to the nth line. To edit text, enter 'i' for insert mode to add text to the left of the cursor, and press 'ESC' to return to command mode. You can search forward with '/chaine' or backward with '?chaine'. To replace text, ':s/chaine1/chaine2' replaces first occurrence and ':%s/chaine1/chaine2/g' for all occurrences. Use 'ndd' to delete multiple lines starting from the cursor, and 'nyy' to yank lines into buffer for later use with 'p'. Undo changes with 'u', save and quit with ':wq', or quit without saving using ':q!'. Settings can be managed with ':set' options like 'number' for line numbers or 'ignorecase' for case-insensitive searches .

Scheduled tasks in Unix are efficiently managed using 'cron' and 'at'. Use 'cron' for regular tasks by editing the 'crontab' file with schedules expressed in minute-hour-day-month-weekday format. For ad-hoc tasks, 'at' executes jobs at a specified time, requiring 'at.allow' for user permissions. Ensuring security involves granting user access, as in adding 'col' to 'at.allow', and using 'crontab -e' for safe edits. Verify scheduled tasks using 'crontab -l' and restrict 'at' usage to specific users .

To securely delete files and directories in Unix, use the 'rm' command with caution. The document suggests that the 'rm' command should be executed securely, implying the use of options such as '-i' which prompts for confirmation before deleting each file, to prevent accidental data loss. For directories, use 'rm -r' cautiously to remove directories and their contents recursively. Ensuring secure deletion often involves confirming the items selected for removal .

Managing background processes in Unix can be efficiently achieved through the use of job control commands like 'bg', 'fg', and 'jobs'. Background processes can be initiated by appending '&' to a command. The 'jobs' command lists all active jobs; 'fg' brings a job to the foreground. To manage their output, redirect stdout and stderr to files ('&>') to avoid cluttering the terminal. This ensures processes run seamlessly in the background while outputs are logged for later analysis .

Data sorting in Unix can be achieved using the 'sort' command with various options to cater to different criteria. For example, to sort a file containing participant details by birth date or department, 'sort -k 3,3' focuses on the third field. To reverse sort, include the '-r' flag. Sorting data that starts with specific characters, like records beginning with 'E' and ending with 'O', involves 'grep'^E.*O$' alongside sort. The versatility of 'sort' allows for comprehensive management of data with different priorities or formats .

To compare two versions of a file in Unix and identify differences, utilize the 'diff' command. This compares files line by line. For instance, to compare 'fic1' and 'fic2', 'diff fic1 fic2' will show line-by-line differences with indicators for additions ('>') and deletions ('<'). For a summary of differences, use 'diff -q'. To observe differences with line numbers, use 'diff -c' or 'diff -u' for a unified format showing a few lines of context before and after differences .

To retain user-specific settings in 'vi' across sessions, create a file named '.exrc' in the user's home directory and insert the desired ':set' commands. This allows for persistent configurations such as line numbering ('set number') or case-insensitive search ('set ignorecase'), ensuring these preferences are applied every time 'vi' starts .

Vous aimerez peut-être aussi