Umbenennen mit dem Lieblingseditor

Dateien umbenennen ist oft mühsam.
Wenn man ein Extra-Werkzeug benutzt, muss man es erst lernen.
Das schreiben eines extra Skriptes kann aber oft zu aufwendig sein.
Es wäre doch schön, wenn man direkt im Lieblingseditor die Dateinamen verändern könnte.

Hier kommt die Werkzeugsammlung renameutils zum Einsatz.

Installation


Installiert wird das ganze aus den üblichen Paketmanagern, also z.B.

brew install renameutils # macOS / Linuxbrew
pacman-S renameutils # Arch based
sudo apt install renameutils # Debian based

Benutzung

Nun gibt es die Befehle: qmv und qcp, mit denen Dateien umbenannt, bzw. kopiert werden können.

Beispiel:

ls *.txt

Ausgabe:

Kopie von hallo.txt
Kopie von gutentag.txt
Kopie von abrechnung.txt

Nun verwenden wir unser neues Werkzeug:

qmv *.txt

Nun öffnet sich unser eingestellter Editor mit einer Dateiliste und wir können die Datei-Umbenennungen direkt im Editor vornehmen.

Fazit

Das Verwenden von Shell-Kommandos zum Umbennen ist oft schnell.
So geht das Umbenennen aller .txt Dateien in .md schnell von der Hand.

Für komplexe Fälle können wir qmv verwenden. Damit können wir unseren vertrauten Editor und alle darin vorhandenen Funktionen nutzen.
Insbesondere, wenn wir keine einfachen Regeln zum Umbenennen formulieren können, helfen uns die renameutils hier stark weiter.

So ist bei mir der Alias

alias ren=qmv --format=destination-only

fest in meine Werkzeugkiste eingezogen.

yay mit archarm nutzen

Viele Entwickler schätzen es aktuelle Werkzeuge zu nutzen.
Ob Compiler, Editor oder Shell - neue Versionen haben neue Features, bereinigte Bugs und mehr.

Daher ist in den letzten Jahren die Linux Distribution "Arch" auch sehr beliebt geworden: Rolling Releases statt großer Versionssprünge erleichtern den Entwickleralltag.
Auch auf dem Raspberry Pi läuft diese Distribution.

Aus der Community getrieben Pakete können aus dem AUR mit einem beliebigen Tool installiert werden.
Derzeit verwende ich dafür gerne yay.

Um yay auf dem Raspberry Pi zu installieren, sind folgende Schritte notwendig:

# Notwendige Pakete installieren
sudo pacman -S git go make binutils gcc fakeroot

# yay via git clonen und installieren
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

Dann steht der Installation von Paketen aus dem AUR nichts mehr im Wege.

Simples deployment via git

Das Problem

Egal ob Homepage, Konfigurationsdateien oder Programmcode: Für praktisch alle Projekte verwendet man heute git.

Möchte man jedoch Versionen automatisch ausrollen (z.B. statische HTML Dateien einer Webseite), benötigt man einige Skripte oder einen Build-Dienst wie z.B. Gitlab-CI, Jenkins oder CircleCI.

Oftmals reicht es jedoch die Daten auf das Zielsystem zu kopieren. Aber auch das geht mit git:

Verteilen von Paketen

Ausgangssituation

Wie haben einen Server (für die Homepage), einen Laptop (für die Entwicklungsarbeit), sowie ein Git-Projekt (z.B. bei Github).
Auf Github befindet sich unser Projekt.
Auf Laptop wie auch auf dem Server haben wir uns mit git clone das Projekt eingerichtet.

Vorgehen

Das Projekt auf dem Server soll beim Empfangen neuer Dateien diese auch in das "Working Directory" schreiben. Dies aktivieren wir mit :

# auf Server, im Projektverzeichnis
git config receive.denyCurrentBranch updateInstead

Nun müssen wir unserem Projekt auf dem Laptop das neue Ziel beibringen:

# auf Laptop, im Projektverzeichnis
git remote add deploy benutzer@servername:/pfad/zu/projektordner/auf/server
# jetzt noch sagen: schiebe den lokalen branch _master_ auf den server (nur 1 mal notwendig)
git push --set-upstream deploy master

Unsere Änderungen können wir weiterhin zu Github schieben:

git push origin

Aber nun auch neu: Auf dem Server direkt ausrollen:

git push deploy

Es ist sogar möglich mittels push-url mehrere Ziele auf einmal zu definieren.

Fazit

Natürlich ersetzt unser kleiner Workflow keinen Build-Server oder ausgetüftelte Deployment Prozesse. Aber für Kleinst-Projekte kann das vorgehen mit updateInstead sehr praktisch sein.

Aber Achtung: Verwenden wir diese Möglichkeit um Webseiten zu versionieren: Nicht vergessen, den .git Ordner nicht auszuliefern.

Dateien finden mit fd

Das Tool find ist ein praktisches Programm und Dateien und Ordner zu finden.
Find kann aber auch komplexere Aktionen wie z.B. mehrere Dateien konvertieren. Leider ist es jedoch nicht allzu einsteigerfreundlich.

Hier kommt fd ins Spiel:

Das Open-Source Programm erledigt nahezu alle Aufgaben von find, ist aber einfacher zu bedienen.

LPs

Beispiel1

Finde alle Dateien mit der Zeichenfolge schuh im Namen:

find:

find . -iname '*schuh*'

fd:

fd schuh

Beispiel 2

Finde alle .jpg Dateien:

find:

find . -iname '*.jpg'

fd:

fd -e jpg

Beispiel 3

Finde alle .png Dateien und konvertiere diese in .jpg Dateien:

find:

find ./ -name '*.png' -exec bash -c 'convert $0 ${0/png/jpg}' {} \;
# Konvertiert eine nach der anderen Datei

fd:

fd -e png -x convert {} {.}.jpg
# Konvertiert parallel mehrere Dateien auf einmal

Fazit:

Wer find in- und auswendig beherrscht hat keinen Zwang zu wechseln. Der bequeme Syntax von fd macht das Leben jedoch leichter. Die Möglichkeit parallel mehrere Dateien zu verarbeiten ist ungemein praktisch. Daher ist fd für jeden Kommandozeilen-Fan absolut empfehlenswert.

Wget wiederaufnehmen

Beim Download großer Dateien (z.B. Iso-Images, Podcasts) ist es oft hilfreich einen bereits begonnenen Download weiterführen zu können.

Mit dem Download-Werkzeug wget ist dies einfach mit der Kommandozeilenoption -r möglich.

Damit man jedoch nicht immer daran denken muss, lässt sie dies auch als Standardverhalten einstellen.

Hierzu tragen wir die die Datei ~/.wgetrc folgendes ein:

continue = on

Ab sofort nimmt wget Downloads automatisch wieder auf.

Sharpkeys

Um Tasten wie Shift-Lock ("Feststelltaste") sinnvoller zu nutzen kann auch unter Windows die Belegung dieser Taste geändert werden.
Da Windows leider (noch) kein Werkzeug hierzu mitbringt, kann man sich einfach mit dem Freeware-Werkzeug "SharpKeys" behelfen.

Einfach installieren, Taste auswählen, neue Belegung auswählen und nach an- und abmelden ist die Taste neu belegt.

Tipp: Die Feststelltaste einfach mit Strg (Ctrl) belegen.