Les commandes LINUX (par Terminal)

Tout sur les commandes Linux :

-< INTRODUCTION >-

Le système UNIX est un système d'exploitation multi-utilisateurs et multi-tâches : plusieurs personnes peuvent partager les ressources de la même machine et plusieurs programmes ou logiciels peuvent s'exécuter concurremment.Le shell est un interpréteur de commandes : il permet à l'utilisateur de dialoguer avec le système. C'est le programme généralement exécuté lorsqu'un utilisateur se connecte. Il affiche un "prompt" et attend les commandes de l'utilisateur. Le shell est aussi un langage de programmation interprété puissant. Il offre à l'utilisateur un environnement composé d'un ensemble de variables et d'alias et un langage de commandes.

Il existe différents shells :

  • sh : Bourne Shell (shell standard unix)
  • ksh : Korn Shell
  • csh : C Shell
  • tcsh : extension de C Shell
  • bash : GNU: Bourne advanced Shell

 

Le shell sur la machine utilisé est le bash.

-< SYNTAXE D'UNE COMMANDE LINUX >-

Lorsque la connexion est établie, un prompt s'affiche à gauche de l'écran : il attend de votre part une commande, un ordre qu'il pourra interpréter et exécuter. Le prompt est spécifique de la machine (le prompt de la machine utilisée est : serveur$).
Chaque commande saisie au clavier doit être validée par un "return" (Enter) pour être exécutée. Soit :

serveur$commande -options <arguments>

commande : ce que l'on veut faire

options (facultatives) : comment on le fait

arguments (éventuels) : sur quoi on le fait (fichiers ..)

EX: ls -la /usr/dupont

La commande doit être saisie impérativement en minuscules pour être reconnue.

-< COMMANDES DE CONTROLE >-

exit sortie (fin de session)

CTRL-S et CTRL-Q contrôle de flux (arrêt et reprise de l'édition)

CTRL-D sortie (équivalent du logout si on est au prompt

CTRL-U annulation de la ligne courante (Ex:mot de passe erroné)

CTRL-C interruption d'un processus

CTRL-Z suspension d'un processus (bg, envoi en tache de fond )

 

-< AIDE EN LIGNE >-

man <commande> OU man <application>

La commande "man" (pour manuel) fournit des informations (description, options, syntaxe) sur une commande UNIX ou une application donnée (EX: man ls, man emacs, man chmod).

man -k <commande> donne la liste des commandes contenant dans leur libellé l'argument donné.

man intro : Dresse la liste des commandes accessibles par "man".

A propos <mot-clé>

Indique le nom des commandes et applications indexées par le mot-clé donné (EX: a propos image).


-< CONNEXION ET TRANSFERT >-

Un site du réseau Internet peut accéder à un autre site du réseau par les commandes telnet (connexion interactive) et ftp (transfert de fichiers).

Les sites sont identifiés par des adresses IP et des noms.

nslookup <nom_du_site>

  • Retourne l'adresse IP du site
  • nslookup serveur.goodspeedreseau.com

 

telnet <adresse_host>

Etablit la connexion interactive avec un autre ordinateur sur le réseau Internet. La commande tee permet d'enregistrer une session de travail telnet dans un fichier.

telnet serveur.goodspeedreseau.com

ou telnet 192.168.168.254

telnet 192.168.5.45 80 Connexion en telnet à la machine dont l'ip est 192.168.5.45 par le port 80.

Commande sous telnet :

close

Termine la session Telnet

display

Affiche à l'écran les paramètres de la connexion (type de terminal, port)

environ

Permet de définir les variables d'environnement du système d'exploitation

logout

Permet de se déconnecter

mode

Bascule entre les modes de transfert ASCII (transfert d'un fichier en mode texte) et BINARY (transfert d'un fichier en binaire)

open

Permet de lancer une autre connexion à partir de la connexion en cours

quit

Quitte l'application Telnet

set

Modifie les paramètres de la connexion

unset

Charge les paramètres de connexion par défaut

ftp <adresse_host>

Etablit la connexion en transfert de fichiers avec un autre ordinateur sur le réseau Internet. Retourne un prompt ftp>

telnet serveur.goodspeedreseau.com

ou telnet 192.168.168.254

Un ensemble de commandes sont accessibles à ce niveau :

Aide
help
help <nom_commande>

Affichage d'un répertoire :
dir affiche le contenu d'un répertoire d'une machine distante VAX
ls affiche le contenu d'un répertoire d'une machine distante UNIX
ldir identique à ls mais pour un répertoire de la machine locale

Changement de répertoire :
cd <répertoire> change de répertoire sur la machine distante
lcd <répertoire> change de répertoire sur la machine locale
pwd affiche le nom du répertoire de la machine distante

Transfert de fichiers :
get <fichier> rappatrie un fichier vers la machine locale
mget <fichiers> get multiple sur plusieurs fichiers (*)
prompt permet d'éviter la demande de confirmation lors du lancement d'un mget.
put <fichier> dépose un fichier vers la machine distante
mput <fichiers> put multiple sur plusieurs fichiers (*)

Type de transfert (à spécifier avant le transfert):
ascii transfert en ascii (défaut)
binary transfert en mode binaire pour fichiers non texte

Lancer une commande unix :
!commande_unix exécute une commande Unix

! permet de revenir temporairement sur le site local (exit pour retourner dans la session ftp)
quit fin de session ftp


-< COMMANDES UTILITAIRES >-

passwd

Permet de changer de mot de passe.

who (ou w)

Affiche la liste des utilisateurs connectés.

who am i Liste l'utilisateur actuellement connecté au système.

whoami renvoi le nom de l'utilisateur actuellement connecté.

-a --all identique à -b -d --login -p -r -t -T -u
-b --boot afficher l'heure du dernier démarrage
-d --dead afficher les processus morts
-H --heading afficher le titre des colonnes
  --ips afficher les adresses IP plutôt que les noms d'hôte. Avec --lookup, la représentation est simplifiée en se basant sur l'adresse IP enregistrée si elle est disponible, plutôt que sur le nom d'hôte enregistré.

date

Affiche la date.

cal <mois> <année>

Affiche le calendrier du mois, de l'année spécifiée. Par défaut, années et mois courants.

cal 9 1998 : calendrier du mois de septembre 1998

echo <chaine>

Retourne les arguments donnés.
echo est notamment utile pour soumettre des données à un pipe " | ", pour éditer le contenu de variables d'environnement etc ...
echo dupond @ goodspeedreseau.com > .forward (crée le fichier de ré acheminement des mails, cf messagerie (sans espace dans l'adresse de messagerie !!!)
echo $USER

groups

Affiche le(s) groupe(s) auquel appartient un utilisateur.

finger @<adresse_serveur>

Affiche la liste des utilisateurs connectés sur un serveur donné.

finger @serveur.goodspeedreseau.com

quota -v

Retourne l'espace disque autorisé et utilisé (quota et nombre de fichiers) sur la totalité du compte. L'unité du quota est en kilooctets, donc par exemple 10000 signifie 10 megaoctets.

du *

Retourne l'espace disque utilisé dans un répertoire donné (répertoire courant par défaut). L'unité est en demi-blocs (soit 512 caractères)

script

Permet d'enregistrer une session de travail dans un fichier.
script (return)
commande1
commande2
...


<CTRL-D>
L'ensemble de la session a été enregistré dans le fichier typescript (par défaut)


-< ADMINISTRATION UTILISATEUR >-

root : Super Administrateur, il est préférable voir recommandé d'exécuter les commandes suivantes en ROOT

#su - : Connexion en SSH par un utilisateur autorisé, su - permet de passer en ROOT après saisie du mot de passe de celui-ci.

Création / Suppression d'utilisateurs et groupes :

useradd : (plus d'info man useradd)

ajoute un nouvel utilisateur. Sans option, par exemple useradd goddspeedreseau, l'utilisateur sera créer ainsi que son home directory par defaut /home/<nom utilisateur> et appartiendra au groupe users

#useradd <-option><nom utilisateur>

Exemple : useradd romain -u 1200 -c "Romain Térus" -g 520 -G secrétariat -m /home/users/romain -s /bin/bash (attention, les groupes primaires et secondaires doivent exister.)

- u Pour fixer l'identifiant uid (le numéro unique d'un utilisateur)
- c Commentaire ou nom complet de l'utilisateur
- g Groupe primaire
- G Fixe l'appartenance de l'utilisateur à une liste de groupes secondaires
- m Création du répertoire personnel
- s shell : par défaut, attribution du shell sous bash
- e

Date d'expiration du mot de passe .Fixe la date d'expiration du compte au format

MM/JJ/AA

- d
Répertoire personnel (par défaut il sera dans /home/<nom utilisateur>
- k

Recopie le contenu du répertoire skel dans le répertoire personnel de l'utilisateur (par

defaut /etc/skel) permet l'homogénisation des comptes users.

usermod :

Modifier un utilisateur.

usermod <option> <nom utilisateur>

-a --append Ajouter l'utilisateur aux groupes supplémentaires. N'utilisez cette option qu'avec l'option -G.
-c --comment La nouvelle valeur du champ de commentaire du fichier de mots de passe pour l'utilisateur. Il est normalement modifié en utilisant
l'utilitaire chfn(1).
-d --home RÉP_PERSO Le nouveau répertoire de connexion de l'utilisateur. Si l'option -m est fournie, le contenu du répertoire personnel actuel sera
déplacé dans le nouveau répertoire personnel, qui sera créé si nécessaire.
-e --expiredate DATE_FIN_VALIDITÉ Date à laquelle le compte utilisateur sera désactivé. La date est indiquée dans le format AAAA-MM-JJ.
-f --inactive DURÉE_INACTIVITÉ Nombre de jours suivant la fin de validité d'un mot de passe après lequel le compte est définitivement désactivé. Une valeur de 0
désactive le compte dès que le mot de passe a dépassé sa fin de validité, et une valeur de -1 désactive cette fonctionnalité.
valeur par défaut est de -1.
-g --gid GROUPE Nom du groupe ou identifiant numérique du groupe de connexion initial de l'utilisateur. Le nom du groupe doit exister. Un numéro de
groupe doit se référer à un groupe déjà existant. Le numéro de groupe par défaut est de 1.
-G --groups GROUPE Liste de groupes supplémentaires auxquels appartient également l'utilisateur. Les groupes sont séparés par une virgule, sans espace
entre eux. Les groupes sont soumis aux mêmes restrictions que celles données avec l'option -g. Si l'utilisateur fait actuellement
partie d'un groupe qui n'est pas listé, l'utilisateur sera supprimé du groupe. Ce comportement peut être modifié par l'option -a, qui
permet d'ajouter l'utilisateur à la liste actuelle des groupes supplémentaires.
-l --login NOUVEAU_LOGIN Le nom de l'utilisateur passera de LOGIN à NOUVEAU_LOGIN. Rien d'autre ne sera modifié. En particulier, le nom du répertoire personnel
de l'utilisateur devra probablement être changé pour refléter le nouveau nom de connexion.
-L --lock Verrouiller le mot de passe d'un utilisateur. Cette option ajoute un « ! » devant le mot de passe chiffré, ce qui désactive le mot de
passe. Vous ne pouvez pas utiliser cette option avec -p ou -U.
-o --non-unique En combinaison avec l'option -u, cette option permet de changer l'identifiant utilisateur vers une valeur déjà utilisée.
-p --password MOT_DE_PASSE Mot de passe chiffré, comme renvoyé par crypt(3).
-s --shell INTERPRÉTEUR Nom du nouvel interpréteur de commandes initial (« login shell ») de l'utilisateur. Si ce champ est vide, le système sélectionnera
l'interpréteur de commandes initial par défaut.
-u --uid UID Valeur numérique de l'identifiant de l'utilisateur. Cette valeur doit être unique, à moins que l'option -o ne soit utilisée. La valeur

userdel : (plus d'info man userdel)

supprime un utilisateur

#userdel -r <nom utilisateur>

Supprimer un utilisateur non connecté ainsi que son répertoire personnel et tous ses documents.

groupadd :(plus d'info man goupadd)

Création d'un groupe destiné à recevoir des utilisateurs.

Afin d'ajouter des utilisateurs dans un groupes simplement, vous pouvez éditer le fichier /etc/group qui contient tout les groupes et ajouter une liste d'utilisateurs (séparés par des virgules) sur la ligne du groupe.

#grouppadd <nom du groupe>

groupmod :

modifier un groupe

#groupmod <option> <nom du groupe>

-g --gid GID Indiquer la nouvelle Valeur numérique de l'identifiant du GROUPE (« group ID » ou GID). La valeur de GID doit être un entier décimal
non négatif. Cette valeur doit être unique, à moins que l'option -o ne soit utilisée. Les valeurs comprises entre 0 et 999 sont
généralement réservées aux comptes système. Vous devrez modifier vous-même le groupe propriétaire de tous les fichiers possédés par ce
groupe.
-h --help Afficher un message d'aide et quitter.
-n --new-nameNOUVEAU_NOM_GROUPE Le nom du groupe sera modifié de GROUPE vers NOUVEAU_NOM_GROUPE.
-o --non-unique En combinaison avec l'option -g, cette option permet de changer l'identifiant du groupe vers une valeur déjà utilisée.

groupdel : (plus d'info man groupdel)

Supprime un groupe

#groupdel <nom du groupe>

passwd :

La commande passwd est chargée de la création et de la modification du mot de passe des utilisateurs et du cryptage du mot de passe dans /etc/shadow.

L'authentification des utilisateurs se trouve dans /etc/passwd

#passwd <nom utilisateur>

Il faut connaitre l'uid et le gid de l'utilisateur courant pour passer des options à la commande passwd.

#id

renvoi :

uid=0(root) gid=0(root) groupes=0(root)

#id -gn (renvoi le nom de l'utilisateur connecté donc vous !)

#id <nom utilisateur> (renseigne sur l'utilisateur)

#passwd <-option> <nom utilisateur>

-d Supprimer le mot de passe, Attention,l'utilisateur pourra se connecter sans saisir de mot de passe !
-! Verrouiller le compte et empêche sa connexion.
-u Déverrouille le compte.
--stdin passwd abandonne son caractère interactif et examine l'entrée standard pour s'en servir comme mot de passe. Très utile dans un script : echo mot | passwd --stdin (attention tout les caractères sont significatif, y compris les guillemets " ")

 

Vérification de fichier :

pwck :

#pwck <option>

vérifie l'intégrité des informations d'authentification du système. Toutes les entrées des fichiers /etc/passwd et /etc/shadow sont vérifiées afin de s'assurer qu'elles ont le bon format et qu'elles contiennent des données valables dans chaque champ. Une confirmation de l'utilisateur sera demandée pour détruire les entrées mal formatées ou ayant d'autres erreurs non récupérables.

-q Ne signaler que les erreurs. Les avertissements qui ne nécessite pas une action de la part de l'utilisateur ne seront pas affichés.
-r Permet d'exécuter pwck dans le mode lecture seule.
-s Trie les entrées de /etc/passwd et /etc/shadow par UID.

grpck :

vérifie l'intégrité des informations d'authentification du système. Toutes les entrées des fichiers /etc/group et /etc/gshadow sont vérifiées afin de s'assurer qu'elles ont le bon format et qu'elles contiennent des données valables dans chaque champ. Une confirmation de l'utilisateur sera demandée pour détruire les entrées mal formatées ou ayant d'autres erreurs non récupérables.

#grpck


-< INFORMATION MATÉRIEL >-

dmesg :

Afficher et contrôler le tampon des messages du noyau. Il est utilisé pour examiner ou contrôler le tampon des messages du noyau.

#dmesg < -c > < -n niveau > < -s taille >

-c
Vider le tampon des messages du noyau après les avoir affichés.
-s
Utiliser un tampon de la taille indiquée au lieu de la taille par défaut (16392 octets). (La taille par défaut du tampon pour les messages du noyau était 4096 au départ, puis 8192 à partir du noyau 1.3.54, et 16384 depuis 2.1.113.) Si vous avez augmenté la taille du tampon du noyau par rapport à sa valeur par défaut, cette option peut être utilisée pour afficher le tampon tout entier.
-n
Régler le niveau des messages à afficher sur la console. Par exemple, -n 1 supprime l'affichage de tous les messages, excepté les messages graves. Tous les niveaux d'affichage des messages sont enregistrés dans /proc/kmsg, ainsi syslogd(8) peut toujours être utilisé pour contrôler exactement où les messages du noyau apparaissent. Quand l'option -n est utilisée, dmesg n'affiche ni n'efface pas le tampon des messages du noyau.

lspci : (plus d'info man lspci)

Affiche les informations des composants matériel PCI de votre système.

lsusb : (plus d'info man lsusb)

Affiche les informations des composants matériel usb de votre système.

free :

Affiche la mémoire utiliser et libre de votre système.

#free (affiche le résultat en Kilo)

#free -m (affiche le résultat en Mega)

plus d'info :

#cat /proc/meminfo

dmidecode : (plus d'info man dmidecode)

Affiche des informations matériels provenant du BIOS

top :

La commande top affiche une page d'information, périodiquement mise à jour (taper q pour quitter), pour gérer les processus et être informé de la charge de travail du CPU et de l'utilisation mémoire.

#top


-< RÉPERTOIRE ET FICHIER >-

-< SYNTAXE DES FICHIERS >-

 

Le système de fichiers (file system) est un arbre (organisation hiérarchique) dont les noeuds sont des répertoires (directories) et les feuilles des fichiers.

Le fichier (chemin/nom) peut être désigné :

  • soit par un path absolu (chemin absolu), qui commence par le caractère "/" (racine de l'arbre) suivie de la liste
    des noeuds (sous-répertoires, séparés par le caractère "/"), qu'il faut suivre depuis la racine pour atteindre le fichier.   EX : /env/goodspeedreseau/u/cnrs/dupont/mm.seq
  • soit par un path relatif : le fichier dans ce cas est désigné depuis le répertoire courant.

 

EX : u/cnrs/dupont/mm.seq (si on le désigne depuis /env/goodspeedreseau)

EX : mm.seq (si on le désigne depuis /env/goodspeedreseau/u/cnrs/dupont)

Le home directory est le répertoire d'accueil dans lequel on se trouve après avoir établi la connexion sur le compte.

Certains caractères ne sont pas autorisés dans le nom du fichier. Notamment, par exemple, le caractère espace, accepté dans les noms de fichiers sous Mac, joue le rôle de séparateur sous UNIX (il sépare commande, options et paramètres les uns des autres). Pour manipuler malgré tout un fichier qui contient ce type de caractère, le nom de ce fichier devra être encadré de guillemets (ex: rm "seq 23.dat"). En règle générale, il est préférable de se limiter aux caractères alphabétiques, numériques ainsi que "-" et "_".

Le fichier peut optionnellement contenir une extension. L'extension est une particule suffixe séparée de la racine du nom par un point. Elle vise généralement à renseigner sur la nature du fichier.

Exemples :

  • nom.txt : fichier texte
  • nom.doc : fichier de documentation
  • nom.gif : fichier image
  • nom.for : programme fortran etc...

 

Certains utilitaires sous UNIX (éditeurs de texte ...) conservent les deux dernières versions du fichier. Dans ce cas, si l'on modifie le contenu d'un fichier déjà existant, le nom de l'avant dernière version est "marqué" d'un signe particulier, tel que "~" (EX: toto et toto~) ou " %".

 

-< TRONCATURE >-

 

Sous UNIX, le caractère de troncature (caractère "joker") est le caractère * : il peut remplacer n'importe quel groupe de caractères d'un nom de fichier donné : il permet ainsi de simplifier la commande et/ou de généraliser une opération sur tout un ensemble de fichiers.

Exemples :

ls *.gif liste tous les fichiers .gif (images)

rm ar* détruit tous les fichiers commençant par ar

 

 

-< DROIT D'ACCÈS AUX FICHIERS >-

 

Dans tout système UNIX, les répertoires et fichiers ont des droits d'accès. Ceux ci sont indiqués par la commande "ls -la" (voir "man ls").

Par exemple :

drwxr-xr-x 2 martin ibg 11264 Oct 31 19:27 seq

-rw-r--r-- 1 martin ibg 4763 Oct 31 15:19 lookup.list

-rw-r--r-- 1 martin ibg 70786 Oct 31 01:07 ftp.log

drwxr-xr-x 37 martin ibg 1024 Oct 30 20:29 src

chmod

chmod <droits><fichier>

Commande qui permet de changer les droits d'accès d'un fichier. Les droits peuvent être désignés de deux manières possibles :

chmod <utilisateurs>+/-<droits> <fichier> ou

chmod <droits (octal)> <fichier>

Sous UNIX, on distingue trois catégories d'utilisateurs :

  • u : le propriétaire (user)
  • g : le groupe (group)
  • o : les autres(others)
  • a : user, group et other (all)

 

ainsi que trois types de droits, donnés sur 3 colonnes (rwx) :

  • r : lecture (read)
  • w : écriture (write)
  • x : exécution
  • - : aucun droit

 

Pour un fichier les droits sont exprimés par une chaîne de 10 caractères : tuuugggooo

t= type du fichier

  • - : fichier ordinaire
  • d : répertoire (directory)
  • l : lien symbolique
  • c ou b : fichier spécial

 

ET

  • uuu : droits du propriétaire
  • ggg : droits du groupe
  • ooo : droits des autres

 

Pour modifier le droit d'accès d'un fichier donné, utiliser la commande chmod (voir man chmod).

EX : chmod u+r toto donne le droit de lire le fichier toto à l'utilisateur (vous-même)

chmod g+w toto autorise une personne du même groupe que vous à écrire le fichier

chmod o+x toto autorise n'importe qui à executer le fichier

chmod a+rx toto autorise le propriétaire, le groupe et les autres à lire et exécuter le fichier

Droits d'accès et sa correspondance en octal :

--- 0
--x 1
-w- 2
-wx 3
r-- 4
r-x 5
rw- 6
rwx 7

On peut, ainsi, définir par chmod, les droits en octal. Exemples :

chmod 600 * attribuera : rw------- à tous les fichiers

chmod 644 * attribuera : rw-r--r-- à tous les fichiers

chmod 750 * attribuera : rwxr-x--- à tous les fichiers

-R : applique les modifications à toute l'arborescence (récursive).

Exécuter un fichier :

./<nom du fichier>

chown

chown <propriétaire (utilisateur)>:<groupe> <fichier>

Change le propriétaire et le groupe d'un fichier.

umask

umask <valeur>

La commande umask suivie d'une valeur (3 chiffres en octal) définit le mode de création de fichiers ou de catalogues.
On peut notamment fixer cette valeur en ajoutant la commande umask au fichier du home directory nommé .profile
Par défaut, les droits d'accès d'un compte sont définis par umask 027 : cela signifie que la lecture des fichiers et leur exécution ne peuvent se faire que par l'utilisateur et ceux associés à son groupe (personne a priori), et que l'écriture ne peut se faire par personne d'autre.
La valeur de umask (masque au sens informatique) est soustraite aux droits par défaut des fichiers (666) et des répertoires (777) à leur création.
EX: umask 027 modifie les droits de la manière suivante :

  • les fichiers 666 deviennent 640
  • les répertoires 777 deviennent 750

     

     

 

 


-< ÉDITION ET MANIPULATION DE FICHIERS >-

 

 

pwd

Affiche le nom du répertoire courant.

ls

Liste le nom des fichiers.

ls -l édition du catalogue des fichiers du répertoire courant

ls -la édition de tous les fichiers du répertoire courant
(y compris les fichiers "cachés" commençant par un .)

ls -lt édition du catalogue par date (récente > ancienne)

ls -lR lecture de la hiérarchie complète des fichiers


cd < répertoire>

Permet de se placer dans un répertoire donné.
cd /usr/bin pour aller dans le répertoire /usr/bin
cd retour au répertoire d'accueil
cd ~ retour au répertoire d'accueil
cd seq changement de répertoire relatif (descente)
cd .. retour au répertoire père

Le symbole .. représente le répertoire parent.
Le symbole . représente le répertoire courant.
Le symbole ~ représente le répertoire d'accueil (home directory).
Le tilde "~" et le point point ".." peuvent être utilisés dans les chemins d'accès

mkdir <répertoire>

Crée un répertoire (Make directory).

rmdir <répertoire>

Supprime un répertoire (vide) (Remove directory).

cat <fichier>

Edition complète du fichier au terminal en mode déroulant.
cat mm.seq affiche le fichier mm.seq

tac <fichier>

Affiche le contenu inversé (de la dernière ligne à la première) des fichiers texte passés en arguments.

nl <fichier>

Affiche le contenu des fichiers texte passés en arguments en numérotant les lignes.

more <fichier>
Edition du fichier au terminal en mode page.
Pour obtenir l'aide en ligne : h
Pour éditer la page suivante : barre-espace
Pour éditer la ligne suivante : Return
Pour rechercher une chaîne de caractères : /chaîne
Pour remonter d'une page : b
Pour quitter : q

wc <fichier>

Affiche le nombre de lignes, de mots et de caractères (Word Count) contenus dans les fichiers passés en arguments.

-l : affiche uniquement le nombre de lignes (line)
-w : affiche uniquement le nombre de mots (word)
-c : affiche uniquement le nombre de caractères (character)


tee

Copie l'entrée standard vers la sortie standard.
telnet | tee ma_session.txt enregistre la session de travail telnet dans un fichier nommé ma_session.txt


less <fichier>

Edition du fichier au terminal en mode page (équivalent de more).
Pour obtenir l'aide en ligne : h

head -n <fichier>

Affiche les n 1ères lignes du fichier.

tail -n <fichier>
Affiche les n dernières lignes du fichier.

wc -l -w -c <fichier>
Retourne le nombre de lignes, de mots, de caractères dans le fichier indiqué.

sort <fichier>
Tri un fichier.

cp <file1> <file2>
Copie le contenu de <file1> dans <file2>, en détruisant <file2> s'il existait.

mv <file1> <file2>
Renomme ou déplace <file1> en <file2> (Move).
mv mm.seq aa.seq : renomme mm.seq en aa.seq

mv <file1> <répertoire>
Déplace (et éventuellement renomme) <file1> dans <répertoire>.
mv mm.seq ~/data : déplace le fichier mm.seq dans le répertoire préexistant data
mv mm.seq ../liens/bar : renomme mm.seq en bar et le déplace dans le répertoire préexistant liens

touch <fichier>
Crée un fichier vide.

rm <fichier>
Supprime le fichier (Remove).
rm mm.seq supprime le fichier mm.seq
rm afl*.seq supprime tous les fichiers commençant par afl
rm -i *.seq supprime tous les fichiers ayant le suffixe .seq, en demandant préalablement confirmation de destruction pour chacun d'eux.
rm -i -- -b.dat supprime un fichier dont le nom contient un caractère "interdit" (ici, par exemple, le caractère "-" dans le nom "-b.dat"). L'option "--", en effet, inhibe la fonction des caractères qui suivent.

rm -r <répertoire>
Supprime un répertoire, ainsi que rous les sous-répertoires et les fichiers qu'il contient (Remove récursively).

grep <chaîne> <fichier>
Recherche une chaîne de caractères (pattern) dans un fichier donné et édite les lignes la contenant.
grep GDB * recherche la chaîne GDB dans tous les fichiers du répertoire courant
grep cours -i *.txt recherche la chaîne gdb trouvée indifféremment en minuscules ou majuscules dans tous les fichiers .txt du répertoire courant
grep error -v *.txt édite toutes les lignes, exceptées celles contenant le mot error
grep "valeur de la variable" arc.for : recherche la chaîne valeur de la variable dans le fichier arc.for
grep 'caractère "A"' table.txt : recherche la chaîne caractère "A" dans le fichier table.txt

find <répertoire> -name <fichier> -print
Recherche le fichier dans toute l'arborescence (fichiers et sous-répertoires) issue du répertoire indiqué.
find . -name mm.seq -print; recherche le fichier mm.seq depuis le répertoire courant
find ~ -name a.out -print; recherche le fichier a.out depuis le home directory

cmp <file1> <file2>
cmp (compare) édite le numéro des lignes différentes entre deux fichiers.

diff <file1> <file2>
Edite les lignes différentes entre deux fichiers.

ln <source> <destination>

-s Cré le lien symbolique vers le fichier source.


 

 

-< COMPRESSION, ENCODAGE, ARCHIVAGE >-

 

La compression d'un fichier vise à réduire la taille d'un fichier. Grossièrement, le taux de compression atteint est de 50-60 pourcents de la taille originelle.


compress <fichier>
Compression. Génère un fichier.Z.

uncompress <fichier>
Décompression d'un fichier.Z.

zcat <fichier>
Edite un fichier.Z (compressé avec l'utilitaire compress).

zgrep <fichier>
Recherche une chaîne de caractères dans un fichier.Z (compressé avec l'utilitaire compress).

gzip <fichier>
Compression. Génère un fichier.gz.
Offre de meilleures performances que compress mais par contre demande un temps de compression plus important.

gunzip <fichier>
Décompression d'un fichier.gz.

uuencode <fichier>
Convertit un fichier binaire en un fichier.uue encodé qui peut être envoyé par messagerie.
Pour encoder un fichier par uuencode, celui-ci doit respecter les contraintes suivantes :
begin <mode> <nom_du_fichier_décodé>
corps du fichier
end
Le mode (3 chiffres en octal, ex:600) correspond aux protections du fichier source : le fichier décodé aura les mêmes et portera le nom indiqué.

uudecode <fichier>
Décode un fichier.uue .

tar cvf <tarfile> <répertoire_à_tarer>
Archive (tare) un ensemble de fichiers ou les fichiers d'un répertoire en un fichier.tar unique (=tarfile).
-f introduit le fichier et -v (verbeux) édite les opérations en cours.
tar cvf archive.tar ar* archive les fichiers ar* dans le fichier tfd.tar.
tar cvf archive.tar ~/edit archive le répertoire edit dans le fichier tfd.tar.
tar cvf archive.tar edit visualise le contenu du fichier d'archive

v : (verbose/parlant) permet d'obtenir une description du contenu archivé - s'affiche à l'écran - (facultatif)
c : (create/créer) pour créer une archive
f : (file/fichier) pour spécifier un nom pour l'archive (en paramètre)
Il arrive souvent que les fichiers .tar soit en plus comprimés à l'aide des commandes compress (extension .tar.Z) ou gzip (extension .tar.gz ou .tgz).

tar xvf <tarfile>
Désarchive (éclate, restaure) un fichier.tar (tarfile) en n fichiers d'origine.
tar xvf archive.tar désarchive le fichier tfd.tar.

v : (verbose/parlant) permet d'obtenir une description des fichiers désarchivés - s'affiche à l'écran - (facultatif)
x : (extract/extraire) pour extraire les fichiers
f : (file/fichier) pour désigner l'archive contenant les fichiers (donnée en paramètre)

Pour obtenir la liste de tous les fichiers contenus dans une archive, utiliser l'option "-t".

tar -tf mon_fichier.tar

Compression d'une archive .TAR.GZ


Syntaxe : tar <options> <fichier.tar.gz à créer> <fichiers à ajouter>

Dans les options, on doit mettre "c" pour créer une archive, "f" pour indiquer qu'il s'agit d'un

fichier. On peut mettre "z" pour compresser avec Gzip, et "v" si on désire avoir la liste des fichiers compressés qui défile.

#tar cfvz MonFichier.tar.gz /home/Serveur

Dans cet exemple, on crée un fichier MonFichier.tar.gz compressé avec Gzip, dans lequel on met tous les fichiers

contenus dans le dossier /home/Serveur

Extraction d'une archive .TAR.GZ


Syntaxe: tar <options> <fichier.tar.gz à extraire>

Dans les options, on doit mettre "x" pour extraire l'archive indiquée, "f" pour indiquer qu'il s'agit d'un fichier, on peut mettre "z" pour décompresser avec Gzip, et "v" si on désire avoir la liste des fichiers compressés qui défile.

#tar xvzf MonFichier.tar.gz

Dans cet exemple, on extrait l'archive MonFichier.tar.gz, en la décompressant avec Gzip, tous les fichiers sont copiés dans le dossier courant.

(Si toute fois, et cela arrive lors de la décompression vous obtenez que des fichier en .GZ faire depuis le repertoire source :

#gunzip -r *

Décompression avec une archive tar.bz2

tar xvjf mon_archive.tar.bz2

sh <fichier.shar>
Les fichiers .shar sont des fichiers d'archives auto-extractibles (shell).
sh extrait les fichiers archivés dans un fichier.shar.


 

 

-< ÉDITEUR DE FICHIERS >-

1- Éditeur vi

L'éditeur vi est un peu complexe à utiliser (man vi pour tous les détails). Trois modes aux fonctionnalités différentes sont disponibles sous vi : mode commande (commandes par des caractères spéciaux), mode insertion (saisie du texte) et mode ligne (commandes saisies en bas du fichier).
vi <fichier>
Ouvre un fichier. On se trouve alors en mode commande.
Si le fichier n'existe pas, vi le crée.

Pour passer d'un mode à un autre :
automatique caractère i

------> ------>

Mode LIGNE Mode COMMANDE Mode INSERTION

<------ <------

: <ESC>


Mode INSERTION (invisible)
i insère avant le curseur
a insère après le curseur
o ouvre une nouvelle ligne en dessous
O ouvre une nouvelle ligne au dessus
ESCape quitte le mode insertion et retourne au mode commande
ESCape : quitte le mode insertion et passe au mode ligne

Mode COMMANDE (invisible)
effacement :
x délétion de caractère
r remplacement du caractère courant
dw supprime le mot courant
dd supprime la ligne courante
ndd supprime n lignes
d0 efface jusqu'au début de ligne
dG efface jusqu'en fin de ligne
J unit la ligne suivante à la ligne courante
u annule la dernière fonction d'édition
. répète la dernière fonction d'édition
déplacement :
les flèches permettent de se déplacer.<CTRL U> et <CTRL
D> pour monter et descendre.
^,$ pour se déplacer en début, en fin de ligne.
G position en fin de fichier (équivalent à :$)
nG position sur la ligne n
copie (copY) et insertion de texte (Paste) :
Y sélectionne une ligne
5Y sélectionne 5 lignes
p dépose la sélection après le curseur
P dépose la sélection avant le curseur

sh accès temporaire au shell (retour par exit)

Mode LIGNE
:100 positionne sur la ligne 100
/chaîne recherche une chaîne de caractères
:3,8d annule les lignes 3 à 8
:w fichier écrit dans un autre fichier
:wq ou x termine en sauvant
:q! quitte (impérativement) sans sauver

:set nu affiche les numéros de lignes
:set all montre les options
:set nonu supprime une option

2- EDITEUR emacs

L'éditeur emacs a une utilisation plus intuitive que vi.
emacs <fichier>
Ouvre un fichier.

Les touches Contrôle et Escape, largement utilisées sous emacs, sont ci-dessous notées respectivement C- et E-.
EX: C-k signifie "appuyez sur la touche Control et, pendant qu'elle est enfoncée, la touche k".
QUITTER Emacs C-x puis C-c

ou C-x puis pomme-c (sur Macintosh)

Répondre "yes" à la demande de sauvegarde.

SAUVEGARDER sans quitter Emacs C-x puis C-s

DEPLACEMENT DU CURSEUR :
en arrière en avant

caractère C-b C-f

mot E-b E-f

ligne C-p C-n

aller en debut (fin) de ligne C-a C-e

aller en debut (fin) de fichier E-< E->
écran précédent (suivant) E-v C-v

Les flèches horizontales du clavier correspondent a : C-b et C-f
Les flèches horizontales du clavier correspondent a : C-p et C-n

EFFACEMENT DE CARACTERES : touche Back Space

ou touche Del

ou C-d

RECHERCHER :

Chercher en avant C-s
Chercher en arrière C-r
Utiliser C-s ou C-r pour répéter la recherche ds chacune des directions
Arrêter la recherche en cours C-g

DEPLACER UNE PARTIE DE TEXTE :

Sélectionner le début de la zone par C-espace.
Placer le curseur à la fin de la zone a déplacer.
Effacer cette partie sélectionnée par C-w
Enfin, placer le curseur à l'endroit où l'on veut restituer le texte,
et rappeler celui-ci par C-y

Pour appeler l'aide en ligne C- h ? puis initiale de la commande.
Pour la faire disparaître, C- x 1
Si on est bloqué : C- g

Pour effacer une ligne après le curseur : C- k
Pour la rappeler à l'endroit ou se trouve le curseur : C- y

Pour insérer un fichier : C- x i nom-du-fichier.

3- ÉDITEUR pico ou nano

pico <fichier>
Ouvre un fichier.
<CTRL X> quitter en sauvegardant le fichier édité.
Les différentes commandes sont données en bas d'écran (CTRL noté ^):

^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos

^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell


-< REDIRECTION PIPE >-

 

 

-< REDIRECTION >-

 

De nombreuses commandes lisent leurs données (entrée = input) à partir de l'entrée standard (stdin), par défaut le clavier, et écrivent leurs résultats (sortie = output) dans la sortie standard (stdout) et les erreurs dans la sortie-erreur standard (stderr), par défaut l'écran, selon le schéma :


Lecture Ecriture

Standard Input ====> Commande ====> Standard Output + Error

[clavier] [Ecran]


Si l'on souhaite rediriger les entrées et sorties, la commande prendra la syntaxe suivante :
commande [-options] [arguments] < input-file > output file
avec les métacaractères de redirection suivants :
< redirige l'entrée standard
> redirige la sortie standard
>> redirige et concatène la sortie standard
>& redirige les sorties standard et erreur
>>& redirige et concatène les sorties standard et erreur

Exemples :


who > names
édite les noms dans le fichier names
(pwd; ls -l) > fichiers.out
écrit le nom du répertoire et le résultat de la commande ls dans fichier.out
le caractère ; permet d'enchaîner des commandes
ls -lR > liste.archive
grep -i dupont fichier > resul
elm -s "subject" dupont@ pasteur.fr < doc.txt
elm envoie le fichier doc.txt à dupont
cat file1 file2 >filen
concatène deux fichiers (contenu de file2 apres file1) dans un troisième
cat file2 >>file3
concatène le contenu du fichier file2 à la fin du fichier file3
cat ligne > essai
écrit le contenu de ligne dans le fichier essai

Pour créer un fichier et ajouter plusieurs lignes :
cat > essai<return>
ligne1 <return>
ligne2 <return>
....


<CTRL D>
mon_programme << end (return)
paramètre1
paramètre2
...
end


Cette syntaxe permet de soumettre au programme les différents paramètres (saisis normalement en mode interactif) que celui-ci lira jusqu'au mot indiqué après << (dans le cas-ci, end).

 

 

 

-< Pipe >-

 

Le caractère "|" (opérateur pipe) redirige la sortie standard (sdtout) d'une commande dans l'entrée standard (stdin) d'une autre commande. Plusieurs commandes peuvent être combinées ainsi.

commande1 | commande2 | ...

who | sort
tri et édite les utilisateurs connectés
ls -lR | more
édite page par page les noms de fichiers du répertoire
cat fichier | elm -s "subjet" dupont@ pasteur.fr
le contenu du fichier est envoyé à dupont via elm
ls -lR | grep -i "apr 10" > liste.apr
sélectionne les fichiers daté du 10 avril et les écrit dans le fichier liste.apr


-< PROCESSUS >-

Le système UNIX est un système d'exploitation multi-utilisateurs et multi-tâches. Le calculateur partage son temps entre tous les processus présents à un moment donné.
Le multitâches est réalisé par l'élection d'un processus parmi d'autres, pour un temps déterminé. Le calculateur exécute pendant une tranche de temps les instructions de ce processus.
L'aspect multiutilisateurs est une extension du multitâches, qui permet à plusieurs utilisateurs de faire exécuter leurs processus respectifs par le calculateur.


Processus du noyau :

  • lorsque le calculateur est mis en service, le processus 1, nommé init, est crée : il est responsable des demandes de login sur chaque terminal.
  • le scheduler alloue du temps CPU alternativement à tous les processus actifs du système.
  • le swapper est activé lorsque plusieurs processus sont exécutés et que le noyau n'a plus de place en RAM (mémoire courante). Il possède le numéro 0. Il détermine, suivant des critères variés, le processus qui doit être déporté sur le disque.
  • le pagedaemon est activé lorsqu'un processus recquiert une page non présente en RAM.

 

Le processus 1 est l'ultime Parent de tous les processus.
Les processus peuvent engendrer d'autres processus (processus enfants).
Chaque processus possède un numéro d'identification, le process id ou pid. Ce pid est attribué séquentiellement, débutant de 0, et est incrémenté à chaque création. Un utilisateur ne peut contrôler un processus s'il n'en est pas propriétaire.


ps

Affiche les informations sur les processus en cours
ps -fu nom_login liste complète de tous les processus rattachés à l'utilisateur donné.
ps -eaf liste complète de tous les processus

ps -aux | grep mysql liste les processus rattachés à MySQL.

Signification des champs retournés :
UID nom de l'utilisateur
PID numéro d'identification du processus
PPID numéro d'identification du processus père
STIME heure à laquelle le processus a été lancé
TIME temps CPU utilisé par le processus
CMD commande

<ctrl-c>
Termine le processus premier-plan courant

<ctrl-z>
Stoppe l'exécution du processus premier-plan courant (qui pourra être relancé par bg).

kill -9 <numéro_de_PID>
Arrête le processus désigné.

<commande> &
Lance un programme en arrière plan.
sort -r ~/words > ~/edit/dico/words &
xterm & lance une nouvelle fenêtre xterm

jobs
Affiche les jobs (et leur numéro) stoppés et/ou passés en arrière-plan.

fg %<numéro_job>
Ramène le job courant de l'arrière-plan au premier plan (foreground).

bg %<numéro_job>
Relance un job stoppé et le place en arrière-plan (en tache de fond, background).

truss <commande>
"Radiographie" une commande donnée : truss exécute la commande donnée en argument et édite simultanément tous les appels de fichiers ainsi que toutes les instructions exécutées par cette commande.
truss -topen mon_programme "trace" sélectivement toutes les lignes contenant "open"

chroot est une commande permettant de changer le répertoire racine d'un processus de la machine hôte.

jobs liste les processus lancés par le shell courant


-< LANCEMENT D'UN PROGRAMME EN DIFFÉRÉ >-

batch <programme>
Lance un programme en batch (exécution immédiate, au moment où le système, load level system, le permettra).
batch (return)
sort < infile > outfile


<CTRL-D>
batch <<! (return)
diff file1 file2 2>&1 >outfile | mailx mygroup
!

at -f <programme>
Lance un programme en différé. Possibilité de spécifier le moment auquel le programme sera lancé.
at -f <programme> now + 1 minute : lance le programme dans la minute suivante
at -f <programme> tomorrow + 10 hours

echo "tar rvf MonFichier.tar UnFichierDonné" | at 0845 Ajoute UnFichierDonné à l'archive MonFichier.rar à 8H45.

at -l : affiche les jobs lancés par at ou batch
at -r <numero_job> : détruit le job donné
at -m 0730 tomorrow (return)
sort < infile > outfile
<CTRL-D>

atq
Edite les jobs en attente, lancés avec la commande at.

cancel <numero_job>
Supprime un job en attente.
cancel 845657231.b


-< DIVERS >-

Deconnexion - fermeture :

exit ferme la session ssh

logout déconnecte l'utilisateur.

shutdown -r now redémarre le serveur maintenant.

shutdown -h now arrete le serveur maintenant

FTP :

ftp <machine> <port>se connecte en FTP a la machine distante

get récupère un fichier

put envoie un fichier

quit quitte la session FTP

Message :

talk <user> permet de parler à cet utilisateur.

mesg n empeche la reception des messages envoyer avec la commande talk.

mesg y autorise la reception des messages envoyer avec la commande talk.

Mounter des lecteurs :

Permet de monter un lecteur (DVD/HDD) dans un répertoire.

La liste des periphériques montable est dans /dev

Voir tous les disques :

#cat /etc/fstab

Monter le lecteur de cdrom (/dev/cdrom) dans le répertoire cdrom (/mnt/cdrom)

#mount -t iso9660 /dev/cdrom /mnt/cdrom

Démonter le lecteur de cdrom de son répertoire (/mnt/cdrom)

#umount /mnt/cdrom

Monter un disque (hda5) avec une partition FAT32 dans le répertoire /mnt/win98

#mount -t vfat /dev/hda5 /mnt/win98

 

Alias :

L'alias est une commande raccourcie qui permet d'en exécuter une autre.

Le fichier a éditer est /root/.bashrc

#nano /root/.bashrc

puis ajouter l'alias voulu.

alias moncd='mount -t iso9660 /dev/cdrom /mnt/cdrom'

désormais taper moncd pour monter ce lecteur dans /mnt/cdrom.

idem au lieu de tapez la commande ls -l a chaque fois, éditer le fichier/root/.bashrc et insérer ces quelques lignes :

export LS_OPTIONS='--color=auto'
eval `dircolors`
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'

désormais tapez ll pour avoir le résultat de ls -l

Que vous tapiez ls ou ll le résultat sera tout en couleur !

pour que ce soit pris en compte, redémarrer le serveur :

#shutdown -r now

Partition Linux :

Elle sont consultable dans le fichier :

#cat /etc/fstab

# Device

Répertoire

type

options

fréquence

passe

# Linux

         

/dev/hda1

/

ext2

defaults

5

1

/dev/hda2

/home

ext3

defaults

5

2

/dev/sda2

/usr3

ext2

defaults

10

2

#Processus

         

none

/proc

proc

defaults

0

0

#partition

de swap

       

/dev/hda3

none

swap

defaults

0

0

Lancements de programmes personnels lors du Boot :

/etc/rc.d/rc.local

C'est dans ce fichier que vous allez mettre tous les programmes personnels que vous souhaitez lancer au boot. En voici une version :

#! /bin/sh # du menage en v'la,...

echo "Cleaning /tmp..."

find /tmp -type f -mtime +1 | xargs -r rm

find /tmp -type d -mtime +1 | xargs -r rmdir

# Vive l'azertyuiop :-)

echo "Loading french keyboard..."/usr/bin/loadkeys /usr/lib/kbd/keytables/fr-latin1.map

Ce qui est important, c'est le clavier français. Si vous ajoutez cette ligne, le clavier sera français dès le boot.

En cas de problème il faut modifier ainsi fr-latin1.map :

keycode 3 = eacute two asciitilde

keycode 8 = egrave seven grave

keycode 10 = ccedilla nine asciicircum

keycode 14 = Delete BackSpace

ou

Pour ajouter un script :
update-rc.d nom_De_votre_Script defaults

#update-rc.d -n s_d2 defaults (pour visualiser, l'option "-n" simule le déroulement) puis
#update-rc.d s_d2 defaults

Pour enlever un script :
update-rc.d -f nom_De_votre_Script remove

#update-rc.d -n -f s_d2 remove (pour visualiser, l'option "-n" simule le déroulement) puis
#update-rc.d -f s_d2 remove


Connaitre l'espace disque restant de nos partitions :

#df

#df -h

#df -a

 

Off

Rechercher

RizVN Login

Calendar

May 2018
S M T W T F S
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2

Traffic

Aujourd'hui176
Hier187
Cette semaine1602
Ce mois4623
Total237170

Info Visiteur

  • IP Visiteur : 54.162.253.34

Qui est connecté
1
Online

dimanche 20 mai 2018 19:59