Remover diretórios no Solaris

5

Estou usando o Solaris. Eu tenho vários diretórios com os seguintes nomes:

saa_first.data
saa_second.data
saa_third.data

Eu quero remover esses diretórios junto com seu conteúdo, então eu uso:

rm -fr saa*

O que eu recebo são as seguintes perguntas:

rm: examine files in directory saa_first.data (yes/no)? n
rm: examine files in directory saa_second.data (yes/no)? n
rm: examine files in directory saa_third.data (yes/no)? n

Eu não recebo nenhum erro, mas os diretórios não são excluídos. O que dá?

Aqui está a minha informação sobre o Solaris:

$ cat /etc/release
                  Solaris 10 10/08 s10s_u6wos_07b SPARC
       Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
                    Use is subject to license terms.
                        Assembled 27 October 2008

ATUALIZAÇÃO:

Funciona depois que eu uso o seguinte comando:

/usr/xpg4/bin/rm -fr saa*

Ainda estou interessado com a explicação de por que não funcionou com /usr/bin/rm .

    
por Rosdi 18.01.2011 / 10:58

3 respostas

8

Você provavelmente encontrará rm alias para rm -i . Se você tivesse respondido y à pergunta, você teria que autorizar a exclusão de cada arquivo em cada diretório.

$ alias rm
alias rm='rm -i'

$ rm -r tmp1
rm: examine files in directory tmp1 (yes/no) y
rm: remove tmp1/1 (yes/no) y
rm: remove tmp1/2 (yes/no) y
rm: remove tmp1: (yes/no) y

Você pode remover temporariamente o alias com o comando unalias . Se você quiser removê-lo permanentemente, você terá que encontrar onde em seus arquivos de inicialização do shell está definido e removê-lo. Se você tivesse usado o caminho completo /usr/bin/rm , teria funcionado da mesma forma que /usr/xpg4/bin/rm

    
por 18.01.2011 / 11:37
0

Eu acho que isso é devido a arquivos não serem removidos desses diretórios, doravante os diretórios não podem ser deletados.

Uma maneira mais controladora de fazer isso seria a seguinte

find . -name "saa*" -maxdepth 1 -exec rm {} \;
find . -name "saa*" -maxdepth 1 -exec rmdir {} \;

Isso fará com que os arquivos desses diretórios sejam apagados primeiro e, depois que os diretórios ficarem vazios, os próprios diretórios serão removidos.

    
por 18.01.2011 / 11:02
0

Não existe uma opção -d no Solaris? No BSD, eu diria 'rm -dfr directory'. Verifique sua página man: -)

    
por 18.01.2011 / 11:19

Tags