Intrucciones de la Shell de UNIX

at Ejecuta una tarea a la hora programada.
banner Muestra un banner con los argumentos pasados.
bs Calculadora.
cal Muestra un calendario del mes o año indicado.
cancel Cancela trabajos enviados a la impresora.
cat Muestra el contenido de un archivo.Concatena archivos y muestra el resultado por pantalla.EJEMPLO: Ordena todos los ficheros .txt, elimina las lineas duplicadas y guarda los datos en un fichero resultado.txt
cat *.txt | sort | uniq > resultado.txt
Copia de un fichero convirtiendo a mayúsculas todos los caracteres del fichero original
cat fich | tr ‘a-zñáéíóúü’ ‘A-ZÑÁÉÍÓÚÜ’ >fich.txt
cat > archivo.txt : empezamos a escribir (CTRL+D para salir)
cc Compilador de C bajo UNIX.
cd Cambia de directorioEJEMPLOS:
. cd – Cambia de directorio.
cd /path va al directorio de path
cd. va al directorio actual
cd.. va al directorio padre
cd o cd~ va al home de tu usuario
cd~ nombreUsuario va al home de nombreUsuario
cd/ va al directorio raiz
cd- va al ultimo directorio visitado
chgrp Cambia el grupo de un archivo o directorio.
chmod Cambia los permisos de acceso de un archivo o directorio.
chown Cambia el propietario de un archivo o directorio.
clear Limpia la pantalla.
cmp Compara archivos.
compress, pack Comprime un archivo.
cp Copia archivos.PARÁMETROS:
cp -R: Copia un directorio recursivamente.
cp -p: Copia preservando permisos, propietario, grupos y fechas.
cp -d: Conserva los enlaces simbólicos como tales y preserva las relaciones de los duros.
cp -a: lo mismo que -dpREJEMPLOS:
cp a1.log a2.log
crea una copia del archivo a1.log en a2.log dentro del mismo directorio
cp -R dir1 dir2
copia el directorio dir1 y todos sus directorios de forma recursiva en el directorio dir2
cpio Envía o recupera datos de un archivo cpio (copias de seguridad, etc.).
crontab Programa en el cron de usuario las tareas especificadas.
cut Corta los campos especificados de un archivo.PARÁMETROS:
Muestra columnas o campos de caracteres. Su formato básico es:
cut -f | c campos -d delimitador-fnum: especifica el campo num
-fnum1, num2: especifica los campos num1 y num2
-fnum1-num2: especifica los campos desde num1 a num2
-cnum1-num2: especifica las columnas desde num1 a num2EJEMPLOS:
cut -f1,2,5,7 direcciones.txt
muestra las columnas 1,2,5 y 7 del archivo direcciones.txt. Las   columnas deben estar
separadas por tabuladores.
cut -d: -f1,2,5,7 direcciones.txt
muestra las columnas 1,2,5 y 7 del archivo direcciones.txt. Las columnas deben estar
separadas por el caracter “:” que es un delimitador.
date Muestra la fecha y hora del sistema. Solo root la puede modificar.
df, bdf Muestra información sobre la ocupación de sistemas de archivos.
diff Compara archivos y directorios.
disable Desactiva la impresora, impidiendo la impresión de archivos.
du Muestra el espacio ocupado por un directorio o conjunto de directorios.
echo Muestra por pantalla lo que se indica como argumento.
ed Editor de archivos por líneas.
at Ejecuta una tarea a la hora programada.
at Ejecuta una tarea a la hora programada.
at Ejecuta una tarea a la hora programada.
at Ejecuta una tarea a la hora programada.
at Ejecuta una tarea a la hora programada.
at Ejecuta una tarea a la hora programada.
at Ejecuta una tarea a la hora programada.

emacs                     Editor de textos más potente que vi.
enable                    Activa la impresora, permite la impresión de archivos.
env                          Muestra las variables de entorno del usuario.
exit                          Sale del sistema.
export                   Exporta el valor de la variable de entorno que se especifique.
file                          Devuelve el tipo de archivo que es un archivo determinado.
find                        Busca archivos con unas condiciones determinadas.

PARÁMETROS: Busca archivos y directorios y ejecuta comandos sobre ellos.
-name patron: busca archivos cuyo nombre tiene ese patrón
-size tamaño: busca archivos con ese tamaño máximo
-type tipo: busca archivo del tipo especificado

EJEMPLOS:
find /home -name *.c: busca todos los ficheros con extensión .c dentro del directorio /home
find / -size +100k: busca todos los ficheros que ocupan más de 100kb
find /home -type d: busca solamente los directorios de /home

finger                    Devuelve datos sobre la actividad de los usuarios conectados a un sistema.
free                        Información sobre la cantidad de memoria disponible y usada.
ftp                          Permite transferir archivos a o desde otros sistemas.
grep, fgrep, egrep    Busca una cadena de caracteres en un archivo.

PARÁMETROS:
grep -i: insensible a mayúsculas o minúsculas
grep -r: busca recursivamente en subdirectorios
grep -v: muestra las lineas que no tienen la cadena

EJEMPLO:
grep PATH .bashrc: busca la cadena PATH en el archivo .bashrc
grep autor *.c: busca la cadena autor en los archivos con extensión .c
grep -r autor .: busca la cadena autor en el directorio actual y recursivamente en sus subdirectorios.
who | grep marga: comprueba si el usuario marga está conectado en este momento.
grep “Ana” fichero
ls -l arc | grep “Ana”

groups                 Enumera los grupos a los que pertenece un usuario.
head                     Muestra las primeras líneas de un archivo.
hostname          Devuelve o fija el nombre de la máquina.
kill                        Finaliza la ejecución de un proceso.
ksh, sh, csh       Invoca una subshell dentro de la shell actual.
ln                          Crea un enlace con uno o varios archivos.
lp                          Envía el contenido de un archivo al spooler de impresión.
lpstat                  Muestra el estado de las impresoras conectadas al sistema.
ls                          Lista el contenido de un directorio.
mail, mailx      Visualiza y envía correo a otros usuarios.
man                    Muestra en pantalla la ayuda existente respecto al argumento indicado.
mesg                  Controla el acceso a la pantalla por parte de otros usuarios.
mkdir                Crea un directorio.
more                 Visualiza el contenido de un archivo por pantallas.
mount              Monta un sistema de archivos (lo hace accesible a los usuarios).
mv                     Mueve archivos de un directorio a otro o los renombra.
newgroup       Cambia el grupo actual del usuario, en caso de tener varios.
news                 Muestra las noticias existentes en el sistema.
nice                   Permite reducir la prioridad de un proceso. Solo root puede incrementarla.
nohup              Realiza tareas en background y envía los resultados al archivo nohup.out.
passwd            Permite modificar la clave o password de un usuario.
paste               Junta archivos horizontalmente.
pg                     Visualiza el contenido de un archivo por pantallas.
ping                 Muestra si una máquina remota está encendida.
pr                     Formatea un archivo para su posterior impresión.
ps                     Muestra los procesos activos en el sistema.
pwd                 Muestra el directorio actual.
rcp                  Copia archivos desde o hacia otro sistema remoto.
read                Lee la entrada que el usuario haga desde el teclado.
rlogin             Permite conectarse a otro sistema.
rm                   Borra un archivo.
rmdir            Borra un directorio.
sar                 Visualiza la ocupación de los procesadores del sistema.
sdiff               Compara archivos ASCII, listando las diferencias por columnas.
set                  Muestra y pone valores a las variables de entorno del usuario.
sort               Ordena un archivo.
split              Divide un archivo en trozos más pequeños.
stty               Establece o visualiza algunas opciones de terminal.
su                  Permite cambiar la identidad de un usuario a otro.
sync             Salva todos los buffers pendientes a disco.
tail               Muestra las últimas líneas de un archivo.
talk              Establece una conexión con otro usuario para mantener una comunicación.
tar               Envía o recupera datos de un archivo tar (copias de seguridad, etc.).
tee               Dirige la entrada estándar a un archivo y al terminal a la vez.
telnet         Permite conectarse a otro sistema.
test             Prueba una condición devolviendo true o false.
time           Muestra en pantalla el tiempo necesario para ejecutar un comando.
touch        Modifica la fecha y hora de un archivo. Si no existe lo crea con tamaño 0.
tr                 Filtro que sirve para intercambiar un carácter por otro.
umask       Visualiza y establece permisos para los archivos y directorios que se generen.
umount    Desmonta un sistema de archivos.
uname      Devuelve información sobre el nombre de la máquina, versión S.O., etc.
uncompress, unpack    Descomprime un archivo comprimido.
uniq          borra lineas duplicadas dentro de un archivo.
users        Devuelve los usuarios conectados al sistema.
vi               Permite editar archivos.
w               Muestra información sobre los usuarios, tiempo de CPU, tiempo desocupado,
procesos ejecutándose…
wait         Espera la finalización de tareas en background.
wall         Envía un mensaje a todos los usuarios conectados al sistema.
wc            Cuenta las palabras, líneas y caracteres de un archivo.
whence  Busca un archivo dentro de los directorios definidos en la variable PATH.
which     Localiza un archivo dentro de los directorios incluidos en $PATH y aliases.
who        Muestra los usuarios que están conectados al sistema.
write      Envía un mensaje a la pantalla del usuario especificado.

head – Muestra las primeras líneas de un archivo.

PARÁMETROS:
head -n: muestra las n primeras líneas del fichero

ls – Lista el contenido de un directorio.
PARÁMETROS:
ls -a: incluye archivos ocultos (empiezan por .)
ls -l: listado en formato largo
ls -t: ordena la salida por feha
ls -R: listado recursivo

EJEMPLO:
La tuberia permite utilizar la salida de un comando para servir a otro.
ls -l: muestra la relación de los archivos del directorio actual.
ls -l | more: si la pantalla se llena se queda a la espera de que se pulse una tecla
ls -l | grep txt: busca en un archivo si existe un patrón indicado como parámetro. Muestra los archivos que contengan la cadena txt.
ls | wc -w: muestra el número de archivos del directorio actual.
ls -l arc | grep “Ana”: lista los archivos q contienen la cadena Ana en un fichero
ls | xargs > archivo1.txt archivo2.txt: obtiene la salida en una sola linea

ping – Muestra si una máquina remota está encendida.
EJEMPLOS:
ping 192.168.2.7: comprueba si existe comunicación de red con la máquina con esa dirección IP

rm – Borra un archivo.
PARÁMETROS:
rm -r: borra recursivamente los directorios
rm -f: no hace preguntas sobre los modos de archivos
rm -i: interactivo, pide información antes de borrar cada archivo.

rmdir – Borra un directorio.
EJEMPLOS:
rmdir dir1: elimina el directorio dir1 si es que está vacio
rmdir -r dir1: elimina el directorio dir1 y sus subdirectorios de forma recursiva

sort – Ordena las lineas de un archivo y las muestra por pantalla.
Ordena uno o más ficheros en secuencia, alfabética o numéricamente. PARÁMETROS:
sort -n: ordena teniendo en cuenta los números
sort -f: no tiene en cuenta mayúsculas ni minúsculas
sort -r: ordena de forma inversa sort +n: ordena a partir del campo n+1

tail – Muestra las últimas líneas de un archivo. Por defecto las 10 últimas líneas.
PARÁMETROS:
tail -n: muestra las n últimas lineas
tail -f: muestra las 10 últimas lineas, refrescando cada vez q un proceso añade datos al archivo. Util para trazas (.log)
tail +n: muestra el texto a partir de la línea número n

tr – Filtro que sirve para intercambiar un carácter por otro. Traduce o borra caracteres de la entrada estándar.
tr [opciones] SET1 [SET2]
PARÁMETROS:
tr -d: borra caracteres de SET1
tr -s: varias ocurrencias seguidas de un carácter las transforma en una sola ocurrencia

EJEMPLOS:
tr -s ‘ ‘ : borra las ocurrencias de blancos en la cadena
tr ‘[a-z]’ ‘[A-Z’ < entrada.txt: muestra por pantalla el archivo entrada.txt con todos sus caracteres en mayúsuculas

who – Muestra los usuarios que están conectados al sistema, junto con el puesto que ocupan y la hora de entrada.
EJEMPLOS:
who | wc -l: cuenta el número de usuarios conectados al sistema

SACAR VERSION DEL SO: cat /proc/version o lsb_release -a
VI:
i: Inserta texto antes del carácter sobre el cual se encuentra el cursor (cambia al modo de edición)
I: Inserta texto al inicio de una línea (cambia al modo de edición)
a: Inserta texto después del carácter sobre el cual se encuentra el cursor (cambia al modo de edición)
A: Inserta texto al final de una línea (cambia al modo de edición)
yy: Copia una línea de texto
p: Pega una línea de texto
dd: Corta o elimina una línea de texto
o: Inserta una línea en blanco después de la línea en la que se encuentra el cursor (cambia al modo de edición)
O: Inserta una línea en blanco antes de la línea en la que se encuentra el cursor (cambia al modo de edición)
r: Reemplaza un carácter (se presiona r y luego se ingresa el carácter deseado)
R: Inserta texto poniendo el cursor en modo de sobre-escritura (cambia al modo de edición)

Comandos para la navegación en el archivo
j: Desplaza el cursor hacia abajo
k: Desplaza el cursor hacia arriba
h: Desplaza el cursor hacia la izquierda
l: Desplaza el cursor hacia derecha
gg: Desplaza el cursor hacia una línea indicada, si no digitamos algún número antes de usar este comando,entonces desplazará el cursor al inicio del archivo. Ej: si deseamos dirigirnos a la línea 100 escribimos 100gg
G: Es equivalente a gg, solo que si no lo predecimos de algún número, entonces desplazará el cursor al final del archivo.
0: Desplaza el cursor al inicio de la línea actual.
$: Desplaza el cursor al final de la línea actual.

Comandos útiles para la manipulación de vi

ZZ : Guarda los cambios y sale del editor
:w : Guarda los cambios en el archivo
:wq : Es equivalente al comando ZZ
:/ : Busca texto en el archivo. Ej: si deseamos buscar la palabra hola en el archivo usamos el comando :/hola y luego presionamos ENTER, se puede navegar entre las coincidencias encontradas usando n (siguiente) y N (anterior).
:q : Permite salir del editor si no se han realizados cambios en el archivo.
:q! : Salida de modo forzado, sale del editor sin guardar los cambios realizados al archivo.
:! : Permite ingresar un comando en el shell desde vi. Ej: si deseamos conocer la hora escribimos :!date y luego presionamos ENTER

Para cambiar del modo de edición al modo de comandos se presiona la tecla ESC.

* Hay varias formas de hacer un search&replace global con ‘vi’, pero este es el comando que uso yo siempre:

:g/txt_a_sustituir/s//txt_nuevo/g

Para hacerlo confirmando cada cambio uno por uno, basta con añadir la opción ‘c’ al final

Descomprimir archivos tar y tar.gz

tar -zxvf archivo.tar.gz

se extrae el contenido del tar.gz en el directorio donde estemos.

Para descomprimir el contenido del archivo en otro directorio diferente hay que utilizar el operador -C

tar -C /nombre_de_la_caperta -zxvf archivo.tar.gz

Comprimir con tar y tar.gz

tar -cvzf archivo.tar.gz {carpeta que queremos comprimir}

Leave a Reply