« Le système d'exploitation GNU-Linux/Commandes de base » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
Tavernier (discussion | contributions)
m Révocation des modifications de 194.57.91.238 (retour à la dernière version de DavidL)
Ligne 14 : Ligne 14 :


$ pwd
$ pwd
/home/xie
/home/alex


== '''id''' ==
== '''id''' ==
Ligne 30 : Ligne 30 :
Enter new UNIX password:
Enter new UNIX password:
Retype new UNIX password:
Retype new UNIX password:
passwd : le mot de passe a été mis à jour avec succès
passwd : password updated successfully


== '''cd''' (change directory) ==
== '''cd''' (change directory) ==
Ligne 72 : Ligne 72 :
# le système refuse car je ne suis pas connecté en '''root'''
# le système refuse car je ne suis pas connecté en '''root'''


Exercice : je suis dans le répertoire ''/var/log'', je souhaite créer un répertoire ''rep2'' dans le répertoire ''/home/xie'', comment faire ?
Exercice : je suis dans le répertoire ''/var/log'', je souhaite créer un répertoire ''rep2'' dans le répertoire ''/home/alex'', comment faire ?


J'ai 3 possibilités:
J'ai 3 possibilités:
$ mkdir ../../home/xie/rep2 # on utilise un adressage relatif à la position où je suis :
$ mkdir ../../home/alex/rep2 # on utilise un adressage relatif à la position où je suis :
# on remonte dans l'arborescence jusqu'à la racine puis
# on remonte dans l'arborescence jusqu'à la racine puis
# on redescend jusqu'au répertoire '''xie''')
# on redescend jusqu'au répertoire '''alex''')


$ mkdir /home/xie/rep2 # on utilise un adressage aboslu en partant de la racine
$ mkdir /home/alex/rep2 # on utilise un adressage aboslu en partant de la racine


$ mkdir ~/rep2 # on utilise '''~''' pour désigner le répertoire de travail
$ mkdir ~/rep2 # on utilise '''~''' pour désigner le répertoire de travail
Ligne 153 : Ligne 153 :
Cette commande crée le lien suivant :
Cette commande crée le lien suivant :


lrwxrwxrwx 1 xie xie 7 2007-10-26 14:25 monprogramme -> prog1.0
lrwxrwxrwx 1 alex alex 7 2007-10-26 14:25 monprogramme -> prog1.0


[[Catégorie:Le système d'exploitation GNU-Linux (livre)]]
[[Catégorie:Le système d'exploitation GNU-Linux (livre)]]

Version du 30 janvier 2008 à 12:17

Éléments de syntaxe

Les commandes présentées dans les sections qui suivent sont introduites juste après un message d'invite qui dépend de la configuration du shell utilisé. Celui-ci est représenté par un signe dollar $. Il ne doit donc pas être tapé.

Le caractère dièse # marque le début d'un commentaire qui se termine en fin de ligne. Il n'est pas nécessaire de le recopier pour exécuter la commande.

Exemple :

$ pwd   # affiche le répertoire courant

Pour tester cette commande, il suffit d'entrer p w d .

Les lignes qui ne sont pas marquées du signe dollar indiquent ce que la commande précédent doit/peut afficher.

pwd (print working directory)

Affiche le répertoire courant.

 $ pwd
 /home/alex

id

Affiche les informations relatives à l'utilisateur connecté.

 $ id
 uid=1000(alex) gid=1000(alex) groupes=20(dialout), 24(cdrom), 25(floppy), 29(audio), 44(video), 46(plugdev), 106(netdev), 109(powerdev), 1000(alex)
 

passwd

Permet de changer son mot de passe

 $ passwd
 Changing password for alex
 (current) UNIX password:
 Enter new UNIX password:
 Retype new UNIX password:
 passwd : le mot de passe a été mis à jour avec succès

cd (change directory)

Pour se placer dans un répertoire

 $ cd .                    # . désigne le répertoire courant
 $ cd ..                   # .. désigne le répertoire parent
 $ cd /                    # / désigne le répertoire racine
 $ cd /tmp                 # désigne le répertoire tmp appartenant à la racine
 $ cd tmp                  # désigne le répertoire tmp du répertoire courant
 $ cd ../tmp               # désigne le répertoire tmp du répertoire parent du répertoire courant
 $ cd ~                    # permet de revenir dans son répertoire de travail (home directory)
 $ cd                      # idem

Connecté en root, la commande cd m'amène au répertoire /root qui est le répertoire de travail de l'utilisateur root.

Connecté avec l'utilisateur alex, cd m'amène au répertoire de travail de l'utilisateur alex, à savoir /home/alex.

ls

Liste les fichiers d'un répertoire

 $ ls                      # liste les fichiers non cachés du répertoire courant  
 $ ls -l                   # (l : long) : liste détaillée des fichiers du répertoire courant 
 $ ls -a                   # (a : all) : liste tous les fichiers, y compris les fichiers cachés

On peut combiner plusieurs options, l'ordre n'est pas important. Les quatre commandes suivantes sont identiques :

 $ ls -a -l
 $ ls -l -a
 $ ls -la
 $ ls -al


mkdir (make directory)

Permet de créer un répertoire

 $ mkdir rep1              # crée un répertoire rep1 dans le répertoire courant
 $ mkdir /rep1             # tente de créer un répertoire rep1 à la racine,
                           # le système refuse car je ne suis pas connecté en root

Exercice : je suis dans le répertoire /var/log, je souhaite créer un répertoire rep2 dans le répertoire /home/alex, comment faire ?

J'ai 3 possibilités:

 $ mkdir ../../home/alex/rep2    # on utilise un adressage relatif à la position où je suis : 
                                 # on remonte dans l'arborescence jusqu'à la racine puis 
                                 # on redescend jusqu'au répertoire alex)
 $ mkdir /home/alex/rep2         # on utilise un adressage aboslu en partant de la racine
 $ mkdir ~/rep2                  # on utilise ~ pour désigner le répertoire de travail

l'option -p permet de créer le(s) répertoire(s) parent(s).

 $ mkdir  -p rep1/rep2           # crée un répertoire parent rep1 si il n'existe pas,
                                 # et crée dans rep1 un répertoire rep2

rmdir (remove directory)

Supprimer un répertoire vide

 $ rmdir rep1

cp (copy)

Copier un fichier

 $ cp /etc/passwd /tmp                # copie le fichier /etc/passwd dans le répertoire /tmp
 $ cp /etc/passwd /tmp/nouveaunom     # copie le fichier /etc/passwd dans le répertoire /tmp 
                                      # et le renomme en nouveaunom

Attention, si le fichier destination existe déjà, il sera remplacé et sans demander confirmation

Options courantes :

 -i : si le fichier destination existe, demande confirmation avant de remplacer le fichier


rm (remove)

Effacer un fichier

 $ rm lefichier                      # efface le fichier lefichier

Attention, le fichier est effacé et sans demander confirmation

Options courantes :

 -i : demande confirmation avant d'effacer le fichier


mv (move)

Déplacer ou renommer des fichiers

 $ mv [Option] Source Destination(répertoire)
 $ mv [Option] Répertoire Source
 $ mv fichier_source fichier_cible   # copie fichier_source dans fichier_cible
 
 $ mv fichier1 fichier2    # renomme le fichier fichier1 en fichier2
                           # Attention si fichier2 existe, son contenu sera écrasé et 
                           # remplacé par celui de fichier1

Par pécaution, on utilise l'option -i qui permet d'être averti par le système avant l'écrasement du fichier destination si celui-ci existe.

 $ mv -i fichier1 fichier2 # demande la confirmation avant d'effacer la destination
 $ mv rep1/fic1 rep2/fic2  # déplace le fichier fic1 situé dans le répertoire rep1
                           # sous le nouveau nom fic2 situé dans le répertoire rep2
 $ mv rep1 rep2            # déplace le répertoire rep1 dans le répertoire rep2
                           # si rep2 n'existe pas, renomme rep1 en rep2

ln (link)

La commande ln permet de créer des liens, c'est à dire des raccourcis vers des fichiers ou des répertoires.

 ln -s destination nom_du_lien

Exemple

 $ ln -s prog1.0 monprogramme

Cette commande crée le lien suivant :

 lrwxrwxrwx 1 alex alex   7 2007-10-26 14:25 monprogramme -> prog1.0