Hallo, Gast
Du musst dich registrieren bevor du auf unserer Seite Beiträge schreiben kannst.

Benutzername
  

Passwort
  





Durchsuche Foren

(Erweiterte Suche)

Foren-Statistiken
» Mitglieder: 1
» Neuestes Mitglied: Joopi
» Foren-Themen: 510
» Foren-Beiträge: 717

Komplettstatistiken

Benutzer Online
Momentan sind 6 Benutzer online
» 0 Mitglieder
» 3 Gäste
AhrefsBot, Bing, bot

Aktive Themen
Thursday - 01:00 CST: Not...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 11:30
» Antworten: 0
» Ansichten: 4
Wednesday - 05:00 CST: Li...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
19-02-2025, 03:02
» Antworten: 0
» Ansichten: 12
Tuesday - 08:00 CST: Not ...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
18-02-2025, 05:31
» Antworten: 0
» Ansichten: 12
Monday - 16:00 CST: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
18-02-2025, 02:10
» Antworten: 0
» Ansichten: 13
Sunday - 17:00 CST: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
17-02-2025, 03:30
» Antworten: 0
» Ansichten: 13
Hauselektronik
Forum: Hausrenovierung
Letzter Beitrag: Joopi
16-02-2025, 11:48
» Antworten: 6
» Ansichten: 35
Sunday - 13:00 CST: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
16-02-2025, 11:29
» Antworten: 0
» Ansichten: 16
Saturday - 22:00 CST: Lig...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
16-02-2025, 08:01
» Antworten: 0
» Ansichten: 19
Friday - 02:00 CST: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
14-02-2025, 12:46
» Antworten: 0
» Ansichten: 21
Thursday - 14:00 CST: Not...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
13-02-2025, 11:51
» Antworten: 0
» Ansichten: 17

 
  Zahlen formatiert ausgeben
Geschrieben von: Joopi - 06-01-2023, 10:24 - Forum: Programmieren - Keine Antworten

Um das Ergebnis einer SQLite3-Abfrage, wenn es sich um Zahlen handelt, formatiert auszugeben, kann folgende Schreibweise genutzt werden:

Code:
select printf("%,d", sum(datsize)) from bildinfo;

Das Ergebnis sieht dann wie folgt aus:

Zitat:253,921,248,502

Drucke diesen Beitrag

  Tabelle leeren
Geschrieben von: Joopi - 06-01-2023, 10:23 - Forum: Programmieren - Keine Antworten

Um eine Tabelle komplett zu leeren, ist folgender Befehl erforderlich:

Code:
DELETE FROM tabelle;

Dieser Befehl ist gleichzusetzen mit truncate aus MySQL.

Drucke diesen Beitrag

  neue Datenbank anlegen / öffnen
Geschrieben von: Joopi - 06-01-2023, 10:22 - Forum: Programmieren - Keine Antworten

Um eine neue Datenbank anzulegen, ist folgendes auf der Konsole einzugeben:

Code:
sqlite3 datenbank.db

Sollte die Datenbank (Datei) bereits existieren, wird sie geöffnet.

Drucke diesen Beitrag

  Hilfe in Konsole aufrufen
Geschrieben von: Joopi - 06-01-2023, 10:20 - Forum: Programmieren - Keine Antworten

Um in der Konsole von SQlite3 die Hilfe aufzurufen, ist folgendes einzugeben:

Code:
.help

Drucke diesen Beitrag

  Feldnamen anzeigen
Geschrieben von: Joopi - 06-01-2023, 10:20 - Forum: Programmieren - Keine Antworten

Um in der Konsole bei einem SELECT-Statement die Feldnamen als Überschriften zu sehen, ist vorher folgendes einzugeben:

Code:
.headers on

Damit werden die Feldnamen angezeigt. Mit *off* wird die Anzeige wieder ausgeschaltet.

Drucke diesen Beitrag

  chmod - Dateiberechtigung feststellen
Geschrieben von: Joopi - 06-01-2023, 10:14 - Forum: Programmieren - Keine Antworten

Es macht schonmal Sinn herauszufinden, welche Dateiberechtigungen vorliegen. Mit dem LS-Befehl lassen sich die momentanen Berechigungen anzeigen:

Code:
user@rechner:/temp# ls -l playliste.txt -rw-r–r– 1 user user 217 Mai 16 23:31 playliste.txt

Diese Lesart ist etwas problematisch und (immer noch) nicht in meinem tagtäglichen Fokus. Um ggfs. andere Berechtigungen zu vergeben, macht es Sinn die Zahlen-Werte zu nutzen (644 oder 755 oder 777 oder oder).

Mit dem folgenden Befehl lässt sich dieser Zahlenwert feststellen:

Code:
stat -c %a playliste.txt

Das Ergebnis ist:

Zitat:644

Drucke diesen Beitrag

  date - die Ausgabe des Datums
Geschrieben von: Joopi - 06-01-2023, 10:13 - Forum: Programmieren - Keine Antworten

Da ich nicht jeden Tag wie ein Administrator auf der Konsole alle möglichen Dinge zu erledigen habe, entfallen mir mit der Zeit sehr viele gute und nützliche Befehle. Heute habe ich nach einer Möglichkeit gesucht, um ein Datum incl. Uhrzeit in einer für mich passenden Form darstellen zu können. Als ich dann die Lösung hatte, war es wieder einfach.

Auf der Konsole kann man ein Datum in der Syntax **yyyy-mm-dd hh:mmConfuseds** wie folgt erzeugen und ausgeben (das aktuelle Datum ist hier gemeint).

Code:
echo $(date '+%Y-%m-%d %H:%M:%S')

Die Ausgabe ist dann wie folgt gewesen.

Zitat:2022-02-12 17:34:46

Das ist die Schreibweise, mit der ein einer MySQL-Datenbank die Datumsangaben mit *datetime* und *current_timestamp* eingetragen werden. Damit musste ich umgehen und mir in einem Script das Datum in der gleichen Weise erstellen, um es vergleichbar zu machen.

Es hat hervorragend funktioniert.

Drucke diesen Beitrag

  Debian - installierte Pakete ermitteln
Geschrieben von: Joopi - 06-01-2023, 10:12 - Forum: Programmieren - Keine Antworten

Auf meinem Desktop-PC habe ich jede Menge Programme installiert, die teilweise nicht im Repository liegen, sondern von mir manuell durch deb-Pakete installiert wurden.

Zu wissen, welche Pakete installiert sind, ist immer dann hilfreich, wenn man vielleicht einen neuen Rechner bekommt oder eine neue Linux-Distribution installieren will, um eben diese Programme nachinstallieren zu können.

Es gibt verschiedene Möglichkeiten, um festzustellen, welche Programme installiert sind.

Eine Pakteliste lässt sich wie folgt aufrufen:

Code:
dpkg -l > installierte_programme_20200511.txt

Aus dieser Datei lässt sich leider nicht so ohne weiteres entnehmen, welches Programm ich manuell installiert hatte, weil es im Standard nicht enthalten ist.

Eine ganz gute Möglichkeit bietet der folgende Befehl:

Code:
apt-mark showmanual

Hier scheinen dann tatsächlich die mir bekannten und nachinstallierten Programme angezeigt zuu werden. Allerdings werden auch die wegen der Abhängigkeiten mitinstallierten Programme und Dateien aufgelistet. Das ist aber besser als nichts.

Möchte man nach einer Neuinstallation die gleiche Konfiguration haben wie vorher, so kann man sich mit folgendem Befehl eine Paketliste erstellen lassen:


Code:
dpkg --get-selections

…die dann mit folgendem Befehl im neuen System wiederhergestellt werden kann:

Code:
dpkg --set-selections

Dieser Befehl ist natürlich mit Vorsicht zu genießen.

Alle Listen müssen, um sie dauerhaft zu haben, in eine Datei umgeleitet werden.

In einer virtuellen Maschine lässt sich das Umgehen mit den Befehlen durchaus testen. Interessant wird es dann, wenn die Linuxversionen nicht mehr übereinstimmen. Debian 10 als Quelle, Debian 11 als Ziel. Problematisch wird es dann, wenn Pakete nicht mehr im Ziel enthalten sind. Eigentlich sollte *dpkg* diese Umstand abfangen und mit einer Fehlermeldung dokumentieren. Ein Absturz oder ähnliches sollte nicht passieren.

Drucke diesen Beitrag

  mail - auf der Konsole intern versenden
Geschrieben von: Joopi - 06-01-2023, 10:09 - Forum: Programmieren - Keine Antworten

Auf der Konsole lässt sich eine Mail versehen, z.B. für einen internen Nutzern. Der Befehl sieht wie folgt aus:

Code:
echo "Das ist der Mailtext" | mail -s 'Betreff' user@localhost

Das macht im Grunde genommen kaum Sinn, aber diesen Befehl kann man auch in einem Script einsetzen, welches z.B. Daten, die während der Scriptausführung erzeugt werden, an einen User gesendet werden. Es kann auch eine einfache Erledigungsmail sein. Oder sonst was.


Es ist auch möglich, die Mailbestandteile in eine Datei zu setzen, die dann entsprechend ausgewertet wird.

Drucke diesen Beitrag

  find - Dateien aus Unterordner kopieren
Geschrieben von: Joopi - 06-01-2023, 10:07 - Forum: Programmieren - Keine Antworten

Oftmals habe ich das Problem, dass einzelne oder mehrere Dateien über eine größere Anzahl von Unterordnern verteilt sind. Um diese manuell in einem Ordner zusammenzuführen, ist sehr viel Zeit aufzuwenden.

Es gibt aber einen geniale Befehl auf der Konsole, der alle Dateien aus den Unterordnern (auch Unterunterordnern) in einen benannten Ordner kopiert oder verschiebt.

So wie der Befehl unten aufgeführt ist, ist er in dem Ordner auszuführen, in dem auch der Beispielordner z_temp liegt. Sofern der Befehl in Scriptform ausgeführt werden soll, muss natürlich die Zielordnerangabe entsprechend angepasst und vorgenommen werden.

Der Befehl kann zum Kopieren und zum Verschieben eingesetzt werden.

kopieren:

Code:
find . -type f -print0 | xargs -0 -I%%% cp %%% z_temp

veschieben:
Code:
find . -type f -print0 | xargs -0 -I%%% mv %%% z_temp

Mir hat der Befehl sehr viel Zeit erspart, weil ich ganz früher sehr viel mit Ordnern gearbeitet habe. Allerdings muss man bedenken, dass Dateien, die den gleichen haben haben, einfach der letzten Datei überschrieben werden. Das könnte zu Datenverlust führen.  Also vorher kontrollieren, ob es gleichnamige Dateien gibt, die aber unterschiedlichen Inhalte haben, oder in einem Shellscript eine Fehlerbehandlung einbauen.

Drucke diesen Beitrag