Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 12/05/2009, à 23:01

samf

Utilisation du tube | dans un terminal?

Salut à vous tous,

je cherche a faire un formatage de clef usb /dev/sdb avec la commande fdisk... dans un terminal
je pourrais très bien le faire en multi-commande en faisant:
~$    fdisk /dev/sdb
~$    d                     #delete
~$    w                     #write

mais j'aimerais faire rentrer tout cela sur une seule ligne de commande:

~$    fdisk /dev/sdb | d | w

et ça ne marche pas roll

Quelqu'un, ou quelqu'une pourrait m'expliquer pourquoi les tubes ne sont pas pris en considération?

Merci pour le temps que vous passez au profit des pives comme moi.

Dernière modification par samf (Le 12/05/2009, à 23:03)


Escusé moua les fotes d'hortografe, jé ratez mon baque...    MERCI

Ubuntu 10.04 LTS (Lynx Lucide) - Noyau Linux 2.6.32-26-generic - Gnome 2.30.2 - Ooo 3.0.2 - Python 2.5.2 - Gedit 2.30.03 (Autocomplete 0.9.6 - Better Python Console) - Firefox 3.6.13 etc.

Hors ligne

#2 Le 12/05/2009, à 23:22

wido

Re : Utilisation du tube | dans un terminal?

Bonjour , ton pipe permet de prendre la sortie de la 1er commande et de l'utiliser comme entrée pour la seconde.
ton d et w sont des options de fdisk?

parce que il n'y a rien dans man fdisk référant au option fdisk -d et fdisk -w.
il faudrait que tu utilises &&
commande1 && commande 2

explication: quand la commande1 est finie elle passe à la seconde.

et un || : exécuter une commande uniquement en cas d'échec de la précédente. ce n'est pas ça qu'il te faut.

Hors ligne

#3 Le 12/05/2009, à 23:47

samf

Re : Utilisation du tube | dans un terminal?

Merci Wido pour ta réponse rapide,

j'ai essayé:

~# fdisk /dev/sdb && d && w

mais ce n'est pas ça...

quand j'utilise fdisk, je commence par assigner la commande au disque concerné:
~# fdisk /dev/sdb

ensuite il me demande quoi faire:
commande (m pour l'aide):

j'ai un certain nombre de possibilités, dont:
d = delete
w = write
etc

j'aimerais rentrer l'ensemble dans une seul ligne de commande, mais comme je suis tout nouveau sur le terminal, je cherche des solutions pour mieux comprendre comment ça marche.

Merci


Escusé moua les fotes d'hortografe, jé ratez mon baque...    MERCI

Ubuntu 10.04 LTS (Lynx Lucide) - Noyau Linux 2.6.32-26-generic - Gnome 2.30.2 - Ooo 3.0.2 - Python 2.5.2 - Gedit 2.30.03 (Autocomplete 0.9.6 - Better Python Console) - Firefox 3.6.13 etc.

Hors ligne

#4 Le 12/05/2009, à 23:49

wido

Re : Utilisation du tube | dans un terminal?

et l'option d tu le sorts d'où?

EDIT: ok je vois ce que tu veux dire.

EDIT2: ton but précis est de faire quoi? c'est d'effacer la totalité des données qui sont sur ta clé?

Dernière modification par wido (Le 12/05/2009, à 23:53)

Hors ligne

#5 Le 13/05/2009, à 00:03

samf

Re : Utilisation du tube | dans un terminal?

Ceci te permettra peut-être de mieux cerner ma question, j'ai:
- passé en root
- listé mes disques
- assigné fdisk à sdb
- listé les actions possibles
- deleté la partition
- réécrit la partition
- relisté les disques

samuel@PortableDellSam:~$ sudo -s
root@PortableDellSam:~# fdisk -l

Disque /dev/sda: 118.5 Go, 118526284800 octets
255 heads, 63 sectors/track, 14410 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x43a9fdfc

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sda2               1        9159    73569636   83  Linux
/dev/sda3            9160       14410    42178657+   5  Extended
/dev/sda5            9160       14189    40403443+  83  Linux
/dev/sda6           14190       14410     1775151   82  Linux swap / Solaris

Disque /dev/sdb: 1977 Mo, 1977614336 octets
255 heads, 63 sectors/track, 240 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x00060170

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sdb1               1         240     1927768+   b  W95 FAT32
root@PortableDellSam:~# fdisk /dev/sdb

Commande (m pour l'aide): m
Commande action
   a   bascule le fanion d'amorce
   b   éditer l'étiquette BSD du disque
   c   basculer le fanion de compatibilité DOS
   d   détruire la partition
   l   lister les types de partitions connues
   m   afficher ce menu
   n   ajouter une nouvelle partition
   o   créer une nouvelle table vide de partitions DOS
   p   afficher la table de partitions
   q   quitter sans faire de sauvegarde
   s   créer une nouvelle étiquette vide pour disque de type Sun
   t   modifier l'identificateur de la partition système
   u   modifier l'affichage et la saisie des unités
   v   vérifier la table de partitions
   w   écrire la table sur le disque et quitter
   x   fonctionnalité additionnelle (pour experts seulement)

Commande (m pour l'aide): d
Partition sélectionnée 1

Commande (m pour l'aide): w
La table de partitions a été altérée!

Appel de ioctl() pour relire la table de partitions.
Synchronisation des disques.
root@PortableDellSam:~# fdisk -l

Disque /dev/sda: 118.5 Go, 118526284800 octets
255 heads, 63 sectors/track, 14410 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x43a9fdfc

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sda2               1        9159    73569636   83  Linux
/dev/sda3            9160       14410    42178657+   5  Extended
/dev/sda5            9160       14189    40403443+  83  Linux
/dev/sda6           14190       14410     1775151   82  Linux swap / Solaris

Disque /dev/sdb: 1977 Mo, 1977614336 octets
61 heads, 62 sectors/track, 1021 cylinders
Units = cylindres of 3782 * 512 = 1936384 bytes
Identifiant disque: 0x00060170

Périphérique Amorce    Début         Fin      Blocs    Id  Système
root@PortableDellSam:~#

Merci de te donner tant de mal pour moi smile, c'est comme ça que je peux apprendre ce que je ne trouve pas ailleurs wink

Dernière modification par samf (Le 13/05/2009, à 00:04)


Escusé moua les fotes d'hortografe, jé ratez mon baque...    MERCI

Ubuntu 10.04 LTS (Lynx Lucide) - Noyau Linux 2.6.32-26-generic - Gnome 2.30.2 - Ooo 3.0.2 - Python 2.5.2 - Gedit 2.30.03 (Autocomplete 0.9.6 - Better Python Console) - Firefox 3.6.13 etc.

Hors ligne

#6 Le 13/05/2009, à 00:10

samf

Re : Utilisation du tube | dans un terminal?

wido a écrit :

ton but précis est de faire quoi? c'est d'effacer la totalité des données qui sont sur ta clé?

Il y a des manière beaucoup plus simple de le faire, je le sais.....

Mon véritable but est de comprendre comment je peux aligner plusieurs commandes sur une seule ligne pour les éditer et quand j'en ai de nouveau besoin, je puisse les rapatrier par un copier-coller.

Quand j'aurais compris, je passerais à plus dur, c'est à dire de reformater la clef avec toutes les options imaginable: boot - ext3 - etc.

Dernière modification par samf (Le 13/05/2009, à 00:13)


Escusé moua les fotes d'hortografe, jé ratez mon baque...    MERCI

Ubuntu 10.04 LTS (Lynx Lucide) - Noyau Linux 2.6.32-26-generic - Gnome 2.30.2 - Ooo 3.0.2 - Python 2.5.2 - Gedit 2.30.03 (Autocomplete 0.9.6 - Better Python Console) - Firefox 3.6.13 etc.

Hors ligne

#7 Le 13/05/2009, à 01:11

samf

Re : Utilisation du tube | dans un terminal?

J'ai aussi fait des essais avec "echo", voici les résultats, mais il n'y en a aucun de probant....:D

samuel@PortableDellSam:~$ sudo -s
root@PortableDellSam:~# echo d|fdisk /dev/sdb

Commande (m pour l'aide): Partition sélectionnée 1

Commande (m pour l'aide): Commande (m pour l'aide): Commande (m pour l'aide): 
a obtenu EOF 3 fois - fin du programme...
root@PortableDellSam:~# echo w|fdisk /dev/sdb

Commande (m pour l'aide): La table de partitions a été altérée!

Appel de ioctl() pour relire la table de partitions.

AVERTISSEMENT: la re-lecture de la table de partitions a échoué avec l'erreur 16: Périphérique ou ressource occupé.
Le kernel va continuer d'utiliser l'ancienne table.
La nouvelle table sera utilisé lors du prochain réamorçage.
Synchronisation des disques.
root@PortableDellSam:~# fdisk -l

Disque /dev/sda: 118.5 Go, 118526284800 octets
255 heads, 63 sectors/track, 14410 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x43a9fdfc

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sda2               1        9159    73569636   83  Linux
/dev/sda3            9160       14410    42178657+   5  Extended
/dev/sda5            9160       14189    40403443+  83  Linux
/dev/sda6           14190       14410     1775151   82  Linux swap / Solaris

Disque /dev/sdb: 1977 Mo, 1977614336 octets
255 heads, 63 sectors/track, 240 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x00060170

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sdb1               1         240     1927768+   b  W95 FAT32
root@PortableDellSam:~# echo w|echo d|fdisk /dev/sdb
bash: echo: erreur d'écriture : Relais brisé (pipe)

Commande (m pour l'aide): Partition sélectionnée 1

Commande (m pour l'aide): Commande (m pour l'aide): Commande (m pour l'aide): 
a obtenu EOF 3 fois - fin du programme...
root@PortableDellSam:~# echo d|echo w|fdisk /dev/sdb

Commande (m pour l'aide): La table de partitions a été altérée!

Appel de ioctl() pour relire la table de partitions.

AVERTISSEMENT: la re-lecture de la table de partitions a échoué avec l'erreur 16: Périphérique ou ressource occupé.
Le kernel va continuer d'utiliser l'ancienne table.
La nouvelle table sera utilisé lors du prochain réamorçage.
Synchronisation des disques.
root@PortableDellSam:~# fdisk -l

Disque /dev/sda: 118.5 Go, 118526284800 octets
255 heads, 63 sectors/track, 14410 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x43a9fdfc

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sda2               1        9159    73569636   83  Linux
/dev/sda3            9160       14410    42178657+   5  Extended
/dev/sda5            9160       14189    40403443+  83  Linux
/dev/sda6           14190       14410     1775151   82  Linux swap / Solaris

Disque /dev/sdb: 1977 Mo, 1977614336 octets
255 heads, 63 sectors/track, 240 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x00060170

Périphérique Amorce    Début         Fin      Blocs    Id  Système
/dev/sdb1               1         240     1927768+   b  W95 FAT32
root@PortableDellSam:~#

Merci de me donner d'autres pistes


Escusé moua les fotes d'hortografe, jé ratez mon baque...    MERCI

Ubuntu 10.04 LTS (Lynx Lucide) - Noyau Linux 2.6.32-26-generic - Gnome 2.30.2 - Ooo 3.0.2 - Python 2.5.2 - Gedit 2.30.03 (Autocomplete 0.9.6 - Better Python Console) - Firefox 3.6.13 etc.

Hors ligne

#8 Le 13/05/2009, à 02:20

gabitbol

Re : Utilisation du tube | dans un terminal?

Salut,

Il te faut utiliser un fichier contenant la liste des commandes (une par ligne) pour fdisk, puis lancer fdisk avec une commande de ce genre :

fdisk /dev/sdb < fichier

Attention à ne surtout pas te tromper dans la liste de commandes.


PasToutAFait

"A force de sacrifier l'essentiel à l'urgent, on oublie l'urgence de l'essentiel"   
Edgar Morin

Hors ligne

#9 Le 13/05/2009, à 22:02

samf

Re : Utilisation du tube | dans un terminal?

Oui, c'est bien l'option que je vais prendre...,comme c'est du freedos, je vais essayer de faire un fichier .bat et je verrais bien si ça marche.
Seulement, mon but était de mettre la ligne de commande en ligne sur mon site. Si je fais un fichier exécutable, il faudra que je cherche comment le mettre a disposition des utilisateurs qui voudrais le downloader.

En ce qui concerne "echo", j'ai cru comprendre qu'il stockait une variable, pour la commande qui suit le pipe (tube), mais qu'il n'avait qu'une seule place de mémoire, et pas deux comme je voulait essayer de le faire travailler.....:)

Toujours est-il que j'ai eu beaucoup de plaisir dans cette discution, et j'ai appris à quoi servait le pipe, le double pipe, le &&.
Je ne clôture pas le sujet car je reviendrais donner de mes nouvelles en ce qui concerne mon batch et sa mise à disposition sur le site.

Merci à wido et gabitbol qui ont participer.

Bonne nuit et à bientôt.

Dernière modification par samf (Le 13/05/2009, à 22:11)


Escusé moua les fotes d'hortografe, jé ratez mon baque...    MERCI

Ubuntu 10.04 LTS (Lynx Lucide) - Noyau Linux 2.6.32-26-generic - Gnome 2.30.2 - Ooo 3.0.2 - Python 2.5.2 - Gedit 2.30.03 (Autocomplete 0.9.6 - Better Python Console) - Firefox 3.6.13 etc.

Hors ligne