comando rm

Propósito

Remove (unlinks) arquivos ou diretórios.

Sintaxe

rm [  -f ] [  -r ] [  -R ] [  -i ] [  -e ] Arquivo ...

Descrição

O comando rm remove as entradas para o parâmetro Arquivo especificado de um diretório. Se uma entrada é o último link para um arquivo, o arquivo é então excluído. Se você não tiver permissão de gravação para um arquivo e a entrada padrão for um terminal, você será solicitado com o nome do arquivo e pedir para confirmar se deseja excluir o arquivo. Se você digitar umy(para sim), o arquivo é excluído, digite qualquer outro caractere e o arquivo não é excluído. Você não precisa de permissão de leitura ou gravação para o arquivo que deseja remover. No entanto, é necessário ter permissão de gravação para o diretório que contém o arquivo.

Se o arquivo for um link simbólico, o link será removido, mas o arquivo ou diretório que o link simbólico refere-se a restos mortais. Você não precisa de permissão de gravação para excluir um link simbólico, se você tiver permissão de gravação no diretório.

Se um dos arquivos.(ponto) ou..(dot, dot) são especificados como a porção de nome base do parâmetro Arquivo , o comando rm grava uma mensagem de diagnóstico para erro padrão e não faz nada mais com tais parâmetros.

O comando rm grava um prompt para erro padrão e lê uma linha a partir de entrada padrão se a sinalização -f não for especificada, e o parâmetro Arquivo não possui permissão de gravação e a entrada padrão é uma estação de trabalho, ou a sinalização -i é especificada. Se a resposta não for afirmativa, o comando rm não faz nada mais com o arquivo atual e prossegue para o próximo arquivo.

Os arquivos pertencentes a outros usuários não podem ser removidos se o sticky bit do diretório for configurado e o diretório não for de propriedade do usuário.

Nota: O comando rm suporta o parâmetro - (dash, traço) como um delimitador que indica o fim das bandeiras.

Uma tentativa de remover um arquivo ou diretório que tenha sido exportado para uso pelo servidor NFS versão 4 falhará com uma mensagem informando que o recurso está ocupado. O arquivo ou diretório deve ser não exportado para o NFS versão 4 use antes que ele possa ser removido.

Sinalizações

Item Descrição
-e Exibe uma mensagem depois que cada arquivo é excluído.
-f Não solicita antes de remover um arquivo protegido por gravação. Não exibe uma mensagem de erro ou status de erro de retorno se um arquivo especificado não existir. Se ambas as bandeiras -f e -i forem especificadas, o último especificado leva afeto.
-i Prompts antes de excluir cada arquivo. Ao utilizar as sinalizadores -i e -r juntos, o comando rm também prompts antes de excluir diretórios. Se ambas as bandeiras -i e -f forem especificadas, o último especificado leva afeto.
Item Descrição
-r Permite remoção recursiva de diretórios e seu conteúdo quando o parâmetro Arquivo é um diretório. Esta sinalização é equivalente à sinalização -R .
-R Permite remoção recursiva de diretórios e seu conteúdo quando o parâmetro Arquivo é um diretório. Esta sinalização é equivalente à sinalização -r .

Status de saída

Esse comando retorna os valores de saída a seguir:

Item Descrição
0 Se a sinalização -f não foi especificada, todas as entradas de diretório nomeadas foram removidas; caso contrário, todas as entradas de diretório nomeadas existentes foram removidas.
>0 Ocorreu um erro.

Segurança

Atenção usuários RBAC: Este comando pode realizar operações privilegiadas. Somente usuários privilegiados podem executar essas operações. Para obter mais informações sobre autorizações e privilégios, consulte Banco de Dados de Comandos Privilegiados em Segurança. Para obter uma lista de privilégios e as autorizações associadas a esse comando, consulte o comando lssecattr ou o subcomando getcmdattr.

Exemplos

  1. Para excluir um arquivo, digite:
    rm myfile
    Se houver outro link para este arquivo, então o arquivo permanece sob esse nome, mas o nomemyfileé removido. Semyfileé o único link, o próprio arquivo é excluído.
  2. Para excluir um arquivo sem antes receber um prompt de confirmação, digite:
    rm  -f core
    Nenhum prompt de confirmação é emitido antes que o comando rm -f tente remover o arquivo chamadocore. No entanto, uma mensagem de erro exibe se ocorearquivo é protegido por gravação e você não é o proprietário do arquivo ou você não tem autoridade root. Nenhuma mensagem de erro é exibida quando o comando rm -f tenta remover arquivos inexistentes.
  3. Para excluir arquivos um por um, digite:
    rm  -i mydir/*
    Depois que cada nome de arquivo for exibido, digiteypara excluir o arquivo, ou pressione a tecla Enter para mantê-lo.
  4. Para excluir uma árvore de diretórios, digite:
    rm -ir manual
    Este comando remove recursivamente o conteúdo de todos os subdiretórios domanualdiretório, levando-o a respeito da remoção de cada arquivo e, em seguida, remove omanualpróprio diretório, por exemplo:
    You:  rm -ir manual
    System: rm: Select files in directory manual? Enter y for yes.
    You:  y
    System: rm: Select files in directory manual/draft1? Enter y for yes.
    You:  y
    System: rm: Remove manual/draft1?
    You:  y
    System: rm: Remove manual/draft1/chapter1?
    You:  y
    System: rm: Remove manual/draft1/chapter2?
    You:  y
    System: rm: Select files in directory manual/draft2? Enter y for yes.
    You:  y
    System: rm: Remove manual/draft2?
    You:  y
    System: rm: Remove manual?
    You:  y
    Aqui, o comando rm primeiro pergunta se você quer que ele pesque omanualdiretório. Porque omanualdiretório contém diretórios, o comando rm próximo pede permissão para pesquisamanual/draft1para arquivos excluir, e então pergunta se você deseja que ele exclua omanual/draft1/chapter1emanual/draft1/chapter2. O comando rm próximo pede permissão para pesquisar omanual/draft2diretório. Em seguida, pede permissão para excluir omanual/draft1,manual/draft2emanual diretórios.

    Se você negar permissão para remover um subdiretório (por exemplo,manual/draft2), o comando rm não remove omanualdiretório. Em vez disso, você vê a mensagem:rm: Directory manual not empty.

Arquivos

Item Descrição
/usr/bin/rm Contém o comando rm .