Articles - Linux

La console Linux

  |   5462  |  Poster commentaire  |  Linux
Sommaire :

Manipuler les fichiers




    cat & less : afficher un fichier



    cat : afficher tout le fichier



    Nous allons travailler sur un fichier qui existe déjà : syslog (dans le dossier /var/log).

    Code BASH :
     
    cd /var/log #on se place dans le dossier log
    ls #affiche le contenu du dossier log
    cat syslog #Affiche tout le contenu du fichier  syslog dans la console d'un coup
    cat -n syslog #Affiche le contenu du fichier en indiquant le numéro de ligne
     


    La commande cat vous envoie tout le fichier à la figure. Elle est plus adaptée lorsque l'on travaille sur de petits fichiers que sur des gros.

    less : afficher le fichier page par page



    less affiche progressivement le contenu du fichier, page par page

    Code BASH :
     
    less syslog
     


    Pour lire la suite, il y a des raccourcis clavier à connaitre:

    • Espace : Affiche la suite du fichier.
    • Entrée : Affiche la ligne suivante.Vous pouvez aussi utiliser la flèche vers le bas.
    • d : affiche les onze lignes suivantes (soit une moitié d'écran).
    • b : retourne en arrière d'un écran.
    • y : retourne d'une ligne en arrière. Vous pouvez aussi appuyer sur la touche Flèche vers le haut.
    • u : retourne en arrière d'une moitié d'écran (onze lignes).
    • q : arrête la lecture du fichier. Cela met fin à la commande less.


    Quelques raccourcis plus avancés



    • = : indique où vous en êtes dans le fichier (numéro des lignes affichées et pourcentage).
    • h : affiche l'aide (toutes les commandes que je vous apprends ici, je les tire de là). Tapez q pour sortir de l'aide.
    • / : tapez / suivi du texte que vous recherchez pour lancer le mode recherche. Faites Entrée pour valider. Pour ceux qui savent s'en servir, sachez que les expressions régulières sont acceptées.
    • n : après avoir fait une recherche avec /, la touche n vous permet d'aller à la prochaine occurrence de votre recherche.
    • N : pareil que n, mais pour revenir en arrière.


    head & tail : afficher le début et la fin d'un fichier



    Code BASH :
     
    cd /var/log #on se place dans le dossier log
    head syslog #Affiche juste les premières lignes du fichier. Ne permet pas de se déplacer dans le fichier comme less
    head -n 3 syslog #Affiche les 3 premières lignes du fichier
    tail syslog #affiche les dernières lignes du fichier
    tail -n 3 #Affiche les 3 dernières lignes du fichier
     


    Il y a un autre paramètre pour tail: -f (f pour follow). Ce paramètre ordonne à tail de « suivre » la fin du fichier au fur et à mesure de son évolution. C'est un bon moyen de surveiller ce qui se passe en temps réel sur un ordinateur.

    Code BASH :
    tail -f syslog


    Faites Ctrl + C (Ctrl et C en même temps) pour arrêter la commande tail.

    Par exemple, les logs Apache du Site permettent de voir en temps réel qui se connecte sur le site, avec quelle IP, quel fichier a été chargé, à quelle heure, etc.

    Notez que par défaut, tail -f recherche les nouveaux changements dans le fichier toutes les secondes. Si vous voulez, vous pouvez rajouter le paramètre -s suivi d'un nombre. Par exemple, tail -f -s 3 syslog recherchera les changements toutes les trois secondes (plutôt que toutes les secondes).

    touch & mkdir : créer des fichiers et dossiers



    La commande touch est à la base faite pour modifier la date de dernière modification d'un fichier. Si le fichier n'existe pas, il sera créé.

    Code BASH :
     
    cd # on se place dans le home
    touch fichier1.txt # création du fichier 1
    touch fichier1.txt fichier2.txt #Création de deux fichiers en même temps
    touch "mon fichier.txt" # le nom du fichier contient des espaces
    mkdir dossier1.txt #création du dossier
    mkdir dossier1.txt dossier2.txt #Création de deux dossiers en même temps
    mkdir -p animaux/vertebres/chat # Le paramètre -p sert à créer des dossiers intermédiaires (animaux puis vertebres dans animaux, puis chat dans vertebres). 
     


    cp & mv : copier et déplacer un fichier



    cp: copier des fichiers



    Code BASH :
     
    #copier dans le même dossier
    cp fichier1.txt fichier1_copie.txt # paramètre 1: nom du fichier à copier; paramètre 2: nom de la copie
    #copier dans un autre dossier
    cp fichier1.txt mondossier/ #fichier1.txt est copier vers "mondossier" sous le même nom
    cp fichier1.txt mondossier/fichier2.txt # fichier1.txt est copier vers "mondossier" sous le nom fichier2.txt
     


    Copier des dossiers



    Code BASH :
     
    #Avec l'option -R, vous pouvez copier un dossier, ainsi que tous les sous-dossiers et fichiers qu'il contient !
    cp -R dossier1 dossier2 #dossier1 est copié sous le nom dossier2
     


    Utiliser le joker



    Code BASH :
     
    cp *.jpg mondossier/ # Copier tous les fichiers image .jpg dans un sous-dossier
    cp so* mondossier/ #Copier tous les fichiers dont le nom commence par « so »
     



    mv: Renommer/Déplacer un fichier



    mv s'utilise pratiquement comme cp et permet de déplacer ou de renommer un fichier/dossier

    Code BASH :
     
    mv fichier1.txt fichier2.txt #renommer un fichier
    mv fichier1.txt mondossier/ #fichier1.txt est déplacer vers un sous-dossier
    mv fichier1.txt mondossier/fichier2.txt # fichier1.txt est déplacer dans le sous-dossier avec changement de nom
    mv *.jpg mondossier/ #déplace tous les fichiers image .jpg dans un sous-dossier
     


    rm : supprimer des fichiers et dossiers



    Code BASH :
     
    rm fichier1.txt # supprime le fichier
    rm fichier1.txt fichier2.txt # supprime plusieurs fichiers en même temps
    rm -i fichier1.txt # Demande une confirmation lors de la suppression
    rm -f fichier1.txt # Force la suppression quoi qu'il arrive
    rm -v fichier1.txt # Verbose (parle beaucoup), montre l'avancement
    rm -r dossier/ #supprime un dossier et son contenu
    rm -rf * #supprime tous les fichiers et sous-dossiers du dossier dans lequel je me trouve
     



    ln -s : Créer des liens symboliques entre fichiers



    Code BASH :
     
    ln -s fichier1.txt fichier2.txt #fichier 2 représente un raccourci de fichier 1