Здесь есть как минимум две проблемы:
- чтение файлов .gz безболезненно
- разрешения на каталоги
- (необязательно для текстовых файлов)
Для # 1 есть ряд приложений, которые легко справятся с файлами gzip. Пара, которую вы могли бы использовать, less
и vim
.
less README.gz
vim -R README.Debian.gz
view Important.bits.gz
view
это псевдоним для vim -R
, который просто говорит, чтобы открыть файл только для чтения.
В старые времена, до того, как на моей системе было установлено less, я использовал gzcat
и направлял вывод в другую утилиту. По-видимому, zcat
теперь он вызывается только в Ubuntu, но вы бы использовали его так, например:
/usr/share/doc/xpdf$ zcat changelog.Debian.gz | more
zcat по-прежнему доступен, и его использование для передачи сжатого содержимого куда-то может быть полезно в некоторых случаях. (Для ситуаций с файлами .bz2, bzcat
доступно.)
Для # 2 все файлы, которые я видел в / usr / share / doc, находятся в каталогах с другими разрешениями + rx, что означает, что все пользователи могут искать каталоги (например, содержимое списка) и читать файлы внутри. Что вы не можете сделать (так как только root имеет разрешение на запись по умолчанию), это создавать файлы. Поскольку вы пытаетесь разархивировать в этот каталог, я полагаю, что он дает вам отказано в разрешении, потому что у вас есть права на чтение, но не на запись по умолчанию.
Для # 3, я предполагаю, что вы используете файлы .tex больше, чем я. Но вот один из способов справиться с ними без копирования в домашний или временный файл. Для этого вы собираетесь создать именованный канал, но вы можете использовать его для других своих нужд, связанных с передачей и обработкой текстовых сообщений. Это должно идти так:
- zcat или gzcat текст
- ... и передать это на ваш процессор TeX
- ... и отправь это на твой Named Pipe (здесь я позвоню ему
pipey
)
- ... а затем на отдельном экране захватить ваш вывод из pipey
- ... и отправить это в процесс отображения DVI.
Очевидно, вы можете изменить эти шаги, если вы используете другие или лучшие утилиты, чем те, что здесь.
Мой пример будет использовать mkfifo
утилиту для создания именованного канала pipey
. Целевой файл для обработки /usr/share/doc/gdb/refcard.tex.gz
. Вам понадобятся две доступные командные строки оболочки (через терминал, Alt + F2 или другие).
Вы напечатаете в терминале один:
mkfifo pipey
Теперь у вас есть постоянный именованный канал. Вы можете использовать, ls -l
чтобы посмотреть на это.
zcat /usr/share/doc/gdb/refcard.tex.gz | tex > pipey
Обратите внимание, что эта команда не вернется, пока вы не сделаете что-то с выводом, который ушел в именованный канал.
Теперь во втором терминале вы наберете: tex pipey | xdvi
И это работает (ну, в любом случае, здесь). Процесс может быть улучшен для более приятного вывода, но если вы ищете быстрый и относительно беспроблемный, это один из способов сделать это.