Définition¶
Le système de fichier peut être vu comme un arbre dont les feuilles sont des dossiers et fichiers. On peut se déplacer dans cet arbre en suivant les branches.
L'arbre ci-dessous est ancré par sa racine, le dossier /
En suivant les branches, nous observons que le dossier /
contient notamment :
- Un dossier
shared
- Qui lui-même contient un dossier
bank
- Qui lui-même contient un dossier
homo_sapiens
Ainsi, on peut dire que le chemin du dossier homo_sapiens
est /shared/bank/homo_sapiens
Comment retrouver son chemin dans ce labyrinthe ?¶
1. Savoir se repérer¶
Pour savoir où vous êtes dans cette arborescence, vous pouvez utiliser la commande pwd
qui signifie print work directory
# Afficher le chemin absolu où l'on se trouve
pwd
/shared/ifbstor1/projects/2422_ebaii_n1/cours_commun/TP_linux
Nous sommes dans une branche différente de celle dont nous venons de parler.
2. Changer de chemin¶
Ici c'est la commande cd
qui va devenir notre meilleure alliée. Vous verrez vite que ce change directory est surement la commande que nous utiliserons le plus. Il est important de bien comprendre son fonctionnement.
D'abord sa structure : cd chemin_de_destination
a. Le chemin absolu¶
Lorsque l'on spécifie le chemin depuis la racine jusqu'à notre dossier d'arrivée, on parle de chemin absolu.
Selon vous, pour nous rendre dans le dossier homo_sapiens
, quel est le chemin absolu ?
/shared/bank/homo_sapiens
Essayons de nous y rendre avec la commande cd
# Commande pour nous rendre dans le dossier /shared/bank/homo_sapiens
cd /shared/bank/homo_sapiens
Vérifiez où vous êtes avec une des commandes vu précédemment
# Afficher le chemin absolu où l'on se trouve
pwd
/shared/bank/homo_sapiens
b. Le chemin relatif¶
Dans notre dossier courant (celui où nous nous trouvons à l'instant T) se trouve le dossier hg19/star-2.7.5a
.
C'est un chemin relatif. On ne repart pas de la racine, on se situe par rapport à notre emplacement actuel.
Essayez maintenant de vous rendre dans le dossier hg19/star-2.7.5a
.
# Commande pour nous rendre dans le dossier hg19/star-2.7.5a
cd hg19/star-2.7.5a
Vérifions où nous sommes
# Afficher le chemin absolu où l'on se trouve
pwd
/shared/bank/homo_sapiens/hg19/star-2.7.5a
Nous sommes bien toujours dans /shared/bank/homo_sapiens
. Nous sommes juste parti plus loin dans l'architecture
C. Remonter dans l'arborescence¶
Par mégarde, vous êtes descendu dans la mauvaise branche. Vous souhaitiez vous rendre dans le dossier fasta
.
cd
autorise de remonter dans l'arborescence en utilisant ..
Vérifions encore une fois où nous sommes, puis remontons d'un cran, vérifions à nouveau, descendons dans le dossier fasta
et vérifions une dernière fois. Vous devez avoir cinq lignes de commandes dans le bloc ci-dessous :
# Afficher le chemin absolu où l'on se trouve
pwd
# Commande pour remonter d'un cran dans l'arborescence
cd ..
# Afficher le chemin absolu où l'on se trouve
pwd
# Commande pour nous rendre dans le dossier fasta
cd fasta
# Afficher le chemin absolu où l'on se trouve
pwd
/shared/bank/homo_sapiens/hg19/star-2.7.5a /shared/bank/homo_sapiens/hg19 /shared/bank/homo_sapiens/hg19/fasta
Remontons cette fois de deux crans et descendons de suite dans le dossier hg38
. Vérifiez que vous êtes au bon endroit ensuite. Vous devez n'avoir que deux lignes de commandes.
# Commande pour remonter de deux crans et resdescendre dans le dossier hg38
cd ../../hg38
# Afficher le chemin absolu où l'on se trouve
pwd
/shared/bank/homo_sapiens/hg38
Les ../..
peuvent être enchainés autant que nécessaire et être suivis de chemin relatif.
Tips pour gagner du temps¶
Ecrire un chemin complet est fastidieux et source d'erreur.
Si vous voulez gagner du temps et épater vos proches, vous pouvez utiliser l'autocomplétion !
C'est simple, double taper sur la touche tabulation et les noms de dossier possible s'afficherons. Pour "filtrer" un peu, vous pouvez taper la première lettre du nom du dossier de destination.
Ne soyez pas étonné de nous entendre répéter toute la semaine <TAB><TAB>, c'est le signal pour penser à tabuler et gagner de précieuses secondes.
Dans le bloc ci-dessous nous vous avons écrit le début du chemin, à vous de vous rendre dans le dernier dossier schizosaccharomyces_pombe
sans taper plus de deux lettres !
# Commande pour nous rendre dans le dossier /shared/bank/schizosaccharomyces_pombe
cd /shared/bank/
En ajoutant simplement le s
et éventuellement le c
, vous attérissez dans le bon dossier.
Visualiser l'arbre¶
S'y retrouver avec tous ces dossiers n'est pas évident. Heureusement deux commandes importantes nous permettrons de visualiser un peu mieux le contenu des dossiers.
1. Voir tout l'arbre¶
L'ulisation du mot "arbre" pour décrire notre entremêlement de dossiers n'était pas anodine. En effet, la commande pour visualiser tout ça est tree
. Elle s'accompagne de plusieurs options.
(Pour rappel quelle est la commande permettant d'afficher l'aide d'une commande ?)
Nous ne l'exécuterons pas car sa sortie est trop verbeuse. Vous aurez l'occasion de tester par vous même plus tard. Pour le moment, essayons l'option -d
.
Elle permet de ne lister que les dossiers.
# On retourne dans le dossier d'homo sapiens
cd ../homo_sapiens/
Ecrivez et executez la commande
# Afficher l'arborescence
tree -d
. ├── GRCh37 │ ├── bowtie2 │ ├── bwa │ ├── fasta │ ├── gff │ ├── picard │ ├── snpeff │ ├── star -> star-2.7.2b │ ├── star-2.6 │ ├── star-2.7.2b │ └── star-2.7.5a ├── GRCh38 │ ├── bwa │ ├── fasta │ ├── gff3 │ ├── gnomad │ │ ├── 2.1 │ │ │ ├── exomes │ │ │ └── genomes │ │ └── 3.0 │ │ └── genomes │ ├── gtf │ ├── star -> star-2.6.1a │ ├── star-2.6.1a │ ├── star-2.7.5a │ └── trinity │ ├── __chkpts │ └── ref_genome.fa.star.idx ├── GRCh38.p14 │ ├── Ensembl_110 │ │ ├── fasta │ │ ├── gff3 │ │ ├── gtf │ │ └── indexes │ │ ├── bowtie2-2.5.1 │ │ ├── star-2.7.10b │ │ └── star-2.7.11a │ ├── RefSeq_2023_10 │ │ ├── fasta │ │ ├── gff │ │ ├── gtf │ │ └── indexes │ ├── latest_ensembl -> Ensembl_110 │ └── latest_refseq -> RefSeq_2023_10 ├── hg19 │ ├── bowtie │ ├── bowtie2 │ ├── bwa │ ├── fasta │ ├── gtf │ ├── hisat2 │ ├── picard │ ├── snpeff │ │ └── hg19 │ ├── star-2.6 │ ├── star-2.7.2b │ └── star-2.7.5a ├── hg38 │ ├── bmtool │ ├── bowtie2 │ ├── fasta │ ├── hisat2 │ ├── srprism │ ├── star-2.6 │ ├── star-2.7.2b │ └── star-2.7.5a └── latest_genome -> GRCh38.p14 67 directories
2. Connaître le contenu de notre dossier¶
C'est sûrement la seconde commande la plus utile à retenir : ls
Elle permet tout simplement de lister le contenu d'un dossier.
Voici ses options les plus utiles :
-l
: long/lot = Donne beaucoup d'informations sur les fichiers.-a
: all = Montre tous les fichiers, y compris ceux cachés.-t
: time = Trie par date de modifications.-h
: human-readable = Affiche la taille des fichiers en unités lisibles par l'humain.-r
: reverse = Inverse l'ordre de tri.
On peut combiner les options, par exemple, pour afficher beaucoup d'informations et tous les fichiers : ls -l -a
ou directement ls -la
N.B. : On oublie pas l'espace entre la commande et ses options !¶
Vous pouvez essayer toutes ces options dans le dossier GRCh37/fasta/
. Déplacez vous dans le dossier dans le bloc de code ci-dessous :
# Commande pour se déplacer dans le dossier GRCh37/fasta/
cd GRCh37/fasta/
Listez absolument tous les fichiers présents en affichant un maximum d'information sur les fichiers, la taille des fichiers devant être lisible par l'humain.
# Lister tout le contenu du répertoire avec toutes les infos et lisible par l'humain
ls -alh
total 39G drwxrwxr-x 2 glecorguille bank_admin 4.0K Sep 15 2020 . drwxrwxr-x 11 glecorguille bank_admin 4.0K Sep 15 2020 .. -rwxrwxr-x 1 glecorguille bank_admin 3.0G Oct 31 2018 Homo_sapiens.GRCh37.dna.primary_assembly.fa -rwxrwxr-x 1 glecorguille bank_admin 6.5K Sep 15 2020 Homo_sapiens.GRCh37.dna.primary_assembly.fa.amb -rwxrwxr-x 1 glecorguille bank_admin 7.4K Sep 15 2020 Homo_sapiens.GRCh37.dna.primary_assembly.fa.ann -rwxrwxr-x 1 glecorguille bank_admin 2.9G Sep 15 2020 Homo_sapiens.GRCh37.dna.primary_assembly.fa.bwt -rwxrwxr-x 1 glecorguille bank_admin 2.7K Oct 31 2018 Homo_sapiens.GRCh37.dna.primary_assembly.fa.fai -rwxrwxr-x 1 glecorguille bank_admin 740M Sep 15 2020 Homo_sapiens.GRCh37.dna.primary_assembly.fa.pac -rwxrwxr-x 1 glecorguille bank_admin 119 Oct 31 2018 Homo_sapiens.GRCh37.dna.primary_assembly.fa.readme -rwxrwxr-x 1 glecorguille bank_admin 1.5G Sep 15 2020 Homo_sapiens.GRCh37.dna.primary_assembly.fa.sa -rwxrwxr-x 1 glecorguille bank_admin 31G Oct 30 2018 Homo_sapiens.GRCh37.dna.toplevel.fa -rwxrwxr-x 1 glecorguille bank_admin 12K Oct 30 2018 Homo_sapiens.GRCh37.dna.toplevel.fa.fai -rwxrwxr-x 1 glecorguille bank_admin 106 Oct 30 2018 Homo_sapiens.GRCh37.dna.toplevel.fa.readme
Listez maintenant les fichiers non cachés avec toutes leurs informations en les triant du plus ancien au plus récent.
# Lister le contenu du répertoire avec toutes les infos et trié par date de modification du plus ancien au plus récent
ls -ltr
total 40187756 -rwxrwxr-x 1 glecorguille bank_admin 106 Oct 30 2018 Homo_sapiens.GRCh37.dna.toplevel.fa.readme -rwxrwxr-x 1 glecorguille bank_admin 32570478447 Oct 30 2018 Homo_sapiens.GRCh37.dna.toplevel.fa -rwxrwxr-x 1 glecorguille bank_admin 11646 Oct 30 2018 Homo_sapiens.GRCh37.dna.toplevel.fa.fai -rwxrwxr-x 1 glecorguille bank_admin 3153507220 Oct 31 2018 Homo_sapiens.GRCh37.dna.primary_assembly.fa -rwxrwxr-x 1 glecorguille bank_admin 119 Oct 31 2018 Homo_sapiens.GRCh37.dna.primary_assembly.fa.readme -rwxrwxr-x 1 glecorguille bank_admin 2743 Oct 31 2018 Homo_sapiens.GRCh37.dna.primary_assembly.fa.fai -rwxrwxr-x 1 glecorguille bank_admin 3101804844 Sep 15 2020 Homo_sapiens.GRCh37.dna.primary_assembly.fa.bwt -rwxrwxr-x 1 glecorguille bank_admin 775451186 Sep 15 2020 Homo_sapiens.GRCh37.dna.primary_assembly.fa.pac -rwxrwxr-x 1 glecorguille bank_admin 7503 Sep 15 2020 Homo_sapiens.GRCh37.dna.primary_assembly.fa.ann -rwxrwxr-x 1 glecorguille bank_admin 6577 Sep 15 2020 Homo_sapiens.GRCh37.dna.primary_assembly.fa.amb -rwxrwxr-x 1 glecorguille bank_admin 1550902424 Sep 15 2020 Homo_sapiens.GRCh37.dna.primary_assembly.fa.sa