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 par que você pode usar são 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.
Nos tempos antigos, antes de menos ser instalado no meu sistema, eu 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, o que significa 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 escrita 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, acredito 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 para o seu Named Pipe (aqui, eu vou chamá-lo de
pipey
)
- ... e depois em uma tela separada, pegue sua saída do pipey
- ... e envia isso para um processo de exibição do dvi.
Você pode obviamente alterar essas etapas se usar utilitários diferentes ou melhores do que os que estão 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 do 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 este 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.