IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Effacement de fichier


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 111
    Par défaut Effacement de fichier
    Bonjour à tous,

    Nouvel utilisateur de Linux, j'aimerais me prévenir d'une fâcheuse commande rm qui effacerait des données importantes. Pour ce faire, je souhaiterais créer un alias affichant sur le terminal un message de confirmation du genre "Etes vous sûr de vouloir supprimer les éléments sélectionnés?"

    En particulier, je pensais à un alias du genre:

    alias remove='python /home/monNome/script_remove.py ' où le script script_remove.py se chargerait d'afficher le message d'erreur et d'effectuer l'effacement comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    import os
     
    file2delete=input('What are the file/folder to delete )?')
    answer=input('Are you sure you want to delete the selected file(s)?')
    if (answer=='yes'):
    	os.system('rm -r '+str(file2delete))
    Le problème avec le code ci-dessus est que je dois d'abord lancer la commande "remove", ensuite entrer le non du fichier à effacer et finalement confirmer.

    Y-aurait-il une astuce afin d'effectuer la même opération en une seule ligne de commande, à savoir: "remove monfichier"; il me restera ensuite à confirmer la suppression.

    Merci d'avance!

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 686
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 686
    Par défaut
    euh...
    ...
    ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 865
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par L1011 Voir le message
    Bonjour à tous,

    Nouvel utilisateur de Linux, j'aimerais me prévenir d'une fâcheuse commande rm qui effacerait des données importantes. Pour ce faire, je souhaiterais créer un alias affichant sur le terminal un message de confirmation du genre "Etes vous sûr de vouloir supprimer les éléments sélectionnés?"

    En particulier, je pensais à un alias du genre:

    alias remove='python /home/monNome/script_remove.py ' où le script script_remove.py se chargerait d'afficher le message d'erreur et d'effectuer l'effacement comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    import os
     
    file2delete=input('What are the file/folder to delete )?')
    answer=input('Are you sure you want to delete the selected file(s)?')
    if (answer=='yes'):
    	os.system('rm -r '+str(file2delete))
    Le problème avec le code ci-dessus est que je dois d'abord lancer la commande "remove", ensuite entrer le non du fichier à effacer et finalement confirmer.

    Y-aurait-il une astuce afin d'effectuer la même opération en une seule ligne de commande, à savoir: "remove monfichier"; il me restera ensuite à confirmer la suppression.

    Merci d'avance!
    N_Bah t'a donné la bonne réponse.

    Toutefois, juste pour parler de ton script Python, moi je l'aurais plutôt vu comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    import os
    import sys
     
    for file in sys.argv[1:]:
    	answer=input('Are you sure you want to delete the selected file %s?' % file)
    	if answer=='yes':
    		os.system("rm -fr %s" % file)
    #for
    Ca évite au-moins de lancer un programme et devoir ensuite se faire c... à répondre à toutes ses questions
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 514
    Par défaut
    Bonsoir,

    Citation Envoyé par L1011 Voir le message
    Nouvel utilisateur de Linux, j'aimerais me prévenir d'une fâcheuse commande rm qui effacerait des données importantes.
    Comme dit plus haut, rm -i exécute rm en mode interactif pour qu'il te pose la question.

    Cela dit, beaucoup de distributions configurent ton shell pour qu'il en soit ainsi par défaut. Sauf si tu travailles sous root

Discussions similaires

  1. Effacer un fichier
    Par Mr Hyde dans le forum Général Python
    Réponses: 6
    Dernier message: 19/11/2007, 23h49
  2. effacer un fichier en lecture seule
    Par balha dans le forum C++
    Réponses: 5
    Dernier message: 15/12/2005, 17h57
  3. Réponses: 11
    Dernier message: 21/11/2005, 17h08
  4. Impossible d'effacer un fichier
    Par MiJack dans le forum Entrée/Sortie
    Réponses: 10
    Dernier message: 14/11/2005, 11h09
  5. [API WIN 32]effacer un fichier
    Par ben_iap dans le forum MFC
    Réponses: 2
    Dernier message: 30/01/2004, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo