Hier gibt es mindestens zwei Probleme:
- Lesen der .gz-Dateien schmerzlos
- Berechtigungen für die Verzeichnisse
- (optional für tex dateien)
Für die Nummer 1 gibt es eine Reihe von Anwendungen, die die komprimierten Dateien nahtlos verarbeiten. Ein Paar, das Sie gebrauchen könnten, sind less
und vim
.
less README.gz
vim -R README.Debian.gz
view Important.bits.gz
view
ist ein Alias für vim -R
, der nur sagt, dass die Datei schreibgeschützt geöffnet werden soll.
Früher, bevor less auf meinem System installiert war, verwendete ich gzcat
die Ausgabe und leitete sie an ein anderes Dienstprogramm weiter. Anscheinend heißt es erst zcat
jetzt auf Ubuntu, aber du würdest es so benutzen, zB:
/usr/share/doc/xpdf$ zcat changelog.Debian.gz | more
zcat ist weiterhin verfügbar. In einigen Fällen kann es hilfreich sein, komprimierte Inhalte an einen anderen Ort zu leiten. (Für Situationen mit .bz2-Dateien bzcat
ist verfügbar.)
Für # 2 befinden sich alle Dateien, die ich unter / usr / share / doc gesehen habe, in Verzeichnissen mit anderen + rx-Berechtigungen, was bedeutet, dass alle Benutzer die Verzeichnisse durchsuchen (z. B. Inhalte auflisten) und Dateien darin lesen können. Was Sie nicht tun können (da standardmäßig nur root über Schreibrechte verfügt), ist das Erstellen von Dateien. Da Sie versuchen, in dieses Verzeichnis zu entpacken, wird Ihnen vermutlich die Berechtigung verweigert, da Sie standardmäßig Lese-, aber keine Schreibberechtigungen haben.
Bei # 3 verwenden Sie vermutlich mehr .tex-Dateien als ich. Aber hier ist eine Möglichkeit, mit ihnen umzugehen, ohne sie nach Hause oder in eine temporäre Datei zu kopieren. Zu diesem Zweck erstellen Sie eine Named Pipe, die Sie jedoch für Ihre anderen Tex-Piping- und Verarbeitungsanforderungen wiederverwenden können. Es sollte so gehen:
- zcat oder gzcat den text
- ... und leiten Sie das an Ihren TeX-Prozessor weiter
- ... und schicke das zu deiner Named Pipe (hier rufe ich ihn an
pipey
)
- ... und greifen Sie dann in einem separaten Bildschirm auf Ihre Ausgabe von pipey zu
- ... und senden Sie das an einen DVI-Anzeigeprozess.
Sie können diese Schritte natürlich ändern, wenn Sie andere oder bessere Dienstprogramme als die hier beschriebenen verwenden.
In meinem Beispiel wird das mkfifo
Dienstprogramm zum Erstellen der Named Pipe verwendet pipey
. Die zu verarbeitende Zieldatei ist /usr/share/doc/gdb/refcard.tex.gz
. Sie benötigen zwei Shell-Befehlszeilen (über Terminal, Alt + F2 oder aber).
Sie geben Terminal eins ein:
mkfifo pipey
Sie haben jetzt eine permanente Named Pipe. Hier können Sie ls -l
einen Blick darauf werfen.
zcat /usr/share/doc/gdb/refcard.tex.gz | tex > pipey
Beachten Sie, dass dieser Befehl erst zurückgegeben wird, wenn Sie etwas mit der Ausgabe an der Named Pipe tun.
Jetzt geben Sie in Terminal zwei Folgendes ein: tex pipey | xdvi
Und es funktioniert (naja, hier sowieso). Der Prozess kann für eine schönere Ausgabe verfeinert werden. Wenn Sie jedoch schnell und relativ unkompliziert arbeiten möchten, können Sie dies auf diese Weise tun.