Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

appel aux gurus du CLI (y'en a ...)

57 réponses
Avatar
J.P. Poindessault
Bonjour,

1- à propos de l'enquête de patpro, comment faites vous pour tester la
compétence de quelqu'un en CLI ?
exemples ?

2- un p'tit test (utile pour moi)
commande pour réajuster à la même valeur les quotas disque de TOUS mes
utilisateurs sur le le volume PBSRaid0 du XServe local sous OS X server 10.3.9 ?

Jean-Pierre

10 réponses

1 2 3 4 5
Avatar
patpro ~ Patrick Proniewski
In article
,
"J.P. Poindessault" wrote:

Bonjour,

1- à propos de l'enquête de patpro, comment faites vous pour tester la
compétence de quelqu'un en CLI ?
exemples ?


je sais pas, j'ai jamais fait.
Je suppose que je m'inspirerai du CV de la personne. Quelqu'un qui
mentionne le shell comme outils de travail a surement des exemples de
scripts à montrer, par exemple.


2- un p'tit test (utile pour moi)
commande pour réajuster à la même valeur les quotas disque de TOUS mes
utilisateurs sur le le volume PBSRaid0 du XServe local sous OS X server
10.3.9 ?


alors là...
aucune idée :)

patpro

--
http://www.patpro.net/

Avatar
Nina Popravka
On Thu, 27 Sep 2007 11:25:18 +0200, "J.P. Poindessault"
wrote:

commande pour réajuster à la même valeur les quotas disque de TOUS mes
utilisateurs sur le le volume PBSRaid0 du XServe local sous OS X server 10.3.9 ?


J'ai la page de man de edquota sous les yeux, ça doit pouvoir le faire
si on applique le machin à un groupe contenant tous les lusers.
Semblerait que le fichier à torturer soit à la racine du disque
concerné.
Et non, je ne chercherai pas plus avant, je n'ai pas besoin de faire
ça là tout de suite :-)
Brrrrrr.....
--
Nina

Avatar
patpro ~ Patrick Proniewski
In article ,
Nina Popravka wrote:

On Thu, 27 Sep 2007 11:25:18 +0200, "J.P. Poindessault"
wrote:

commande pour réajuster à la même valeur les quotas disque de TOUS mes
utilisateurs sur le le volume PBSRaid0 du XServe local sous OS X server
10.3.9 ?


J'ai la page de man de edquota sous les yeux, ça doit pouvoir le faire
si on applique le machin à un groupe contenant tous les lusers.
Semblerait que le fichier à torturer soit à la racine du disque
concerné.
Et non, je ne chercherai pas plus avant, je n'ai pas besoin de faire
ça là tout de suite :-)
Brrrrrr.....


à vue de nez, les quotas de groupes et d'utilisateurs sont distincts, et
l'édition d'un quota lance $EDITOR pour éditer manuellement les données
(comme crontab -e par exemple), ce qui force une intéraction.

Donc à mon avis (et j'irai pas plus loin qu'un avis non testé) :

il faut utiliser -p proto_user en ayant donné au proto_user le quota
qu'on veut imposer à tous les autres. Cela devrait probablement éviter
de passer par $EDITOR.
il faut utiliser -u user1 user2 ... userN et non pas les groupes.

à tester. Je suis même pas sûr que les quotas de Mac OS X sont gérés par
edquota... :)

patpro

--
http://www.patpro.net/


Avatar
Nina Popravka
On Thu, 27 Sep 2007 11:57:21 +0200, patpro ~ Patrick Proniewski
wrote:

il faut utiliser -u user1 user2 ... userN et non pas les groupes.
Le pire, c'est que tu as l'air d'avoir raison... C'est naze :-/


à tester. Je suis même pas sûr que les quotas de Mac OS X sont gérés par
edquota... :)
Je pense que si, parce que j'ai découvert l'existence du truc qq part

chez Apple. :-))))
--
Nina

Avatar
Nina Popravka
On Thu, 27 Sep 2007 12:03:12 +0200, Nina Popravka
wrote:

Je pense que si, parce que j'ai découvert l'existence du truc qq part
chez Apple. :-))))


<http://docs.info.apple.com/article.html?artnum7701>
Brrrrrrrr.....
--
Nina

Avatar
Nicolas-MICHEL'_remove_'
J.P. Poindessault wrote:

Bonjour,

1- à propos de l'enquête de patpro, comment faites vous pour tester la
compétence de quelqu'un en CLI ?
exemples ?


Comme tu le vois plus bas, chacun a ses domaines de compétances.
Je trouve très aléatoire ce genre de test. Par exemple moi j'ai peu de
mémoire mais un système d'aide en local sur ma machine qui m'est
indispensable. Sans lui je suis perdu.

Mais par exemple :

Lister toutes les crontab en une seule commande,
Trouver toutes les occurences de toto dans un dossier,
trouver les différences entre 2 dossiers similaires
trouver un gros fichier caché sur un disque qui pompe toute la place
(genre spool)
trouver dans un log file l'erreur x ou y
ajouter un partage dans samba ou configurer httpd.conf, voir pire,
postfix ou sendmail.

Côté spécifiquement mac, demander comment gérer les services, rebooter,
effacer une entrée dans netinfo, afficher un .plist, faire une recherche
dans les directory services, ...

Côté script on peut poser quelques questions génériques genre
- quells sont les requisits pour qu'un script shell soit exécutable ?
- comment incrémenter une variable ?
- ...

demander un exercice qui nécessite des fonctions de base, genre
grep, find, sed/awk, test, une boucle for, du if+else, ...

Par exemple un petit script qui zip séparément tous les fichiers d'un
dossier puis qui les renomes à la volée avec un préfixe, ou un truc du
genre. Prévoir des fichiers avec des noms tordus, pour rire.

2- un p'tit test (utile pour moi)
commande pour réajuster à la même valeur les quotas disque de TOUS mes
utilisateurs sur le le volume PBSRaid0 du XServe local sous OS X server
10.3.9 ?


Désolé, j'ai jamais utilisé les quota de Mac OS X.

--
Nicolas - MICHEL at bluewin point ch
AIM : michelnicolas

Avatar
patpro ~ Patrick Proniewski
In article ,
Nina Popravka wrote:

On Thu, 27 Sep 2007 12:03:12 +0200, Nina Popravka
wrote:

Je pense que si, parce que j'ai découvert l'existence du truc qq part
chez Apple. :-))))


<http://docs.info.apple.com/article.html?artnum7701>
Brrrrrrrr.....


hahaha, j'étais sür qu'apple allait faire un truc comme ça :)
moralité : pas toucher a edquota, tout faire dans l'interface d'admin
apple.

patpro

--
http://www.patpro.net/


Avatar
Nicolas-MICHEL'_remove_'
Nicolas MICHEL <Nicolas-MICHEL'_remove_'@bluewin.ch> wrote:


Mais par exemple :
[snip]


Un test rapide et méchant :
lui demander quelques regex

Genre facile, chercher dans /etc/passwd les gens dont la première lettre
du nom de famille est en minuscule.

Genre plus dur, tester une adresse mail pour voir si elle est correcte.

Bon, je dis ça mais je suis nul en matière de regexp.
Sauf que si la personne sais faire ça, c'est très probablement qu'elle
est à l'aise en cli.

--
Nicolas - MICHEL at bluewin point ch
AIM : michelnicolas

Avatar
Nina Popravka
On Thu, 27 Sep 2007 13:04:27 +0200, patpro ~ Patrick Proniewski
wrote:

hahaha, j'étais sür qu'apple allait faire un truc comme ça :)
moralité : pas toucher a edquota, tout faire dans l'interface d'admin
apple.


J'aimerais bien comprendre comment le workgroup manager peut overrider
ce qui a été fait avec edquota, d'ailleurs...
Je suppose que les deux agissent sur les mêmes fichiers de conf, et
que le workgroup manager va les lire quand on le lance, non???
--
Nina

Avatar
patpro ~ Patrick Proniewski
In article
<1i53omb.1gpk0u51qcir0yN%Nicolas-MICHEL'_remove_'@bluewin.ch>,
Nicolas-MICHEL'_remove_'@bluewin.ch (Nicolas MICHEL) wrote:

Nicolas MICHEL <Nicolas-MICHEL'_remove_'@bluewin.ch> wrote:


Mais par exemple :
[snip]


Un test rapide et méchant :
lui demander quelques regex

Genre facile, chercher dans /etc/passwd les gens dont la première lettre
du nom de famille est en minuscule.

Genre plus dur, tester une adresse mail pour voir si elle est correcte.

Bon, je dis ça mais je suis nul en matière de regexp.
Sauf que si la personne sais faire ça, c'est très probablement qu'elle
est à l'aise en cli.


tu sais, la regex pour tester une adresse email, elle fait plus de 3700
caractères. Si le type la sort direct, je fais un controle antidopage.

patpro

--

(((((([x20x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x0
9]+)*))*?(([x41-x5ax61-x7a]|[x30-x39]|[x21x23-x27x2ax2bx2dx2
ex3dx3fx5ex5fx60x7b-x7e])+(x2e([x41-x5ax61-x7a]|[x30-x39]|[
x21x23-x27x2ax2bx2dx2ex3dx3fx5ex5fx60x7b-x7e])+)*)((([x20
x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))*?)|(
((([x20x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+
)*))*?x22(((([x20x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)
[x20x09]+)*))?(([x01-x08x0bx0cx0e-x1fx7f]|[x21x23-x5bx5d-x7
e])|(x5c([x01-x09x0bx0cx0e-x7f]|(x0a*x0d*([x00-x09x0bx0cx0e
-x7f]x0a*x0d*)*))|(x5c[x00-x7f]))))*((([x20x09]*(x0dx0a))?[x20
x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))?x22((([x20x09]*(x0dx0
a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))*?)|(((((([x20x0
9]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))*?([x4
1-x5ax61-x7a]|[x30-x39]|[x21x23-x27x2ax2bx2dx2ex3dx3fx5ex
5fx60x7b-x7e])+((([x20x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((x
0dx0a)[x20x09]+)*))*?)|(((([x20x09]*(x0dx0a))?[x20x09]+)|([x20
x09]+((x0dx0a)[x20x09]+)*))*?x22(((([x20x09]*(x0dx0a))?[x20x09
]+)|([x20x09]+((x0dx0a)[x20x09]+)*))?(([x01-x08x0bx0cx0e-x1f
x7f]|[x21x23-x5bx5d-x7e])|(x5c([x01-x09x0bx0cx0e-x7f]|(x0a*
x0d*([x00-x09x0bx0cx0e-x7f]x0a*x0d*)*))|(x5c[x00-x7f]))))*((([
x20x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))
?x22((([x20x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20
x09]+)*))*?))(x2e((((([x20x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((
x0dx0a)[x20x09]+)*))*?([x41-x5ax61-x7a]|[x30-x39]|[x21x23-x2
7x2ax2bx2dx2ex3dx3fx5ex5fx60x7b-x7e])+((([x20x09]*(x0dx0a)
)?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))*?)|(((([x20x09]*(
x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))*?x22(((([
x20x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))
?(([x01-x08x0bx0cx0e-x1fx7f]|[x21x23-x5bx5d-x7e])|(x5c([x01
-x09x0bx0cx0e-x7f]|(x0a*x0d*([x00-x09x0bx0cx0e-x7f]x0a*x0d
*)*))|(x5c[x00-x7f]))))*((([x20x09]*(x0dx0a))?[x20x09]+)|([x20
x09]+((x0dx0a)[x20x09]+)*))?x22((([x20x09]*(x0dx0a))?[x20x09]+
)|([x20x09]+((x0dx0a)[x20x09]+)*))*?)))*))x40((((([x20x09]*(x0d
x0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))*?(([x41-x5a
x61-x7a]|[x30-x39]|[x21x23-x27x2ax2bx2dx2ex3dx3fx5ex5fx60
x7b-x7e])+(x2e([x41-x5ax61-x7a]|[x30-x39]|[x21x23-x27x2ax2b
x2dx2ex3dx3fx5ex5fx60x7b-x7e])+)*)((([x20x09]*(x0dx0a))?[x20
x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))*?)|(((([x20x09]*(x0dx0
a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))*?x5b(((([x20x0
9]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))?(([x0
1-x08x0bx0cx0e-x1fx7f]|[x21-x5ax5e-x7e])|(x5c([x01-x09x0bx
0cx0e-x7f]|(x0a*x0d*([x00-x09x0bx0cx0e-x7f]x0a*x0d*)*))|(x5c
[x00-x7f]))))*((([x20x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0d
x0a)[x20x09]+)*))?x5d((([x20x09]*(x0dx0a))?[x20x09]+)|([x20x0
9]+((x0dx0a)[x20x09]+)*))*?)|((((([x20x09]*(x0dx0a))?[x20x09]+)
|([x20x09]+((x0dx0a)[x20x09]+)*))*?([x41-x5ax61-x7a]|[x30-x39
]|[x21x23-x27x2ax2bx2dx2ex3dx3fx5ex5fx60x7b-x7e])+((([x20
x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x09]+)*))*?)(
x2e(((([x20x09]*(x0dx0a))?[x20x09]+)|([x20x09]+((x0dx0a)[x20x
09]+)*))*?([x41-x5ax61-x7a]|[x30-x39]|[x21x23-x27x2ax2bx2dx2
ex3dx3fx5ex5fx60x7b-x7e])+((([x20x09]*(x0dx0a))?[x20x09]+)|(
[x20x09]+((x0dx0a)[x20x09]+)*))*?))*)))

--
http://www.patpro.net/


1 2 3 4 5