= Manipulation de fichier avec aliensh = [[PageOutline]] == Configurer l'environnement ALICE == Pour pouvoir avoir accès aux commandes alien, vous devez [https://lpsc.in2p3.fr/trac/informatique/wiki/tutoAliceEnvLPSC configurer votre environnement ALICE] == Lancer une fenêtre de shell aliensh == {{{ sh-3.00$ aliensh [ aliensh 2.1.18 (C) ARDA/Alice: Andreas.Joachim.Peters@cern.ch/Derek.Feichtinger@cern.ch] aliensh:[alice] [1] /alice/cern.ch/user/f/flambert/ > }}} Aliensh est un environnement virtuel qui ressemble beaucoup à un shell usuel. Tout se passe comme si vous étiez connecté à une autre machine.[[BR]] Par la suite, je parlerais d'environnement '''Grid''' pour désigner aliensh et d'environnement '''Local''' pour désigner la machine d'où vous vous êtes connecté (généralement une UI). == La variable alien_CLOSE_SE == (note: à vérifier) alien est un shell qui vous présente les données de la grille comme si elles se trouvaient sur un disque local. En réalité, toutes les données que vous manipulez par l'intermédiaire d'un compte 'alien' sont stockées sur un SE de la grille.[[BR]] Si vous ne précisez pas explicitement lequel, les commandes alien de manipulation de données prennent par défaut le SE définit par la variable '''alien_CLOSE_SE'''[[BR]] {{{ aliensh:[alice] [2] /alice/cern.ch/user/f/flambert/ >echo $alien_CLOSE_SE ALICE::Grenoble::DPM }}} == Les commandes du shell aliensh == Vous pouvez trouver une explication détaillée des [http://project-arda-dev.web.cern.ch/project-arda-dev/alice/apiservice//guide/ALICE%20Analysis%20User%20Guide%20V1.0.htm#_Toc156732013 commandes disponibles] dans le user guide aliensh. == Commandes utiles == ==== '''ls''' : Liste des fichiers ==== Cette commande vous permet de lister vos fichiers dans l'environnement virtuel aliensh. {{{ aliensh:[alice] [1] /alice/cern.ch/user/f/flambert/ >ls .FILES_TO_COPY alien-tests bin FILES_TO_COPY Tutorial }}} ==== '''cp''' : copie de fichier ==== * Local -> Grid Dans l'exemple ci dessous, le fichier est copié du compte local sur le SE défini par défaut. {{{ aliensh:[alice] [15] /alice/cern.ch/user/f/flambert/ >cp file:/atlas/lambert/test.xml alien:test.xml [xrootd] Total 0.00 MB |====================| 100.00 % [0.8 MB/s] aliensh:[alice] [21] /alice/cern.ch/user/f/flambert/ >ls ... test.xml }}} Pour copier le fichier sur la grille sur un autre SE que celui par défaut, il faut préciser le SE {{{ aliensh:[alice] [20] /alice/cern.ch/user/f/flambert/ >cp file:/atlas/lambert/test.xml alien:test2.xml@ALICE::CERN::SE [xrootd] Total 0.00 MB |====================| 100.00 % [4.9 MB/s] aliensh:[alice] [21] /alice/cern.ch/user/f/flambert/ >ls ... test.xml test2.xml }}} * Grid-> Local {{{ aliensh:[alice] [23] /alice/cern.ch/user/f/flambert/ >cp alien:test2.xml file:/atlas/lambert/test3.xml [xrootd] Total 0.00 MB |====================| 100.00 % [0.1 MB/s] }}} Puis sur le compte local {{{ [lambert@lpsc-ui ~]$ ls ... test3.xml }}} ==== '''whereis''' : trouver un fichier ==== Cette commande vous permet d'obtenir des informations sur le SE qui héberge physiquement votre fichier. {{{ aliensh:[alice] [17] /alice/cern.ch/user/f/flambert/ >whereis test.xml Oct 20 09:42:04 info The file test.xml is in SE => ALICE::Grenoble::DPM pfn =>root://lpsc-se-dpm-server.in2p3.fr:1094//dpm/in2p3.fr/home/alice/04/65235/d25571d8-bd4a-11de-8f1f-001e0b4e0440 aliensh:[alice] [22] /alice/cern.ch/user/f/flambert/ >whereis test2.xml Oct 20 09:52:18 info The file test2.xml is in SE => ALICE::CERN::SE pfn =>root://pcaliense04.cern.ch:1095//04/18702/0f2880bc-bd4d-11de-8271-001e0b4e0440 }}} ==== '''erase''': effacer physiquement un fichier ==== {{{ #!html Attention avec cette commande vous effacez physiquement tous les répliquas du fichier ainsi que ses références dans le LFC d'alien. }}} {{{ aliensh:[alice] [32] /alice/cern.ch/user/f/flambert/ >erase test2.xml Oct 20 10:09:34 info Making the envelope ourselves: -s delete /alice/cern.ch/user/f/flambert/test2.xml ALICE::CERN::SE Oct 20 10:09:34 info Checking the size in ALICE::CERN::SE (1073741824) Storagename 1k-blocks Used(KB) Available Use% #Files Type min_size alice::CERN::SE 21999124480 6662804490 15336319990 30% 1667740 File ... aliensh:[alice] [33] /alice/cern.ch/user/f/flambert/ >whereis test2.xml Oct 20 10:11:00 info Error missing the guid in getAllInfoFromGUID Oct 20 10:11:00 info Error getting the info from 'test2.xml' }}} ==== '''rm''':effacer une référence d'un fichier ==== Les fichiers qui apparaissent sous votre environnement Grid sont en fait des alias enregistré dans un AlienFC (AlienFileCatalogue). La commande rm permet de supprimer une référence dans ce catalogue sans supprimer physiquement le fichier sur le SE. [wiki:dataMgt up] ;