Há pelo menos dois problemas aqui:
- lendo os arquivos .gz sem problemas
- permissões nos diretórios
- (opcional para arquivos tex)
Para # 1 , há vários aplicativos que lidarão com os arquivos compactados com facilidade. Um casal que você pode usar é less
e vim
.
less README.gz
vim -R README.Debian.gz
view Important.bits.gz
view
é um alias para vim -R
, que diz apenas para abrir o arquivo somente leitura.
Antigamente, antes de menos ser instalado em meu sistema, usava gzcat
e canalizava a saída para outro utilitário. Aparentemente, só é chamado zcat
agora no Ubuntu, mas você usaria assim, por exemplo:
/usr/share/doc/xpdf$ zcat changelog.Debian.gz | more
O zcat ainda está disponível, e usá-lo para canalizar conteúdos compactados em algum lugar pode ser útil em alguns casos. (Para situações com arquivos .bz2, bzcat
está disponível.)
Para # 2 , todos os arquivos que eu vi em / usr / share / doc estão em diretórios com outras permissões + rx, significando que todos os usuários podem pesquisar os diretórios (por exemplo, lista de conteúdos) e ler arquivos dentro. O que você não pode fazer (já que somente root tem permissão de gravação por padrão), é criar arquivos. Como você está tentando descompactar nesse diretório, imagino que esteja lhe dando permissão negada porque você leu, mas não escreveu permissões por padrão.
Para o # 3, estou supondo que você use arquivos .tex mais do que eu. Mas aqui está uma maneira de lidar com eles sem copiar para casa ou para um arquivo temporário. Para isso, você criará um pipe nomeado, mas poderá reutilizá-lo para suas outras necessidades de processamento e tubulação do tex.
Deve ser assim:
- zcat ou gzcat o texto
- ... e canalize isso para o seu processador TeX
- ... e envie isso para o seu Named Pipe (aqui, eu vou chamá-lo de
pipey
)
- ... e, em seguida, em uma tela separada, pegue sua saída do pipey
- ... e envie isso para um processo de exibição do dvi.
Obviamente, você pode alterar essas etapas se usar utilitários diferentes ou melhores que os usados aqui.
Meu exemplo usará o utilitário mkfifo
para criar o canal nomeado, pipey
. O arquivo de destino a processar é /usr/share/doc/gdb/refcard.tex.gz
.
Você precisará de duas linhas de comando de shell disponíveis (via terminal, Alt + F2 ou no entanto).
você digitará
terminal um:
mkfifo pipey
Agora você tem um pipe nomeado persistente. Você pode usar ls -l
para espiar.
zcat /usr/share/doc/gdb/refcard.tex.gz | tex > pipey
Observe que esse comando não retornará até que você faça algo com a saída que foi enviada para o pipe nomeado.
Agora, no terminal dois, você digitará: tex pipey | xdvi
E funciona (bem, aqui mesmo assim). O processo pode ser refinado para uma saída mais bonita, mas se você estiver procurando por algo rápido e relativamente livre de problemas, essa é uma maneira de fazê-lo.