Kopieren des Inhalts einer Datei unter UNIX ohne Anzeige des Dateiinhalts. Ich möchte nicht, dass cat oder vi den Inhalt sehen.
Ich möchte sie in die Zwischenablage kopieren, damit ich sie wieder in meinen Windows-Editor einfügen kann.
Ich kann die Datei aufgrund von Zugriffsbeschränkungen nicht von diesem Server auf einen anderen kopieren.
Antworten:
X11
Wenn Sie X11 (die häufigste Benutzeroberfläche auf herkömmlichen Unix- oder Linux-basierten Systemen) verwenden, können Sie den Inhalt einer Datei in die Auswahl X11 CLIPBOARD kopieren, ohne sie anzuzeigen. Verwenden Sie dazu das Dienstprogramm
xclip
oderxsel
.Oder:
Zum Speichern des Inhalts
file
als CLIPBOARD X11-Auswahl.Beachten Sie, dass es mit einer UTF-8-Codierung gespeichert werden sollte, da andernfalls das Einfügen nicht ordnungsgemäß funktioniert. Wenn die
file
Zeichen mit einem anderen Zeichensatz codiert sind, sollten Sie zuerst nach UTF-8 konvertieren, z.Für eine in latin1 / iso8859-1 codierte Datei .
Um es als CUT_BUFFER zu speichern (diese werden immer noch von einigen Anwendungen abgefragt,
xterm
wenn nichts die CLIPBOARD- oder PRIMARY X-Auswahl beansprucht und kein Prozess ausgeführt werden muss, um es wie eine Auswahl zu bedienen), obwohl Sie wahrscheinlich oder nicht wollen müssen das heutzutage nutzen:(Entfernt die nachfolgenden Zeilenumbrüche von
file
).GNU-Bildschirm
GNU
screen
hat denreadbuf
Befehl, den Inhalt einer Datei in einen eigenen Copy-Paste-Buffer (mit dem Sie einfügen^A]
) zu schlürfen . Damit:Apple OS / X
Obwohl Apple OS / X können X11 verwenden. Dies ist standardmäßig nur möglich, wenn Sie eine X11-Anwendung ausführen. Sie könnten
xclip
oderxsel
dort verwenden, da OS / X die Auswahl von X11 CLIPBOARD mit den Puffern von OS / X-Pasteboards synchronisieren sollte. Es wäre jedoch eine Verschwendung, den X11-Server nur dafür zu starten.Unter OS / X können Sie mit dem
pbcopy
Befehl beliebigen Inhalt in Pasteboard- Puffern speichern :(Es wird erwartet, dass die Zeichencodierung der Datei der des Gebietsschemas entspricht.)
Muscheln
Die meisten Shells haben eigene Copy-Paste-Puffer. Im Emacs-Modus speichern Ausschneiden und Kopieren den kopierten / ausgeschnittenen Text auf einem Stapel, mit dem Sie ruckeln / einfügen Ctrl-Yund durchlaufenAlt+Y
zsh CUTBUFFER / killring
In
zsh
wird der Stapel im$killring
Array und der obere Bereich des Stapels in der$CUTBUFFER
Variablen gespeichert , obwohl diese Variablen nur in Zle-Widgets (Zsh Line Editor) verfügbar sind. Einige spezielle Widgets sind die bevorzugte Methode, um diese zu bearbeiten.Da diese nur über das ZLE verfügbar sind, ist das Ausführen mit Befehlen etwas kompliziert:
Das
zle-line-init
spezielle Widget wird zu Beginn jeder neuen Eingabeaufforderung einmal ausgeführt. Dies bedeutet, dass die Datei nur bei der nächsten Eingabeaufforderung kopiert wird. Zum Beispiel, wenn Sie:Die Datei wird erst nach diesen 2 Sekunden kopiert.
quelle
Error: Can't open display: (null)
xclip
undxsel
X11-Dienstprogramme manipulieren die X11-Auswahl und können daher nur in einer X11-Umgebung verwendet werden, in der dies festgelegt$DISPLAY
ist.Vielleicht wolltest du das fragen . Jede Datei, die Sie lesen möchten, muss jedoch durch einen Systemaufruf geöffnet werden. Wenn Sie keinen Zugriff auf eine Datei haben, können Sie sie nicht lesen. Das ist die Idee des eingeschränkten Zugangs.
quelle
Verwendung von X11:
Wenn Sie eine Datei lesen können, handelt es sich bei dem Zugriffsproblem um den Zielserver.
quelle