Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] rm -r e diretórios

Se para apagar diretórios precisamos usar o comando 'rmdir -r', por que a gente usou o comendo 'rm -r' para remover o diretório workspace? E pq o diretório workspace não desapareceu por completo (visto que ainda é possível executar o comando 'ls workspace').

brenda--assis@DESKTOP-JKL41OJ:~$ rmdir workspace/
rmdir: failed to remove 'workspace/': Directory not empty
brenda--assis@DESKTOP-JKL41OJ:~$ zip -r work.zip workspace/
updating: workspace/ (stored 0%)
updating: workspace/projetos-java/ (stored 0%)
updating: workspace/projetos-java/saudação2.txt (stored 0%)
updating: workspace/saudação.txt (stored 0%)
updating: workspace/arquivo1.txt (stored 0%)
updating: workspace/projetos-php/ (stored 0%)
updating: workspace/arquivo2.txt (stored 0%)
brenda--assis@DESKTOP-JKL41OJ:~$ rm -r workspace/
brenda--assis@DESKTOP-JKL41OJ:~$ unzip work.zip
Archive:  work.zip
   creating: workspace/
   creating: workspace/projetos-java/
 extracting: workspace/projetos-java/saudação2.txt
 extracting: workspace/saudação.txt
 extracting: workspace/arquivo1.txt
   creating: workspace/projetos-php/
 extracting: workspace/arquivo2.txt
brenda--assis@DESKTOP-JKL41OJ:~$ ls workspace/
arquivo1.txt  arquivo2.txt  projetos-java  projetos-php  saudação.txt
brenda--assis@DESKTOP-JKL41OJ:~$
3 respostas
solução!

Olá!

O comando rmdir não suporta a opção -r, pois ele permite apagar apenas diretórios vazios. Por esse motivo, o comando rm -r deve ser utilizado para apagar um diretório que não esteja vazio. Os manuais desses comandos (man rm e man rmdir) listam opções interessantes e mais informações sobre o seu uso. ;)

Sobre o diretório workspace não ter sido apagado por completo; na verdade, ele foi apagado, mas foi criado novamente pelo comando unzip, ao descompactar o arquivo work.zip, conforme exibido no terminal:

Archive:  work.zip
   creating: workspace/

Se quiser verificar o efeito do rm -r, basta listar o conteúdo do diretório atual após chamá-lo, mas antes de chamar unzip.

O diretório workspace estava dentro do arquivo work.zip, então? (Como se tivéssemos apagado o diretório original e agora estamos usando/manipulando a "cópia" dele?)

Exato! O arquivo work.zip guarda uma cópia compactada do diretório workspace juntamente ao seu conteúdo e, ao descompactá-lo, um novo diretório é criado com a mesma estrutura que o original.