GNU/Linux >> Tutoriels Linux >  >> Linux

[Bash Tips] Comment cd et ls en une seule commande

Chaque fois que je cd dans un répertoire, la prochaine chose que je fais spontanément - lister le contenu de ce répertoire en utilisant ls commande. Je ne sais pas si vous le faites tous, mais je suppose que certains d'entre vous pourraient avoir cette habitude. Ce serait mieux si nous combinions les fonctionnalités de cd et ls en une seule commande, n'est-ce pas ? Ce bref guide explique comment répertorier automatiquement le contenu du répertoire chaque fois que vous y accédez sous Linux.

Comment cd et ls en une seule commande dans Bash

Veuillez noter que je ne parle pas des commandes à une ligne. Par exemple, vous pouvez exécuter cd et ls avec une commande sur une seule ligne comme ci-dessous.

$ cd path-to-dir && ls

Ou,

$ cd path-to-dir ; ls

Oui, ça marche ! Mais ce n'est pas la portée de ce guide. Nous le ferons à l'aide d'une simple fonction BASH . Cette astuce fonctionnera dans toutes les distributions de type Linux et Unix prenant en charge BASH.

Ouvrez votre ~/.bashrc fichier dans votre éditeur préféré :

$ nano ~/.bashrc

Ajoutez les lignes suivantes à la fin :

cdls() {
        local dir="$1"
        local dir="${dir:=$HOME}"
        if [[ -d "$dir" ]]; then
                cd "$dir" >/dev/null; ls --color=auto
        else
                echo "bash: cdls: $dir: Directory not found"
        fi
}

Ici, j'ai utilisé le nom de la fonction comme cdls () pour une mémorisation facile ! Vous pouvez nommer cette fonction comme bon vous semble. Remplacez également ls --color=auto paramètre avec le vôtre. Enregistrez et fermez le fichier.

Exécutez la commande suivante pour appliquer les modifications.

$ source ~/.bashrc

Maintenant, listez automatiquement le contenu du répertoire chaque fois que vous y accédez comme ci-dessous.

Exemple :

$ cdls /var/log/
alternatives.log  btmp                   dpkg.log   kern.log   syslog               wtmp
apt               cloud-init.log         faillog    landscape  syslog.1
auth.log          cloud-init-output.log  installer  lastlog    tallylog
bootstrap.log     dist-upgrade           journal    lxd        unattended-upgrades
[email protected]:/var/log$ pwd
/var/log

Vous pouvez également ajouter la fonction beaucoup plus simple suivante dans votre ~/.bashrc fichier.

cdls() {
        cd "[email protected]" && ls;
}

Sourcez le ~/.bashrc fichier pour prendre en compte les modifications. N'utilisez pas non plus les deux fonctions en même temps avec le même nom. Utilisez une fonction ou utilisez un nom différent (par exemple, cdls et cl ) pour chaque fonction.

Avant de connaître cette astuce, je faisais habituellement :

$ cd /var/log/

Et puis ;

$ ls

Ou,

$ cd /var/log/ && ls

Pas plus! Maintenant, je peux lister le contenu de n'importe quel répertoire chaque fois que j'y accède. C'est pratique lorsque vous travaillez souvent avec un grand nombre de répertoires.

Un inconvénient de cette astuce est que vous devrez attendre quelques secondes à plusieurs minutes lorsque cd dans un répertoire qui contient des centaines et des milliers de fichiers. Dans ce cas, utilisez le cd normal commande.

Suggestion de lecture :

  • Renommer les fichiers sans saisir deux fois le nom complet sous Linux
  • Conseils Bash - Comment cp ou mv et cd en une seule commande
  • Différentes façons de répertorier le contenu du répertoire sans utiliser la commande ls
  • Une fonction Bash pour extraire des archives de fichiers de différents types

Linux
  1. Qu'est-ce qu'une commande Chown sous Linux et comment l'utiliser

  2. Qu'est-ce qu'une commande cURL et comment l'utiliser ?

  3. Comment supprimer un répertoire et un dossier sous Linux ?

  4. Comment fonctionnent les options '-s', '-t' et '-c' de la commande tr sous Unix ?

  5. Qu'est-ce que le courrier et comment est-il navigué ?

Comment installer et utiliser la commande Ping sous Linux

Comment utiliser la commande DD et comment graver ISO en l'utilisant

Comment installer et utiliser la commande fd sous Linux

Comment répertorier les utilisateurs et les groupes sous Linux

Comment rechercher et remplacer du texte dans Vim

Comment installer et configurer Git sur Ubuntu 20.04