Accueil du site > Les articles > Manipuler les objets de l’IFS.
Version à imprimer Enregistrer au format PDF

Manipuler les objets de l’IFS.

jeudi 10 mai 2007, par David Malle, Didier Encinas Visites  24438 |Popularité : 25%  Première mise en ligne le jeudi 30 octobre 2003.

Petit rappel sur les différents répertoires de l’IFS de l’AS/400, suivi d’un jeu de nouvelles commandes IBM liées à la gestion de l’IFS.


Les différents répertoires de l’IFS :

- NFS (network file system) : utilisé par les applications Unix pour partager des informations avec un autre serveur ou pour accéder aux informations d’un autre serveur

- QDLS (document library services) : stocke des documents et des dossiers AS/400

- QfileSvr.400 : utilisé pour accéder aux informations sur des AS/400 à distance

- QNetWare : utilisé par les serveurs Novell NetWare pour accéder aux informations locales et distantes

- QNTC : le système de fichiers Windows NT Server utilisé pour accéder aux informations sur des systèmes exécutant Windows NT (4.0 ou supérieur), y compris Integrated xSeries Servers ou les serveurs xSeries rattachés au moyen de l’Integrated xSeries Adapter récemment annoncé

- QOpenSys : considéré comme le système de fichiers Unix - les noms de fichiers font la distinction entre les majuscules et les minuscules

- QOPT (optical file system) : utilisé pour travailler avec des données stockées sur un média optique

- QSYS.LIB : stocke tous les objets AS/400 natifs à l’exception des dossiers et des documents

- root : le système de fichiers PC qui utilise des conventions de noms (y compris la différenciation entre les majuscules et les minuscules) qui diffèrent de QOpenSys - il est fondé sur le système de fichiers DOS et utilisé pour stocker tous les types de données PC dans des structures de répertoires PC standard

- UDFS (user-defined file system) : défini par un administrateur système et stocké dans un ASP (Auxiliary Storage Pool) ou un IASP (Independent Auxiliary Storage Pool)

Nouvelles commandes pour manipuler les objets de l’IFS :

Dans les 3 derniers mois, IBM a ajouté 3 nouveaux utilitaires IFS.

ATTENTION : pas de supports : vous les utilisez à vos risques et périls : pas de PTF connues...

(1) CmdAll

Ce programe exécute la commande passée en paramètre sur tous les fichiers d’un répertoire/d’une arborescence.

Utilisation :

CALL PGM(CMDALL) PARM(’<path>’ ’<cmd>’ ’<cmd-parameters>’)

où :

-  est le répertoire de départ
-  est la commande à executer (ex : CHGOWN, CHGPGP, CHGAUT, etc.),
-  sont les paramètres de la commande .

Exemple :

 CALL PGM(CMDALL) +
 PARM(’/test’ ’CHGPGP’ ’NEWPGP(quser) DTAAUT(*RWX) OBJAUT (*ALL)’)

(2) ChgPgpAll

Ce programe exécute la commande CHGPGP sur tous les fichiers d’un répertoire/d’une arborescence.

Utilisation :

 ChgPgpAll ’<path>’ ’<ChgPgpAll-parameters>’
 CALL PGM(CHGPGPALL) PARM(’<path>’ ’<ChgPgpAll-parameters>’)

où :

-  est le répertoire de départ
-  sont les paramètres de la commande CHGPGP (ex : USER, DTAAUT, OBJAUT, and AUTL).

Exemple :

 CALL PGM(CHGPGPALL) PARM(’/test’ ’NEWPGP(quser) DTAAUT(*RWX) OBJAUT(*ALL)’)

(3) DEL

Pour supprimer un ou plusieurs fichiers.

Utilisation :

CALL PGM(DEL) PARM(’<file>’ ’s’)

où :

-  est le fichier à supprimer
- le ’s’ optionnel permet d’explorer l’arborescence des répertoires.
- Les JOKER sont bien sûr autorisés.

Exemples :

 CALL PGM(DEL) PARM(’/home/monfichier.txt’)
 CALL PGM(DEL) PARM(’/home/*.*’)
 CALL PGM(DEL) PARM(’/home/*.eml’ ’s’)

D’autres utilitaires pour l’IFS existent depuis plus longtemps :

- ATTRIB, comme l’ATTRIB du DOS, cette commande permet de modifier les attributs d’un fichier.
- CHGAUTALL, exécute un CHGAUT sur tous les fichiers sélectionnés d’une arborescence.
- CHGCCSID, change le CCSID sur tous les fichiers sélectionnés d’une arborescence.
- CHGOWNALL, exécute un CHGOWN sur tous les fichiers sélectionnés d’une arborescence.
- DELTREE, comme le DELTREE du DOS, cette commande permet de supprimer tous les fichiers sélectionnés d’une arborescence.
- DLTIFSF, supprime un fichier contenant des caractères invalides de l’IFS.
- DSPLINK, permet de voir le niveau courant dans l’arborescence de l’IFS.
- QRYIFSLIB, cet utilitaire liste des informations comme la taille, le propriétaire, le groupe... dans un fichier externe (QGPL/QRYIFSLIB) et cumule la taille des répertoires.
- RNMIFSF, renomme un fichier contenant des caractères invalides de l’IFS.

Quelques commandes utiles

CommandeAction
WRKLNK Gérer les liens d’objets
DSPLNK Afficher les liens d’objet
CPY Copier un objet
RNM Rebaptiser un objet
MOV Déplacer un objet
ADDLNK Ajouter un lien
RMVLNK Enlever un lien
CHKOUT Verrouiller un objet
CHKIN Libérer un objet
CPYTOSTMF Copier dans fichier STREAM
CPYFRMSTMF Copier depuis fichier STREAM
SAV Sauvegarder un objet
RST Restaurer un objet

Exemples

  • Pour extraire des membres d’un fichier source dans un répertoire de l’IFS :
CPY OBJ('/QSYS.LIB/MYBIB.LIB/QRPGLESRC.FILE/*.MBR')
   TODIR('/HOME/MYREP/')
   TOCCSID(*PCASCII)
   DTAFMT(*TEXT)
  • Sur l’AS400 exécuter la commande suivante pour insérer tous les membre dans le fichier source (mais il faut les typer ensuite un par un) :
CPY OBJ('/HOME/MYREP/*.MBR')
   TODIR('/QSYS.LIB/MYBIB.LIB/QRPGLESRC.FILE/')
   FROMCCSID(*PCASCII)
   TOCCSID(*CALC)
   DTAFMT(*TEXT)

P.-S.

Article technique Ibm, cliquer Ici

Pour télécharger le fichier de sauvegarde, cliquer Ici

Pour les restaurer ensuite sur votre as/400, tapez la commande :

 RSTOBJ OBJ(*ALL) SAVLIB(DDILLING) DEV(*SAVF) +
 SAVF(yourlib/IFSTOOL) RSTLIB(targetlibrary)