Как скопировать содержимое файла в UNIX без отображения содержимого файла. Я не хочу, чтобы кот или ви видели содержимое.
Я хочу скопировать их в буфер обмена, чтобы вставить его обратно в блокнот Windows.
Я не могу скопировать файл с этого сервера на другой из-за ограничений доступа.
Ответы:
X11
Если вы используете X11 (наиболее распространенный графический интерфейс в традиционных системах на основе Unix или Linux), чтобы скопировать содержимое файла в выбор X11 CLIPBOARD без его отображения , вы можете использовать утилиту
xclip
илиxsel
.Или же:
Для хранения содержимого в
file
качестве выбора CLIPBOARD X11.Обратите внимание, что он должен храниться с использованием кодировки UTF-8, иначе вставка не будет работать должным образом. Если
file
кодируется с использованием другого набора символов, вы должны сначала преобразовать в UTF-8, например:Для файла , закодированного в latin1 / iso8859-1 .
Чтобы сохранить его как CUT_BUFFER (они все еще запрашиваются некоторыми приложениями, например,
xterm
когда ничто не запрашивает выборки CLIPBOARD или PRIMARY X и не требуется запуск процесса, который бы обслуживал его как выборки), хотя вы, вероятно, не захотите или нужно использовать это в настоящее время:(удаляет завершающие символы новой строки из
file
).Экран GNU
У GNU
screen
естьreadbuf
команда, чтобы вылить содержимое файла в свой собственный буфер копирования-вставки (который вы вставляете^A]
). Так:Apple OS / X
Хотя Apple OS / X может использовать X11. Это не по умолчанию, если вы не запустите приложение X11. Вы можете использовать его там
xclip
илиxsel
там, так как OS / X должен синхронизировать выбор X11 CLIPBOARD с буферами OS / X, но это будет пустой тратой на запуск сервера X11 только для этого.В OS / X вы можете использовать
pbcopy
команду для хранения произвольного содержимого в буферах монтажа :(ожидается, что кодировка символа файла будет языковой кодировкой).
ракушки
Большинство оболочек имеют свои собственные буферы копирования-вставки. В режиме emacs операции вырезания и копирования сохраняют скопированный / вырезанный текст в стек, который вы нажимаете / вставляете Ctrl-Y, и циклически перебираете с помощьюAlt+Y
Zsh CUTBUFFER / killring
В
zsh
этом случае стек хранится в$killring
массиве, а верхняя часть стека - в$CUTBUFFER
переменной, хотя эти переменные доступны только из виджетов Zsh Line Editor (zle), и несколько специализированных виджетов являются предпочтительным способом управления ими.Поскольку они доступны только через ZLE, делать это с помощью команд немного запутанно:
zle-line-init
Специальный виджет выполняется один раз в начале каждой новой командной строки. Это означает, что файл будет скопирован только при следующем запросе. Например, если вы делаете:Файл будет скопирован только после этих 2 секунд.
источник
Error: Can't open display: (null)
xclip
иxsel
являются утилитами X11, они манипулируют выборами X11, поэтому могут использоваться только в среде X11, где$DISPLAY
установлено.Может быть, вы хотели спросить это . Но любой файл, который вы хотите прочитать, должен быть открыт каким-то системным вызовом. Если у вас нет доступа к файлу, вы не можете его прочитать. Это идея ограниченного доступа.
источник
Используя X11:
Если вы можете прочитать файл, проблема доступа касается конечного сервера.
источник