Estaba tratando de eliminar un directorio llamado -p. La respuesta de @ Moo logró lo que no pude rm ./-p, que está ampliamente disponible en muchas páginas web después de una búsqueda en Google.
Otro método es usar el número de inodo. Usé el método descrito aquí:
https://www.cyberciti.biz/tips/delete-remove-files-with-inode-number.html
En resumen, use los siguientes comandos:
- Para mostrar el número de inodo de archivo o directorio.
ls -il
- Use el
findcomando usando el -exec rm -irfargumento para un archivo o -exec rm -ifdrpara un directorio.
find . -inum <inode-number> -exec rm -irf {} \;
find . -inum <inode-number> -exec rm -irdf {} \;
Asegúrese de usar -fdentro de la bandera, de lo contrario bash se quejará de no poder encontrar el directorio o el archivo.
Probado en:
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial