GNU/Linux >> Tutoriels Linux >  >> Linux

[Bash Tips] Comment cp ou mv et cd en une seule commande

L'autre jour, nous avons appris à cd et ls en une seule commande . Aujourd'hui, nous verrons encore une autre astuce Bash sympa - cp ou mv et cd en une seule commande. Signification - nous allons copier ou déplacer des fichiers/répertoires d'un emplacement à un autre et cd dans le répertoire de destination instantanément. Bien sûr, nous pouvons le faire avec un one-liner commande. Par exemple, il est possible de copier ou de déplacer des fichiers/répertoires vers un autre répertoire et cd dans le répertoire de destination en utilisant la commande :

cp source destination && cd destination

Ou,

mv source destination && cd destination

Cependant, nous n'allons pas le faire maintenant. Nous utilisons une simple fonction bash pour combiner la commande cp ou mv et la commande cd et l'exécuter comme une seule commande. Cette astuce devrait fonctionner sur tous les systèmes de type Unix prenant en charge BASH.

Comment cp ou mv et cd en une seule commande

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

$ nano ~/.bashrc

Ajoutez les lignes suivantes à la fin :

#cp and cd in one command
cpcd (){
  if [ -d "$2" ];then
    cp $1 $2 && cd $2
  else
    cp $1 $2
  fi
}

#mv and cd in one command
mvcd (){
  if [ -d "$2" ];then
    mv $1 $2 && cd $2
  else
    mv $1 $2
  fi
}

Enregistrez et fermez le fichier. Exécutez la commande suivante pour appliquer les modifications.

$ source ~/.bashrc

Maintenant, copiez ou déplacez des fichiers/répertoires d'un emplacement à un autre et vous serez automatiquement redirigé vers l'emplacement de destination.

Créons quelques exemples de répertoires et de fichiers.

$ mkdir dir1 dir2
$ touch file1 file2

Copiez maintenant le fichier 1 dans le répertoire 1 à l'aide de la commande :

$ cpcd file1 dir1
$ pwd
/home/sk/dir1

Comme vous le voyez, la commande ci-dessus copie le file1 vers dir1 puis automatiquement cd dans le dir1 emplacement.

Déplacement suivant file2 vers dir2 en utilisant la commande :

$ cd
$ mvcd file2 dir2
$ pwd
/home/sk/dir2

Cette commande copie file2 vers dir2 et automatiquement cd dans le dir2 emplacement.

Exemple de résultat :

J'espère que cela vous aidera.

Autres conseils pour Bash

  • Renommer les fichiers sans saisir deux fois le nom complet sous Linux
  • 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 verrouiller et déverrouiller l'utilisateur sous Linux

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

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