#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
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 , c'est comme ça que je peux apprendre ce que je ne trouve pas ailleurs
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?
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.
"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