Presentación inteligencia artificial en la actualidad
Curso Linux Basico
1. CURSO BÁSICO DE LINUX
INTERFAZ DE ORDENES (SHELL)
Facilitador: Carlos Rivero
crivero@inia.gob.ve
ext 04813
2. Un Sistema operativo (SO) es un software que actúa de interfaz entre los
dispositivos de hardware y los programas usados por el usuario para manejar un
computador. Es responsable de gestionar, coordinar las actividades y llevar a
cabo el intercambio de los recursos y actúa como estación para las aplicaciones
que se ejecutan en la máquina.
Uno de los más prominentes ejemplos de sistema operativo, es el núcleo Linux,
el cual junto a las herramientas GNU, forman las llamadas distribuciones Linux.
USUARIO
APLICACIONES
SISTEMA
OPERATIVO
HARDWARE
4. Linux es un sistema operativo interactivo, multiusuario y multitarea.
Interactivo: permite interactuar con el sistema, introduciendo ordenes y
viendo sus efectos inmediatamente.
Multiusuario: con el uso de las redes permiten que muchos usuarios tengan
acceso al sistema linux desde diferentes terminales al mismo tiempo.
Multitarea: es capaz de llevar acabo más de una tarea al mismo tiempo.
GNU/Linux es uno de los términos empleados para referirse a la
combinación del núcleo o kernel libre similar a Unix denominado Linux, que
es usado con herramientas de sistema GNU. Su desarrollo es uno de los
ejemplos más prominentes de software libre; todo su código fuente puede
ser utilizado, modificado y redistribuido libremente por cualquiera bajo los
términos de la GPL (Licencia Pública General de GNU) y otra serie de
licencias libres.
6. Libertad Descripción
0 la libertad de usar el programa, con cualquier propósito.
1
la libertad de estudiar cómo funciona el programa y modificarlo,
adaptándolo a tus necesidades.
2
la libertad de distribuir copias del programa, con lo cual puedes
ayudar a tu prójimo.
3
la libertad de mejorar el programa y hacer públicas esas mejoras a
los demás, de modo que toda la comunidad se beneficie.
Las libertades 1 y 3 requieren acceso al código fuente porque estudiar y modificar
software sin su código fuente es muy poco viable.
Libertades del software libre
Es software "libre" si garantiza las siguientes libertades
7. Sistema de archivos (todo es un archivo)
• bin: se almacenan archivos ejecutables (binarios) que llevan a cabo operaciones comunes.
• dev: los archivos de este directorio permiten el acceso a los dispositivos (devices) de su
computadora.
• etc: se guardan los archivos de configuración.
• bin: librerías que utiliza el sistema.
• mnt: el “demonio de automontaje” realiza aquí su tarea de permitir acceso automático
al CD-ROM, pendrives, particiones de otros equipos, entre otros.
• opt: la mayoría de los paquetes comerciales y aplicaciones ofimáticas se instalan aquí.
• sbin: contiene archivos ejecutables que se utilizan para la administración del sistema.
• usr: se utiliza para instalar aplicaciones utilizadas típicamente por los usuarios.
9. Instalación
- ¿Distro a utilizar? (Debian)
- ¿En que va a ser utilizado el PC o Servidor?
- El sistema de archivos (File System)
- Datos para configuración de tarjeta de red
- DNS
- Nombre del PC o Servidor
- Mirror a utilizar
Configuración Inicial (Utilizar los comando ping, ethtool e ifconfig)
-/etc/network/interface
- /etc/resolv.conf
- /etc/hosts
- /etc/hostname
- /etc/apt/sources.list
deb http://dir_IP/debian lenny main non-free contrib
deb http://dir_IP/debian-security lenny/updates main non-free contrib
deb http://dir_IP/debian-volatile lenny/volatile main non-free contrib
- /etc/debian_version
- /etc/fstab
10. Interfaz de órdenes (Shell)
• Instalar paquetes y actualizar el sistema
•Mostrar el contenido de archivos y directorios.
• Pedir ayuda.
• Administrar los archivos y directorios.
• Buscar archivos.
• Gestión de usuarios en el sistema.
• Dirigir los resultados de las ordenes.
• Filtrar la entrada.
• Usar tuberías.
• Modificar los permisos de los archivos.
• Montar sistema de archivos.
• Parada del sistema.
• Comandos remotos.
• Gestión remota.
11. Instalar paquetes y actualizar el sistema
• aptitude update: actualiza la lista de paquetes disponibles.
• aptitude upgrade: actualiza el sistema sin borrar nada.
• aptitude install software: instala el paquete o los paquetes que se indique
separados por espacios.
• aptitude search software: busca un paquete que contenga ese nombre o descripción.
• aptitude remove software: borra el paquete o los paquetes que se indique separados
por espacios.
• aptitude --purge remove software / aptitude purge software: borra el paquete o los
paquetes junto con sus ficheros de configuración que se indique separados por espacios.
• aptitude dist-upgrade: actualiza el sistema borrando e instalando lo que sea necesario.
• aptitude clean/autoclean: borra(no desisntala) los paquetes descargados
12. Mostrar el contenido de archivos y directorios
• cat (muestra el contenido de un archivo sin pausa
cat nombre_archivo
• head (muestra por defecto las 10 primeras líneas de un archivo)
head nombre_archivo
head -15 nombre-archivo
• less (avanza página por página el contenido de un archivo)
less nombre_archivo
• more (igual que less pero también puedes avanzar una línea)
more nombre_archivo
• tail (muestra por defecto las últimas 10 líneas de un archivo)
tail nombre_archivo
tail -15 nombre_archivo
13. • wc (muestra el número de líneas, palabras y/o caracteres de un archivo
o la salida)
wc nombre_archivo => muestra número de líneas, palabras y caracteres
wc –l nombre_archivo => solo número líneas
wc –w nombre_archivo => solo número de palabras
wc –c nombre_archivo=> solo número de caracteres
• ls (muestra el contenido de un directorio)
ls nombre_directorio
ls -l
ls -lk
ls -lk --color
ls -la
ls -lka
• nl (numera línea a línea el contenido de un archivo)
nl nombre_archivo
14. Pedir ayuda
• man (muestra la página del manual)
man comando
• info (igual que man)
info comando
Fecha
• Corregir fecha y hora
date - -set=”Día Mes fecha hora_militar (hh:mm:ss) VET año”
Día = Sun, Mon, Tue, Wed, Thu, Fri, Sat
Mes = Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
15. Administrar los archivos y directorios
• pwd (indica cual es el directorio de trabajo actual)
pwd
• cd (cambia el directorio de trabajo al especificado)
cd nombre_directorio
cd ..
• touch (crea un archivo vacío)
touch nombre_archivo
• mkdir (crea un directorio vacío)
mkdir nombre_directorio
• cp (copia un archivo o directorio)
cp archivo_fuente archivo_destino
cp –r directrorio_fuente directorio_destino
16. • mv (mueve o renombra un archivo o directorio)
mv archivo_fuente archivo_destino
mv –r directorio_fuente directorio_destino
• rm (borra un archivo o directorio)
rm nombre_archivo
rm –r nombre_directorio
• ln (crea un enlace a un archivo dado)
ln archivo enlace_duro
ln –s directorio_origen enlace_simbolico
• gzip (una abreviatura de GNU ZIP, un software libre GNU que reemplaza
al programa compress de UNIX)
gzip [-n] archivo
gzip –d archivo.gz
17. • bzip2 (igual que gzip pero más eficiente)
bzip2 archivo
bzip2 archivo.bz2
• diff (es una utilidad para la comparación de archivos que genera las diferencias
entre dos archivos o los cambios realizados en un archivo determinado
comparándolo con una versión anterior del mismo archivo)
diff archivo1 archivo2
a sustituye a añadido, d a borrado (deleted) y c a cambiado
• du (muestra el tamaño en bytes de un archivo a directorio)
du -h nombre_archivo
du -h nombre_directorio
• df (muestra los files system del sistema e información de los mismos)
df -h
18. • tar (es usado para almacenar archivos y directorios en un solo archivo)
tar <opciones> <archivoSalida> <archivo1> <archivo2> ... <archivoN>
donde <archivoSalida> es el archivo resultado y <archivo1>, <archivo2>,
etcétera son los diferentes archivos que serán "empaquetados" en <archivoSalida>.
actividad opción ejemplo
descomprimir/extraer -x tar -xf paquete.tar
visualizar lo que se realiza -v tar -xvf paquete.tar
archivar/crear el directorio y subdirect -c tar -cvf paquete.tar archivo/
comprimiendo con bzip2 -j tar -cjvf paquete.tar.bz2 archivo/
comprimiendo con lzma -J tar -cJvf paquete.tar.lzma archivo/
comprimiendo con gzip -z tar -czvf paquete.tar.gz archivo/
comprimiendo con lzip --lzip tar -cvf paquete.tar.lz --lzip archivo/
comprimiendo con compress -Z tar -cZvf paquete.tar.Z archivo/
19. • Para comprimir y descomprimir en formato tar.bz2:
tar -cjvf archivo_destino archivos_a_comprimir
tar -xjvf archivo_destino archivos_a_descomprimir
• Se procede de forma idéntica para comprimir y descomprimir un fichero en
formato tar.gz:
tar -czvf archivo_destino archivos_a_comprimir
tar -xzvf archivo_destino archivos_a_comprimir
• Para comprimir un archivo y descomprimir en formato zip se usará:
zip -r archivo_destino archivos_a_comprimir
unzip archivo_destino archivos_a_comprimir
20. Buscar archivos
• find (busca en el sistema de archivos un archivo especificado)
find <ruta de inicio> <criterio de búsqueda> <acción>
find /home –name cartas
find /home –size +1000k
• grep (busca la cadena especificada a través de la salida del contenido de un
archivo)
grep ftp /etc/passwd
grep –v root /etc/passwd (negación)
21. Gestión de usuarios en el sistema
• who (presenta una lista de los usuarios que están trabajando actualmente en
el sistema)
who
who am i
• id (muestra los números de identificación de usuarios y grupos)
id
id usuario (número de identificación del usuario)
• useradd (creación de usuarios)
useradd –c “Nombre del usuario” -m -d /home/usuario -s /bin/bash usuario
22. Dirigir los resultados de las órdenes
Entrada, Salida y Error Estádard
0
1
2
0 Entrada
1 Salida o stdout
2 Error o stderr
orden
23. Dirigiendo la salida estándar
ls –l > ejemplo.1
Los flujos de información de error y salida están separados
ls /etc /vwx > ejemplo.2
Redireccionando el error estándar
ls /etc /vwx 2> ejemplo.3
Redirección múltiple
ls /etc /vwx > ejemplo.4 2> ejemplo.5
Uniendo stdout y stderr
ls /etc /vwx > ejemplo.6 2>&1
Anexando stdout y stderr
ls /etc > ejemplo.7
ls /bin >> ejemplo.7
24. Filtrar entradas
• sort (ordena la entrada o archivo, línea por línea en formato alfanumérico)
sort /etc/passwd
sort –r /etc/passwd (orden inverso)
• uniq (remueve líneas adyacentes que estén duplicadas dentro de un archivo
o entrada
uniq nombre_archivo
Usar tuberías
who | wc -l
lspci | grep VGA
25. 0 Ningún tipo de permiso definido - - -
1 Permiso de ejecución - - x
2 Permiso de escritura - w -
3 Permiso de escritura y ejecución - w x
4 Permiso de lectura r - -
5 Permiso de lectura y ejecución r - x
6 Permiso de lectura y escritura r w -
7 Permiso de lectura, escritura y ejecución
r w x
Permisología
26. Modificar los permisos de los archivos y montar sistemas de archivos
• chown (altera el usuario propietario de un archivo o directorio)
chown usuario nombre_archivo
chown –R usuario nombre_directorio
• chgrp (altera el grupo propietario de un archivo o directorio)
chgrp usuario nombre_archivo
chgrp –R usuario nombre_directorio
• chmod (altera los permisos de un archivo o directorio)
chmod permiso nombre_archivo
chmod –R permiso nombre_directorio
27. • mount (monta un sistema de archivo)
mount –t tipo dispositivo punto-de-montaje
Tipo
xfs Sistema de archivo creado por Silicon Graphics
ext2 Sistema de archivo nativo de linux
iso9660 Sistema de archivo de CD-ROM
nfs Sistema de archivo de red
msdos Sistema de archivo de MS-DOS
vfat Sistema de archivo de Microsoft Windows 95 0 98
NTFS Sistema de archivo de Microsoft Windows NT
28. Dispositivo
/dev/fd0 Disco flexible
/dev/cdrom CD-ROM
/dev/hda 1er disco duro IDE
/dev/hdb 2do disco duro IDE
/dev/sda 1er dispositivo SCII
mount –t iso9660 /dev/cdrom /mnt/cdrom
Modo automático, listando el archivo /etc/fstab y luego según archivo
mount /mnt/dispositivo
Umount (desmonta el sistema de archivo)
umount /mnt/cdrom
29. Montar unidad externa USB
• Crear carpeta en este ejemplo de nombre externo
mkdir /mnt/externo
• Instalar el paquete ntfs-3g (discos externos y algunos sistemas de windows)
aptitude install ntfs-3g
• Pendrive => mount /dev/sda /mnt/externo
• Disco duro externo => mount –t ntfs-3g /dev/sda1 /mnt/externo
Parada del sistema
• shutdown (apaga o reiniciar el sistema)
shutdown -h now
shutdown -r now
• reboot (reinicia el sistema)
reboot
30. Comandos remotos
• GNU Wget es una herramienta de software libre que permite la descarga de
contenidos desde servidores web de una forma simple.
wget http://www.ejemplo.com/archivo_descarga.txt
wget -r -l 0 http://www.example.com/ (descarga todo el contenido)
• Secure Copy o SCP es un medio de transferencia segura de archivos informáticos
entre un host local y otro remoto o entre dos hosts remotos, usando el protocolo
Secure Shell (SSH).
scp usuario@host:directorio/ArchivoOrigen ArchivoDestino
scp ArchivoOrigen usuario@host:directorio/ArchivoDestino
• SSH (Secure SHell, en español: intérprete de órdenes segura) es el nombre de un
protocolo y del programa que lo implementa, y sirve para acceder a máquinas
remotas a través de una red.
aptitude install ssh
ssh -l usuario dir_IP
31. Gestión remota con webmin
Instalar Webmin, descargando de Internet la última versión webmin_version_all.deb
instalar con el comando
dpkg –i webmin_version_all.deb
instalar dependencias sugeridas
aptitude install libio-pty-perl libnet-ssleay-perl libauthen-pam-perl libmd5-perl openssl
32. Otros
• ps (listar y manejar procesos)
ps –ef | grep proceso
• top (nos muestra en la consola las tareas o procesos abiertos , asi como uso
de la CPU usuarios , memoria , y uptime etc etc).
• lspci (Nos da información del hardware que reconoce nuestro linux).
lspci | grep VGA
• lsmod (Muestra el estado de los módulos en el Kernel).
lsmod | grep modulo
• tasksel (“selector de tareas” es un sistema de instalación que forma parte
integral del instalador Debian).
33. • cal (muestra un calendario deseado por mes o año)
cal [mes] [año]
• Cambiar distribución e idioma del teclado
dpkg-reconfigure console-data
• Verificación de locales
echo $LANG
• Cambiar idioma de la distribución
dpkg-reconfigure locales
• Cambiar zona horaria
dpkg-reconfigure tzdata
34. Recuperar clave de root
• Reiniciar con un live CD
• cd /etc => buscar los dispositivo de discos (sda1 o hda1 o /cciss/c0d0)
• sudo mount –a /dev/sda1 /mnt => montamos el disco duro
• sudo chroot /mnt
• cd /etc
• nano shadow
• exit
• exit