Come posso fare in modo che smetta di chiedermi il permesso?


15

Sul mio server rm mi chiede sempre l'autorizzazione (anche se sono root) quando lo eseguo, sul mio desktop no. Così:

$ rm mod_wsgi-3.3.tar.gz
rm: remove regular file `mod_wsgi-3.3.tar.gz'?

Come faccio a smettere di chiedermi?


Forse è un alias. Elencare gli alias con aliase rimuovere l'alias con unalias rm.
H Marcelo Morales,

1
Ricorda solo che se rompi il tuo sistema, riuscirai a conservare entrambi i pezzi. Potresti voler passare a qualcosa di simile trash-clia darti un pulsante Annulla per l'eliminazione.
Ryan C. Thompson,

Risposte:


15

Vorrei verificare se il tuo rmè un alias. Digitando aliasdalla riga di comando vedrai tutti gli alias definiti. Mi aspetto qualcosa del genere

alias rm='rm -i'

In tal caso, l'alias è probabilmente definito in in ~/.bashrc, quindi è possibile rimuovere completamente l'alias o modificarlo in base alle proprie esigenze.

In alternativa, è possibile rimuovere l'alias per la sessione terminale corrente utilizzando unalias rm.


3
Considero più saggio lasciare questo così com'è e usare sempre rm (-i a causa dell'alias) e quando richiesto o digitare yes o ctrl-c e quindi fare un rm -f. La sicurezza prima di tutto: ho corretto un sistema completo usando rm dove non era stato rimosso da qualcun altro dagli alias (altrimenti avrei individuato il mio errore: D).
Rinzwind

@Rinzwind - Probabilmente hai ragione, ma in questo caso non sono eccessivamente preoccupato di bloccare il mio sistema server. È apolide e ho uno script di installazione per ripristinarlo. Tuttavia, una volta ho rimosso metà delle librerie PHP dal mio sistema attraverso un rm tipizzato male, ma trovo meno fastidioso fare una grande pulizia una volta, piuttosto che piccole cose tutto il tempo.
Kit Sunde

2
Mi dispiace dirlo, ma se non hai ancora abbastanza esperienza per scoprire che il tuo rmè un alias, probabilmente dovresti lasciare le misure di sicurezza in atto.
MPi

11

rm -f mod_wsgi-3.3.tar.gz

ATTENZIONE: usare con cautela.

Dalla pagina man :

-f, --force ignore nonexistent files, never prompt

2

Il massimo che ho trovato è

\rm file

questo eseguirà la versione originale di unalias e manterrà intatto l'alias.

Possiamo anche usare la shell integrata commandper esempio

command rm file

ma sicuramente mi godo la minore verbosità della prima


1
Uso le virgolette per evitare gli alias, ad es. 'rm' fileMa il tuo è più corto!
joeytwiddle,

0

Un altro modo per aggirare il definito aliasè quello di fornire il percorso completo quando non si desidera essere richiesto:

/bin/rm mod_wsgi-3.3.tar.gz

Mi piace lasciare un alias sul rm -iposto per sicurezza, per quando sto hackerando nel mezzo della notte e digitando rm .... Ma quando sono abbastanza vigile da ricordare che non voglio essere richiesto, scrivo /bin/rm ....


1
Puoi anche fare command rm /dead/file. commandlo esegue senza cercare funzioni o alias.
Kiri,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.