COMANDOS UNIX
Comando Option Argumentos Descripción Ejemplo
uname
-i Plataforma de hardware
-s Nombre del sistema operativo
-r Versión del SO
-a Muestra toda la información
-n Hostname
cal Muestra el calendario del mes actual
mes año Mes 12 de 2004
ls
Listar archivos ls
-l [Ruta] Lista extendida ls -l /etc/
-i [Ruta] Muestra el inode de cada archivo ls -i
-n [Ruta] Muestra el UID y el GUI ls -n archivo
ld directorio Ver información detallada de un directorio sin ver su contenido ls –ld mydir/
-R [Ruta] Lista de manera recursiva (Directorios y subdirectorios) ls –R dir
-F [Ruta] Muestra los tipos de archivo de cada archivo o directorio listado. Directorio (/), ejecutable (*), Archivo de texto (None), Enlace simbólico(@)
ls –F
date Fecha actual date
man
command Manual del comando command
-s number comando Sección número number man –s 4 passwd
-l comando Busca manual online man –l passwd
-k comando Busca manual por palabra clave man -k calendar
pwd Muestra el directorio de trabajo actual
file filenames Determina ciertos tipos de archivos file dir/ Felipe.txt
cd
Cambiar directorio. Sin argumentos retorna al home directory
/directory/… Cambia a la ruta especificada (Ruta absoluta) cd /home
directory/… Cambia al directorio (Ruta relativa) cd felipe/
.. Retorna al directorio padre cd ../felipe
~ Va al directorio home del usuario actual cd ~/Descargas
~user2 Va al home del usuario user2 cd ~daniel
- Retorna al directorio anterior cd -
cat archivos Despliega el contenido de uno o más archivos de texto cat dante1 dante2
more archivo Despliega el contenido de un archivo de texto por pantallas
head -n filename Muestra las primeras n líneas de un archivo de texto head -6 felipe.txt
tail -n filename Muestra las últimas n líneas de un archivo de texto tail -5 felipe.txt
+n filename Muestra desde la línea n hasta el final del archivo tail +5 felipe.txt
wc
-l filename Muestra el número de líneas del archivo de texto filename wc –l filename
-w filename Muestra el número de palabras del archivo de texto filename
-c filename Muestra el número de bytes del archivo de texto filename
-m filename Muestra el número de caracteres del archivo de texto filename
cp origen destino Copia el archivo origen al destino especificado en los argumentos. Cuando no se tienen opciones el origen no puede ser un directorio.
cp felipe.txt /home
-r origen destino Copia recursiva (Opción necesaria para directorios) cp –r dir1/ dir2/
-i origen destino Copia interactiva (Pide confirmación) cp –ri arch pepe
mv
file1 file2 Renombrar file1. Nuevo nombre: file2
dir1 dir2 Mover dir1 a dir2. Si dir2 no existe se estaría renombrando dir1
origen destino Mover origen a destino (Archivo o directorio)
-i origen destino Mover origen a destino (Archivo o directorio). Se pide confirmación
touch new_files Crear un nuevo archivo touch sena.txt
mkdir directory_name Crea un directorio vacío mkdir mydir1 mydir2
-p directory_names Crea el directorio y los subdirectorio especificados en el argumento mkdir a/b/c/d
rm filename Remover archivo (Sin argumentos no aplica para directorios) rm Felipe.tar.gz
-i filename Pide confirmación rm –i Felipe.tar.gz
-r directories Remover el directorio, incluyendo los subdirectorios rm -r mydir
ln -s origen file_destino Enlace simbólico del archivo origen en el destino especificado. ln -s /var/tmp/dante dante_link
vi filename Abre el archive filename vi Felipe.txt
-r filename Recuperar el archivo
-R filename Abre el archivo en modo de SOLO LECTURA vi -R Felipe.vi
view filename Visualiza un archivo en modo de solo lectura view felipe.txt
VAR=value Establecer una variable de la Shell (Variable de entorno) MONEDA=”Pesos”
export variable Exporta una variable de Shell (Variable de entorno)
unset variable Borra una variable de Shell
set Muestra todas las variables con sus respectivos valores
env Muestra todas las variables
export Muestra todas las variables
‘ ’ Ignora los metacaracteres dentro de las comillas simples ($,*,?)
“ ” Ignora los metacaracteres dentro de las comillas dobles a excepción de: (`) usado para ejecutar comandos, (\) Previene interpretar el próximo carácter como un metacaracter, $ (command) Ejecuta un comando dentro del paréntesis.
history Muestra el historial de comandos mostrando el número de línea
-n Muestra el historial sin el número de línea
-4 Muestra los últimos 4 comandos
-r Invierte el orden
r Repite el último comando ingresado
r número Repite el comando de acuerdo a la numeración del historial
< Redirecciona al estándar input
> Redirecciona al archivo especificado a la derecha (Se sobreescribe) history > my_history.txt
>> Redirecciona al archivo especificado a la derecha (Se añade al archivo)
2> Redireccion de los errores estándar
| command | command Redirecciona la salida estándar de un comando a la entrada estándar de otro comando. (Los argumentos del segundo comando son los arrojados por el primer comando)
who | wc –l Se cuenta el número de líneas del resultado de who
. ~/.profile Los cambios realizados al archivo .profile toman efecto de inmediato
. ~/.kshrc Los cambios realizados al archivo .kshrc toman efecto de inmediato source ~/.cshrc Los cambios realizados al archivo .cshrc y .login toman efecto de
inmediato
chmod
symbol_mode file Cambia los permisos de un archivo usando el modo simbólico:
u: Propietario g: Grupo o: Otros a: All (todos)
r: Lectura w: Escritura x: Ejecución
+: Añadir - : Quitar =: Absoluto
chmod g-r dante chmod u+x,go+r dante chmod a=rw dante
octal_mode filename Cambia los permisos de un archivo usando el modo octal
chmod 755 dante
umask
three_digits_octal Afecta los permisos iniciales para archivos y directorios cuando éstos son creados
umask 022
Muestra el valor de umask
getfacl filename(s) Muestra las entradas ACL configuradas para los archivos especificados
setfacl
-m acl_entries filename Crea o modifica una entrada ACL para el archivo especificado. ACL entries:
u[ser]::perm
g[roup]::perm
o[ther]:perm
u[ser]:UID:perm or u[ser]:username:perm
g[roup]:GID:perm or g[roup]:groupname:perm
m[ask]:perm
setfacl -m u:userb:7 file2 (Permisos de rwx para userb) setfacl -m m:rwx file2 (Se cambia el valor de la mask para permitir permisos de rwx) setfacl -r -m u:usera:7 file1 (Recalcula la máscara con base en los permisos asignados a usera)
-s acl_entries filename Sustituye una ACL antigua con una ACL nueva setfacl -s u::rwx,g::rw-,o:r--,m:rw-,u:usera:rwx file1 setfacl –s u::7,g::6,o:4,m:6,u:usera:7 file2
-d acl_entries filename Eliminauna o más entradas ACL setfacl -d u:usera file2 setfacl -d u:userb file2
-r filename recalcula la máscara ACL con base en las entradas ACL, cuando se usaron con anterioridad las opciones –m ó –s
setfacl -r -m u:usera:7 file1 (Recalcula la máscara con base en los permisos asignados a usera)
Busca la expresión pattern (Patrón) e imprime las líneas que lo contienen. Pueden aparecer las siguientes expresiones regulares en el patrón de búsqueda. Ejemplos:
grep
pattern filenames
'^pattern' : Todas las líneas que comiencen con pattern 'pattern$' : Todas las líneas que finalicen con pattern 'p.....n' : Todas las líneas que contienen p, cinco caracteres y la letra n '[a-z]*' : Coincidencias que comiencen con una letra minúscula '[Pp]attern' : Coincidencias con Pattern o pattern '[^a-m]attern' : concidencias que no contengan letras a-m y finalice con attern
-i pattern filenames Busca sin importar mayúsculas y minúsculas
-l pattern filenames Lista el nombre de los archivos que coinciden con la búsqueda
-n pattern filenames Muestra el número de línea
-v pattern filenames Busca los archivo que no coinciden con pattern
-c pattern filenames Cuenta las líneas que contienen el patrón de búsqueda (pattern)
-w pattern filenames Busca la expresión como una palabra completa.
egrep
pattern filenames El comando egrep busca en el contenido de uno o más archivos para un patrón usando expresiones regulares extendidas. x|y : Busca x o y (|) : Grupos de caracteres NOTA: Aplican las mismas opciones del comando grep (-i, -l, -n, -v, -c, -w)
egrep '[a-z]+body' /etc/passwd (Busca cualquier ocurrencia que comience con una o varias letras minúsculas y termine en body. Ej: nobody) egrep '(Network|uucp) Admin' /etc/passwd
fgrep string filenames Buscar un archivo que contengan la cadena literal o un grupo de caracteres
find
path -name filename Busca el archivo a partir de la ruta path find / -name passwd
path -size [+|-]n Busca archivos más grandes que +n, o archivos más pequeños que -n o archivos iguales a n. El valor de n representa bloques de 512 bytes.
find ~ -size +10
path -atime [+|-]n Archivos que han sido accedidos en más de n días, menos de n días o igual a n días.
find /home/Felipe -atime -10
path -mtime [+|-]n Archivos que han sido modificados hace más de n días, hace menos de n días o igual n días.
find . –mtime +1
path -user loginID Busca todos los archivos que son propiedad del usuario loginID find / –user felipe
path -type [f|d] Busca archivos dependiendo del tipo, for example, f (file) or d (directory).
find /home -type f
path expresión -exec command {} \;
Ejecuta el comando command después de la búsqueda find / -name virus –exec rm{} \;
path expresión -ok command {} \;
Igual al anterior pero se pide confirmación para aplicar el comando a cada archivo encontrado en la búsqueda.
path expresión -ls Displays the current path name and associated statistics, such as the inode number, the size in kilobytes, protection mode, the number of hard links, and the user.
ps -e Imprime información acerca de cada proceso en el sistema, incluyendo PID, TTY, TIME y CMD (Nombre del comando)
ps -e
-f Genera una lista detallada que incluye UID, parent process identification number (PPID), and process start time (STIME)
ps -ef | more
pgrep
name_process Busca el proceso PIC especificado en el patrón. Devuelve el valor del PID.
-x name_process Busca los PID que coinciden exactamente con el patrón
-n name_process Muestra el PID más reciente creado por le proceso
-U uid Muestra solo los PID que pertenecen a un usuario específico. Puede usarse como argumento user o UID
-l name_process Muestra el nombre del proceso junto con el PID
-t term Muestra solo aquellos procesos que están asociados con una terminal
kill -l Muestra todos los nombres de señales.
[-signal] PIDs En este caso se pone el nombre del a señal (La señal por defecto es 15, la señal 9 termina el proceso instantáneamente)
pkill name_process
-9 -x name_process pkill -9 -x process_name
jobs Lists all jobs that are currently running or are stopped in the background. A job is a process that the shell can manage. There are three types of jobs that shells manage: foreground jobs (Ocupa la terminal), background jobs (No ocupa la terminal. Se usa &), and stopped jobs (Ctrl+Z).
bg %n Corre el job en el background n: Número del job (job ID)
bg %n
fg %n Corre el job en el foreground (Toma la terminal actual) fg %n
Control-Z Detiene un foreground job y lo pone en background como un stopped job.
stop %n Detiene un job que se ejecuta en el background (Solo aplica para ksh)
alias alia_name=commands Crea un alias de commands. commands debe estar entre comillas (simples o dobles), no debe haber espacios después del igual y si hay más de un comando deben separarse con punto y coma
alias hls=’history;ls’ alias cp=’cp -i’ alias rm=’rm -i’ rm \file1 (No pide confirmación)
unalias alias_name Elimina un alias
function name { commands; } Crea una función. Debe haber un espacio entre la primera llave y el primer comando, y entre la última llave y el último comando,
function cusers { who | wc –l ; }
typeset -f Muestra el listado de funciones con su contenido
+f Muestra solo el nombre de la función
set -o Muestra las opciones configuradas en la Shell (estado on/off)
set -o noclobber Previene la sobreescritura cuando se usa la redirección estándar. Desactivación del clobbering
+o noclobber No previene sobreescritura por redirección
test Si la condición es verdad el estado de salida de comandos test es 0. En caso contrario sería 1.
test "$LOGNAME" = "user1"
-r path Testea si un usuario tiene permisos de escritura sobre un archivo. El estado de salida se modifica en 0 si es exitoso o 1 en caso contrario.
test -r /etc/group echo $? (Muestra estado de salida)
[ -r /etc/group ] (Igual que el primer comando)
-d path Determina si el archivo especificado es un directorio
&& Ejecuta un comando solo si el anterior es exitoso mkdir newdir && cd newdir
|| Un comando es ejecutado solo si el anterior falla
if, then, else, execute
$ if command1 > then > execute command2 > else > execute command3 > fi
El comando if se evalúa el estado de salida de un comando e inicia acciones adicionales basadas en el valor devuelto.
$ if test "$LOGNAME" = root > then echo Hello System Administrator > else > echo Hello "$LOGNAME" > fi OTRA FORMA $ if [ "$LOGNAME" = "root" ] > then echo hello System Administrator > else > echo hello "$LOGNAME" > fi
while $ while command1 > do > command2 > done
Command1 es una condición true o false. Se puede evaluar con test o usando corchetes [].
case
$ case value in > pat1) command > command > ... > command > ;; > pat2) command > command > ... > command > ;; > ... > patn) command > command > ... > command > ;; > esac
tar
c archivefile filenames Crea un nuevo archivo tar tar cvf files.tar file1 file2 file3
t Lista la tabla de contenidos del archivo tar tar tf files.tar (Visualiza los archivos contenidos en files.tar)
x Extrae los archivos del archivo tar tar xvf files.tar
f
Especifica el archivo de almacenamiento o dispositivo de cinta. El dispositivo de cinta por defecto es / dev/rmt/0. Si el nombre del archivo es "-", el comando tar se lee de la entrada estándar cuando se lee de un archivo tar o escribe a la salida estándar si la creación de un archivo tar.
tar cvf files.tar file1 file2 file3
v Ejecuta en modo detallado, escribe a la salida estándar. tar cvf files.tar file1 file2 file3 (Crea un archive llamado files.tar formado por file1, file2, file3)
h Sigue enlaces simbólicos como archivos o directorios estándar.
jar c archivefile filenames Crea un nuevo archivo jar. Almacena en un solo archivo y luego comprime.
jar cvf files.tar file1 file2 file3
t Lista la tabla de contenidos del archivo tar
x Extrae los archivos del archivo tar
f
Especifica el archivo de almacenamiento o dispositivo de cinta. El dispositivo de cinta por defecto es / dev/rmt/0. Si el nombre del archivo es "-", el comando tar se lee de la entrada estándar cuando se lee de un archivo tar o escribe a la salida estándar si la creación de un archivo tar.
v Ejecuta en modo detallado, escribe a la salida estándar.
h Sigue enlaces simbólicos como archivos o directorios estándar.
compress [ -v ] filenames Comprime un archivo. NOTA: Se reemplaza el archivo original por un archivo con extensión .Z
compress dante compress -v files.tar
zcat filenames Visualiza el contenido de archivos comprimidos con compress zcat dante.Z | more zcat files.tar.Z | tar xvf -
uncompress
[ -v ] filenames.Z El comando uncompress descomprime un archivo de nuevo a su estado original.
$ uncompress -v files.tar.Z files.tar.Z: -- replaced with files.tar
-c filenames.Z Usted puede utilizar el comando uncompress con la opción-c para enviar el contenido de un archivo comprimido a la pantalla (stdout)
uncompress -c files.tar.Z | tar tvf -
gzip [ -v ] filenames Comprime un archivo. NOTA: Se reemplaza el archivo original por un archivo con extensión .gz NOTA2: gzip tiene un mayor nivel de compresión que compress
gzip dante1 dante2 compress -v files.tar
gunzip filenames.gz
gzcat filenames.gz Visualiza el contenido de archivos comprimidos con gzip gzcat dante.gz | more gzcat files.tar.gz | tar xvf -
zip target_file.zip source_files El comando zip comprime los archivos múltiples en un único archivo. El comando jar y el comando zip crean archivos que son compatibles entre sí. El comando unzip puede descomprimir un archivo jar, y el comando jar puede descomprimir un archivo zip.
zip file.zip file2 file3
unzip -l zipfile Para una lista de los archivos en un archivo zip, ejecute el comando unzip-l
unzip -l comp.zip
unzip zipfile Descomprime el archivo .zip unzip file.zip
rlogin hostname Establecer una sesión remota en otro sistema. Es necesario que exista el archivo .rhosts en el home del usuario
rlogin server2
rlogin -l -l username hostname rlogin -l user2 host2
rsh hostname command Utiliza el comando rsh para ejecutar un programa en un sistema remoto sin tener que iniciar sesión en el sistema remoto.
rsh host2 ls
telnet hostname telnet host2
rcp
[-r] source_file hostname:destination_file
Para copiar archivos de un directorio local a un host remoto rcp dante host2:/tmp
[-r] hostname:source_file destination_file
Para copiar archivos de un host remoto a un directorio local rcp host2:/tmp/dante /tmp
[-r] hostname:source_file hostname:destination_file
Para copiar archivos de un host remoto a otro host remoto rcp host2:/tmp/dante host1:/tmp
ftp hostname Establecer una sesión con un servidor FTP. Usted puede utilizar el comando lcd en el ftp> en la pantalla para cambiar el directorio de trabajo actual en el sistema local. NOTA: Pare terminar sesión: bye o quit. get: Descargar un archivo mget file1 file2: Descargar varios archivos mput file1 file2: Transferir varios archivos al servidor ftp