Jak skopiować zawartość pliku w systemie UNIX bez wyświetlania zawartości pliku. Nie chcę kota ani vi, aby zobaczyć zawartość.
Chcę skopiować je do schowka, aby móc wkleić je z powrotem w notatniku systemu Windows.
Nie mogę skopiować pliku z tego serwera na inny z powodu ograniczeń dostępu.
Odpowiedzi:
X11
Jeśli używasz X11 (najczęściej używanego GUI w tradycyjnych systemach opartych na Unixie lub Linuksie), aby skopiować zawartość pliku do wyboru SCHOWKA X11 bez wyświetlania , możesz użyć narzędzia
xclip
lubxsel
.Lub:
Aby zapisać zawartość
file
jako wybór SCHOWEK X11.Pamiętaj, że należy go przechowywać przy użyciu kodowania UTF-8, w przeciwnym razie wklejanie nie będzie działać poprawnie. Jeśli
file
kodowany jest przy użyciu innego zestawu znaków, należy najpierw przekonwertować na UTF-8, na przykład:Dla pliku zakodowanego w latin1 / iso8859-1 .
Aby zapisać go jako CUT_BUFFER (są one nadal sprawdzane przez niektóre aplikacje, np.
xterm
Gdy nic nie twierdzi, że CLIPBOARD lub PODSTAWOWE X wyborów i nie muszą mieć uruchomionego procesu, aby obsługiwać je jak dla wyborów), chociaż prawdopodobnie nie będziesz chciał lub muszę tego obecnie używać:(usuwa końcowe znaki nowego wiersza
file
).Ekran GNU
GNU
screen
mareadbuf
polecenie, aby zasłonić zawartość pliku do własnego bufora kopiuj-wklej (który wklejasz^A]
). Więc:Apple OS / X
Chociaż Apple OS / X może używać X11. Domyślnie nie działa, chyba że uruchomisz aplikację X11. Byłbyś w stanie użyć
xclip
lubxsel
tam, ponieważ OS / X powinien zsynchronizować wybór SCHOWKA X11 z buforami pasteboard OS / X, ale byłoby to trochę marnotrawstwem, aby uruchomić serwer X11 właśnie do tego.W systemie OS / X można użyć
pbcopy
polecenia do przechowywania dowolnej zawartości w buforach stołu roboczego:(kodowanie znaków w pliku powinno być kodowaniem regionalnym).
Muszle
Większość powłok ma własne bufory kopiuj-wklej. W trybie emacsa operacje wycinania i kopiowania przechowują skopiowany / wycięty tekst na stosie, którym szarpiesz / wklejasz Ctrl-Y, i przeglądasz za pomocąAlt+Y
zsh CUTBUFFER / killilling
W
zsh
, stos jest przechowywana w$killring
tablicy i na górze stosu w$CUTBUFFER
zmiennej chociaż te zmienne są dostępne tylko z zsh Line Editor (Zle) widgetów i kilka wyspecjalizowanych widżety są preferowanym sposobem manipulowania tymi.Ponieważ są one dostępne tylko za pośrednictwem ZLE, robienie tego za pomocą poleceń jest nieco skomplikowane:
zle-line-init
Specjalny widget jest wykonywana raz na początku każdego nowego wiersza poleceń. Oznacza to, że plik zostanie skopiowany tylko przy następnym znaku zachęty. Na przykład, jeśli wykonasz:Plik zostanie skopiowany dopiero po tych 2 sekundach.
źródło
Error: Can't open display: (null)
xclip
ixsel
są narzędziami X11, manipulują zaznaczeniami X11, więc można ich używać tylko w środowisku X11, w którym$DISPLAY
jest ustawiony.Może chciałeś o to zapytać . Ale każdy plik, który chcesz odczytać, musi zostać otwarty przez jakieś wywołanie systemowe. Jeśli nie masz dostępu do pliku, nie możesz go odczytać. To jest idea ograniczonego dostępu.
źródło
Za pomocą X11:
Jeśli możesz odczytać plik, problem z dostępem dotyczy serwera docelowego.
źródło