Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
Metalenguaje y convenciones:
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*
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
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.
-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
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"
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.
file cati.c
este archivo contiene código C.
file adduser
este archivo es un 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
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 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 ...]
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
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
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 ...
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
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
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:
-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
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: