Visual Basic

Visual basic
Visual Basic es un lenguaje de programación dirigido por eventos, desarrollado por Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto de BASIC, con importantes agregados. Su primera versión fue presentada en 1991, con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y, en cierta medida, también la programación misma.
La última versión fue la 6, liberada en 1998, para la que Microsoft extendió el soporte hasta marzo de 2008.
En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y pasar a un framework o marco común de librerías, independiente de la versión del sistema operativo, .NET Framework, a través de Visual Basic .NET (y otros lenguajes como C Sharp (C#) de fácil transición de código entre ellos); fue el sucesor de Visual Basic 6.
Aunque Visual Basic es de propósito general, también provee facilidades para el desarrollo de aplicaciones de bases de datos usando Data Access Objects, Remote Data Objects o ActiveX Data Objects.
Visual Basic contiene un entorno de desarrollo integrado o IDE que integra editor de textos para edición del código fuente, un depurador, un compilador (y enlazador) y un editor de interfaces gráficas o GUI.

QBasic

Qbasic
QBasic es un entorno de desarrollo integrado y un Intérprete para una variante del lenguaje de programación BASIC basada en el compilador QuickBASIC. El código introducido en el IDE es compilado a una forma intermedia, y ésta es inmediatamente interpretada en demanda dentro del IDE. Puede correr bajo casi todas las versiones del DOS y de Windows, o con DOSBox/DOSEMU, en Linux y FreeBSD. En su tiempo, QBasic proveyó de un IDE avanzado, incluyendo un depurador con características tales como evaluación de expresiones y modificación del código al vuelo. El entorno de desarrollo de QBASIC incluye varias características aún raras en entornos de desarrollo actuales.
Al igual que QuickBASIC, pero a diferencia de versiones anteriores del Microsoft BASIC, el QBasic es un lenguaje de programación estructurada, soportando construcciones tales como subrutinas y bucles while. los números de líneas, un concepto a menudo asociado al BASIC, son soportados para la compatibilidad, pero no se considera una buena forma, siendo reemplazados por etiquetas descriptivas. QBasic tiene limitado soporte para los tipos de datos definidos por el usario (estructuras), y varios tipos primitivos usados para contener strings de texto o datos numéricos.

Subrutinas en QBasic: 
Una subrutina en QBasic es un conjunto de instrucciones divididas en varios bloques que realizan una determinada función  y  forman parte de un  programa principal  facilitando su estructura, la comprobación y eliminación de errores.

 Cuando el programa principal llama a una subrutina para que ésta se ejecute, la subrutina procesa sus instrucciones  hasta el final. El sistema retorna luego el control al segmento del programa principal desde donde se llamó a la subrutina.

Para utilizar una subrutina es necesario:


·          Crear la  subrutina.
·         Definir los parámetros .
·         Llamar a la subrutina.

Da click sobre el link para descargar algunos ejemplos
https://docs.google.com/open?id=0Bzt1LpePXgszN0dNT2o2am5YMlE

TOSHIBA

Da click en el enlace para descargar la presentación.
https://docs.google.com/open?id=0Bzt1LpePXgszY2ZvcEJYYjF6R28

Modelo TCP/IP

Modelo TCP/IP
El modelo TCP/IP es un modelo de descripción de protocolos de red creado en la década de 1970 por DARPA, una agencia del Departamento de Defensa de los Estados Unidos. Evolucionó de ARPANET, el cual fue la primera red de área amplia y predecesora de Internet. EL modelo TCP/IP se denomina a veces como Internet Model, Modelo DoD o Modelo DARPA.
Las capas están jerarquizadas. Cada capa se construye sobre su predecesora. El número de capas y, en cada una de ellas, sus servicios y funciones son variables con cada tipo de red. Sin embargo, en cualquier red, la misión de cada capa es proveer servicios a las capas superiores haciéndoles transparentes el modo en que esos servicios se llevan a cabo. De esta manera, cada capa debe ocuparse exclusivamente de su nivel inmediatamente inferior, a quien solicita servicios, y del nivel inmediatamente superior, a quien devuelve resultados.

Capa 4 o capa de aplicación: Aplicación, asimilable a las capas 5 (sesión), 6 (presentación) y 7 (aplicación) del modelo OSI. La capa de aplicación debía incluir los detalles de las capas de sesión y presentación OSI. Crearon una capa de aplicación que maneja aspectos de representación, codificación y control de diálogo.
Capa 3 o capa de transporte: Transporte, asimilable a la capa 4 (transporte) del modelo OSI.
Capa 2 o capa de red: Internet, asimilable a la capa 3 (red) del modelo OSI.
Capa 1 o capa de enlace: Acceso al Medio, asimilable a la capa 2 (enlace de datos) y a la capa 1 (física) del modelo OSI.

Modelo OSI

Modelo osi
El modelo osi de interconexión de sistemas abiertos también, llamados osi. La organización internacional para la normalización iso propuso el modelo osi (open system interconnetion)  interconexión de sistemas abiertos que esta basado en la existencia de 7 capas.

1 capa física:
Se ocupa de las propiedades físicas que utilizaran los equipos de comunicaciones (niveles detenciones, frecuencias, codificación, de las señales, dimensiones de los conectores etc.)

2 capa de enlace:
Se ocupa de organizar los datos, tanto de información como de control, para que las señales eléctricas puedan viajar de un equipo a otro de una red de una forma fiable.
Dos funciones principales:
Facilitar los mecanismos y poder interconectar distintas redes.
La capa de enlace proporciona el control en la capa física.

3 capa de red:
Organiza las capas distintas comunicaciones puedan hacer uso de una infraestructura en común por ejemplo: como se enrrutan los datos.


4 capa de transporte:
Define los mecanismos para poder intercambiar datos entre sistemas finales. Define los mecanismos para poder establecer, mantener y dar por terminada una comunicación  entre dos equipos distintos interconectados.


5 capa de presentación:
Se ocupa de agrupar los datos relacionados con una misma función. Esta capa organiza y sincroniza el intercambio de datos entre aplicaciones.
6 capa de presentación:
Define el formato de los datos convierte los formatos de los datos particulares (formatos de archivos, caracteres ASCII etc.) en un formato común que es independiente del tipo de ordenador o de aplicación utilizada.

7 capa de aplicación:
Define como interactúan las datas con las aplicaciones especificas correo electrónico navegador etc.

Comandos de Linix

Comandos  de Linux

arch
mostrar la arquitectura del equipo(1)
uname -m
mostrar la arquitectura del equipo(2)
uname -r
mostrar la versión del kernel
dmidecode -q
mostrar los componentes de hardware del sistema - (SMBIOS / DMI)
hdparm -i /dev/hda
despliega las caracteristicas de un disco duro
hdparm -tT /dev/sda
ejecutar prueba de lectura en un disco duro
cat /proc/cpuinfo
mostrar información del CPU
cat /proc/interrupts
mostrar interrupciones
cat /proc/meminfo
verificar el uso de la memoria
cat /proc/swaps
muestra el uso del espacio swap
cat /proc/version
mostrar la versión del kernel
cat /proc/net/dev
mostrar los adaptadores de red y estadisticas
cat /proc/mounts
muestra los filesystems que se encuentran montados
lspci -tv
mostrar los dispositivos PCI
lsusb -tv
mostrar los dispositivos USB
date
mostrar la fecha del sistema
cal 2007
mostrar la tabla del tiempo del 2007
date 041217002007.00 
establecer fecha y hora- MesDiaHoraMinutoAño.Segundos
clock -w
guardar cambio de fecha al BIOS
shutdown -h now
apagar el equipo(1)
init 0
apagar el equipo(2)
telinit 0
apagar el equipo(3)
shutdown -h hours:minutes &
programar el apagado del equipo
shutdown -c
cancelar apagado programado del equipo
shutdown -r now
reiniciar(1)
reboot
reiniciar(2)
logout
terminar sesión
find / -name file1
buscar archivos y directorios con el nombre 'file1' en el filesystem root desde '/'
find / -user user1
buscar archivos y directorios que le pertenezcan a 'user1'
find /home/user1 -name \*.bin
buscar archivos con extensión '.bin' dentro del directorio '/ home/user1' 
find /usr/bin -type f -atime +100
buscar archivos binarios que no han sido usados en los ultimos 100 días
find /usr/bin -type f -mtime -10
buscar archivos binarios creados o modificados en los ultimos diez dias
find / -name \*.rpm -exec chmod 755 '{}' \;
buscar archivos con extensión '.rpm' y modificar permisos
find / -xdev -name \*.rpm
buscar archivos con extensión '.rpm' ignorando particiones extraibles como cdrom, pen-drive, etc.…
locate \*.ps
mostrar archivos con la extensión '.ps' -primero ejecutar el comando 'updatedb'
whereis halt
mostrar la ruta del archivo binario, fuente y pagina del manual(man) para un comando dado (halt en este caso)
which halt
mostrar la ruta completa a un binario / ejecutable
cd /home
cambiar al directorio '/ home'
cd ..
regresar un nivel
cd ../..
regresar dos niveles
cd
cambiar al directorio home
cd ~user1
cambiar al directorio home
cd -
ir al directorio anterior
pwd
mostrar la ruta del directorio de trabajo
ls
ver archivos del directorio
ls -F
ver archivos del directorio
ls -l
mostrar detalles de archivos y directorios
ls -a
mostrar archivos ocultos
ls *[0-9]*
mostrar archivos y directorios cuyo nombre contenga numeros
tree
mostrar archivos y directorios en forma de arbol empezando desde root(1)
lstree
mostrar archivos y directorios en forma de arbol empezando desde root(2)
mkdir dir1
crear un directorio llamado 'dir1'
mkdir dir1 dir2
crear dos directorios simultaneamente
mkdir -p /tmp/dir1/dir2
crear un arbol de directorios
rm -f file1
borrar archivo con nombre 'file1'
rmdir dir1
borrar directorio con nombre 'dir1'
rm -rf dir1
borrar el directorio con nombre 'dir1' y todos sus contenidos recursivamente
rm -rf dir1 dir2
borrar dos directorios y todos sus contenidos recursivamente
mv dir1 new_dir
renombrar o mover un archivo o directorio
cp file1 file2
copiar un archivo
cp dir/* .
copiar todos los archivos de un directorio dentro del directorio de trabajo actual
cp -a /tmp/dir1 .
copiar un directorio dentro del directorio de trabajo actual
cp -a dir1 dir2
copiar un directorio
ln -s file1 lnk1 
crear un link simbólico a un archivo o directorio
ln file1 lnk1
crear un link físico a un archivo o directorio
touch -t 0712250000 file1
modificar el timestamp de un archivo o directorio- (AAMMDDhhmm)
file file1
muestra el tipo mime del archivo como texto
iconv -l
muestra los tipo de codificación conocidos
iconv -f fromEncoding -t toEncoding inputFile > outputFile
genera un archivo nuevo a partir del archivo proporcionado asumiendo que estan codificado en fromEncoding y convirtiendolo a toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert "{}" -resize 80x60 "thumbs/{}" \;
redimensiona el tamaño de las imagenes en el directorio actual en modo batch batch y las manda al directorio “thums” (se requiere el programa “convert” de Imagemagick)
mount /dev/hda2 /mnt/hda2
montar el disco llamado hda2 - verificar la existencia del directorio '/ mnt/hda2'
umount /dev/hda2
desmontar el disco hda2 - primero salir del punto de montaje '/ mnt/hda2'
fuser -km /mnt/hda2
forzar el desmontaje cuando el dispositivo se este utilizando
umount -n /mnt/hda2
ejecutar el comando umount sin escribir en el archivo /etc/mtab - es util cuando el archivo es de solo lectura o el disco duro esta lleno.
mount /dev/fd0 /mnt/floppy
montar un floppy
mount /dev/cdrom /mnt/cdrom
montar un cdrom / dvdrom
mount /dev/hdc /mnt/cdrecorder
montar un cdrw / dvdrom
mount -o loop file.iso /mnt/cdrom
montar un archivo o imagen ISO
mount -t vfat /dev/hda5 /mnt/hda5
montar un sistema de archivos de Windows FAT32
mount /dev/sda1 /mnt/usbdisk
montar un pen-drive o flash-drive USB
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share
montar una unidad compartida de windows
groupadd group_name
crear un grupo nuevo
groupdel group_name
borrar un grupo
groupmod -n new_group_name old_group_name
renombrar un grupo
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1
crear un nuevo usuario que pertenezca al grupo "admin"
useradd user1
crear un usuario nuevo
userdel -r user1
borrar un usuario ( '-r' elimina el directorio home del usuario)
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1
cambiar los atributos del usuario
passwd
cambiar el password
passwd user1
cambiar el password de un usuario (solo lo puede hacer el usuario root)
chage -E 2005-12-31 user1
establecer la fecha limite en la que el password del usuario caduca
pwck
verificar la integridad del archivo de contraseñas '/etc/passwd'
grpck
verificar la integridad del archivo base de datos de grupos '/etc/group' 
newgrp group_name
cambiarse a un grupo nuevo
df -h
mostrar una lista de las particiones montadas
ls -lSr |more
mostrar el tamaño de los archios y directorios ordenados por tamaño
du -sh dir1
mostrar el espacio ocupado estimado usado por el directorio 'dir1'
du -sk * | sort -rn 
mostrar el tamaño de archivos y directorios ordenados por tamaño
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n
mostrar el espacio utilizado por los paquetes rpm instalados ordenados por tamaño (fedora, redhat y similares)
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n
mostrar el espacio usado por los paquetes deb instalados ordenados por tamaño(ubuntu, debian y similares)
bunzip2 file1.bz2
descomprimir un archivo llamado 'file1.bz2'
bzip2 file1
comprimir un archivo llamado 'file1'
gunzip file1.gz
descomprimir un archivo llamado 'file1.gz'
gzip file1
comprimir un archivo llamado 'file1'
gzip -9 file1
comprimir utilizando maxima compresion
rar a file1.rar test_file
crear un archivo rar llamado 'file1.rar'
rar a file1.rar file1 file2 dir1
comprimir 'file1', 'file2' y 'dir1' simultaneamente
rar x file1.rar
descomprimir un archivo rar
unrar x file1.rar
descomprimir un archivo rar
tar -cvf archive.tar file1
crear un tarball (archivo tar) sin compresión
tar -cvf archive.tar file1 file2 dir1
crear un archivo tar que contiene a los archivos 'file1', 'file2' y 'dir1'
tar -tf archive.tar
mostrar los contenidos de un archivo tar
tar -xvf archive.tar
extraer un archivo tar
tar -xvf archive.tar -C /tmp
extraer un archivo tar en / tmp
tar -cvfj archive.tar.bz2 dir1
crear un archivo tar comprimido en bzip2
tar -xvfj archive.tar.bz2
descomprimir un archivo tar comprimido en bzip2
tar -cvfz archive.tar.gz dir1
crear un archivo tar comprimido en gzip
tar -xvfz archive.tar.gz
descomprimir un archivo tar comprimido en gzip
zip file1.zip file1
crear un archivo tar comprimido en zip
zip -r file1.zip file1 file2 dir1
comprimir en formato zip varios archvos y directorios simultaneamente
unzip file1.zip
descomprimir un archivo zip
bunzip2 file1.bz2
descomprimir un archivo llamado 'file1.bz2'
bzip2 file1
comprimir un archivo llamado 'file1'
gunzip file1.gz
descomprimir un archivo llamado 'file1.gz'
gzip file1
comprimir un archivo llamado 'file1'
gzip -9 file1
comprimir utilizando maxima compresion
rar a file1.rar test_file
crear un archivo rar llamado 'file1.rar'
rar a file1.rar file1 file2 dir1
comprimir 'file1', 'file2' y 'dir1' simultaneamente
rar x file1.rar
descomprimir un archivo rar
unrar x file1.rar
descomprimir un archivo rar
tar -cvf archive.tar file1
crear un tarball (archivo tar) sin compresión
tar -cvf archive.tar file1 file2 dir1
crear un archivo tar que contiene a los archivos 'file1', 'file2' y 'dir1'
tar -tf archive.tar
mostrar los contenidos de un archivo tar
tar -xvf archive.tar
extraer un archivo tar
tar -xvf archive.tar -C /tmp
extraer un archivo tar en / tmp
tar -cvfj archive.tar.bz2 dir1
crear un archivo tar comprimido en bzip2
tar -xvfj archive.tar.bz2
descomprimir un archivo tar comprimido en bzip2
tar -cvfz archive.tar.gz dir1
crear un archivo tar comprimido en gzip
tar -xvfz archive.tar.gz
descomprimir un archivo tar comprimido en gzip
zip file1.zip file1
crear un archivo tar comprimido en zip
zip -r file1.zip file1 file2 dir1
comprimir en formato zip varios archvos y directorios simultaneamente
unzip file1.zip
descomprimir un archivo zip
rpm -ivh package.rpm
instalar un paquete rpm
rpm -ivh --nodeeps package.rpm
instalar un paquete rpm ignorando las peticiones de resolución de dependencias
rpm -U package.rpm
actualizar un paquete rpm sin hacer cambios a los archivos de configuración
rpm -F package.rpm
actualizar un paquete rpm solo si ya esta instalado
rpm -e package_name.rpm
desinstalar un paquete rpm
rpm -qa
mostrar todos los paquetes rpm instalados en el sistema
rpm -qa | grep httpd
mostrar todos los paquetes rpm que contengan en el nombre la cadena "httpd"
rpm -qi package_name
obtener información de un paquete instaldo
rpm -qg "System Environment/Daemons"
mostrar todos los paquetes rpm correspondientes a un grupo de software
rpm -ql package_name
mostrar la lista de archivos proporcionados por un paquete rpm instalado
rpm -qc package_name
mostrar la lista de archivos de configuración proporcionados por un paquete rpm instalado
rpm -q package_name --whatrequires
mostrar la lista de dependencias requeridas por un paquete rpm
rpm -q package_name --whatprovides
mostrar la funcionalidad proporcionada por un paquete
rpm -q package_name --scripts
mostrar los scripts iniciados durante la instalación/desinstalación
rpm -q package_name --changelog
mostrar la lista de revisiones de un paquete rpm
rpm -qf /etc/httpd/conf/httpd.conf
verificar a que paquete rpm corresponde un archivo dado
rpm -qp package.rpm  -l
mostrar una lista de los archivos proporcionados por un paquete rpm que aun no se ha instalado
rpm --import /media/cdrom/RPM-GPG-KEY
importar la firma digital de llave publica
rpm --checksig package.rpm
verificar la integridad de un paquete rpm
rpm -qa gpg-pubkey
verificar la integridad de todos los paquetes rpm instalados
rpm -V package_name
verificar el tamaño, permisos, tipo, propietario, grupo, checksum MD5 y ultima modificación del archivo del paquete
rpm -Va
verificar todos los paquetes instalados en el sistema - usar con precaución
rpm -Vp package.rpm
verificar un pquete rpm que no ha sido instalado todavía
rpm2cpio package.rpm | cpio --extract --make-directories  *bin*
extraer archivo ejecutable de un paquete rpm
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm
instalar un paquete construido de un fuente rpm
rpmbuild --rebuild package_name.src.rpm
construir un paquete rpm de un fuente rpm
yum install package_name
descargar e instalar un paquete rpm
yum localinstall package_name.rpm
Intentar instalar un paquete RPM , tratando de resolver todas las dependcias usando los repositorios locales
yum update package_name.rpm
actualizar todos los paquetes rmp instalados en el sistema
yum update package_name
actualizar un paquete rpm
yum remove package_name
quitar un paquete rpm
yum list
mostrar todos los paquetes instalados en el sistema
yum search package_name
encontrar un paquete en un repositorio rmp
yum clean packages
limpiar el cache rpm borrando todos los paquetes descargados
yum clean headers
eliminar todos los archivos de encabezado que el sistema utiliza para resolver dependencias
yum clean all
eliminar del sistema los tanto paquetes como archivos de encabezado
dpkg -i package.deb
instalación/actualización de un paquete deb
dpkg -r package_name
desinstalar un paquete deb del sistema
dpkg -l
mostrar todos los paquetes deb instalados en el sistema
dpkg -l | grep httpd
mostrar todos los paquetes deb que contengan en el nombre la cadena "httpd"
dpkg -s package_name
obtener información de un paquete específico instalado en el sistema
dpkg -L package_name
mostrar una lista de los archivos proporcionados por un paquete instalado en el sistema
dpkg --contents package.deb
mostrar una lista de los archivos proporcionados por un paquete que aun no se ha instalado
dpkg -S /bin/ping
verificar a que paquete corresponde un archivo
apt-get install package_name
instalación/actualización de un paquete deb
apt-cdrom install package_name
instalación/actualización de un paquete deb desde un cdrom
apt-get update
actualizar la lista de paquetes
apt-get upgrade
actualizar todos los paquetes instalados
apt-get remove package_name
desinstalar un paquete deb del sistema
apt-get check
verificar la correcta resolución de dependencias
apt-get clean
limpiar el cache de los paquetes descargados
apt-cache search searched-package
Regresta una lista de paquetes que coincida con la cadena "searched-packages"
cat file1
ver el contenido de un archivo empezando por el primer renglón.
tac file1
ver los contenidos de un archivo comenzando por la ultima línea
more file1
ver contenidos de un archivo una pantalla a la vez
less file1
similar al comando 'more' pero permite movimiento tanto hacía atras como hacia adelante
head -2 file1
ver las dos primeras líneas de un archivo
tail -2 file1
ver las ultimas dos líneas de un archivo
tail -f /var/log/messages
ver en tiempo real lo que se va añadiendo al archivo
cat file1 file2 ... | command <> file1_in.txt_or_file1_out.txt
sintaxis para manipulación de texto usando PIPE, STDIN y STDOUT
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt
sintaxis para modificar el texto de un archivo y escribir el resultado en un archivo nuevo
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt
sintaxis para modificar el texto de un archivo y agregar el resultado a un archivo existente
grep Aug /var/log/messages
buscar la secuencia "Aug" en el archivo '/var/log/messages'
grep ^Aug /var/log/messages
buscar la palabras que comienzen con "Aug" en el archivo '/var/log/messages'
grep [0-9] /var/log/messages
seleccionar todas las líneas del archivo '/var/log/messages' que contengan numeros
grep Aug -R /var/log/*
buscar la cadena "Aug" en el directorio '/var/log' incluyendo subdirectorios
sed 's/stringa1/stringa2/g' example.txt
remplazar "string1"por "string2" en el archivo example.txt
sed '/^$/d' example.txt
quitar todas las líneas en blanco del archivo example.txt
sed '/ *#/d; /^$/d' example.txt
quitar los comentarios y todas las líneas en blanco del archivo example.txt
echo 'esempio' | tr '[:lower:]' '[:upper:]'
convert from lower case in upper caseconvertir de minusculas a mayusulas
sed -e '1d' result.txt
quitar la primera línea de example.txt
sed -n '/stringa1/p'
ver solo las líneas que contengan la palabra "string1"
sed -e 's/ *$//' example.txt
quitar caracteres vacíos al final de cada línea
sed -e 's/stringa1//g' example.txt
quitar solo la palabra "string1" del archivo de texto y dejar todo lo demas intacto
sed -n '1,5p;5q' example.txt
ver del primero al quinto renglón
sed -n '5p;5q' example.txt
ver el renglon numero cinco
sed -e 's/00*/0/g' example.txt
remplazar secuencias de ceros por un solo cero
cat -n file1
numerar los renglones de un archivo
cat example.txt | awk 'NR%2==1'
borrar todas las líneas pares del archivo example.txt
echo a b c | awk '{print $1}'
ver la primera columna de una linea
echo a b c | awk '{print $1,$3}'
ver la primera y la terce columna de una linea
paste file1 file2
mezclar los contenidos de dos archivos pr columna
paste  -d  '+' file1 file2
mezclar los contenidos de dos archivos con el delimitador '+' al centro
sort file1 file2
ordenar los contenidos de dos archivos
sort file1 file2 | uniq
ordenar los contenidos de dos archivos omitiendo los elementos repetidos
sort file1 file2 | uniq -u
ordenar los contenidos de dos archivos mostrando solo los elementos únicos
sort file1 file2 | uniq -d
ordenar los contenidos de dos archivos mostrando solo los elementos duplicados
comm -1 file1 file2
comparar el contenido de dos archivos borrando las líneas que aparecen unicamente en 'file1'
comm -2 file1 file2
comparar el contenido de dos archivos borrando las líneas que aparecen unicamente en 'file2'
comm -3 file1 file2
comparar el contenido de dos archivos borrando las líneas que aparecen en ambos archivos
dos2unix filedos.txt fileunix.txt
convertir el formato de un archivo de texto de MSDOS a UNIX
unix2dos fileunix.txt filedos.txt
convertir el formato de un archivo de texto de UNIX a MSDOS
recode ..HTML < page.txt > page.html
convertir un archivo de texto a HTML
recode -l | more
mostrar todos los formatos de conversión disponibles
dump -0aj -f /tmp/home0.bak /home 
hacer un respaldo completo del directorio '/home'
dump -1aj -f /tmp/home0.bak /home 
hacer un respaldo incremental del directorio '/home'
restore -if /tmp/home0.bak
restaurar un respaldo interactivamente
rsync -rogpav --delete /home /tmp
sincronización entre directorios
rsync -rogpav -e ssh --delete /home ip_address:/tmp 
sincronización a traves de un tunel SSH
rsync -az -e ssh --delete ip_addr:/home/public /home/local
sincronización de un directorio local con uno remoto vía ssh y compresión
rsync -az -e ssh --delete /home/local ip_addr:/home/public
sincronización de un directorio remoto con uno loca vía ssh y compresión
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'
hacer un respaldo de un disco duro local en un host remoto via ssh
dd if=/dev/sda of=/tmp/file1
respaldar el contenido del disco duro a un archivo
tar -Puf backup.tar /home/user
hacer un respaldo incremental del directorio '/home/user'
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'
copiar el contenido de un directorio a un directorio remoto via ssh
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' 
copiar el contenido de un directorio local a un directorio remoto via ssh
tar cf - . | (cd /tmp/backup ; tar xf - )
copia local, preservando permisos y ligas de un directorio a otro
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents
encontrar y copiar todos los archivos con extensión .'txt' de un directorio a otro.
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2
encontrar todos los archivos con extensi[on '.log' y hacer un archivo bzip archive
dd if=/dev/hda of=/dev/fd0 bs=512 count=1
hacer una copía del MBR (Master Boot Record) a un disco floppy
dd if=/dev/fd0 of=/dev/hda bs=512 count=1
restaurar el MBR desde un backup guardado en disco
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force
limpiar un cdrom reescribible
mkisofs /dev/cdrom > cd.iso
crear una imagen ISO de un CdRom en el disco
mkisofs /dev/cdrom | gzip > cd_iso.gz
crear una imagen ISO comprimida de un CdRom en el disco
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd
crear una imagen ISO a partir de un directorio
cdrecord -v dev=/dev/cdrom cd.iso
grabar a CD una imagen ISO
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -
grabar a CD una imagen ISO comprimida
mount -o loop cd.iso /mnt/iso
montar un imagen ISO
cd-paranoia -B
ripear (extracción digital de audio) tracks de audio de un CD a archivos wav
cd-paranoia -- "-3"
ripear (extracción digital de audio) los primeros tres tracks de audio de un CD a archivos wav.
cdrecord --scanbus
escanear el bus para identificar el canal scsi
dd if=/dev/hdc | md5sum
ejecutar un checksum md5 en un dispositivo como un CD
ifconfig eth0
mostrar la configuración de una tarjeta de red ethernet
ifup eth0
activar interfaz de red 'eth0'
ifdown eth0
desactivar interfaz de red'eth0'
ifconfig eth0 192.168.1.1 netmask 255.255.255.0
configurar dirección IP
ifconfig eth0 promisc
configurar 'eth0' en modo promiscuo para captura de paquetes (sniffing)
dhclient eth0
activar la interface 'eth0' en modo dhcp
route -n
mostrar la tabla de ruteo
route add -net 0/0 gw IP_Gateway
configurar el gateway por default
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
configurar ruta estatica para alcanzar la red '192.168.0.0/16'
route del 0/0 gw IP_gateway
quitar ruta estatica
echo "1" > /proc/sys/net/ipv4/ip_forward
activar ruteo por ip
hostname
mostrar el nombre del equipo
host www.example.com
busquedas DNS del nombre proporciando para resolver de nombre a direccion ip y viceversa(1)
nslookup www.example.com
busquedas DNS del nombre proporciando para resolver de nombre a direccion ip y viceversa(2)
ip link show
mostrar el estatus del enlace de todas las interfaces de red
mii-tool eth0
mostrar el estatus del enlace de la tarjeta de red 'eth0'
ethtool eth0
mostrar estadisticas de la tarjeta de red 'eth0'
netstat -tup
mostrar todas las conexiones de red activas y el PID del programa al cual le corresponde el socket
netstat -tupl
mostrar todos los servicios que estan escuchando en el sistema y su PID correspondiente
tcpdump tcp port 80
mostrar todo el trafico HTTP (puerto 80)
iwlist scan
mostrar redes inalambricas disponibles
iwconfig eth1
mostrar la configuración de una tarjeta de red inalambrica
hostname
Mostrar el nombre del equipo
host www.example.com
lookup hostname to resolve name to ip address and viceversa(1)
nslookup www.example.com
lookup hostname to resolve name to ip address and viceversa(2)
whois www.example.com
buscar en la base de datos de whois
iptables -t filter -L
mostrar todos los contenidos de la tabla de filtrado 'filter'
iptables -t nat -L
mostrar todos los contenidos de la tabla 'nat'
iptables -t filter -F
borrar todas las reglas de la tabla 'filter'
iptables -t nat -F
borrar todas las reglas de la tabla nat'
iptables -t filter -X
borrar todas las reglas creadas por el usuario
iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT
permitir conecciones telnet de entrada
iptables -t filter -A OUTPUT -p tcp --dport http -j DROP
bloquear conecciones HTTP de salida
iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT
permitir conecciones POP3 a la cadena forwardchain
iptables -t filter -A INPUT -j LOG --log-prefix "DROP INPUT"
permitir login en la cadena de entrada
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
configurar un PAT (Port Address Traslation) en eth0 enmascarando los paquetes de salida
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22
redireccionar los paquetes dirigos a un host a otro host distinto
apropos ...keyword
muestra una lista de comandos relacionados con palabras clave , es util cuando se sabe lo que el programa hace pero no se sabe el nombre del comando
man ping
desplegar las paginas del manual que corresponden a un comando (en este caso ping)
whatis ...keyword
mostrar la descripción de lo que hace un programa o comando
mkbootdisk --device /dev/fd0 `uname -r`
crear un floppy booteable
gpg -c file1
encriptar un archivo con el GNU Privacy Guard
gpg file1.gpg
desencriptar un archivo con el GNU Privacy Guard
wget -r www.example.com
descargar un sitio web completo
wget -c www.example.com/file.iso
descargar un archivo con la posibilidad de detener la descarga y seguir descargando despues
echo 'wget -c www.example.com/files.iso' | at 09:00
comenzar una descarga a una hora determinada
ldd /usr/bin/ssh
mostrar las librerias requeridas por archivos ejecutables (ssh en este caso)
alias hh='history'
establecer un alias para un comando - hh = history
chsh
cambiar de shell de comandos
chsh --list-shells
mostrar los shells disponibles en el sistema
who -a
mostrar quien esta firmado en el sistema , asi como le fecha del ultimo arranque del sistema, procesos muertos, procesos de logeo al sistema, procesos activos ejecutados por init, el runlevel actual, ultima fecha de cambio del reloj del sistema