mandato rm
Finalidad
Elimina (desenlaza) archivos o directorios.
Sintaxis
Descripción
El mandato rm elimina las entradas para el parámetro Archivo especificado de un directorio. Si una entrada es el último enlace a un archivo, el archivo se suprime. Si no tiene permiso de escritura para un archivo y la entrada estándar es un terminal, se le solicitará el nombre de archivo y se le solicitará que confirme que desea suprimir el archivo. Si escribe uny(para sí), el archivo se suprime, teclee cualquier otro carácter y el archivo no se suprime. No necesita permiso de lectura o escritura para el archivo que desea eliminar. Sin embargo, el usuario debe disponer del permiso de grabación para el directorio que contiene el archivo.
Si el archivo es un enlace simbólico, el enlace se elimina, pero el archivo o directorio al que hace referencia el enlace simbólico permanece. No necesita permiso de escritura para suprimir un enlace simbólico, si tiene permiso de escritura en el directorio.
Si alguno de los archivos.(punto) o..(punto, punto) se especifican como la parte del nombre base del parámetro Archivo , el mandato rm escribe un mensaje de diagnóstico en el error estándar y no hace nada más con dichos parámetros.
El mandato rm graba una solicitud en un error estándar y lee una línea de la entrada estándar si no se especifica el distintivo F , y el parámetro Archivo no tiene permiso de grabación y la entrada estándar es una estación de trabajo, o se especifica el distintivo -i . Si la respuesta no es afirmativa, el mandato rm no hace nada más con el archivo actual y continúa con el siguiente archivo.
Los archivos propiedad de otros usuarios no se pueden eliminar si el bit de permanencia del directorio está establecido y el directorio no es propiedad del usuario.
Un intento de eliminar un archivo o directorio que se ha exportado para que lo utilice el servidor de NFS versión 4 fallará con un mensaje que indica que el recurso está ocupado. El archivo o directorio debe desexportarse para el uso de NFS versión 4 antes de que se pueda eliminar.
Distintivos
| Elemento | Descripción |
|---|---|
| -e | Muestra un mensaje después de suprimir cada archivo. |
| -f | No solicita antes de eliminar un archivo protegido contra grabación. No visualiza un mensaje de error o devuelve el estado de error si no existe un archivo especificado. Si se especifican los distintivos F y -i , el último especificado entra en vigor. |
| -i | Le solicita antes de suprimir cada archivo. Cuando se utilizan los distintivos -i y -r juntos, el mandato rm también solicita antes de suprimir directorios. Si se especifican los distintivos -i y F , el último especificado entra en vigor. |
| Elemento | Descripción |
|---|---|
| -r | Permite la eliminación recursiva de directorios y su contenido cuando el parámetro Archivo es un directorio. Este distintivo es equivalente al distintivo -R . |
| -R | Permite la eliminación recursiva de directorios y su contenido cuando el parámetro Archivo es un directorio. Este distintivo es equivalente al distintivo -r . |
Estado de salida
Este mandato devuelve los siguientes valores de salida:
| Elemento | Descripción |
|---|---|
| 0 | Si no se ha especificado el distintivo F , se han eliminado todas las entradas de directorio con nombre; de lo contrario, se han eliminado todas las entradas de directorio con nombre existentes. |
| >0 | Se ha producido un error. |
Seguridad
Atención usuarios de RBAC y usuarios de Trusted AIX®: Este comando puede realizar operaciones privilegiadas. Sólo los usuarios con privilegios pueden ejecutar operaciones con privilegios. Para obtener más información sobre autorizaciones y privilegios, consulte el apartado Base de datos de mandatos con privilegios en Seguridad. Para obtener una lista de los privilegios y las autorizaciones asociadas a este mandato, consulte el mandato lssecattr o el submandato getcmdattr.
Ejemplos
- Para suprimir un archivo, especifique:
Si hay otro enlace a este archivo, el archivo permanece bajo ese nombre, pero el nombremyfilese elimina. Simyfilees el único enlace, el propio archivo se suprime.rm myfile - Para suprimir un archivo sin recibir primero una solicitud de confirmación, especifique:rm -f coreNo se emite ningún mensaje de confirmación antes de que el comando rm -f intente eliminar el archivo llamadocore. Sin embargo, se muestra un mensaje de error si elcoreestá protegido contra grabación y no es el propietario del archivo o no tiene autorización root. No se muestra ningún mensaje de error cuando el comando rm -f intenta eliminar archivos inexistentes.
- Para suprimir archivos de uno en uno, entre:rm -i mydir/*Después de que se visualice cada nombre de archivo, especifiqueypara suprimir el archivo o pulse la tecla Intro para conservarlo.
- Para suprimir un árbol de directorios, especifique:
Este mandato elimina de forma recursiva el contenido de todos los subdirectorios delmanual, solicitándole información sobre la eliminación de cada archivo y, a continuación, elimina elmanual, por ejemplo:rm -ir manual
Aquí, el mandato rm primero pregunta si desea que busque elmanual. Debido a que elmanualdirectorio contiene directorios, el siguiente mandato rm solicita permiso para buscarmanual/draft1para que los archivos se supriman y, a continuación, le pregunte si desea que se suprima elmanual/draft1/chapter1ymanual/draft1/chapter2. A continuación, el mandato rm solicita permiso para buscar enmanual/draft2. A continuación, solicita permiso para suprimir elmanual/draft1,manual/draft2ymanual.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: ySi deniega el permiso para eliminar un subdirectorio (por ejemplo,manual/draft2), el mandato rm no elimina elmanual. En su lugar, verá el mensaje:rm: Directory manual not empty.
Archivos
| Elemento | Descripción |
|---|---|
| /usr/bin/rm | Contiene el mandato rm . |