GNU/Linux >> LINUX-Kenntnisse >  >> Linux

[Bash-Tipps] Wie cp oder mv und cd in einem Befehl ausgeführt werden

Neulich haben wir gelernt, wie man cd und ls in einem Befehl macht . Heute werden wir einen weiteren coolen Bash-Tipp sehen - cp oder mv und cd in einem Befehl. Bedeutung - wir kopieren oder verschieben Dateien/Verzeichnisse von einem Ort zum anderen und cd sofort in das Zielverzeichnis. Natürlich können wir dies mit einem Einzeiler tun Befehl. Beispielsweise ist es möglich, Dateien/Verzeichnisse in ein anderes Verzeichnis zu kopieren oder zu verschieben und in das Zielverzeichnis zu wechseln, indem der Befehl verwendet wird:

cp source destination && cd destination

Oder,

mv source destination && cd destination

Allerdings werden wir das jetzt nicht tun. Wir verwenden eine einfache Bash-Funktion um den cp- oder mv-Befehl und den cd-Befehl zu kombinieren und als einen einzigen Befehl auszuführen. Dieser Trick sollte auf allen Unix-ähnlichen Systemen funktionieren, die BASH unterstützen.

Wie cp oder mv und cd in einem Befehl ausgeführt werden

Öffnen Sie Ihre ~/.bashrc Datei in Ihrem bevorzugten Editor:

$ nano ~/.bashrc

Fügen Sie am Ende die folgenden Zeilen hinzu:

#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
}

Speichern und schließen Sie die Datei. Führen Sie den folgenden Befehl aus, um die Änderungen zu übernehmen.

$ source ~/.bashrc

Kopieren oder verschieben Sie nun Dateien/Verzeichnisse von einem Ort zum anderen und Sie landen automatisch am Zielort.

Lassen Sie uns einige Beispielverzeichnisse und -dateien erstellen.

$ mkdir dir1 dir2
$ touch file1 file2

Kopieren Sie nun die Datei1 nach dir1 mit dem Befehl:

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

Wie Sie sehen, kopiert der obige Befehl die file1 zu dir1 und dann automatisch cd in das dir1 Ort.

Als nächstes verschieben Sie file2 nach dir2 mit Befehl:

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

Dieser Befehl kopiert file2 nach dir2 und es automatisch cd in das dir2 Ort.

Beispielausgabe:

Hoffe das hilft.

Andere Bash-Tipps

  • Dateien umbenennen, ohne zweimal den vollständigen Namen in Linux einzugeben
  • Eine Bash-Funktion zum Extrahieren von Dateiarchiven verschiedener Typen

Linux
  1. Was ist ein Chown-Befehl unter Linux und wie wird er verwendet?

  2. Was ist ein cURL-Befehl und wie wird er verwendet?

  3. Wie lösche ich ein Verzeichnis und einen Ordner in Linux?

  4. Wie funktionieren die Optionen „-s“, „-t“ und „-c“ des tr-Befehls in Unix?

  5. Was ist E-Mail und wie wird darin navigiert?

So installieren und verwenden Sie den Ping-Befehl unter Linux

Wie man den DD-Befehl verwendet und wie man ISO damit brennt

So installieren und verwenden Sie den fd-Befehl unter Linux

So listen Sie Benutzer und Gruppen unter Linux auf

So finden und ersetzen Sie Text in Vim

So installieren und konfigurieren Sie Git unter Ubuntu 20.04