Está en la página 1de 18

Administrar propietarios y permisos de archivos

Peso: Indica el valor de importancia que tiene este tópico en la certificación.

Tópico Cubierto: Indica, según el programa de certificación LPI, qué tópico le corresponde a este tema.

Descripción: Un resumen de lo que se verá.

Temas: Un resumen de los conceptos primordiales que están cubiertos.

Ejemplos: Palabras claves que se deben tener en cuenta.

Permisos y propiedades de archivos

Linux asocia cada archivo con un número de propiedades por seguridad y otros razones. Un grupo de propiedades,
conocidas como permisos, son atributos especiales que controlan la capacidad de los usuarios para realizar varias
operaciones sobre ellos.

¿Qué son los permisos?

Unix, y los sistemas estilo Unix tales como Linux, son inherentemente sistemas operativos multiusuarios, y tienen
la necesidad de proporcionar mejor control, para que un usuario malicioso no pueda interferir con otros archivos de
usuarios. Por ejemplo, un usuario puede tener información sensible que otro usuario puede querer acceder. Sin
permisos de archivos, el otro usuario puede ser capaz de acceder a ellos. Pero con los permisos debidamente
configurados, el usuario no puede leer el archivo.

Cada archivo, directorio, o dispositivo tiene un grupo de permisos asociados con él. Estos permisos son visibles con
el comando ls y la opción -l , por ejemplo:

# ls -l
-rw-r–r– 1 root root 1059 Nov 18 13:23 /etc/passwd

El bloque de los permisos es lo primero que aparece en la línea:

-rw-r--r--

Partimos esta cadena en cuatro secciones:

Columna Descripción Información adicional


1 Tipo - (Archivo)
d (Directorio)
l (link simbólico)
b (dispositivo de bloque)
c (dispositivo de caracter)
s (socket)
2 Permisos Usuario Asociado al usuario que lo creó
3 Permisos de Grupo Asociado al grupo del usuario
4 Permisos Otros Cualquier otro que no sea el usuario o no esté
en el grupo
5 Links asociados o directorios contenidos
6 Usuario propietario
7 Grupo
8 Tamaño
9 Fecha
10 Año u Hora
11 Nombre de archivo/directorio

En cada bloque de tres caracteres, los caracteres r, w, y x significan que el archivo puede ser leído (Read),
escrito/modificado (Write), o ejecutado (eXecute). Un guión significa que el permiso no está puesto (por ejemplo,
arriba, el archivo test.txt se puede leer y modificar por el propietario, pero no se puede ejecutar). Así, por ejemplo
r-x significa que los permisos de lectura y ejecución están puestos, pero no el de escritura.

Como regla, es más fácil utilizar la sigla U.G.O (Usuarios, Grupos y Otros), a cada grupo de tres caracteres le
pertenecen los permisos correspondientes.

Cuando hablamos de otros es todo aquel que no sea el usuario propietario, ni se encuentre en el grupo definido del
archivo.

Otra forma de ver los permisos de manera más detallada es la siguiente:

[crond1@oc6127656113 ~]$ stat /bin/bash


File: `/bin/bash'
Size: 960544 Blocks: 1880 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 66159 Links: 1
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2011-11-21 05:01:01.752935695 -0300
Modify: 2011-06-22 10:49:05.000000000 -0300
Change: 2011-10-04 03:12:19.933687854 -0300
Birth: -

De esta forma, estamos viendo los atributos generales que posee un inodo, que es el objeto que representa los datos
dentro del sistema de archivos.

Los componentes informativos de un fichero están compuestos por un campo y tres secciones, que son las
siguientes:

Permiso Descripción Información adicional


r Permite la lectura (Read) de un
archivo. Éste es el único permiso
necesario para copiar un archivo.
Cuando se aplica a un directorio, se
pueden leer o ver sus archivos.
w Permite escribir (Write) en un
archivo. Con él se pueden cambiar,
modificar o sobreescribir los
contenidos del archivo. Cuando se
aplica en un directorio, este permite
borrar y mover archivos incluso si
no se tiene el permiso de escritura
específico sobre el archivo
individual.
x Permite de ejecutar (eXecute) un
archivo. Aplicado a un directorio,
este permite el acceso al mismo.
Cuando se aplica a un conjunto con
permisos de lectura dentro de un
escritorio, este permite buscar dentro
de dicho directorio.
- Permiso sin asignar. Por ejemplo, r-x
indica que ese usuario puede leer y
ejecutar, pero no escribir

Comando chmod

Cambio de permisos y propietarios

Muchos permisos se ponen automáticamente cuando se crea un archivo. Estos permisos están basados en el
usuario, las preferencias administrativas y los datos.
chmod ( change mode ) permite cambiar los permisos de acceso de un archivo o directorio.

La sintaxis básica de esta utilidad es la siguiente:

[BASH]# chmod [modificadores] [opciones] [archivo/directorio]

Donde los modificadores son los permisos antes vistos.

Se pueden utilizar muchas opciones con el comando chmod. Las utilizadas más frecuentemente son los siguientes:

-v Lista los archivos y directorios a los que se les va aplicando el comando, a medida que el mismo se ejecuta.

-R Aplica el comando chmod recursivamente a todos los archivos y subdirectorios.

Cambiar permisos

A cada archivo se le asigna automáticamente un conjunto de permisos, que se puede definir con el comando
umask. Para cambiar los permisos predeterminados, se usa el comando chmod, que modifica los permisos de
lectura, escritura, y ejecución para el usuario, grupo y otros.

La forma que tenemos de poder cambiar los permisos son con letras o números.

Con letras podemos hacerlo utilizando u, g, o, a (usuario, grupo, otros, todos los permisos)

Ejemplo:

Agregar ejecución y quitar escritura al usuario, agregar lectura y escritura a otros.

chmod u+x,u-w,o+rw hola

Defino para usuario grupo y otros lectura y escritura en el archivo test.txt


chmod ugo=rw test.txt

Agregar ejecución para usuario, grupo y otros.


chmod a=x test

Defino lectura y escritura para el usuario para el directorio etc de manera recursiva.
chmod -R u=rw etc

De esta forma, lo que podemos hacer es + agregar un permiso, - quitar un permiso o = igualar un permiso a todos
esos valores.

También contamos con la manera numérica para poder definir los permisos.
Para definir los permisos de manera numérica a un archivo o directorio hay que ingresar tres números, el primero
será para los permisos de Usuario, el segundo para el Grupo y el tercero para Otros.

Definir lectura para el usuario y el grupo, los demás nada.

# chmod 440 test.txt

Cuando se quiere definir más de un permiso lo que se hace es combinar los valores

Definir todo para el usuario, lectura y ejecución para el grupo y lectura para otros

# chmod 754 test.txt

En este ejemplo el 7 es el resultado de la suma de 4 (lectura), 2 (escritura) y 1 (ejecución). Definiendo la totalidad


de los permisos para el usuario propietario. Luego para el grupo tiene el valor 5 de la suma de los valores 4
(lectura) y 1 (ejecución). Por último para otros solo el permiso de lectura 4.

Comando chown

El comando chown cambia el propietario de cada archivo, usuario o grupo, pero sólo si se le especifica un nombre
de usuario (o UID numérico); entonces, ese usuario se convierte en el propietario de cada archivo dado, y el grupo
al que pertenece, no cambia. Si al nombre de usuario lo sigue un signo de dos puntos y un nombre de grupo o GID
numérico, sin espacios entre ellos, entonces, también se cambia el grupo al que pertenece cada archivo. La sintaxis
básica de esta utilidad es la siguiente:

# chown [opciones] usuario:grupo fichero

Se pueden utilizar opciones con el comando chown. Las utilizadas más frecuentemente son las que se muestran en
la siguiente tabla:

Opciones Descripción
-c Muestra un mensaje donde menciona solamente aquellos ficheros cuyo propietario cambia realmente.
-f No muestra mensajes de error sobre ficheros cambiarse.
-R Cambia recursivamente el propietario de directorios y sus contenidos.
-v Describe la acción efectuada (o no) para cada fichero de forma interactiva.

Ejemplo
Asignar el propietario educacionit al directorio /directorio1 de manera recursiva (a todo su contenido)

# chown -R educacionit /directorio1

Comando chgrp

El comando chgrp se usa para cambiar solamente el grupo propietario de un archivo o directorio. El comando busca
en el fichero /etc/group para confirmar la existencia del grupo especificado antes de cambiar los permisos. La
sintaxis básica de esta utilidad es la siguiente:

# chgrp [opciones] grupo fichero

Se pueden utilizar opciones con el comando chgrp. Las utilizadas más frecuentemente son las que se muestran en
la siguiente tabla:

Opciones Descripción
-c Muestra un mensaje donde menciona solamente aquellos ficheros cuyo propietario cambia realmente.
-h Actúa sobre enlaces simbólicos propiamente en vez de sobre lo que apunten. Disponible solamente si el
sistema proporciona la primitiva lchown
-f No muestra mensajes de error sobre ficheros cuyo grupo no pueda cambiarse.
-R Cambia recursivamente el grupo al que pertenecen directorios y sus contenidos. (Y continúa incluso si se
encuentran errores.)
-v Describe la acción efectuada (o no) para cada fichero de forma interactiva.

El usuario root puede efectuar los cambios al grupo que desee; para que un usuario pueda hacerlo, debe ser el
propietario del archivo y pertenecer al grupo donde está efectuando el cambio.

Comando umask

Se utiliza para visualizar/configurar la máscara de permisos para creación de archivos y directorios.

Algunos ejemplos:

[restauracion@/home/crond1 $] umask -p
umask 0002

[restauracion@/home/crond1 $] umask -S
u=rwx,g=rwx,o=rx

El umask es la inversa del chmod. En el caso de umask el valor 022 es el equivalente a 755 en chmod. El umask lo
podemos calcular como la cantidad de números que faltan para llegar a 7.

En el caso de definir un umask 000 al crear un archivo el permiso máximo chmod será 666, en cambio para un
directorio será 777.

En el resultado del comando se ven cuatro cifras. La primera es la que va a definir el SUID, SGID o Stickybit.
Permisos Especiales

Permisos adicionales

Los sistemas UNIX emplean, típicamente, tres permisos o modos adicionales. Estos permisos especiales se asignan
a archivos o directorios en conjunto, no a cada clase de forma separada (como sucedía con los permisos básicos).

Estos tres permisos (especificables de forma independiente), un bit por cada uno de ellos, permiten 8
combinaciones posibles que se expresan con un dígito en base 8 (del 0 al 7, uno por cada combinación posible) que
se antepone al modo de permisos. Así, el modo se ampliaría ahora del 0000 al 7777.

Pueden ser utilizados 3 tipos de permisos en determinadas circunstancias. Aparte de los siempre aplicables de
lectura, escritura y ejecución, algunas veces es necesario algo más para un archivo o directorio. Estos permisos
especiales son los 3 siguientes:

Asignar ID de usuario (set user ID) (SUID)


Asignar ID de grupo (set group ID) (SGID)
Sticky bit

SUID

Permiso set user ID, setuid o SUID: cuando un archivo tiene este permiso asignado y es ejecutado, el proceso
resultante asumirá el ID de usuario efectivo del propietario del archivo. El ejemplo típico es el cambio de una
clave de usuario: ningún usuario debería poder modificar /etc/shadow directamente. La única forma de poder
modificarlo debería ser a través del comando correspondiente, que necesariamente tendrá que tener asignado el
setuid. Es decir, el comando /usr/bin/passwd ejecutado por un usuario se ejecutará como si lo hubiese invocado
el root, de manera de poder modificar /etc/shadow.

Ejemplo:

Se puede ver que en los permisos del usuario aparece una “s” en vez de una “x”

# ls -l /usr/bin/passwd

-rwsr-xr-x 1 root root 45396 May 25 2012 /usr/bin/passwd

Este permiso se puede setear con

# chmod 4655 archivo

# chmod u+s archivo

Para ver todos los archivos que hay con este permiso en el sistema:

# find / -perm +4000 2>/dev/null


SGID

Permiso set group ID, setgid o SGID: cuando un archivo que tiene este permiso asignado se ejecuta, el proceso
resultante asumirá el ID de grupo efectivo definido en el archivo. Cuando el setgid le es asignado a un directorio,
archivos nuevos y directorios creados debajo de ese directorio heredarán el grupo de ese directorio, a diferencia del
comportamiento por defecto, que es usar el grupo primario del usuario efectivo al asignar el grupo de archivos
nuevos y directorios.

Ejemplo:

$ ls -ld /test
drwxr-sr-x 241 educacionit educacionit 4096 Sep 12 19:29 /test
$ sudo mkdir /test/prueba

$ ls -ld /test

drwxr-sr-x 2 root educacionit 4096 Sep 12 19:35 prueba

Este permiso se puede setear con

# chmod 2755 directorio (o un archivo)

# chmod g+s directorio (o un archivo)

Ver todos los archivos que hay con ese permiso en el sistema:

$ find / -perm +2000 2>/dev/null

Sticky Bit

Este permiso no trabaja como los otros permisos especiales. Con un valor numérico de 1000, sus operaciones
difieren cuando están aplicadas a un directorio o a un archivo. Cuando está aplicado a un directorio, evita que los
usuarios borren archivos de las carpetas que les conceden el permiso de escritura, a menos que sean el propietario
del archivo. Por defecto, cualquier usuario que tenga permiso de escritura en un directorio puede borrar archivos
dentro de ese directorio, incluso si no tiene el permiso de escritura de ese archivo.

Hoy en día con las técnicas actuales de administración de memoria ya quedó en desuso. Cuando se aplicaba sobre
un archivo, el archivo se convertía en “sticky” (bloqueado). La primera vez que se accedía o se ejecuta el archivo y
se carga en memoria, permanecía cargado en memoria de modo que pudiera iniciar más rápidamente. Si el archivo
no es ejecutable, el último bit de permiso se convierte en “T”. Si el archivo es un fichero ejecutable, o el permiso se
aplica a un directorio, el bit pasado se convierte en una “t”. Cuando se aplica el permiso chmod y las letras, aparece
“t” de todos modos (sea archivo o directorio).

El directorio /tmp cuenta con este permiso activo, porque es un directorio en el que todos los usuarios tienen
permiso de escritura, pero nadie podrá borrar ningún archivo que no le pertenezca.

Ejemplo:
Este permiso se puede setear con

# chmod 1755 directorio (o un archivo)

# chmod o+t directorio (o un archivo)

$ ls -ld /tmp

drwxrwxrwt 26 root root 36864 Sep 15 23:17 /tmp

Ver todos los archivos que hay con ese permiso en el sistema:

# find / -perm +1000 2>/dev/null

Listando Atributos

Comando lsattr

Atributos de archivos

En los sistemas ext2/3/4 los archivos poseen atributos, estos se pueden hacer visibles con el comando lsattr

[educacionint@aula12 ~]$ lsattr print2.pdf


----i-------- print2.pdf

El archivo print2.pdf posee el atributo de inmutabilidad “i”. Los demás guiones indican atributos deshabilitados.
Los atributos son los siguientes:
Se puede cambiar el estado de un atributo con el comando chattr; el siguiente ejemplo muestra la eliminación del
atributo “i”:

[root@aula12 educacionit]# chattr -i print2.pdf


[root@aula12 educacionit]# lsattr print2.pdf
------------- print2.pdf

Estableciendo Reglas

Listas de control de acceso


De manera predeterminada a un archivo o directorio solo podemos definirle un usuario propietario y un grupo.
Todo aquel que no sea uno estos dos, se verá afectado por los permisos de “otros”.

El comando setfacl sirve para definir el acceso de usuarios y grupos adicionales a uno más directorios y/o archivos.
El comando getfacl permite ver los permisos agregados.

[crond1@oc6127656113 ~]$ getfacl test


# file: test
# owner: crond1
# group: crond1
user::--x
group::--x
other::--x

Agregar al usuario matias con permisos de lectura y ejecución sobre el archivo test.sh

[crond1@oc6127656113 ~]$ setfacl -m user:matias:r-x test.sh


[crond1@oc6127656113 ~]$ getfacl test.sh
# file: test.sh
# owner: crond1
# group: crond1
user::--x
user:matias:r-x
group::--x
mask::r-x
other::--x

Agrego al grupo usuarios con permiso de lectura y ejecución sobre test.sh

[crond1@oc6127656113 ~]$ setfacl -m group:usuarios:r-x test.sh


[crond1@oc6127656113 ~]$ getfacl test.sh
# file: test.sh
# owner: crond1
# group: crond1
user::--x
user:matias:r-x
group::--x
group:usuarios:r-x
mask::r-x
other::--x
Bibliografía
Editar la bibliografia esta mal apuntada

Libros:

LPI Linux Certification in a Nutshell, Third Edition, June 2010 —> Capitulo 7

LPIC-1: Linux Professional Institute Certification Study Guide: (Exams 101 and 102), 2nd Edition, February
2009 —> Capítulo 4

Paginas:

LinuxParaTodos

Permisos

Usar flujos, tuberías y redirecciones


Peso 4
Tópico Cubierto 103.4 Usar flujos, tuberías y redirecciones
Descripción Los alumnos deberán ser capaces de redireccionar
flujos y conectarlos para procesar datos de texto
eficientemente. Las tareas incluyen redireccionar la
entrada estándar, salida estándar, salida de error
estándar, entubar la salida de un comando a la
entrada de otro comando, usar la salida de un
comando como argumento para otro comando y
enviar la salida tanto a la salida estándar y un
archivo.
Temas * Utilización de redirecciones
* Utilización de tuberías
* Redireccionar salida con comandos
* Utilización de tuberías y redirección
Ejemplos * tee
* xargs
*>
* >>
*<

Peso: Indica el valor de importancia que tiene este tópico en la certificación.

Tópico Cubierto: Indica, según el programa de certificación LPI, qué tópico le corresponde a este tema.

Descripción: Un resumen de lo que se verá.


Temas: Un resumen de los conceptos primordiales que están cubiertos.

Ejemplos: Palabras claves que se deben tener en cuenta.

Tipos de redirecciones

Hay tres tipos de redirecciones a tener en cuenta:

STDIN (0) -> Entrada Estándar


STOUT (1) -> Salida Estándar
STERR (2) -> Salida Estándar de error

Salida Estándar (STDOUT)

La salida estándar es la salida normal de un comando. De manera predeterminada esta salida se muestra en la
terminal del usuario.

[rino@restauracion scripts]$ ls
test educacionit sakis3g
117-101.pdf file scritps
117-101.txt filescripts ssh2
agregarurl filescripts~ test.html

Al ejecutar el comando ls el resultado se muestra en pantalla.

La salida de un comando se puede redireccionar a un archivo con la ayuda del signo mayor “>” como se ve en el
siguiente ejemplo:

[rino@restauracion scripts]$ ls > salida.txt

Esto generará un archivo llamado salida.txt el cual contendrá el resultado del comando ls. Para verificarlo se puede
utilizar el comando cat salida.txt
Si el archivo salida.txt existiera, el contenido será sobreescrito con el resultado de la redirección.

Para poder agregar contenido al final del archivo, sin sobreescribir el contenido existente, se puede utilizar doble
signo mayor “>>” como se ve en el ejemplo:

[rino@restauracion scripts]$ ls >> salida.txt


[rino@restauracion scripts]$ ls -la salida.txt
-rw-rw-r-- 1 rino rino 580 Sep 27 21:38 salida
[rino@restauracion scripts]$ ls >> salida.txt
[rino@restauracion scripts]$ ls -la salida.txt
-rw-rw-r-- 1 rino rino 870 Sep 27 21:39 salida
Como se puede ver el archivo incrementó su tamaño, esto se debe a que ejecutamos dos veces el comando ls con
>> lo cual agregó el resultado del ls, manteniendo el contenido del primer ls

Salida Error (STDERR)

La salida de estándar de Error, es la salida de un comando que no terminó de manera satisfactoria.

[rino@restauracion testing]$ ls -z
ls: invalid option -- z
Try `ls --help' for more information.

Al ejecutar el comando ls con una opción incorrecta, el error se muestra en pantalla de manera normal. En este caso
va a cambiar el tratamiento para poder redirigir el resultado a un archivo.

La salida de error de un comando se puede redireccionar a un archivo con un dos y signo mayor “2>” como se ve
en el siguiente ejemplo:

[rino@restauracion testing]$ ls -z 2> error.txt

Al igual que con la salida estándar, en caso de que el archivo error.txt no exista lo creará, y en caso de existir lo
sobreescribirá. Para mantener el contenido sin sobreescribirlo se utiliza “2>>”

Con esto se puede diferenciar en distintos archivos ambas salidas de un mismo comando:

[rino@restauracion testing]$ ls archivoquenoexiste * 1> salida.txt 2> error.txt

En este ejemplo el error mostrado por el archivo que no existe será guardado en error.txt mientras que el resultado
del asterisco se guardará en salida.txt

Otra opción es redireccionar ambas salidas a un mismo archivo:

[rino@restauracion testing]$ ls archivoquenoexiste * > ambos.txt 2>&1

En este caso lo que se hace es redireccionar la salida a ambos.txt luego con el 2>&1 se está redirigiendo el
resultado del STDERR (que tiene asociado el número 2) al STDOUT (que tiene asociado el número 1). Es
importante recordar el orden en el que se redirige el contenido. Al final se agrega la redirección de STDERR a
STDOUT.

Entrada Estándar (STDIN)

La entrada estándar se utiliza para tomar el contenido de un archivo a un comando.


En el siguiente ejemplo hay un archivo que se llama desordenado.txt el cual contiene números desordenados

# echo "2" > orden.txt


# echo "3" >> orden.txt
# echo "5" >> orden.txt
# echo "1" >> orden.txt

[crond1@oc6127656113 ~]$ cat orden


2
3
5
1

Al ejecutar el comando sort < desordenado.txt pasa el contenido del archivo desordenado.txt al comando sort, el
cual mostrará el resultado a través del STDOUT.

[crond1@oc6127656113 ~]$ sort < desordenado.txt


1
2
3
5

También se puede redirigir la salida a un archivo:

[crond1@oc6127656113 ~]$ sort < desordenado.txt > ordenado.txt

De esta manera el resultado ordenado por el comando sort es guardado en el archivo ordenado.txt

Tuberías

Las tuberías permiten redireccionar la salida estándar de un comando hacia la entrada de otro, pudiendo dos o más
comandos.

Ejemplos Sencillos

[rino@restauracion testing]$ ls | wc
12 20 93

En este ejemplo se pasa el resultado del comando ls al comando wc el cual muestra la cantidad de líneas, palabras y
letras.

Otro ejemplo:

[rino@restauracion testing]$ cat /etc/passwd| more


root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/bin/sh

bin:x:2:2:bin:/bin:/bin/sh

sys:x:3:3:sys:/dev:/bin/sh

sync:x:4:65534:sync:/bin:/bin/sync

(salida recortada...)

Otro ejemplo combinando varios comandos:

[rino@restauracion testing]$ cat /etc/passwd| sort| more

avahi:x:109:122:Avahi mDNS daemon,,,:/var/run/avahi-daemon:/bin/false

backup:x:34:34:backup:/var/backups:/bin/sh

bin:x:2:2:bin:/bin:/bin/sh

brasil:x:1001:1001:brasil,,,:/home/brasil:/bin/bash

clamav:x:111:124::/var/lib/clamav:/bin/false

(salida cortada...)

En este caso el contenido del archivo passwd es pasado al sort, el cual lo ordena alfabéticamente, por último pasa al
comando more que pondrá pausa para poder paginar el resultado.

Usando tee

El comando tee lee desde el STDIN, escribe en el STDOUT y al mismo tiempo en uno o más archivo.
En este ejemplo pasa el resultado del cat al comando sort, luego lo toma el tee y lo guarda en un archivo. A su vez
se la salida es mostrada en pantalla y paginada por el more.

# cat /etc/passwd|sort|tee archivoordenado.txt|more

Con la opción “tee -a” se agregará contenido al final del archivo sin sobreescribirlo.

Xargs

Sintaxis

xargs [opciones] [comando] [argumentos]

Este comando toma como entrada la salida de otro comando y lo pasa como argumento, siendo echo el comando
predeterminado que usa xargs.

Este comando es muy útil cuando un comando nos muestra un error de exceso de argumentos. Por ejemplo intentar
borrar un directorio con miles de archivos ejecutando “rm *” el asterisco expandirá como argumento la totalidad de
archivos.

# ls | xargs
ambos cinco cuatro dos error filetee ocho rino salida salida.1 seis siete testing tres uno

# ls | xargs -n 1

El parámetro -n, seguido de un número, indica cuántos parámetros tomará.

De esta manera es como ejecutar

# echo archivo1

# echo archivo2

Si en cambio ejecutara ls | xargs -n 2 es igual que ejecutar:

# echo archivo1 archivo2

# echo archivo3 archivo4

En este ejemplo el ls pasará el resultado al xargs quien ejecutará el comando echo rm por cada archivo (ejecutará
múltiples echo rm, uno por cada archivo)

# ls *.tmp | xargs -n 1 echo rm

rm archivo1.tmp

rm archivo2.tmp
rm archivo3.tmp

De esta manera se puede ver el resultado de lo que se va a borrar, sin borrarlo.

Bibliografía
Libros:

LPI Linux Certification in a Nutshell, Third Edition, June 2010 —> Capitulo 7

LPIC-1: Linux Professional Institute Certification Study Guide: (Exams 101 and 102), 2nd Edition, February
2009 —> Capitulo 4

Páginas:

Preparando LPIC-1 104.7 Encontrar archivos de sistema y colocar archivos en su correcta ubicación

También podría gustarte