Manipuler les objets 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('' '' '')

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 '' ''
CALL PGM(CHGPGPALL) PARM('' '')

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('' '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

Commande Action
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)

Print Friendly, PDF & Email