precisa saber o uso de rm -f no unix e como implementar no dos

3
rm -f /obi/u01/informatica/v711/pmserver/SrcFiles/coe/aone/AccessOne_Daily_Input.xml

Qual é o seu uso no unix e sua possível implementação no dos?

    
por quack quixote 12.08.2009 / 08:07

4 respostas

17

Isso força o arquivo a ser excluído, mesmo que seja somente leitura.

del /f filename

é o equivalente aproximado em shells de comando do Windows.

    
por 12.08.2009 / 08:09
1

rm -f <filename> exclui <filename> , se existir, mesmo que seja somente leitura para o usuário atual. Se <filename> não existir, rm -f <filename> silenciosamente retornará o sucesso. Se a tentativa de excluir <filename> resultar em um erro de permissão ou <filename> for um diretório, rm será encerrado com uma mensagem de erro. Consulte POSIX.1-2008 Shell & Utilitários: rm .

Isso é útil em situações únicas em que você deseja garantir que um determinado arquivo não exista. rm -f será bem-sucedido se o arquivo não existir; ele tentará remover um arquivo somente leitura se ele já existir. Isso evita que você precise verificar se o arquivo existe primeiro ou ativar o bit de permissão de gravação do arquivo. Isso o torna muito útil em um convencional Makefile clean target porque você quer garantir que todos os arquivos compilados sejam apagados sem ter que colocar código de shell condicional ao redor de cada rm de invocação.

DEL tem um sinal /F que faz com que DEL prossiga e exclua os arquivos para os quais você não tem permissão de gravação. No entanto, ele ainda vai reclamar se você tentar remover um arquivo inexistente (ao contrário de rm -f ):

C:\Users\binki>DEL /F nonexistent
Could Not Find C:\Users\binki\nonexistent

C:\Users\binki>rm -f nonexistent

C:\Users\binki>

Talvez exista uma maneira melhor, mas acho que o comportamento de rm -f só pode ser replicado com a ajuda de IF EXIST . Assim, proponho que IF EXIST <filename> DEL /F <filename> seja a sintaxe cmd mais próxima disponível para replicar o comportamento de rm -f <filename> :

C:\Users\binki>IF EXIST nonexistent DEL /F nonexistent

C:\Users\binki>touch existent& chmod u-w existent

C:\Users\binki>DEL existent
C:\Users\binki\existent
Access is denied.

C:\Users\binki>IF EXIST existent DEL /F existent

C:\Users\binki>ls -l existent
ls: existent: No such file or directory

C:\Users\binki>
    
por 23.10.2013 / 17:12
0

rm -f força a exclusão de um arquivo. Se você precisar excluir tudo em uma pasta específica, incluindo pastas com pastas, você precisará fazer rm -rf no unix.

    
por 18.08.2009 / 17:32
0

Se você se sentir confortável com os comandos UNIX, você pode usar um simulador de shell de comando do UNIX no Windows, o que eu uso é chamado CYGWIN:

link

    
por 09.09.2009 / 06:43