[PYTHON] Vérifiez à l'avance ce qui se passe lorsque la commande est exécutée

Aperçu

Essayez d'utiliser un outil Python peut-être qui vous permet de voir ce qui se passe lorsque vous exécutez une commande.

Il semble que vous puissiez vérifier à l'avance les opérations sur les fichiers telles que la création, la suppression, le déplacement et la modification des autorisations en exécutant des commandes. 01.png

** Précautions **

That being said, maybe should :warning: NEVER :warning: be used to run untrusted code on a system you care about!
A process running under maybe can still do serious damage to your system because only a handful of syscalls are blocked.
Currently, maybe is best thought of as an (alpha-quality) "what exactly will this command I typed myself do?" tool.

Procédure d'installation

Installer avec pip

# pip install maybe

comment utiliser peut-être

Ajoutez simplement peut-être avant d'exécuter la commande

$ maybe COMMAND [ARGUMENT]...

Essayez d'utiliser

$ ls
file1  file2  file3

** Supprimer le fichier **

$ maybe rm -f ./*
maybe has prevented rm -f ./file1 ./file2 ./file3 from performing 3 file system operations:

  delete /home/*******/test/file1
  delete /home/*******/test/file2
  delete /home/*******/test/file3

Do you want to rerun rm -f ./file1 ./file2 ./file3 and permit these operations? [y/N] y
$

Demande si tu veux vraiment le faire

** Ajouter un répertoire / fichier **

$ maybe mkdir test ;maybe touch test/file1
maybe has prevented mkdir test from performing 1 file system operations:

  create directory /home/*******/test/test

Do you want to rerun mkdir test and permit these operations? [y/N] y
maybe has prevented touch test/file1 from performing 1 file system operations:

  create file /home/*******/test/test/file1

Do you want to rerun touch test/file1 and permit these operations? [y/N] y

** Démarrer un démon **

# maybe /etc/init.d/docker start
Starting docker:
maybe has prevented /etc/init.d/docker start from performing 26 file system operations:

  write 33 bytes to /var/log/docker
  create file /root/nohup.out
  write 7 bytes to /var/log/docker
  write 35 bytes to /var/log/docker
  write 1 bytes to /var/log/docker
  create file /var/run/docker.pid
  write 4 bytes to /var/run/docker.pid
  write 91 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 5 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 7 bytes to /root/nohup.out
  write 6 bytes to /root/nohup.out
  write 7 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out
  write 1 bytes to /root/nohup.out

Do you want to rerun /etc/init.d/docker start and permit these operations? [y/N]

Recommended Posts

Vérifiez à l'avance ce qui se passe lorsque la commande est exécutée
Animer ce qui se passe dans l'espace de fréquences lorsque la fréquence de Nyquist est dépassée
[Question] Que se passe-t-il si vous utilisez% en python?
[Python] Choses à vérifier lorsqu'une erreur de décodage Unicode apparaît dans Django
Lorsque le nom de la variable entre en conflit avec la commande Devaga dans pdb
Exécuter des commandes externes avec python
Maîtrisez le type avec Python? (Quand faire la vérification de type)
[AWS] Que faire lorsque la commande ping provoque un "délai d'expiration"
[Sous-processus] Lorsque vous souhaitez exécuter un autre programme Python en code Python
Que faire si vous ne pouvez pas utiliser la poubelle dans Lubuntu 18.04.
Que faire lorsque vous obtenez "Je ne peux pas voir le site !!!!"
Que faire lorsque le type de valeur est ambigu en Python?
Que se passe-t-il lorsque je change les hyper paramètres de SVM (noyau RBF)?
Vérifiez le comportement lors de l'attribution de Python
Dans la commande python, python pointe vers python3.8
Vérifiez le résumé des données dans CASTable
Lorsque le nœud disparaît dans rqt_graph
Que faire lorsque le résultat téléchargé via scrapy est en anglais
Comment masquer l'invite de commande lors de l'exécution de python dans Visual Studio 2015
Que faire lorsque l'avertissement "L'environnement est cohérent ..." apparaît dans l'environnement Anaconda
Que se passe-t-il si vous "importez A, B comme C" en Python?
Si vous obtenez une erreur sans attribut dans boto3, vérifiez la version
Lorsque base.html ne peut pas être appelé dans Django
Vérifiez le comportement du destroyer en Python
Comportement lors du retour dans le bloc with
Apprenez le modèle de conception "Commande" en Python
Vérifiez si l'URL existe en Python
Qu'est-ce que "mahjong" dans la bibliothèque Python? ??
Notifier Slack lorsque la commande Linux se termine
Lorsque la cible est Ubuntu 16.04 dans Ansible
Que se passe-t-il quand Ikura prononce vos paroles?
Utilisez la commande que vous avez précédemment entrée dans IDLE
Exécutez la commande COPY en utilisant Psycopg de python
Quand le graphique précédent reste dans Seaborn
Vous recherchez commandlinefu sur la ligne de commande
Ce que j'ai fait quand je suis resté coincé dans le délai avec lambda python
Implémenter la possibilité de réserver ce qui se passe régulièrement dans la liste Django Todo
Un mémorandum expliquant comment exécuter la commande magique! Sudo dans Jupyter Notebook
La première chose à vérifier quand un No Reverse Match se produit dans Django
Que faire lorsque le graphique n'apparaît pas sur le notebook Jupyter (IPython)
Qu'advient-il du journal d'accès lorsque le site Web est automatiquement accédé par sélénium-webdriver