Commandes Linux

  • Upload
    ziedk

  • View
    41

  • Download
    4

Embed Size (px)

Citation preview

TP sur les commandes de base dUnixLe systme de gestion de fichiersLe systme de fichiers racine (root file system), soit le systme de fichiers primaire est associ au rpertoire le plus haut / : /bin commandes binaires utilisateur essentielles (pour tous les utilisateurs) /boot fichiers statiques du chargeur de lancement /dev fichiers de priphriques /etc configuration systme spcifique la machine /home rpertoires personnels des utilisateurs (optionnel) /lib bibliothques partages essentielles et modules du noyau /mnt point de montage pour les systmes de fichiers monts temporairement /proc systme de fichiers virtuel d'information du noyau et des processus /root rpertoire personnel de root (optionnel) /sbin binaires systme (binaires auparavant mis dans /etc) /sys tat des priphriques (model device) et sous-systmes (subsystems) /tmp fichiers temporaires

Partie I : Commandes de bases LinuxLe but de cette partie est la prise en main des commandes de base de lenvironnement Linux.

1. Introduction- Qu'est-ce que le shell ? Cest linterprteur de commandes (l'interface) entre l'utilisateur et le systme d'exploitation, d'o son nom anglais shell, qui signifie coquille. Le shell est ainsi charg de faire l'intermdiaire entre le systme d'exploitation et l'utilisateur grce aux lignes de commandes saisies par ce dernier. Son rle consiste ainsi lire la ligne de commande, interprter sa signification, excuter la commande, puis retourner le rsultat sur les sorties. Il existe plusieurs types de shells, les plus connus depuis Unix ayant une version amliore sous Linux. Le fichier /etc/shells contient une liste de tous les shells disponibles :/bin/ash /bin/bash /bin/bash1 /bin/csh /bin/false /bin/passwd /bin/sh /bin/tcsh /usr/bin/csh /usr/bin/ksh /usr/bin/tcsh /usr/bin/zsh

TP1

1

Les plus connus sont bash (version amliore du shell Bourne sous Unix), ksh (version amliore du shell Korn sous Unix) et tcsh (version amliore du shell C sous Unix). La commande help affiche la liste des commandes internes du shell. Par dfaut, c'est le shell Bash qui est install avec Linux. C'est aussi le plus puissant et le plus utilis, c'est pourquoi c'est celui-ci qui sera utilis dans les sections suivantes. Chaque utilisateur possde un shell par dfaut, qui sera lanc l'ouverture d'une invite de commande. Le shell par dfaut est prcis dans le fichier de configuration /etc/passwd dans le dernier champ de la ligne correspondant l'utilisateur. Il est possible de changer de shell dans une session en excutant tout simplement le fichier excutable correspondant, par exemple : /bin/bash

2. Commandes pour dbuterAvant de commencer, il faut savoir que Linux est sensible la casse (case sensitive en anglais), c'est dire qu'il distingue les majuscules des minuscules. Ainsi, pour crer un rpertoire, la commande est 'mkdir', ce n'est pas la peine d'essayer MKDIR ou mKdiR, cela ne fonctionnera pas. De mme, les noms de fichiers et de rpertoires sont galement sensibles la casse. De plus, sous Unix, les chemins sont spars par des slash : /etc//init/xfs mais jamais etc\init\xfs. Rpertoires spciaux : . reprsente le rpertoire courant, .. reprsente le rpertoire parent ~ reprsente le rpertoire maison (home) de l'utilisateur Fichiers cachs : Sous Unix, les fichiers cachs commencent par un point. Par exemple, ~/.bashrc est un fichier cach, dans le rpertoire maison de l'utilisateur, qui contient la configuration de son shell. Jokers : ? et * Les caractres ? et * dans les noms de fichiers et de rpertoires permettent de reprsenter des caractres quelconques. '?' reprsente un seul caractre, tandis que '*' en reprsente un nombre quelconque. Par exemple "*.jpg" reprsente tous les fichiers se terminant par jpg ; "*toto*" tous les fichiers contenant "toto". Il faut galement savoir que c'est le shell qui interprte ces caractres avant de transmettre la ligne de commande. Par exemple, si vous tapez : rm f *.tmp, le shell transformera cette ligne de commande en : rm truc1.tmp truc2.tmp truc3.tmp.

3. CommandesUne commande est lexcution dun programme dans linterprte (Shell). Elle prend en entre des options et/ou des paramtres. Elle peut renvoyer de linformation lcran ou dans un fichier, modifier un fichier, ou produire un message derreur. Une description de toutes les commandes est disponible avec la commande man ou help. TP1 2

Nhsitez pas lutiliser. Voici les commandes de base sous Linux :

Autres commandes :head tail who grep pwd cal ps time -2 fichier -2 fichier `faire` temp

ls -l

TP1

3

Aliases Plutt que de taper de longues commandes, ou bien parce que vous prfrez vous rappeler d'un nom plutt que du vrai nom Unix, vous pouvez dfinir des aliases. Pour ce faire, utilisez la commande alias comme suit : Si votre shell est bash ou sh ou ash (par dfaut) :alias md=mkdir alias ls='ls --color' alias eclip2='telnet eclip2.ec-lille.fr'

Si votre shell est tcsh ou csh (par dfaut) :alias md mkdir alias ls 'ls --color' alias eclip2 'telnet eclip2.ec-lille.fr'

Ainsi pourrez-vous taper md au lieu de mkdir, et eclip2 pour vous connecter cette machine via telnet ; la commande ls affichera une sortie en couleurs...

TP1

4

Partie II : le systme de fichier UNIXLa commande ls Cette commande est omniprsente, aussi il est bon d'en prsenter les basiques. Afficher le listing page par page : ls | less (less est une version amliore de more) Afficher le listing en couleurs : ls --color Afficher aussi les fichiers cachs (commenant par un point) : ls -a Mettre un '/' aprs les noms de rpertoires : ls -p Afficher le listing dtaill : ls -l Tri sur la date Pour afficher les fichiers d'un rpertoire en triant sur la date de mise jour des fichiers Afficher les fichiers les plus rcents en premier : ls -t Afficher les fichiers les plus vieux en premier : ls -rt Mixer avec l'option "l" afin d'afficher le listing dtaill : ls -rtl ou ls -tl Bien sr, toutes ces options sont mixables, ainsi "ls -altp" affiche tous les fichiers, de faon dtaille, dans l'ordre chronologique, an ajoutant '/' aprs chaque nom de rpertoire. Exemple de listing

Explication : La premire ligne "total 144" est l'espace disque utilis par l'ensemble des fichiers du rpertoire. 1. La premire colonne -rw-r--r--reprsente les permissions associes au fichier. Le premier caractre est un tiret pour un fichier, un d pour un rpertoire, un l pour un lien, etc. ensuite, on a trois groupes de trois caractres : rw- ou r-- ou rwx ou... Le premier groupe reprsente les permissions associes l'utilisateur (ici, jice), le deuxime celles associes son groupe (ici : users), enfin le dernier est les permissions que tout le monde a sur ces fichiers. r signifie : possibilit de lire ce fichier / dans ce rpertoire, w signifie : possibilit d'crire dans ce fichier / rpertoire, x signifie : possibilit d'excuter ce fichier / d'aller dans ce rpertoire. 2. nombre d'inodes (partie lmentaire de systme de fichiers) qui pointent vers le fichier/rpertoire (gnralement 1 pour un fichier, 2+le nombre de sous-rpertoires pour un rpertoire).

TP1

5

3. 4. 5. 6. 7.

utilisateur qui appartient le fichier (jice) groupe auquel le fichier appartient (users) taille en octets date et heure de modification nom du fichier/rpertoire.

Exercice : Dans les systmes d'exploitation drives d'Unix, le codage des droits se fait sur 9 bits groupes par 3 bits. Ces droits sont codes en un entier. Pour ce faire, on convient de la correspondance : r = 4; w = 2 et x = 1. Ainsi, les droits rw-, correspondent l'entier (r=)4+(w=)2=6. Donc rw-rw-rw- correspond l'entier 666. Questions : 1). A quels droits correspondent les entiers 751; 521; 214 et 150 ? 2). Par quels entiers sont codes les droits rw-r- -r- - et rwxr-xr-x ? La commande Cat La commande cat constitue un diteur (trs) simplifi. Elle permet galement d'afficher le contenu d'un fichier entier l'cran.cat > fich1 (Enter)

Entrer le texte stocker dans le fichier (Enter)CTRL D

Redirections Linux, comme tout systme de type Unix, possde des mcanismes permettant de rediriger les entres-sorties standards vers des fichiers. Ainsi, l'utilisation du caractre > permet de rediriger la sortie standard d'une commande situe gauche vers le fichier situ droite :ls -al /home/hk/ > toto.txt echo "Toto" > /etc/monfichierdeconfiguration

La commande suivante est quivalente une copie de fichiers :cat toto > toto2

La redirection > a pour but de crer un nouveau fichier. Ainsi, si un fichier du mme nom existait, celui-ci sera cras. La commande suivante cre tout simplement un fichier vide :> fichier

L'emploi d'un double caractre >> permet de concatner la sortie standard vers le fichier, c'est--dire ajouter la sortie la suite du fichier, sans l'craser.Fich1.txt >> fich2.txt

De manire analogue, le caractre