Тут принаймні два питання:
- читання файлів .gz безболісно
- дозволи на каталоги
- (необов’язково для текстових файлів)
Для №1 існує ряд програм, які без проблем справляться з gzipped файлами. Пара, яку ви могли використовувати, є lessі vim.
less README.gz
vim -R README.Debian.gz
view Important.bits.gz
viewПсевдонім для vim -R, який просто говорить, щоб відкрити файл лише для читання.
За старих часів, перш ніж на моїй системі було встановлено менше, я б використовував gzcatі передавав вихід на іншу утиліту. Мабуть, він зараз викликається тільки zcatв Ubuntu, але ви б його використовували так, наприклад:
/usr/share/doc/xpdf$ zcat changelog.Debian.gz | more
zcat все ще доступний, а його використання для передачі вмісту стисненого вмісту кудись може бути корисним у деяких випадках. (Для ситуацій із .bz2 файлами bzcatдоступно.)
Для №2 усі файли, які я бачив під / usr / share / doc, знаходяться в каталогах з іншими правами + rx, тобто всі користувачі можуть шукати в каталогах (наприклад, вміст списку) та читати файли всередині. Те, що ви не можете зробити (оскільки лише root має дозвіл на запис на запис), це створити файли. Оскільки ви намагаєтесь скасувати розпакування в цей каталог, я думаю, що він дає вам дозвіл відмовлено, оскільки ви читали, але не дозволяли писати дозволи за замовчуванням.
Я вважаю, що ви користуєтесь .tex файлами більше, ніж я. Але ось один із способів поводження з ними без копіювання додому чи тимчасового файлу. Для цього ви збираєтеся створити названу трубу, але ви можете використовувати її повторно для своїх інших текстових трубопроводів та потреб обробки. Це має вийти так:
- zcat або gzcat тексту
- ... і передайте це своєму процесору TeX
- ... і надішліть це на вашу названу трубу (тут я зателефоную йому
pipey)
- ... а потім на окремому екрані візьміть свій висновок з трубопроводу
- ... і надішліть його до процесу відображення дви.
Ви, очевидно, можете змінити ці кроки, якщо використовуєте інші або кращі утиліти, ніж ті, що тут.
Мій приклад буде використовувати 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
І це працює (ну, так чи інакше). Процес можна вдосконалити для кращого виходу, але якщо ви шукаєте швидкого та відносно безладного, це один із способів.