Général
man veut dire « manuel », exemple : man <commande>
man permet de visualiser les options. Exemple : man grep donne les options de grep.
Il permet de visualiser les options.
Pour chercher une commande : man –k + sujet
man x /-x permet d’aller directement à l’option de commande recherchée.
Regarder aussi dans le man : « voir aussi… »
Caractères « joker » :
remplace une suite de n’importe quel caractère
ex. : abcde = *e = a* = a*e
ls a*
ls / home /u*
? remplace 1 caractère quelconque non vide
ex. : a ? ? ?
« ? » a ?* ? ?* * ?
[abcde] = n’importe quel caractère de la liste
[abcdef]
[a-f]
[0–9]
ls a* b* c*
ls [abc]*
ls [a-k,y,z]*
ls [a-j,l-z]*
ls résultat.2000.0[1-9]
ls résultat.2000.1[012] ou [0-2]
pour lister tous les mois de l’année.
Pour compter : wc
wc = word count
wc –c : compte les caractères avec espaces
wc –w : compte les mots
wc –l : compte les lignes
Sortie après Ctrl D
La commande set –x montre ce que va exécuter le système.
Pour revenir à l’état initial, set +x
Quand apparaît en début de ligne « > », c’est que la commande n’est pas terminée, le système attend.
Les caractères apostrophes neutralisent tout mécanisme de substitution.
Les caractères guillemets neutralisent uniquement les mécanismes de type « fichier ».
Le mécanisme ` ` (Alt GR + 7) montre le résultat d’une commande.
sort : réaffiche par ordre alphabétique ce que l’on tape.
En Korn shell (ksh), on peut remplacer $HOME par ~ (Alt Gr + 2). ~ se lit Tilda.
Le fait de taper ksh lance un nouveau shell que l’on supprime avec exit.
Pour aller chercher l’adresse d’une commande x, faire which x.
Mettre une commande en arrière / avant-plan :
fg = forground
bg = background
Pour remettre une commande en avant-plan : fg si une seule, sinon :
fg %n ou n est le n° entre [] que l’on voit dans ps –l
Pour mettre en arrière-plan : bg %n
Ctrl + z met en arrière-plan et fige l’application.
cd fait par défaut un cd $HOME
Variables d’environnement 7.4 :
PATH indique les répertoires à consulter pour trouver les commandes. Les répertoires sont séparés par des « : ».
more permet de voir les commandes, écran par écran.
Ex. : ls /usr/bin | more
banner
banner fich1 affiche fich1 en bannière.
Contenu d’un répertoire 3.7
ls
Pour voir le répertoire bin page par page, faire « ls –l | more » et à l’inverse : « ls –l | less »
ls /usr/bin indique toutes les commandes
ls /usr/bin | more, donne la même chose, mais écran par écran.
Ls a* b* c*
ls [abc]*
ls [a-k,y,z]*
ls [a-j,l-z]*
ls résultat.2000.0[1-9]
ls résultat.2000.1[012] ou [0-2]
pour lister tous les mois de l’année.
Quand on fait un ls –l :
- s’il s’agit d’un fichier, le premier caractère des droits est un «-«
- s’il s’agit d’un répertoire ou directory, le premier caractère des droits est un «d »
ls *f donne tous les fichiers commençant par f
ls fic* : fait apparaître tout ce qui commence par fic + n’importe quoi.
ls fic ? : Idem mais plus un seul caractère.
ls fic[…] : Idem avec en plus un des caractères entre crochets.
Ce sont des caractères pour indiquer des motifs de types « fichier ».
4.4 cat
Concaténer (cat)= mettre bout à bout
cat fichier1 = cat <fichier1 = prendre fichier1 comme entrée standard = concaténer à partir de ce fichier là.
cat fichier1 >fichier2 = fichier 1 recopié dans fichier 2
$cat (seul) :
Le système attend un texte que l’on termine en faisant Ctrl D
cat .profile pour voir son compte perso.
On met dans le .profile ce qui est perso et on y fait les modifications.
head et tail 4.6
Voir les x premières lignes d’un fichier : head –x
Voir les x dernières lignes d’un fichier : tail –x
Voir tout sauf les x premières lignes d’un fichier : tail –x
Exemple : ne pas voir les 5 premières lignes, ni les 5 dernières sur un fichier « secret » de 20 lignes :
tail +5 secret | head -10
Voir alors, le nombre de lignes, rajouter | wc –l, donc cela fait la commande :
tail +5 secret | head –10 | wc –l
Résultat = 10
Find 4.8
find permet de trouver des noms de fichiers. Avec :
- name
- size
- atime
- ctime
- mtime
- exec
- ok
- type
Recherche d’un fichier commençant par m ou f :
find $HOME \( -name ‘m’ –o –name ‘f*’\) –print
o = or (ou)
ou : find $HOME \( -name ‘m*’ –o –name ‘f*’\) –print
ou : find ~ -name «fich4» – exec ls –l {} \ ;
Les accolades représentent ce qui a répondu dans la première partie. Ici, fich4.
Manipulations de fichiers Chapitre 4
Motifs de type « expression régulière »
L’interprétateur de commande fait l’interprétation. Il examine d’abord s’il y a des mobiles de type « fichier » que l’on peut remplacer. C’est systématique.
Pour le neutraliser, il faut délimiter par des « « ou des ‘ ‘.
grep 4.11
grep = global result expression
* est un facteur de répétition, exemple : b*
[…] est l’indétermination sur 1 caractère.
a[123]*b peut-être égal à ab, puisqu’il y a l’étoile.
Ex. : grep uni* secret
grep unique1 unique2 secret
Comme il trouve deux fichiers commençant par uni, il comprend qu’il doit aller chercher les lignes où l’on trouve unique1 dans unique2 et secret.
C’est pourquoi il faut noter comme suit : ‘uni*’
Délimiter la commande grep avec des ‘ ‘.
« grep » recherche une chaîne de caractères dans un fichier.
ex. : grep <chaine> <fichier>…
ex. : cat telephone | grep Durand
wc = word count (l ligne)
wc –l telephone donne le nombre de lignes de téléphone.
cat telephone | grep Durand | wc –l donne le nombre de lignes de téléphones avec Durand.
cat telephone | grep Durand |grep 04 | wc –l donnerait les abonnés commençant par 04, mais ce n’est pas exact, car cela va donner plusieurs lignes avec un abonné qui aurait plusieurs fois 04 dans son n° de téléphone.
Les options peuvent être jointes. Exemple :
grep –n secret
grep –v secret
sont égales à : grep -nv secret
ou : grep -vn secret
ou : grep -v -n secret
ou : grep –n –v secret
man permet de visualiser les options. Exemple : man grep donne les options de grep.
grep expression recherchée fichier
grep abc toto
grep ^abc toto (début de ligne)
grep ^aa* toto
( a en premier + un nombre quelconque de a derrière, ou autre, ou rien )
grep ^aa*$ toto
( les lignes avec que des a ou un seul )
grep ^a.b$ toto
( commence par a, n’importe quoi derrière, et fini par b )
Les droits d’accès aux fichiers selon les entités concernées 5.1
Mon rep
Fich2
I – nodes
Description du fichier
UID GID Droits 3 Type Nombre Emplacements
Propriétaire Groupe accès dates de liens physiques
Droits d’accès :
Pour modifier les droits : chmod
Exemple : le fichier 1 est à 644 avec rw-r–r–
Pour le passer à rw-rw-r–, c’est à dire à 664, faire : chmod 664 fich1
On peut également :
- pour ajouter w à group : chmod g + w fich1
- pour ajouter x à tous : chmod ugo + x fich1
u = user User 6 Group 4 Others 4
g = group
o = others 1 1 0 1 0 0 1 0 0
R W – R – – R – –
Calcul des droits :
1 1 0 Répertoire = 1 1 1 = 777
22 21 20 22 21 20
Les processus 6.3
Pour créer un nouveau processus, il faut avoir de la place dans la table des processus, même s’il reste de la RAM.
Le processus est le programme + les données associées. Une application est un ensemble de processus qui s’enchaînent ou qui travaillent en même temps, de façon interactive ou non.
Les processus père et fils :
P Actions communes
- Créer les fils
PA PB………. PZ (Ici 26, car 26 lettres)
Etat des processus :
Peuvent être sleeping (s)
Peuvent être Running (r)
pp = Processus père
pri = Plus le nombre est faible, plus il est prioritaire. Plus il dure dans le temps, moins il le devient.
Le scheduler alloue du temps CPU aux processus.
La table des processus contient les données dynamiques du processus. Peut demander plus de mémoire pour ses calculs au système. Elle est donc de taille variable.
Redirection d’un fichier standard 6.5
Commande 1 > toto 2 > toto
Equivalent à :
Commande 2 > &1 1 > toto
Si l’on met juste « commande », c’est sous-entendu la commande 0
Exemple de programme
cat > prog02 ( > = redirection de sortie )
wile true toujours vrai
do
echo bonjour écrire bonjour
sleep 1 arrêter une seconde
done et recommencer
^D
Pour l’exécuter : $ prog02
En arrière plan : $ prog02 &
Commande 2>&1 : le « et » est là pour indiquer au shell qu’il s’agit de la sortie 1, et non d’un fichier nommé 1.
kill 6.10
La commande kill + n° de processus autorise le processus à refuser la terminaison pour s’arrêter proprement. kill seul ou kill -15 est la même chose.
kill –9 pd Avec ces commandes, le noyau fait terminer le processus sans
kill –kill pd ménagement.
7.3 Les alias
C’est la gestion des variables locales à un shell ou variables d’environnement, communes à plusieurs shell.
set permet de voir toutes les variables locales à un shell.
La commande set -x montre ce que va exécuter le système. Pour revenir à l’état initial, set +x
echo $toto indique à quoi est égal la variable toto.
unset toto supprime la variable toto.
env donne les variables d’environnement, communes à plusieurs shell.
export envoie une variable locale dans un environnement qui sera valable pour tous les processus fils.
exit pour sortir du dernier shell.
term = terminal
8.2 L’éditeur de textes vi
vi signifie video input ou vidéo inverse.
Pour circuler, touches :
i, a, A, o, O…
Mode insertion
k
ESC
h l
Mode commande
j
ESC
Mode ligne de commande
h, j, k, l = déplacements curseur
:
$HOME/.exec peut-être défini pour rentrer des options de vi.
9.4 La communication en ligne
Donner un message d’invitation à la discussion
Talk utilisateur [@ machine ]
login Nom adresse IP
Pour sortir, Ctrl + c ou clear
12.3 Sauvegarde et restauration
tar 12.3
Périphérique de création d’archive de sauvegarde sur /der/rst16
cd /usr/local
tar cvf /der/rst16 . ( . = pour tous )
tar cvf $HOME/archive.tar .
tar uvf $HOME/archive.tar .
Conseil : Faire les liens symboliques avec un chemin absolu. Partir de : « / ».
Sinon, utiliser tar –h
Crée une copie du fichier. Suit d’abord le lien jusqu’au bout, et le met dans archive.
Inconvénient : création de copie supplémentaire. Quand on modifiera dans ce cas, on risque d’oublier de modifier l’un ou l’autre.
dd 12.7
Copie de disquette sous Linux:
Sur le disque : dd if = /dev/fd0 of = image
Sur la nouvelle disquette : dd if = image of = /dev/fd0
Idem d’un disque sur l’autre : dd if = /der/hd0 of = /dev/hdb
Disque 1 Disque 2
13.2 Sauvegarde et restauration
at 13.2
Soumission différée:
at tomorrow –1hour
at > commande ( éventuellement plusieurs, une par ligne )
Ctrl + D
at est utilisée pour opération ponctuelle.
cron 13.5
Utilisée pour opérations habituelles.
Exemple : sauvegarde tous les lundis du mois :
15 0 1-7 * 1
1er et 3éme lundis : idem, sauf 3éme champ : 1-7, 15-21