window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-110469859-1');
Tfic

Indice NDT

(N)iveau requis, de l’utilisateur à l’expert.
(D)ifficulté : Simple, Moyenne, Complexe.
(T)emps estimé pour la réalisation.

Utilisateur Technicien Expert
Niveau
Simple Moyenne Complexe
Difficulté
– d’une heure + de 5 heures 12 heures et +
Temps

OcM

Objectif de l’article.
Contexte de la réalisation.
Modalité de l’éxécution.

Disposer facilement d’un ensemble de fichiers et de dossiers pour des tests.

Démonstration logicielle, bench réseau, formation, etc…

Utilisation d’un script Shell Bash , par exécution directe et/ou en ligne de commande.

Avoir des fichiers dans une arborescence est très souvent nécessaire, lorsqu’on souhaite effectuer des tests avec un logiciel, un système d’exploitation, comparer des vitesses de copie, analyser des temps de latence réseau etc.. L’article « Créer un fichier (..) » en juin 2014,  expliquait comment via la commande mkfile, sous Terminal, on pouvait  créer un fichier d’une taille donnée.

TFic est un script maison,  permettant d’automatiser cette action et ainsi créer rapidement  de 1 à 100 dossiers, dans lequel on aura de 1 à 100 fichiers, de taille respectives de 1 à 100 Mo.

C-I-P-E


Dans les onglets suivants on retrouve les éléments pour le (C)ontenu son (I)nstallation, son (P)aramètrage et enfin son (E)xploitation.

Tfic est un script bash composé :

  • du script – Tfic

Le script s’exécute automatiquement (double clic sous Finder) ou manuellement (via la ligne de commande sous Terminal).

Prérequis :

  • Disposer d’un compte utilisateur standard ou Administrateur sur le Mac concerné.

On installe le script dans un dossier du Mac.

Ce n’est pas le dossier visé pour la « génération ».
Idéalement un dossier personnel.
Une fois déposé  on y accède via le Finder ou en manuel via Terminal.

Le paramètrage est interne au script et selon son mode d’exécution.

  • Mode automatique

Le script prédétermine les dossiers Bureau, Documents ou Téléchargement (au choix) de l’utilisateur courant, comme un parent pour le dossier Tfic et ses dossiers et fichiers générés.

Le script s’appuie sur la syntaxe apportée en paramètre de la commande. (vérification de cohérence — volume et dossier présents –)

Exemple : bash Tfic /Volumes/HD2/cmoi  ==> Génération Tfic demandée sur Volume HD2 dans dossier cmoi.

Pour tous les modes

Les paramètres suivants sont internes au script et bornés :

  • Nombre des dossiers de 1 à 100 max
  • Taille des fichiers de 1 à 100 Mo max
  • Nombre des fichiers de 1 à 100 max

Soit une capacité max à produire 100 dossiers contenant 100 fichiers chacun de 100 Mo soit une charge maximale de 1 To.

A noter : Quelque soit le mode d’exécution, Tfic vérifie que l’espace libre (-20%) du disque dur utilisé pour la génération des fichiers, est suffisant. Dans le cas contraire, le traitement stoppe.

  • On exécute le script via le Finder – mode automatique

double clic sur le script = exécution terminal en  fenêtrée.

ou

  • On peut  exécuter en ligne de commande – mode Manuel

Dans ce cas, il faut :

  1. ouvrir une session Terminal sur le Mac
  2. saisir la commande bash suivi du chemin où se trouve le script Tfic et Tfic lui même.
exemple : bash /Users/toto/Desktop/Tfic  /Volumes/HD2/cmoi

– lance le script situé sur le bureau de l’utilisateur toto,
– en précisant de générer les fichiers sur le disque HD2 dans le dossier cmoi.

Traces


Les fichiers générés sont produits dans un dossier Tfic.

A la racine de Tfic se trouve info.txt, traces de la génération réalisée. (fichier qui peut être supprimé)

A noter : Dans les dossiers nommés numériquement, les fichiers aussi numériquement nommés d’extension .tst sont remplis de 1 et 0 inexploitables via un logiciel applicatif habituel. Inutile de tenter de les ouvrir, il s’agit de remplissage c’est tout !

Démo


Le Paquet


Composé de 2 fichiers

  1. TFic le script Bash V1.1

Tfic.zip Taille de l’archive zip – 2 ko – Signatures

FAQ


Les principales questions/réponses collectées sur le sujet et/ou les éventuelles évolutions.

Créer des listes hors des dossiers utilisateurs2018-09-11T16:11:04+02:00

En utilisation automatique la création des fichiers est proposée dans Documents Bureau ou Téléchargement de l’utilisateur en cours.
Si l’on souhaite créer des dossiers sur une autre unité disque il faut passer en exécution « ligne de commande » via terminal.

Saisir :

bash chemin/nom_du_script chemin/dossier_pere
  • bash force l’interpréteur de commande
  • chemin/nom_du_script, comme par exemple /Users/toto/Desktop si le script est sur le bureau de l’utilisateur toto
  • chemin/dossier_père, par exemple /Volumes/HD2/cmoi ie le dossier cmoi sur le disque HD2.

A noter:  1/ On peut éviter la saisie en effectuant un glisser-déposer depuis le Finder (cf à gauche Rapide Démo vidéo).
2/ Le volume peut être une ressource partagée comme un dossier d’un NAS par exemple.

Sécurisation du process2018-09-11T15:29:39+02:00

100 dossiers x 100 fichiers de 100 Mo = 1 To !


Pas envie de saturer votre disque ?

Rassurez vous, Tfic effectue un contrôle systématique de la capacité du disque. Il ôte même 20% de la référence pour éviter tout accident.
Ainsi,  si la taille de l’ensemble des fichiers/dossiers à générer est égale ou excède la taille libre -20% du disque dur sur lequel on cible le résultat, alors le traitement stoppe sans générer aucun dossier ni fichier.

Pas n’importe où


En automatique la génération de Tfic se limite aux seuls dossiers autorisés : Documents, Téléchargement ou Bureau de l’utilisateur courant.
Si ces derniers n’existent pas, le traitement stoppe et aucun dossier ni fichier n’est généré.

En Manuel, une vérification d’existence (en sus du contrôle de capacité – comme en automatique – cité plus haut) est réalisé sur le chemin/dossier associé en paramètre. Si ce dernier n’existe pas, le traitement stoppe et aucun dossier ni fichier n’est généré.

Shell Linux2020-03-10T15:57:52+01:00

Un shell est un programme qui fait office d’interface entre vous et l’ordinateur sous la forme d’un interpréteur de commandes.
Le Shell est le programme qui fait office entre nous et l’ordinateur. C’est l’intrèpréteur de commandes de base sous le système d’exploitation. Sous linux/Unix il en existe plusieurs :

  • Almquist shell (ash) : écrit en remplacement du Bourne Shell, sous licence BSD ; souvent utilisé dans des environnements aux ressources limitées. Les sh de FreeBSD, NetBSD (et leurs dérivés) sont basés sur des cendres qui ont été améliorées pour être conformes à POSIX. (présent sur le NAS Synology)
  • Bourne Shell (sh) : Le shell Bourne était le shell par défaut de la version 7 d’Unix. De nombreux systèmes de type Unix continuent à avoir /bin/sh – qui est l’interpréteur de commandes Bourne, ou un lien (symbolique ou en dur) vers un interpréteur de commandes compatible. (par défaut sur le NAS Synology)
  • Bourne-Again shell (bash) : écrit dans le cadre du projet GNU pour fournir un sur-ensemble de fonctionnalités du Bourne Shell. Ce shell est souvent pré-installé et est le shell interactif par défaut pour les utilisateurs sur la plupart des systèmes Linux et macOS (jusqu’à Catalina macOS 10.15)
  • C shell (csh) : Shell Unix créée par Bill Joy alors qu’il était étudiant à l’Université de Californie, Berkeley, à la fin des années 1970. Il a été largement distribué, à commencer par la version 2BSD de la Berkeley Software Distribution (BSD) pour la première fois en 1978.
  • Debian Almquist shell (dash) : un remplacement moderne du shell ash dans Debian et Ubuntu
  • Korn shell (ksh) : écrit par David Korn à partir des sources du shell Bourne alors qu’il travaillait aux Bell Labs
  • Public domain Korn shell (pdksh) : Shell Unix qui a été développé par David Korn aux Bell Labs au début des années 1980 et annoncé sur USENIX le 14 juillet 1983. Le développement initial était basé sur le code source du shell Bourne.
  • MirBSD Korn shell (mksh): un descendant du ksh d’OpenBSD et de pdksh, développé dans le cadre de MirOS BSD
  • TENEX Shell (tcsh): Shell Unix basé sur et compatible avec csh. Il s’agit essentiellement d’un interpréteur de commandes C avec une complétion en ligne de commande programmable, une édition en ligne de commande et quelques autres fonctionnalités. Il s’agit de l’interpréteur de commandes racine natif pour les systèmes basés sur BSD comme FreeBSD.
  • Z shell (zsh): une coquille relativement moderne qui est rétrocompatible avec le bash. C’est le shell par défaut dans macOS depuis la version 10.15 de Catalina . Présent aussi sur le NAs Synology DSM6.

Quel shell ai-je par défaut ?


COPIER

D’autres SHELL présents ?


COPIER

Changer le shell par défaut ?


COPIER

Sortir du mode Terminal et se reconnecter pour constater que désormais c’est ce shell qui est appliqué par défaut.

2020-12-31T16:24:20+01:0011 Sep 2018|Archives, Archives 2018, MacOS|

Envie de partager cet article ...

Aller en haut