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: 488
» Foren-Beiträge: 668

Komplettstatistiken

Benutzer Online
Momentan sind 14 Benutzer online
» 0 Mitglieder
» 7 Gäste
AhrefsBot, Bytespider, Crawl, DotBot, Google, MJ12bot, bot

Aktive Themen
Wednesday - 08:00 CST: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Vor 4 Stunden
» Antworten: 0
» Ansichten: 0
Wednesday - 03:00 CST: No...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Vor 9 Stunden
» Antworten: 0
» Ansichten: 0
Tuesday - 19:00 CST: Not ...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Heute, 04:46
» Antworten: 0
» Ansichten: 2
Tuesday - 13:00 CST: Not ...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 10:34
» Antworten: 0
» Ansichten: 4
Tuesday - 08:00 CST: Not ...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 06:22
» Antworten: 0
» Ansichten: 8
Tuesday - 07:00 CST: Not ...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 05:00
» Antworten: 0
» Ansichten: 12
Tuesday - 03:00 CST: Not ...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 01:12
» Antworten: 0
» Ansichten: 12
Monday - 22:00 CST: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 08:04
» Antworten: 0
» Ansichten: 9
Monday - 16:00 CST: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
Gestern, 01:56
» Antworten: 0
» Ansichten: 10
Monday - 13:00 CST: Not a...
Forum: Wetter in Little Rock
Letzter Beitrag: Joopi
02-12-2024, 10:47
» Antworten: 0
» Ansichten: 10

 
  Shell Verzeichnistiefe
Geschrieben von: Joopi - 06-01-2023, 10:26 - Forum: Programmieren - Keine Antworten

Für meine weiteren Arbeiten im AMC oder im freien Mediencenter ist es wichtig zu wissen, welche Verzeichnistiefe vorliegt. Bei der Suche nach einem entsprechenden Befehl habe ich auch die Möglichkeit gefunden, alle Unterordner zu zählen. Das kann ggfs. hilfreich sein. Wichtig war mir aber die Tiefe.

Mit folgendem Befehl kann die Anzahl der Ordner ermittelt werden, wobei der Startordner, hier ist es ./test, mitgezählt wird:

Code:
find ./test -type d | wc -l

Die Anzahl der Ordner ist aber nicht ausreichend, um die Tiefe der Struktur zu erkennen. Dafür ist folgender Befehl geeignet, wobei der Startordner, hier ist es ./test, **nicht** mitgezählt wird:

Code:
find ./test -type d -printf '%d\n' | sort -rn | head -1

Um alle Dateien für eine Umbenennung oder Konvertierung zu erreichen, ist die Kenntnis über die Ordnertiefe sehr wichtig.

Drucke diesen Beitrag

  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