Jaynco Posté(e) le 22 janvier 2006 Partager Posté(e) le 22 janvier 2006 Je suis en 1ère année à l'université en maths-info et je dois faire ce TP d'unix et l'envoyer par mail dans 3 jours et ... je n'ai pas de pc sous unix sous la main donc si quelqu'un pouvait m'aider svp TP 1 : créer un script testfichier, qui précisera le type du fichier passé en paramètre, ses permissions d'accès pour l'utilisateur : ex : résultats Le fichier /etc est un répertoire : "/etc" est accessible par root en lecture écriture exécution Le fichier /etc/smb.conf est un fichier ordinaire qui n'est pas vide : "/etc/smb.conf" est accessible par titi en lecture. TP 2 : afficher le contenu d'un répertoire Écrire un script bash listerc_dir.sh permettant d'afficher le contenu d'un répertoire en séparant les fichiers et les (sous)répertoires : $ ./listrc_dir.sh affichera : ----------------------------------- Fichiers dans /etc/rc.d ------------------------------------ rc rc.local rc.sysinit ----------------------------------- Repertoires dans /etc/rc.d --------------------------------- init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d TP 3 : lister les utilisateurs Écrire un script bash affichant la liste des noms de login des utilisateurs définis dans /etc/passwd ayant un UID supérieur à 500. Indication : for in $(cat /etc/passwd) permet de parcourir les lignes du dit fichier. TP 4 : lecture au clavier La commande bash read permet de lire une chaîne au clavier et de l'affecter à une variable. ex : echo -n "Entrer votre nom : " read nom echo "Votre nom est $nom" La commande file affiche des informations sur le contenu d'un fichier (elle applique des règles basées sur l'examen rapide du contenu du fichier). Les fichier de texte peuvent être affiché page par page avec la commande more : 1- Tester ces trois commandes ; 2- Écrire un script qui propose à l'utilisateur de visualiser page par page chaque fichier texte du répertoire spécifié en argument. Le script affichera pour chaque fichier texte (et seulement ceux là) la question "voulez vous visualiser le fichier biduletruc ?". En cas de réponse positive, il lancera more, avant de passer à l'examen du fichier suivant. TP 5 : ecrire un script bash pour créer un jeu qui genère un nombre aléatoire entre (0- 1024) et qu'il faut trouver ex : résultats trouvez le nombre caché: proposez un nombre entre 0 et 1024: 555 plus petit 200 plus grand 325 exact Merci d'avance ^^ Lien vers le commentaire Partager sur d’autres sites More sharing options...
pcboy Posté(e) le 22 janvier 2006 Partager Posté(e) le 22 janvier 2006 En gros tu veux qu'on te le fasse non ? PS: tu does ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jaynco Posté(e) le 22 janvier 2006 Auteur Partager Posté(e) le 22 janvier 2006 Bah j'avais fait le 1er avec un ami , on avait trouvé mais pour les autres je sèches :s ça donnait ça pour le 1er : if [ -d $1 ] then echo le fichier $1 est un repertoire elif [ \( -f $1 \) -a \( -s $1 \) ] then echo "le fichier $1 est un fichier ordinaire qui n'est pas vide" else echo "le fichier $1 est un fichier vide ou inexistant" fi if [ -r $1 ] then if [ -w $1 ] then if [ -x $1 ] then echo "$1 est accessible en lecture ecriture execution" else echo "$1 est accessible en lecture ecriture" fi else if [ -x $1 ] then echo "$1 est accessible en lecture execution" else echo "$1 est accessible en lecture" fi fi else if [ -w $1 ] then if [ -x $1 ] then echo "$1 est accessible en ecriture execution" else echo "$1 est accessible en ecriture" fi else if [ -x $1 ] then echo "$1 est accessible en execution" else echo "$1 n'est pas accessible" fi fi fi J'essaye de faire les autres sur papier mais je ne peux pas vérifier si ça marche Lien vers le commentaire Partager sur d’autres sites More sharing options...
Soulfly_tribe90 Posté(e) le 22 janvier 2006 Partager Posté(e) le 22 janvier 2006 Je vois que l'on s'amuse toujours aussi bien en math-info Moi je suis en 3eme année et j'en ai marre des maths Lien vers le commentaire Partager sur d’autres sites More sharing options...
ceric35 Posté(e) le 22 janvier 2006 Partager Posté(e) le 22 janvier 2006 4e année, me que d'info Tu a bien du avoir des cours la dessus ! Vu que tu a pas de pc sous linux, tu aurait du t'y prendre à l'avance, en gros faut qu'on te fasse tout ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
fabien29200 Posté(e) le 22 janvier 2006 Partager Posté(e) le 22 janvier 2006 En + ce sujet serait + à sa place dans Programmation ... même si c'est de la prog sous Linux ;-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bab00n Posté(e) le 22 janvier 2006 Partager Posté(e) le 22 janvier 2006 voila pour le TP2 ... je l'ai tester il marche y'a pas de pb je suis en premiere anné d'IUT info a dijon, sa me fais un peut d'entrainement pour mes cour d'unix ... #!/bin/bash echo "-----------------Fichier dans /etc/rc.d-----------------" for LeFic in `ls /etc/rc.d/*` do if [ -f $LeFic ] ; then echo $LeFic |cut -d'/' -f6 ; fi done echo "----------------Répertoire dans /etc/rc.d---------------" ls -l /etc/rc.d/* |grep "^d" | tr -s " " | cut -d' ' -f8 si j'ai le temps je ferais les suivant Lien vers le commentaire Partager sur d’autres sites More sharing options...
zoto Posté(e) le 22 janvier 2006 Partager Posté(e) le 22 janvier 2006 Salut Sinon pour tester tu chope qemu et tu utilise linux dans une machine virtuelle a+ Lien vers le commentaire Partager sur d’autres sites More sharing options...
guanoapes Posté(e) le 22 janvier 2006 Partager Posté(e) le 22 janvier 2006 Je suis en 1ère année à l'université en maths-info et je dois faire ce TP d'unix et l'envoyer par mail dans 3 jours et ... je n'ai pas de pc sous unix sous la main donc si quelqu'un pouvait m'aider svp http://knoppix-fr.org/download/#knoppix http://kaella.linux-azur.org/index.php#telechargement Sont tes amies. Tu peux tester là dessus. Ensuite vient mettre tes résultats ici, ça intéressera les personnes qui ne maitrisent pas bash et ceux qui connaissent pourront te donner leur avis. Mais prendre du temps pour te le faire, ça non. Indication : for in $(cat /etc/passwd) permet de parcourir les lignes du dit fichier. manque un nom de variable.ex : echo -n "Entrer votre nom : " EntreZ if [ -d $1 ] then echo le fichier $1 est un repertoire elif [ \( -f $1 \) -a \( -s $1 \) ] then echo "le fichier $1 est un fichier ordinaire qui n'est pas vide" else echo "le fichier $1 est un fichier vide ou inexistant" fi if [ -r $1 ] then if [ -w $1 ] then if [ -x $1 ] then echo "$1 est accessible en lecture ecriture execution" else echo "$1 est accessible en lecture ecriture" fi else if [ -x $1 ] then echo "$1 est accessible en lecture execution" else echo "$1 est accessible en lecture" fi fi else if [ -w $1 ] then if [ -x $1 ] then echo "$1 est accessible en ecriture execution" else echo "$1 est accessible en ecriture" fi else if [ -x $1 ] then echo "$1 est accessible en execution" else echo "$1 n'est pas accessible" fi fi fi J'essaye de faire les autres sur papier mais je ne peux pas vérifier si ça marche Moi j'aurait fait comme ça : (Pas testé) #! /bin/bash [ ! -r $1 ] && [ ! -w $1 ] && [ ! -x $1 ] && echo "non accessible" && exit echo -n "$1 est accessible en mode" [ -r $1 ] && echo -n " lecture" if [ -w $1 ]; then [ -r $1 ] && echo -n "," echo -n " écriture" fi if [ -x $1 ]; then [ -r $1 ] || [ -w $1 ] && echo -n " et" echo -n " execution" fi echo "" En + ce sujet serait + à sa place dans Programmation ... même si c'est de la prog sous Linux ;-) Ou dans le topic sur bashOu comme dit zoto, tu peux aussi utiliser qemu (enfin c'est brutal quand même, je pense que c'est plus agréable de passer par cygwin ou un livre CD... avant d'avoir la bonne idée de mettre définitivement windows à la poubelle). edit duke : le panneau Lien vers le commentaire Partager sur d’autres sites More sharing options...
guanoapes Posté(e) le 22 janvier 2006 Partager Posté(e) le 22 janvier 2006 for LeFic in `ls /etc/rc.d/*` Arg, surtout pas ça !Pourquoi utiliser ls ? Et puis ta ligne est bien compliquée... Pareil, pas testé non plus, mais moi j'aurait fait comme ça : for myfile in /etc/rc.d/*; do if [ -f $file ] # Ou peut être /etc/rc.d/$file plutôt, ça me semble plus logique echo "..." Pareil avec -d. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Duke98 Posté(e) le 22 janvier 2006 Partager Posté(e) le 22 janvier 2006 En + ce sujet serait + à sa place dans Programmation ... même si c'est de la prog sous Linux ;-) ben je me suis demandé, mais les scripts bash sont plutot traités ici (dur dur de classer des fois ...) donc je laisse ici (à moins que quelqu'un ait un argument massue qui m'a échappé -> mp ) je pense aussi que ca fouttrait plus le bordel qu'autre chose de fusionner avec le topic bash. Comme dit dans les règles, de manières générales, on se conte du "un problème, un topic" afin de faciliter les recherches ps : merci de pas quoter les modopliz Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sentinel Posté(e) le 22 janvier 2006 Partager Posté(e) le 22 janvier 2006 Dis donc, plutôt que de faire faire ton projet par les autres (gratos en plus !), tu bootes sur un LiveCD linux pour avoir un Bash, et tu te remontes un peu les manches ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jaynco Posté(e) le 22 janvier 2006 Auteur Partager Posté(e) le 22 janvier 2006 ouais je vais télécharger un live CD cette nuit( parce que c'est lourd comme fichier) et je posterais mes résultats quand j'aurais finis Merci à vous tous ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
neoshotgun Posté(e) le 25 janvier 2006 Partager Posté(e) le 25 janvier 2006 Bonjour, Etant newb, je me suis amusé à faire le TP5 pour me remettre au bash. Donc voici mon script: #!bin/bash MAX=1025 let "nb_aleatoire = $RANDOM % $MAX" # % 10 >> modulo 10 entrer_nombre() # memorise un nombre donne par l'utilisateur dans la variable "nb" { echo -n "Donnez un nombre entre 1 et 1024: " read nb } comparer_nombre() # compare le nombre donne par l'utilisateur au nombre aleatoire # informe l'utilisateur si le nombre est plus grand ou plus petit # que le nombre aleatoire { if [ $1 -gt $nb_aleatoire ] then echo "Le nombre est plus petit que $1" entrer_nombre else echo "Le nombre est plus grand que $1" entrer_nombre fi } entrer_nombre while [ $nb_aleatoire -ne $nb ] do comparer_nombre $nb done echo "Bravo, vous avez trouvé!!" NB: Ca pourra servir de correction pour Jaynco (après confirmation) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jaynco Posté(e) le 27 janvier 2006 Auteur Partager Posté(e) le 27 janvier 2006 J'ai abandonné,j'arrivais à rien , j'ai envoyé juste ce que je savais faire ! Tant pis, j'avais réussi l'exam qui compte pour 3/4 de la note finale et le TP compte pour 1/4 Merci à tous Lien vers le commentaire Partager sur d’autres sites More sharing options...
gnuhurd Posté(e) le 28 janvier 2006 Partager Posté(e) le 28 janvier 2006 Jaynco : C'est bien dommage. Tu pouvais demander de l'aide au forum, on est là pour ça. D'ailleurs certaines personnes t'on aidées. Il faut juste ne pas confondre aider et faire le boulot des autres. Par ailleurs si tu avait posté tes solutions ou là où tu coincait, je suis sûr que plein de gens auraient lu ça et on aurait pu échanger des avis sur la façon de coder, d'optimiser, de faire, c'est toujours intéressant. Et puis ça peut rafraichir la mémoire de ceux qui n'ont pas programmé depuis lontemps et/ou donner des idées aux personnes qui ne programment pas encore (voir leur donner envie de scripter). Enfin... J'espère que tu as réussi ton examen. Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuxbubling Posté(e) le 28 janvier 2006 Partager Posté(e) le 28 janvier 2006 Moi le 2 j'aurai fait: cd /etc/rc.d && find * -type f cd /etc/rc.d && find * -type d Meme si c'est trop tard Pourquoi t'as pas un linux d'installé, surtout si ta des cours dessus..... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.