La Electricidad Y La Electrónica Trabajo Tecnología.pdf
Comandos De Unix
1. Comandos de Usuario
Ultima revisión: Set 2001
Propósito
Metalenguaje y convenciones
Referencias
Comandos:
apropos banner cal cat cd chmod clear cmp cp cut
date diff echo env exit file head hostname id info less ln ls
dir vdir mail man mesg mkdir more mv passwd pr printenv ps
pwd rm rmdir tail talk touch umask wc whatis which who whoami
Propósito:
Esta guía resume la sintaxis, opciones más frecuentes y ejemplos de uso de los comandos
UNIX de más uso en la práctica. En descripción se presenta nombre del comando, sintaxis
resumida, acción principal, opciones más usuales, ejemplos y observaciones, si las hay.
Esta guía no puede ni pretende sustituir la consulta de las páginas man.
Metalenguaje y convenciones:
... repetición del último item
[] item opcional, puede estar o no
{A|B} item opcional obligatorio, debe tomarse A o B
TAB tecla o caracter tabulador
LF caracter nueva línea
CR caracter retorno de carro
ESPACIO caracter o tecla de barra espaciadora
blanco caracter TAB o ESPACIO, delimita palabras
UID identificador de usuario (número)
GID identificador de grupo (número)
(su) requiere permiso de supervisor
Los items en minúsculas van tal cual, los items en MAYUSCULAS deben ser sustituídos
por valores del usuario.
apropos
apropos [OPCIONES] PALABRA-CLAVE ...
busca entre las descripciones cortas de las páginas del manual la presencia de la palabra
clave.
-r interpreta cada nombre como una expresión regular
-w interpreta cada nombre como conteniendo caracteres
comodines
apropos man
apropos -w man*
2. banner
banner MENSAJE
Muestra el mensaje (cadena de caracteres) en letras grandes y girado 90°; para imprimir
carteles.
-wN en un ancho de N columnas
banner -w 40 Hola!
banner a
cal
cal [OPCIONES] [[MES]AÑO]
Sin parámetros, muestra calendario del mes actual; el año debe indicarse con centuria,
1-1999; el mes en número 1 a 12.
-j día juliano, contado desde el 1 de enero
-y calendario del año en curso
cal
cal 1998
cal 11 1997
cal 9 1752
muestra el mes del año en que se saltearon 11 días para compensar años bisiestos.
cat
cat [OPCIONES] [ARCHIVO ...]
Concatena los archivos indicados y los muestra en la salida estándar. Sin argumentos, recibe
de la entrada estándar (-).
-A equivalente a -vET
-b numera las líneas que no están en blanco
-E muestra $ al final de cada línea
-n numera las líneas
-s reemplaza varias líneas en blanco por una sola
-t equivale a -vT
-v muestra caracteres no imprimibles excepto LF y TAB
-T muestra TAB como ^I
cat /etc/group
cat cap1 cap2 cap3
muestra sucesivamente los archivos cap1, cap2 y cap3.
cat cap1 cap2 cap3 > libro
reúne los archivos cap1, cap2 y cap3 en el archivo libro.
cat arch1 arch2 > arch1
hace perder los datos originales en arch1.
cd
3. cd [DIRECTORIO]
cambia directorio de trabajo; sin parámetros, cambia al directorio propio del usuario como
aparece en $HOME. En Linux, es un comando interno del shell; ver bash(1).
cd /etc
cd
chmod
chmod [OPCION] MODO ARCHIVO ...
cambia los permisos de acceso a los archivos indicados. No cambia los permisos de los
enlaces simbólicos.
-v verboso, describe acción sobre cada archivo.
-R recursivo, cambia permisos de subdirectorios y sus
contenidos
chmod -R 0755 documentos/visibles
chmod ug+rw-x,o+r-wx cap*.txt
clear
clear
borra la pantalla del terminal.
cmp
cmp [OPCIONES] ARCH1 ARCH2 [SALTEAR1 [SALTEAR2]]
compara dos archivos. Si son iguales, no dice nada; si difieren, marca el byte y el número de
línea de la primera diferencia.
-l número de byte (decimal) y bytes diferentes (octal) para
cada
diferencia.
-s devueve solamente un valor de retorno, sin escribir nada.
Los valores de retorno son 0 si los archivos son iguales, 1 si diferen, >1 si hubo un error. Los
valores decimales SALTEAR1 y SALTEAR2 indican la posición de byte donde comienza la
comparación en ARCH1 y ARCH2; puede expresarse en hexadecimal precediento el número
con 0x, o en octal precediendo con 0.
cp
cp [OPCIONES] ARCH_ORIGEN ARCH_DESTINO
cp [OPCIONES] ARCHIVO ... DIRECTORIO
copia ARCH_ORIGEN hacia ARCH_DESTINO; copia los archivos indicados hacia
DIRECTORIO. Por defecto no copia directorios.
4. -d copia enlaces simbólicos como tales
-f forzoso, sobreescribe archivos destino si existen
-i avisa antes de sobreescribir archivos existentes
-l crea enlaces hard en lugar de copiar los archivos
-p preserva dueño, grupo, permiso y fecha
-s crea enlaces simbólicos en lugar de copiar los archivos
-R recursivo, copia directorios y sus archivos
-v verboso, escribe el nombre de cada archivo que copia
cp arch1 /dir1/arch1
cp -vi arch1 arch2
cp -dpRv dir1 /dir2/subdir2 dirtodo
mejor forma de copiar exactamente una estructura de directorios, recursivamente,
conservando permisos y manteniendo enlaces simbólicos; verboso puede omitirse.
cut
cut -f CAMPOS [-d DELIM][ARCHIVO ...]
cut -c COLUMNAS [ARCHIVO ...]
extrae partes de cada línea de los archivos indicados o de la entrada estándar. Los campos y
columnas se indican con números 1, 2,... o con intervalos n-m. Intervalos incompletos: -n es
1-n, m- es m hasta el último campo o columna.
-f campos numerados, por defecto separados por TAB
-c columnas, ubicación posicional de caracteres en la línea
-d fija el caracter delimitador de campos, TAB por defecto
-s con -f para no imprimir líneas que no contengan el
delimitador
cat /etc/passwd | cut -d: -f1,3,5-6
cat /etc/passwd | cut -c1-15
ls -l | cut -c57-
corta sólo el nombre del archivo, al final (puede requerir ajuste en el valor de columna).
date
date [OPCION] [+FORMATO]
muestra fecha y hora. Con +FORMATO la presenta según el patrón indicado.
date [-u|--utc|--universal] [ MMDDHHmm [[CC]YY][.SS] ]
fija (su) fecha y hora.
-u --utc --universal hora universal (GMT)
Formato para fijar la hora:
MM mes (01-12)
DD día (01-31)
HH hora (00-23)
mm mminuto (00-59)
CC centuria
YY año
5. SS segundos (00-59)
Formato para presentar la fecha y la hora (+FORMATO):
'%H' hora (00-23)
'%M' minuto (00-59)
'%S' segundos (00-59)
'%T' hora en 24 horas (hh:mm:ss)
'%X' hora en representación local (%H:%M:S)
'%a' nombre local abreviado del día
'%A' nombre local completo del día
'%b' nombre local abreviado del mes
'%B' nombre local completo del mes
'%c' fecha y hora locales
'%d' día del mes (01-31)
'%m' mes (01-12)
'%w' día de la semana (0-6), 0 es Domingo
'%x' fecha local
'%y' 2 dígitos del año (00-99)
'%Y' 4 dígitos del año (1970....)
diff
diff ARCHIVO1 ARCHIVO2
muestra las diferencias existentes entre dos archivos.
diff nota1 nota2
echo
echo [OPCIONES] MENSAJE ...
escribe en la salida estándar los mensajes, separados con un espacio y con LF al final.
Muchos shells tienen un comando interno del mismo nombre; éste, fuera del shell, debe
invocarse como /bin/echo.
-n suprime LF al final
-e interpreta estos caracteres especiales, dentro de " "
a campana
b retroceso
c suprime LF al final
f cambio de página
n nueva línea (LF)
r retorno de carro (CR)
t tabulador horizontal
v tabulador vertical
barra inversa
nnn caracter ASCII nnn en octal
echo Hola Todos!
echo -n Hola Todos!
echo -e "a"
6. echo -e "101"
muestra la letra A, que es 101 en octal.
env
env [OPCIONES][NOMBRE=VALOR]...[COMANDO [ARGUMENTO ...]]
Sin argumentos, muestra valores de variables de ambiente; con argumentos, corre el comando
indicado con las variables de ambiente modificadas según se indique.
-i comenzar con un ambiente virgen, ignorando el actual
env
env DIR=/etc listadir1
lista el contenido del directorio /etc; listadir es un archivo ejecutable que contiene la
línea ls dir1, para listar contenido del directorio dir1.
echo Directorio $HOME
ls -l $HOME
muestra el directorio propio del usuario, guardado en la variable de ambiente HOME.
exit
exit [N]
produce la salida del shell con estado de terminación N (número); si no se indica retorna con
0.
file
file OPCIONES ARCHIVO
intenta determinar el tipo de archivo de que se trata: texto ASCII, código C, script en diversos
lenguajes, binario, otros.
-z examina archivos comprimidos
file cati.c este archivo contiene código C.
e file adduser este archivo es un
s
script en Perl. file /bin/cat es un ejecutable binario.
head
head [OPCIONES] ARCHIVO ...
muestra la primera parte de un archivo, por defecto 10 líneas. Si son varios archivos muestra
un encabezado con el nombre de cada archivo.
-v verboso, imprime encabezamiento con nombre del archivo
-q silencioso, no imprime encabezado con nombre del archivo
-N imprime primeras N líneas, por defecto 10
-n N imprime primeras N líneas
head -24 /etc/inetd.conf
hostname
7. hostname [NOMBRE]
sin argumentos, da el nombre de la máquina; con NOMBRE, fija el nombre de la máquina
(su).
-h ayuda
-f --fqdn nombre de máquina completo, con dominio DNS
-d --domain nombre de dominio DNS
-i --ip-address dirección (número IP)
-a --alias nombres de alias
-v verboso
id
id [OPCIONES] [NOMBRE_USUARIO]
muestra información sobre un usuario. Muestra nombre, UID, grupo, GID y grupos
suplementarios. Si el id real y el efectivo no corresponden muestra ambos. Las opciones
limitan el despliegue.
-g sólo el grupo primario
-G grupos suplementarios
-n nombre en lugar de número; requiere -u, -g, o -G
-r real en lugar de efectivo; requiere -u, -g o -G
-u sólo el número de usuario (UID)
id
id webmaster
muestra datos del usuario webmaster.
info
info [NOMBRE]
sistema de información de GNU sobre UNIX.
info info
muestra información sobre info, con tutorial para aprender a manejar info.
less
less [OPCIONES] [ARCHIVO]
programa de paginado y búsqueda similar a more, con más opciones y comandos. Permite
movimiento hacia adelante y atrás, pero no lee todo el archivo al principio, por lo que es más
rápido. Sus comandos están tomados de more y vi (ver more).
--help -? muestra ayuda sobre comandos internos
ln
ln [OPCIONES] ORIGEN [DESTINO]
ln [OPCIONES] ORIGEN ... DIRECTORIO
si el último argumento es un directorio, ln crea en ese directorio enlaces a todos los archivos
origen con el mismo nombre; si sólo se indica un nombre de archivo, crea un enlace hacia ese
8. archivo en el directorio actual; si se indican dos archivos, crea un enlace con el primer
nombre (archivo real) hacia el segundo (enlace). Por defecto, crea enlaces hard y no elimina
archivos existentes.
-f forzoso, elimina archivos destino existentes
-i interactivo, pide confirmación para eliminar archivos
-s simbólico, crea enlaces simbólicos en lugar de hard
-v verboso, da el nombre de cada enlace creado
ln nota nota.ln
ln -s /etc/passwd
ln -s datos.usuario datos.usu.ln
ln -sv datos.usuario LEAME dir2
ls, dir, vdir
ls [OPCIONES] [NOMBRE]
Para cada nombre de directorio, lista contenido de directorio; para cada nombre de archivo,
indica su nombre y datos. La salida está ordenada alfabéticamente por defecto. Sin nombre,
lista el directorio corriente. La opción -l muestra, separados por espacios, los campos tipo
archivo y permisos, cantidad de enlaces hard, dueño, grupo, tamaño, mes, día, hora o año,
nombre.
-1 un nombre de archivo por línea
-a todos los archivos, incluso no visibles comenzados por .
-c ordenar por fecha de estado de último cambio (ctime en
inodo)
-C salida en columnas con ordenamiento por columnas
-d lista directorios como archivos, no su contenido
-F indica tipo: / directorio, * ejecutable, @ enlace
simbólico
-i inodo, número de índice de cada archivo
-k tamaños en KB
-l listado en formato largo
-r invertir ordenamiento
-R listar recursivamente subdirectorios
-s tamaño en bloques de 1024 bytes
-t ordenar por fecha de última modificación (mtime en inodo)
-u ordenar por fecha de último acceso (atime en inodo)
-U no ordenar
-x salida en columnas con ordenamiento por filas
dir
equivale al ls -C.
vdir
equivale a ls -l.
mail
mail [OPCIONES] [DESTINO ...]
9. procesador de correo electrónico de UNIX. Sin argumentos, muestra lista de mensajes en la
casilla de entrada y permite manipularlos. Si hay un destino, lee de la entrada estándar hasta
un "." aislado en una línea y envía lo leído como mensaje a destino.
-v verboso, muestra detalles de entrega
-s TEMA especifica el tema (subject) del mensaje
-c LISTA envía copias a LISTA de usuarios, separados por
coma
-b LISTA envía copia ciega a LISTA de usuarios
-f [ARCH] lee contenido de archivo propio mbox o el indicado
-u USUARIO equivale a mail -f /var/spool/mail/USUARIO
Comandos internos de mail:
& indicador de comandos de mail
? muestra lista de comandos para manejo de mensajes
d borra mensaje corriente, marcado con '>'
N muestra el mensaje número N
q sale del programa de correo
mail -s "Saludos para todos " -c pedro,mateo@nsk.com.uy juan
envía un mensaje al usuario juan, tema "Saludos para todos", con copia a usuarios pedro y
mateo.
man
man [OPCIONES] [SECCION] NOMBRE ...
Da formato y muestra las páginas del manual en línea. Si no se indica sección, muestra sólo
la primera que encuentre; si se indica sección como número 1-9, muestra la página que haya
en la sección indicada. Las páginas están organizadas en secciones, reconocidas por un
dígito, y eventualmente subsecciones indicadas por una o más letras.
-a muestra páginas en todas las secciones
-d muestra información de depuración propia de man
-f equivalente a whatis
-h muestra ayuda para man
-k equivalente a apropos
-w no imprime las páginas, sino las ubicaciones
Secciones del manual:
1 programas ejecutables y guiones (scripts)
2 llamadas al sistema (funciones del núcleo)
3 llamadas a biblioteca (funciones de biblioteca)
4 archivos especiales (generalmente en /dev)
5 formatos de archivos
6 juegos
7 paquetes de macros
8 comandos de administración (su)
man -h
man man
10. man -a man
mesg
mesg [y|n]
controla acceso de escritura a la terminal propia por otros usuarios, típicamente con
programas tales como talk y write. Sin parámetros, muestra el estado: is y si está
habilitada escritura, is n si no está habilitada escritura.
y permite a otros escribir mensajes en la terminal
n no permite a otros escribir mensajes en la terminal
mesg
mesg y
mesg n
mkdir
mkdir [OPCIONES] [-m MODO] DIRECTORIO ...
crea los directorios indicados. Por defecto, el modo es 0777 menos los bits de umask.
-m MODO permite fijar el modo para el nuevo directorio;
el modo es simbólico y usa el modo por defecto como
partida.
-p crea primero todos los directorios padre
inexistentes,
con el modo de umask modificado con u+wx
--verbose informa sobre la creación de directorios
mkdir dir1 dir2
mkdir -p ltr/jd/jan
crea la estructura de directorios ltr/jd/jan.
more
more [OPCIONES][-N][+/CADENA[-N] [ARCHIVO ...]
pagina el texto dividiéndolo en pantallas, presentando una por vez.
-N fija tamaño de pantalla en N líneas
-d muestra mensajes de ayuda
-s comprime en una varias líneas en blanco seguidas
-u suprime subrayados
+/cadena busca la cadena antes de mostrar
+N comienza a mostrar a partir de la línea N
Durante el despliegue, reconoce los comandos siguientes, algunos de los cuales pueden ir
precedidos de un número multiplicador:
h muestra resumen de estos comandos
ESPACIO avanza una pantalla
ENTER muestra siguiente línea
11. f avanza una pantalla; ^F
b retrocede una pantalla; también ^B
^L (Ctrl-L) redibuja la pantalla
= muestra número de línea actual
/PATRON busca hacia adelante la expresión regular PATRON
?/PATRON busca hacia atrás la expresión regular PATRON
n repetir última búsqueda
. repetir el comando anterior
´ ir a lugar de comienzo de última búsqueda
q, Q sale
mv
mv [OPCIONES] ARCH_ORIGNEN ARCH_DESTINO
mv [OPCIONES] ARCHIVO ... DIRECTORIO
cambia de nombre ARCH_ORIGEN, o mueve hacia ARCH_DESTINO si el archivo destino
invoca otro directorio; mueve ARCHIVO y los siguientes archivos hacia DIRECTORIO.
Entre sistemas de archivos sólo puede mover archivos normales.
-f forzoso, sobreescribe archivos destino si existen
-i avisa antes de sobreescribir archivos existentes
-v verboso, escribe el nombre de cada archivo que mueve
-u no mover si existe archivo destino más nuevo o de igual
fecha
mv nota notanueva
mv -vi LEAME LEAME2
mv -v arch1 notanueva LEAME /dir2/subdir2
passwd
passwd [OPCIONES] [NOMBRE]
cambia la contraseña del usuario. El superusuario puede cambiar las contraseñas de otros
usuarios. En general, las contraseñas deben tener entre 6 y 8 caracteres, contener mayúsculas,
minúsculas, dígitos 0 a 9 o signos de puntuación; no se admiten contraseñas simples ni
parecidas al nombre del usuario. Si el superusuario asigna contraseñas poco seguras no hay
advertencia.
-x M máximo número de días de validez; luego pide cambiar
-n M mínimo número de días antes de poder cambiar
-n M número de días de advertencia antes de expirar
passwd
permite cambiar la contraseña del usuario invocante
passwd jperez
(su) cambia la contraseña del usuario jperez.
pr
pr [OPCIONES] ARCHIVO ...
12. escribe en salida estándar un texto con formato, paginado y opcionalmente en varias
columnas.
+P1[:P2] de página P1 a página P2
-C en C columnas
-a escribe las columnas a través y no hacia abajo
-d a doble espacio
-f separar páginas con salto de página
-h reemplazar encabezado con el indicado
-l largo de página en líneas; por defecto 66
-m escribir archivos en paralelo uno en cada columna
-o margen izquierdo; se suma al ancho indicado por -w
-w ancho de página en columnas; por defecto 72
pr -o8 -l23 -h "Lista de usuarios" /etc/passwd
pr -o2 -l22 -h "Lista de servicios" /etc/services | more
ls /etc | pr -2 -b -l23 | more
ls /etc | pr -3 -b -l23 -a | more
printenv
printenv [VARIABLE] ...
muestra el valor de todas las variables de ambiente; si se indica un nombre de variable,
puestra el valor de esa variable.
printenv TERM
ps
ps [OPCIONES] [PID] ...
informa sobre procesos en ejecución. Para las opciones, no debe usarse -, aunque es aceptado.
l formato largo
u formto usuario, muestra nombre, PID, hora inicio, estado
j formato trabajos, muestra PGID y SID
s formato señales
a mostrar también procesos de otros usuarios.
x mostrar también procesos sin terminal de control
w no truncar líneas para caber en un ancho de página;
agregar una w para cada línea más
h sin encabezado
r sólo procesos en ejecución
ps auxwww | more
muestra todos los procesos en ejecución, en formato usuario, aún los sin terminal, admitiendo
hasta 4 líneas por comando.
pwd
pwd
13. imprime toda la ruta del directorio corriente; todos los componentes mostrados serán los
directorios reales, no enlaces simbólicos. El shell tiene una versión interna de pwd, por lo que
para ejecutar ésta, que es externa, es preciso escribir
ls -l /var/spool/mail
muestra /var/spool/mail como enlace simbólico a /var/mail (Debian).
cd /var/spool/mail
pwd
versión interna del shell, muestra /var/spool/mail, el enlace simbólico.
/bin/pwd
versión externa, muestra /var/mail, el directorio real.
rm
rm [OPCIONES] NOMBRE ...
elimina los archivos indicados; por defecto no elimina directorios.
-f ignora archivos inexistentes y nunca pide confirmación
-i interactivo, pregunta antes de eliminar cada archivo.
-r, -R recursivo, borra directorios y su contenido
-v verboso, muestra nombre de cada archivo eliminado
rm arch1 arch2 dir1/arch3
rm -riv dir1/subdir1
rm -r *
elimina TODOS los archivos y subdirectorios; no avisa. ¡Cuidado!
rmdir
rmdir [OPCIONES] DIRECTORIO ...
elimina directorios vacíos.
-p elimina directorios padre si quedan vacíos
rmdir dir2
rmdir -p dir1/subdir11/subdir111
tail
tail [OPCIONES] ARCHIVO ...
muestra la última parte de un archivo, por defecto 10 líneas. Si son varios archivos muestra
un encabezado con el nombre de cada archivo.
-f continúa tratando de leer; para archivos en crecimiento
-v verboso, imprime encabezamiento con nombre del archivo
-q silencioso, no imprime encabezado con nombre del archivo
-N imprime últimas N líneas
-n N idem
talk
14. talk USUARIO [TTY]
conversar con otro usuario. Si está en la misma máquina, alcanza con el nombre de login del
usuario; si está en otra máquina, es preciso usar la forma usuario@maquina. Si el usuario
tiene varias sesiones a la vez, puede indicarse la terminal, usualmente en la forma ttyXX.
touch
touch [OPCIONES] ARCHIVO ...
cambia fecha, hora de acceso y/o modificación de los archivos indicados; les pone la fecha y
hora actuales. Si los archivos no existen los crea vacíos.
-a cambia sólo fecha de acceso
-c no crea el archivo si no existe
-m cambiar sólo fecha de modificación
-r arch_ref fija la fecha según fecha del archivo arch_ref
-t MMDDhhmm[[CC]YY][.ss]
fija la fecha indicando mes MM, día DD, hora hh y minuto
mm;
puede agregarse también centuria CC y año YY y segundos
ss.
touch 01011200 dia1enero.h1
touch ahora.arc
touch -r antes.arch arch1 arch2
umask
umask [-S] [MODO]
fija la máscara para permisos de creación según modo. Si modo se indica con número, es en
octal; si no, es en modo simbólico. En general, los permisos de creación serán, para
directorios, 0777 menos los bits de máscara; para archivos 0666 menos los bits de máscara.
La máscara vigente es la fijada por defecto o la que se fije con este comando. Sin parámetros,
umask muestra la máscara vigente. La máscara indica los permisos que se quitan al permiso
fijado.
-S muestra la máscara, sin fijarla (por defecto, sin
parámetros)
umask
muestra la máscara vigente.
umask 022
fija los permisos de creación de archivos en 0666 - 022, es decir, 0644; los de directorios en
2777 - 022, es decir, 2755 (Debian).
uname
uname [OPCIONES]
muestra información de la máquina y del sistema operativo:
15. -a toda la información
-m máquina, tipo de hardware
-n nombre de máquina en la red
-p tipo de procesador
-r edición (release) del sistema operativo
-s nombre del sistema operativo
-v versión del sistema operativo
wc
wc [OPCIONES] ARCHIVO ...
cuenta líneas, palabras y caracteres de los archivos indicados o de la entrada estándar. Si son
varios los archivos, imprime una línea por cada uno y un total.
-c sólo caracteres
-w sólo palabras
-l sólo líneas
man pwd | wc -l
wc /etc/passwd /etc/group
whatis
whatis [OPCIONES] NOMBRE ...
muestra una descripción corta de los comandos similares a nombre.
-r interpreta cada nombre como una expresión regular
-w interpreta cada nombre como conteniendo caracteres
comodines
whatis man
whatis -w man*
which
which PROGRAMA ...
indica la ruta completa de PROGRAMA, si éste está accesible a través de la variable PATH..
who
who [OPCIONES] [am i]
Quién está en el sistema. Muestra nombre de login, línea de terminal, hora de ingreso,
nombre de máquina remota o display X.
am i máquina y nombre de login del usuario invocante
-H muestra encabezado de columnas
-u tiempo inactivo; "old" es >24 horas; "." activo reciente
-w si el usuario recibe (+) o no (-) mensajes
-m igual que 'who am i'
whoami
16. whoami
Muestra identificador del usuario efectivo actual. Si se ha usado su para adoptar otro usuario,
whoami muestra el nombre asociado con el usuario adoptado.
Referencias:
Linux Debian/GNU. Páginas man, info.