SlideShare una empresa de Scribd logo
Curso IntroductorioCurso Introductorio
de Linux parade Linux para
Sistemas OperativosSistemas Operativos
Universidad Tecnológica NacionalUniversidad Tecnológica Nacional
Facultad Regional TucumánFacultad Regional Tucumán
Ernesto J. SaleErnesto J. Sale
Ing. ComputaciónIng. Computación
utn@ernet.com.arutn@ernet.com.ar
ObjetivosObjetivos
 Introducir el concepto y la utilización deIntroducir el concepto y la utilización de
una “máquina virtual”una “máquina virtual”
 Brindar herramientas básicas para elBrindar herramientas básicas para el
manejo de una terminal de texto y elmanejo de una terminal de texto y el
intérprete de comandos bashintérprete de comandos bash
 Llevar los conocimientos de los alumnosLlevar los conocimientos de los alumnos
acerca de GNU/Linux al nivel necesarioacerca de GNU/Linux al nivel necesario
para desarrollar los trabajos prácticos depara desarrollar los trabajos prácticos de
laboratorio de Sistemas Operativoslaboratorio de Sistemas Operativos
Temas a desarrollarTemas a desarrollar
1.1. Instalación y utilización de una máquinaInstalación y utilización de una máquina
virtual.virtual.
2.2. Inicio de sesión en GNU/Linux.Inicio de sesión en GNU/Linux.
3.3. La consola virtual: concepto. ElLa consola virtual: concepto. El
intérprete de comandos (shell). Elintérprete de comandos (shell). El
entorno o ambiente (environment).entorno o ambiente (environment).
4.4. Documentación en línea.Documentación en línea.
5.5. Estructura de un sistema de archivos.Estructura de un sistema de archivos.
Comandos relacionados.Comandos relacionados.
Temas a desarrollarTemas a desarrollar
6.6. Otros comandos. Crear usuarios.Otros comandos. Crear usuarios.
Cambiar la contraseña.Cambiar la contraseña.
7.7. El editor de textos VIM.El editor de textos VIM.
8.8. Compilar y depurar programas en C.Compilar y depurar programas en C.
9.9. Configuración de la red IP desde laConfiguración de la red IP desde la
máquina virtual. Configuración básica enmáquina virtual. Configuración básica en
GNU/Linux. Comandos relacionados.GNU/Linux. Comandos relacionados.
10.10.Cliente SSH.Cliente SSH.
11.11.FTP: concepto y utilización.FTP: concepto y utilización.
Tema 1Tema 1
Instalación y configuración de unaInstalación y configuración de una
máquina virtualmáquina virtual
Máquina virtualMáquina virtual
 En nuestro contexto, las máquinasEn nuestro contexto, las máquinas
virtuales simulan el funcionamiento delvirtuales simulan el funcionamiento del
hardware de una PC y otras arquitecturashardware de una PC y otras arquitecturas
(emulación).(emulación).
 El objetivo es permitir ejecutar variosEl objetivo es permitir ejecutar varios
sistemas operativos simultáneamentesistemas operativos simultáneamente
sobre el mismo hardware.sobre el mismo hardware.
 Virtual PC (Microsoft), QEMU, VMWare,Virtual PC (Microsoft), QEMU, VMWare,
VirtualBox (Sun), BOCHSVirtualBox (Sun), BOCHS
VMware PlayerVMware Player
 Software de virtualización (máquina virtual)Software de virtualización (máquina virtual)
 Emulación sólo del hardware subyacenteEmulación sólo del hardware subyacente
 Simulación (para acelerar algunas funciones)Simulación (para acelerar algunas funciones)
 Windows, Linux, NetWare, Solaris x86Windows, Linux, NetWare, Solaris x86
 No hace falta reinicios ni particionamientoNo hace falta reinicios ni particionamiento
 Uso gratuitoUso gratuito
 Una máquina virtual puede constar de sólo 2Una máquina virtual puede constar de sólo 2
archivos:archivos:
 Configuración (.vmx)Configuración (.vmx)
 Disco rígido (.vmdk)Disco rígido (.vmdk)
Tema 2Tema 2
Inicio de sesión en GNU/LinuxInicio de sesión en GNU/Linux
Inicio de sesión (login)Inicio de sesión (login)
 Es un proceso por medio del cual el sistemaEs un proceso por medio del cual el sistema
operativo identifica al usuariooperativo identifica al usuario
 ContraseñaContraseña
 Certificados digitalesCertificados digitales
 Lecturas biométricasLecturas biométricas
 Círculos de confianzaCírculos de confianza
 Para poder utilizar una consola, es precisoPara poder utilizar una consola, es preciso
iniciar sesióniniciar sesión
 Linux distingue mayúsculas de minúsculasLinux distingue mayúsculas de minúsculas
Inicio de sesión (login)Inicio de sesión (login)
 Linux nos pide un nombre de usuario conLinux nos pide un nombre de usuario con
hosthost login:login:
login as:login as:
 Host es el nombre asignado a la máquina por el SO (definido por elHost es el nombre asignado a la máquina por el SO (definido por el
usuario)usuario)
 Y a continuación la contraseña (password)Y a continuación la contraseña (password)
Password:Password:
usuario@host's password:usuario@host's password:
 La contraseña es secreta y es por esto que los caracteres no seLa contraseña es secreta y es por esto que los caracteres no se
muestran al teclearlosmuestran al teclearlos
 Luego de ingresar tanto usuario como contraseña, hay queLuego de ingresar tanto usuario como contraseña, hay que
presionar INTRO (ENTER) para que el SO lea el valorpresionar INTRO (ENTER) para que el SO lea el valor
 Una vez autenticado, el usuario puede utilizar el intérprete deUna vez autenticado, el usuario puede utilizar el intérprete de
comandoscomandos
Tema 3Tema 3
Consola virtual, intérprete deConsola virtual, intérprete de
comandos (shell) y su entorno ocomandos (shell) y su entorno o
ambiente (environment)ambiente (environment)
Consola VirtualConsola Virtual
 La consola representa una interfaz para laLa consola representa una interfaz para la
comunicación entre un operador y unacomunicación entre un operador y una
computadoracomputadora
 Es hardwareEs hardware
 Está compuesta básicamente porEstá compuesta básicamente por
 Monitor (salida estándar)Monitor (salida estándar)
 Teclado (entrada estándar)Teclado (entrada estándar)
 Antiguamente, constaba deAntiguamente, constaba de
 Impresora (salida estándar)Impresora (salida estándar)
 Lector de tarjetas perforadas (entrada estándar)Lector de tarjetas perforadas (entrada estándar)
Consola VirtualConsola Virtual
 Actualmente, los SOs pueden presentarActualmente, los SOs pueden presentar
más de una consola, llamadas consolasmás de una consola, llamadas consolas
virtualesvirtuales
 Comparten monitor y tecladoComparten monitor y teclado
 Cada consola puede ejecutar una terminalCada consola puede ejecutar una terminal
 En GNU/Linux se intercambia de consolaEn GNU/Linux se intercambia de consola
virtual con Alt-F[1-7] típicamentevirtual con Alt-F[1-7] típicamente
 1-6 consolas para terminal de texto1-6 consolas para terminal de texto
 7 consola para terminal gráfica7 consola para terminal gráfica
Terminal VirtualTerminal Virtual
 Una terminal es una conexión a un intérprete deUna terminal es una conexión a un intérprete de
comandos (shell)comandos (shell)
 Típicamente, interfaz de textoTípicamente, interfaz de texto
 Asociada a una consolaAsociada a una consola
 Años atrás esta función era desempeñada porAños atrás esta función era desempeñada por
máquinas (consolas) creadas con ese propósitomáquinas (consolas) creadas con ese propósito
específico, que soportaban sólo una terminalespecífico, que soportaban sólo una terminal
 Conexión puerto serie con mainframeConexión puerto serie con mainframe
 Luego aparecieron las llamadas TerminalesLuego aparecieron las llamadas Terminales
Virtuales, ejecutadas desde máquinas y SOs deVirtuales, ejecutadas desde máquinas y SOs de
propósito múltiplepropósito múltiple
Intérprete de ComandosIntérprete de Comandos
 En inglés conocido comoEn inglés conocido como shellshell
 Se comunica con la terminalSe comunica con la terminal
 Recibe e interpreta las teclas pulsadas por el usuarioRecibe e interpreta las teclas pulsadas por el usuario
 Envía mensajes y resultados a la pantalla, en generalEnvía mensajes y resultados a la pantalla, en general
 Reconoce un conjunto de comandos conReconoce un conjunto de comandos con
opciones y argumentos que permiten usar yopciones y argumentos que permiten usar y
administrar el SOadministrar el SO
 En GNU el shell es una herramienta muyEn GNU el shell es una herramienta muy
poderosa, indispensable para la administraciónpoderosa, indispensable para la administración
Intérprete de ComandosIntérprete de Comandos
 ash, bash, sh, zsh, csh son nombres de shellsash, bash, sh, zsh, csh son nombres de shells
conocidosconocidos
 Comparado con entorno gráficoComparado con entorno gráfico
 Ocupa pocos recursos, es sencillo y rápido, programableOcupa pocos recursos, es sencillo y rápido, programable
(scripts) y requiere muy poco ancho de banda en red(scripts) y requiere muy poco ancho de banda en red
 Puede resultar incómodo hasta que se lo llega a dominar,Puede resultar incómodo hasta que se lo llega a dominar,
es menos intuitivoes menos intuitivo
 Prompt (petición de comando)Prompt (petición de comando)
 host:/directorio1/directorio2/ #host:/directorio1/directorio2/ #
 Para que una orden o comando sea reconocido, esPara que una orden o comando sea reconocido, es
necesario presionar INTRO (ENTER) luego denecesario presionar INTRO (ENTER) luego de
tipearlotipearlo
ComandosComandos
 Comandos pueden serComandos pueden ser
 Archivos ejecutablesArchivos ejecutables
 Built-ins (funciones integradas o implementadas en el intérprete)Built-ins (funciones integradas o implementadas en el intérprete)
 Scripts (Guiones)Scripts (Guiones)
 OpcionesOpciones
 Modificadores del comportamiento del comandoModificadores del comportamiento del comando
 En gral. precedidos por un guión en su forma corta o 2 guiones en suEn gral. precedidos por un guión en su forma corta o 2 guiones en su
forma largaforma larga
 ls -alls -al equivale aequivale a ls --all -lls --all -l
 ParámetrosParámetros
 Típicamente los objetos (archivos, cadenas de texto, etc.) sobre losTípicamente los objetos (archivos, cadenas de texto, etc.) sobre los
que se ejecuta el comandoque se ejecuta el comando
 cat holacat hola
 Introducir un comandoIntroducir un comando
 Teclear el comando y sus parámetros y presionar INTROTeclear el comando y sus parámetros y presionar INTRO
bashbash
 Bourne-Again SHellBourne-Again SHell
 http://www.gnu.org/software/bash/http://www.gnu.org/software/bash/
 Intérprete de comandos para GNUIntérprete de comandos para GNU
 Lenguaje de programaciónLenguaje de programación
 Stephen BourneStephen Bourne
 Similar (en gran parte compatible) a shSimilar (en gran parte compatible) a sh
bashbash
 Builtins (exec, cd, break, history)Builtins (exec, cd, break, history)
 Entorno (environment)Entorno (environment)
 AliasAlias
 alias, unaliasalias, unalias
 Las opciones y los parámetros pueden irLas opciones y los parámetros pueden ir
casi siempre en cualquier ordencasi siempre en cualquier orden
 Para salir apropiadamente se utilizan losPara salir apropiadamente se utilizan los
comandos logout, exit o Ctrl-Dcomandos logout, exit o Ctrl-D
Entorno (environment)Entorno (environment)
 Está conformado por el directorio en elEstá conformado por el directorio en el
que el usuario se encuentra y un conjuntoque el usuario se encuentra y un conjunto
de variables y funcionesde variables y funciones
 pwdpwd
 muestra directorio actualmuestra directorio actual
 setset
 muestra variables y funciones de entornomuestra variables y funciones de entorno
 $PATH$PATH
 Variable de entorno que determina el caminoVariable de entorno que determina el camino
que sigue el shell para buscar ejecutablesque sigue el shell para buscar ejecutables
Tema 4Tema 4
Documentación en líneaDocumentación en línea
Documentación en líneaDocumentación en línea
 manman
 man comandoman comando
 Ej.: man lsEj.: man ls
 infoinfo
 info comandoinfo comando
 Ej.: info lsEj.: info ls
 Ayuda integrada en los comandosAyuda integrada en los comandos
 comando --help (típicamente)comando --help (típicamente)
 Ej.: ls --helpEj.: ls --help
manman
 Es un sistema de ayuda en línea de LinuxEs un sistema de ayuda en línea de Linux
 SeccionesSecciones
 1. Programas ejecutables y comandos de shell1. Programas ejecutables y comandos de shell
 2. Llamadas al sistema (kernel)2. Llamadas al sistema (kernel)
 3. Funciones de librerías C estándar3. Funciones de librerías C estándar
 4. Archivos especiales4. Archivos especiales
 5. Formatos de archivos y convenciones5. Formatos de archivos y convenciones
 6. Juegos6. Juegos
 7. Varios7. Varios
 8. Comandos de administración del sistema8. Comandos de administración del sistema
 9. Rutinas del kernel9. Rutinas del kernel
manman
 La información que brinda típicamente contieneLa información que brinda típicamente contiene
 NOMBRE, SINOPSIS, DESCRIPCION, OPCIONESNOMBRE, SINOPSIS, DESCRIPCION, OPCIONES
 ARCHIVOS, EJEMPLOS, BUGS, HISTORIA, AUTORARCHIVOS, EJEMPLOS, BUGS, HISTORIA, AUTOR
 Las búsquedas (con /, al igual que vim) noLas búsquedas (con /, al igual que vim) no
distinguen mayúsculas de minúsculasdistinguen mayúsculas de minúsculas
 man passwdman passwd
 man –f passwdman –f passwd
 man –k passwdman –k passwd
 man 5 passwdman 5 passwd
infoinfo
 Sistema alternativo de documentaciónSistema alternativo de documentación
 Más profundidad que las páginas deMás profundidad que las páginas de
manualmanual
 Utiliza hipertextoUtiliza hipertexto
 EjemplosEjemplos
 info grubinfo grub
 info bashinfo bash
 Navegación:Navegación:
 TAB, ENTER, l, n, p, BACKSPACE, SPACE, qTAB, ENTER, l, n, p, BACKSPACE, SPACE, q
Tema 5Tema 5
Estructura de un sistema deEstructura de un sistema de
archivos. Comandos relacionadosarchivos. Comandos relacionados
Sistema de archivosSistema de archivos
 GNU/Linux utiliza una estructura jerárquica de tipo árbolGNU/Linux utiliza una estructura jerárquica de tipo árbol
invertidoinvertido
 La mayor jerarquía está en la raízLa mayor jerarquía está en la raíz
 La raíz (root) es designada con “/”La raíz (root) es designada con “/”
 Es donde comienza el árbol de directoriosEs donde comienza el árbol de directorios
 Soportan enlaces (links)Soportan enlaces (links)
 Duros (hard)Duros (hard)
 Simbólicos (soft)Simbólicos (soft)
 GNU intenta acercarse al FHSGNU intenta acercarse al FHS
 Algunas distribuciones tienen algunas diferenciasAlgunas distribuciones tienen algunas diferencias
 Sistemas de archivos típicosSistemas de archivos típicos
 ext2, ext3, reiserfsext2, ext3, reiserfs
FHSFHS
FHSFHS
 Filesystem Hierarchy StandardFilesystem Hierarchy Standard
 Define ubicaciones estándar para archivos y directoriosDefine ubicaciones estándar para archivos y directorios
 Ejemplos (R = requerido):Ejemplos (R = requerido):
 / El directorio raíz (R)/ El directorio raíz (R)
 /bin/ Órdenes esenciales binarios para todos los usuarios (cat,/bin/ Órdenes esenciales binarios para todos los usuarios (cat,
ls, cp...) (R)ls, cp...) (R)
 /dev/ Dispositivos (R)/dev/ Dispositivos (R)
 /home/ Directorios de datos de los usuarios/home/ Directorios de datos de los usuarios
 /etc/ Ficheros de configuración del sistema (R)/etc/ Ficheros de configuración del sistema (R)
 /lib/ Librerías esenciales para los binarios de /bin y /sbin (R)/lib/ Librerías esenciales para los binarios de /bin y /sbin (R)
 /var/ Ficheros variables utilizados por programas instaladas,/var/ Ficheros variables utilizados por programas instaladas,
como logs y archivos temporales (R)como logs y archivos temporales (R)
FHSFHS
 /opt/ Paquetes de programas de aplicaciones estáticos (R)/opt/ Paquetes de programas de aplicaciones estáticos (R)
 /sbin/ Binarios de superusuario esenciales (init, route, ifup..) (R)/sbin/ Binarios de superusuario esenciales (init, route, ifup..) (R)
 /proc/ Sistema de archivos que documenta el estado del núcleo/proc/ Sistema de archivos que documenta el estado del núcleo
(kernel), principalmente archivos de texto (tiempo, red...), estos(kernel), principalmente archivos de texto (tiempo, red...), estos
archivos permiten conocer y cambiar ciertos parámetros delarchivos permiten conocer y cambiar ciertos parámetros del
núcleo sin necesidad de reiniciar el sistemanúcleo sin necesidad de reiniciar el sistema
 /mnt/ Sistemas de archivos montados temporalmente (R)/mnt/ Sistemas de archivos montados temporalmente (R)
 /boot/ Archivos estáticos para el cargador de arranque (R)/boot/ Archivos estáticos para el cargador de arranque (R)
 /tmp/ Archivos temporales (R)/tmp/ Archivos temporales (R)
 /usr/ Jerarquía secundaria (R)/usr/ Jerarquía secundaria (R)
Comandos relacionadosComandos relacionados
 ls -al, dirls -al, dir
 Lista archivos (típ. en un directorio)Lista archivos (típ. en un directorio)
 touch pruebatouch prueba
 Establece atime y mtime a la hora actualEstablece atime y mtime a la hora actual
 Crea el archivo si no existeCrea el archivo si no existe
 stat archivostat archivo
 Muestra la información del inodoMuestra la información del inodo
 file /sbin/badblocksfile /sbin/badblocks
 Intenta indicar el tipo de archivoIntenta indicar el tipo de archivo
 mv origen destinomv origen destino
 Mueve archivos o directoriosMueve archivos o directorios
 Usado para renombrarUsado para renombrar
 cp [-r] origen destinocp [-r] origen destino
 Copia archivosCopia archivos
Comandos relacionadosComandos relacionados
 rm [-r] archivorm [-r] archivo
 Elimina el archivoElimina el archivo
 Con la opción -r puede eliminar directoriosCon la opción -r puede eliminar directorios
 cd directoriocd directorio
 Cambia de directorio (change directory)Cambia de directorio (change directory)
 mkdir [-p] directoriomkdir [-p] directorio
 Crea directorioCrea directorio
 rmdir directoriormdir directorio
 Elimina directorio si está vacíoElimina directorio si está vacío
Comandos relacionadosComandos relacionados
 findfind
 Busca archivosBusca archivos
 find -mmin -50find -mmin -50
 find -perm 711find -perm 711
 find -type dfind -type d
 find -size -200k | wc -lfind -size -200k | wc -l
 find /proc -user postgres -exec ls -l {} ;find /proc -user postgres -exec ls -l {} ;
 find /proc -user postgres | xargs ls -lfind /proc -user postgres | xargs ls -l
 du -ch /home/usuario ; du -sh /usr/*du -ch /home/usuario ; du -sh /usr/*
 disk usagedisk usage
 muestra el espacio que utiliza un directoriomuestra el espacio que utiliza un directorio
 df -Hdf -H
 reporta utilización de los sistemas de archivos montadosreporta utilización de los sistemas de archivos montados
 -i muestra información sobre los inodos-i muestra información sobre los inodos
Comandos relacionadosComandos relacionados
 chmod ug+x archivochmod ug+x archivo
 Usuario dueño y grupo: permiso de ejecuciónUsuario dueño y grupo: permiso de ejecución
 chown usuario archivochown usuario archivo
 cambia el propietariocambia el propietario
 chgrp grupo archivochgrp grupo archivo
 cambia el grupocambia el grupo
Expansión de nombresExpansión de nombres
 bash realiza expansión de nombres debash realiza expansión de nombres de
archivos (filename expansion)archivos (filename expansion)
 reconoce “comodines”reconoce “comodines”
 *, ?*, ?
 [abcd], [^abcd], [a-d][abcd], [^abcd], [a-d]
 {uno,dos,*tres*}{uno,dos,*tres*}
 realiza la expansión en los argumentos de larealiza la expansión en los argumentos de la
línea de comando sin comillaslínea de comando sin comillas
 ls -l {uno*,dos.??, [pb]rueba}ls -l {uno*,dos.??, [pb]rueba}
 echo *echo *
EnlacesEnlaces
 Ahorran espacio en discoAhorran espacio en disco
 Simplifican tareas de administraciónSimplifican tareas de administración
 HardHard
 Copia la entrada del directorio originalCopia la entrada del directorio original
 Mismo inodoMismo inodo
 No pueden apuntar a directoriosNo pueden apuntar a directorios
 Sólo sirven en un mismo sistema de archivosSólo sirven en un mismo sistema de archivos
 SoftSoft
 Es un archivo que contiene la ruta al archivo referidoEs un archivo que contiene la ruta al archivo referido
 Pueden apuntar a directoriosPueden apuntar a directorios
 Pueden “cruzar” sistemas de archivosPueden “cruzar” sistemas de archivos
 El archivo referenciado puede no existirEl archivo referenciado puede no existir
 ln [-s] origen destinoln [-s] origen destino
 cp -l origen destinocp -l origen destino
 /etc/rc.d/rc?.d/etc/rc.d/rc?.d
Tema 6Tema 6
Otros comandos. Crear usuarios.Otros comandos. Crear usuarios.
Cambiar la contraseña.Cambiar la contraseña.
bashbash
 ~/.bash_history~/.bash_history
 Historia de comandosHistoria de comandos
 /etc/profile, ~/.profile/etc/profile, ~/.profile
 Ajustes del sistema y personalesAjustes del sistema y personales
 Ejecuta bashrcEjecuta bashrc
 historyhistory
 Muestra el historial de comandosMuestra el historial de comandos
 !!
 Ejecuta un comando, !23Ejecuta un comando, !23
 fc (fix command)fc (fix command)
 Edita comandos del historialEdita comandos del historial
 fc -l, fc 15 30fc -l, fc 15 30
 Ejecuta al salir lo que queda en el bufferEjecuta al salir lo que queda en el buffer
Otros comandosOtros comandos
 exportexport
 Establece una variable en el ambienteEstablece una variable en el ambiente
 unset [-v | -f]unset [-v | -f]
 Elimina definición de variables o funcionesElimina definición de variables o funciones
 execexec
 Reemplaza el shell, no crea un nuevo procesoReemplaza el shell, no crea un nuevo proceso
 pwd (print working directory)pwd (print working directory)
 Muestra directorio actualMuestra directorio actual
 echoecho
 Presenta textoPresenta texto
RedirecciónRedirección
 Vías de comunicación estándarVías de comunicación estándar
 Entrada, stdin o standard input (fileEntrada, stdin o standard input (file
descriptor o descriptor de archivo 0)descriptor o descriptor de archivo 0)
 Típicamente el tecladoTípicamente el teclado
 Salida, stdout o standard output (f.d. 1)Salida, stdout o standard output (f.d. 1)
 MonitorMonitor
 Error, stderr o standard error (f.d. 2)Error, stderr o standard error (f.d. 2)
 MonitorMonitor
RedirecciónRedirección
 >>
 Redirige la salida estándarRedirige la salida estándar
 Crea el archivo si no existeCrea el archivo si no existe
 Borra su contenido si existeBorra su contenido si existe
 >>>>
 Igual que > pero agrega al contenido si existeIgual que > pero agrega al contenido si existe
 <<
 Redirige entrada estándarRedirige entrada estándar
 << delimitador<< delimitador
 Redirige la entrada hasta encontrar el delimitadorRedirige la entrada hasta encontrar el delimitador
 <<< palabra<<< palabra
 Envia la palabra a la entrada estándarEnvia la palabra a la entrada estándar
RedirecciónRedirección
 Redirigir stdout y stderr de la ejecución de un comandoRedirigir stdout y stderr de la ejecución de un comando
 comando &>archivocomando &>archivo
 comando >&archivocomando >&archivo
 comando >archivo 2>&1comando >archivo 2>&1
 | Tuberías (pipes)| Tuberías (pipes)
 permite utilizar la salida de un comando como la entrada de otropermite utilizar la salida de un comando como la entrada de otro
 `` comillas hacia atrás (backticks)`` comillas hacia atrás (backticks)
 son reemplazadas por el resultado de la ejecución del comandoson reemplazadas por el resultado de la ejecución del comando
contenidocontenido
 actualmente se prefiere $(comando)actualmente se prefiere $(comando)
 ./prueba | tee arch1 arch2 2>&1./prueba | tee arch1 arch2 2>&1
 Copia stdout y stderr a archivosCopia stdout y stderr a archivos
 Redirige a stdin tambiénRedirige a stdin también
FiltrosFiltros
 En general soportan múltiples archivos de entrada yEn general soportan múltiples archivos de entrada y
también stdintambién stdin
 wc -l [archivo]wc -l [archivo]
 Cuenta palabras, líneas, y bytesCuenta palabras, líneas, y bytes
 tail -n 20 [archivo]tail -n 20 [archivo]
 Muestra la parte final de un archivoMuestra la parte final de un archivo
 head -n 20 [archivo]head -n 20 [archivo]
 Muestra el principio de un archivoMuestra el principio de un archivo
 cat [archivo]cat [archivo]
 Concatena archivos y los muestraConcatena archivos y los muestra
 cut -d “;” -f 2 [archivo]cut -d “;” -f 2 [archivo]
 Corta secciones de una líneaCorta secciones de una línea
Manipulación de procesosManipulación de procesos
 psps
 Process StatusProcess Status
 Muestra una instantánea del estado de los procesosMuestra una instantánea del estado de los procesos
 toptop
 Muestra el estado de los procesos en tiempo realMuestra el estado de los procesos en tiempo real
 Permite manipularlos (renice, kill)Permite manipularlos (renice, kill)
 kill PIDkill PID
 Envía señales a los procesosEnvía señales a los procesos
 Lista señalesLista señales
 killall comandokillall comando
 Es como kill pero por nombre, no por PIDEs como kill pero por nombre, no por PID
Manipulación de procesosManipulación de procesos
 comando &comando &
 El comando se ejecutará en segundo planoEl comando se ejecutará en segundo plano
 jobs [-l]jobs [-l]
 Muestra los procesos detenidos y en ejecución en segundo planoMuestra los procesos detenidos y en ejecución en segundo plano
 bg [jobspec]bg [jobspec]
 El proceso en ejecución o el especificado pasa a ejecutarse enEl proceso en ejecución o el especificado pasa a ejecutarse en
segundo planosegundo plano
 fg [jobspec]fg [jobspec]
 Devuelve un proceso al primer planoDevuelve un proceso al primer plano
 disowndisown
 Inmuniza al proceso contra la señal SIGHUP que el shell (por ser elInmuniza al proceso contra la señal SIGHUP que el shell (por ser el
padre) le puede redirigir por ejemplo al finalizarpadre) le puede redirigir por ejemplo al finalizar
Manipulación de procesosManipulación de procesos
 nohup comando &nohup comando &
 similar a disownsimilar a disown
 envía la salida a nohup.out o ~/nohup.outenvía la salida a nohup.out o ~/nohup.out
 stdin no es manejado (no recibe stdin)stdin no es manejado (no recibe stdin)
 nice -10 comandonice -10 comando
 Ejecuta un programa con prioridad modificadaEjecuta un programa con prioridad modificada
 renice +5 PIDrenice +5 PID
 Cambia la prioridad de ejecución de un procesoCambia la prioridad de ejecución de un proceso
 Puede emplearse con usuarios y gruposPuede emplearse con usuarios y grupos
Usuarios y contraseñasUsuarios y contraseñas
 useradduseradd nombre_usuarionombre_usuario
 Crea usuarioCrea usuario
 userdeluserdel nombre_usuarionombre_usuario
 Elimina usuarioElimina usuario
 usermodusermod
 Modifica usuario (cambia shell, agrega a grupo, etc.)Modifica usuario (cambia shell, agrega a grupo, etc.)
 groupadd, groupdel, groupmodgroupadd, groupdel, groupmod
 Manejar gruposManejar grupos
 passwdpasswd nombre_usuarionombre_usuario
 Cambia la contraseña del usuarioCambia la contraseña del usuario
Curso linux clase_1_2012
Curso linux clase_1_2012
vivi
 Editor de textoEditor de texto
 Usualmente reemplazado por vimUsualmente reemplazado por vim
 vi mejoradovi mejorado
 vimtutorvimtutor
 tutorialtutorial
 /, ?/, ?
 BúsquedaBúsqueda
 h,j,k,l o flechas de direcciónh,j,k,l o flechas de dirección
 DesplazamientoDesplazamiento
 G, H, LG, H, L
 Saltos (absoluto, head relativo, last relativo)Saltos (absoluto, head relativo, last relativo)
 i,a.c,d,dd,p,oi,a.c,d,dd,p,o
 EdiciónEdición
 ZZ, :w!, :q!, :e!ZZ, :w!, :q!, :e!
 SalirSalir
 :!:!
 Ejecución de comando de shellEjecución de comando de shell
Curso linux clase_1_2012
Curso linux clase_1_2012
Curso linux clase_1_2012
Curso linux clase_1_2012
Curso linux clase_1_2012
Curso linux clase_1_2012
Curso linux clase_1_2012
Curso linux clase_1_2012
FinFin

Más contenido relacionado

PDF
Exploits y stack overflows en windows 2017
PDF
Material taller de exploiting Navaja Negra 4ed
PPT
Sistemas operativos ii
PDF
Practicas 4 resueltas
PDF
Slides taller de exploiting Navaja Negra 4ed
PDF
1 quick tours
PDF
Tutorial Comandos
PPTX
Opensuse
Exploits y stack overflows en windows 2017
Material taller de exploiting Navaja Negra 4ed
Sistemas operativos ii
Practicas 4 resueltas
Slides taller de exploiting Navaja Negra 4ed
1 quick tours
Tutorial Comandos
Opensuse

La actualidad más candente (19)

ODP
Jugando con Virtualización
PPT
Script Y Comandos De Linux
PDF
Agilidad en shell de linux
PDF
Linux ud11 - configuracion de red en linux
PPTX
Codigos de terminal linux
PDF
DOCX
5 investigaciones de emuladores
DOCX
Como instalar Unix(Johanna)
PDF
Anonimo el libro hacker
PPTX
Administración básica de ubuntu server parte 3
DOCX
Genesis Campos
DOCX
Azucenabarzola
PDF
Linux basico-8.PDF
DOCX
Transcripcion yamy
PPTX
Modulo de linux
PDF
Linux comandos 1
PDF
Tarea de hoy
Jugando con Virtualización
Script Y Comandos De Linux
Agilidad en shell de linux
Linux ud11 - configuracion de red en linux
Codigos de terminal linux
5 investigaciones de emuladores
Como instalar Unix(Johanna)
Anonimo el libro hacker
Administración básica de ubuntu server parte 3
Genesis Campos
Azucenabarzola
Linux basico-8.PDF
Transcripcion yamy
Modulo de linux
Linux comandos 1
Tarea de hoy
Publicidad

Destacado (20)

PPTX
Aplicaciones prácticas de la investigación forense
PPTX
Educacion fisica power point blog
PPS
Playa de Pantín
PDF
Moringa oil properties
PPTX
Guanches ies guimar
PDF
Presentación Punta del Este ART EXPERIENCE TOUR 2014
PDF
ADS5 - On Self and Bondage
PDF
B1 vitamini
DOC
Formato soldedi-promesante
PDF
Semana santa 2014-web
PPTX
Seminário de geografia 1
PDF
Corporate Presentation Gym Glish
PDF
LMF-T3: Tableros semánticos
PPTX
Home tech freddy agredo
PPTX
Social media: tools and ‘mocial’ by Paul Wilkinson #sm4b
PDF
Palavras comuns ótimo
PDF
itravel-News: Intuitive Reisebuchung mit itravel-iPad-App
PPTX
La saga de medianoche
PDF
PDF
About Satmo
Aplicaciones prácticas de la investigación forense
Educacion fisica power point blog
Playa de Pantín
Moringa oil properties
Guanches ies guimar
Presentación Punta del Este ART EXPERIENCE TOUR 2014
ADS5 - On Self and Bondage
B1 vitamini
Formato soldedi-promesante
Semana santa 2014-web
Seminário de geografia 1
Corporate Presentation Gym Glish
LMF-T3: Tableros semánticos
Home tech freddy agredo
Social media: tools and ‘mocial’ by Paul Wilkinson #sm4b
Palavras comuns ótimo
itravel-News: Intuitive Reisebuchung mit itravel-iPad-App
La saga de medianoche
About Satmo
Publicidad

Similar a Curso linux clase_1_2012 (20)

PPT
fundamentos de computación - software
PPTX
Maquinas virtuales
PPTX
Trabajo De Redes
PDF
Practicas fundamentos-software
PPTX
Maquinas virtuales
PPTX
Maquinas virtuales
PPTX
Maquinas virtuales
PPTX
Maquinas virtuales
DOCX
Emuladores
ODT
Charla kde españa
PPTX
Presentación máquina virtual
PPTX
Emuladores
PDF
8.redes virtualización
PPT
Hardware y Software
PPT
Hardware y Software
DOCX
Que es un emulador
PDF
Curso linux clase_2_2012
PPTX
Presentacion greisy
ODP
Presentacio virtualització
fundamentos de computación - software
Maquinas virtuales
Trabajo De Redes
Practicas fundamentos-software
Maquinas virtuales
Maquinas virtuales
Maquinas virtuales
Maquinas virtuales
Emuladores
Charla kde españa
Presentación máquina virtual
Emuladores
8.redes virtualización
Hardware y Software
Hardware y Software
Que es un emulador
Curso linux clase_2_2012
Presentacion greisy
Presentacio virtualització

Último (20)

PDF
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
PDF
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
PDF
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
informe tipos de Informatica perfiles profesionales _pdf
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
PPTX
Presentación de la Cetoacidosis diabetica.pptx
PDF
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
Introducción a la historia de la filosofía
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
EL aprendizaje adaptativo bajo STEM+H.pdf
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
La Formacion Universitaria en Nuevos Escenarios Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
informe tipos de Informatica perfiles profesionales _pdf
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
Tomo 1 de biologia gratis ultra plusenmas
Iniciación Al Aprendizaje Basado En Proyectos ABP Ccesa007.pdf
Presentación de la Cetoacidosis diabetica.pptx
IDH_Guatemala_2.pdfnjjjkeioooe ,l dkdldp ekooe
Escuelas Desarmando una mirada subjetiva a la educación
Mi Primer Millon - Poissant - Godefroy Ccesa007.pdf
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Introducción a la historia de la filosofía
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
EL aprendizaje adaptativo bajo STEM+H.pdf

Curso linux clase_1_2012

  • 1. Curso IntroductorioCurso Introductorio de Linux parade Linux para Sistemas OperativosSistemas Operativos Universidad Tecnológica NacionalUniversidad Tecnológica Nacional Facultad Regional TucumánFacultad Regional Tucumán
  • 2. Ernesto J. SaleErnesto J. Sale Ing. ComputaciónIng. Computación utn@ernet.com.arutn@ernet.com.ar
  • 3. ObjetivosObjetivos  Introducir el concepto y la utilización deIntroducir el concepto y la utilización de una “máquina virtual”una “máquina virtual”  Brindar herramientas básicas para elBrindar herramientas básicas para el manejo de una terminal de texto y elmanejo de una terminal de texto y el intérprete de comandos bashintérprete de comandos bash  Llevar los conocimientos de los alumnosLlevar los conocimientos de los alumnos acerca de GNU/Linux al nivel necesarioacerca de GNU/Linux al nivel necesario para desarrollar los trabajos prácticos depara desarrollar los trabajos prácticos de laboratorio de Sistemas Operativoslaboratorio de Sistemas Operativos
  • 4. Temas a desarrollarTemas a desarrollar 1.1. Instalación y utilización de una máquinaInstalación y utilización de una máquina virtual.virtual. 2.2. Inicio de sesión en GNU/Linux.Inicio de sesión en GNU/Linux. 3.3. La consola virtual: concepto. ElLa consola virtual: concepto. El intérprete de comandos (shell). Elintérprete de comandos (shell). El entorno o ambiente (environment).entorno o ambiente (environment). 4.4. Documentación en línea.Documentación en línea. 5.5. Estructura de un sistema de archivos.Estructura de un sistema de archivos. Comandos relacionados.Comandos relacionados.
  • 5. Temas a desarrollarTemas a desarrollar 6.6. Otros comandos. Crear usuarios.Otros comandos. Crear usuarios. Cambiar la contraseña.Cambiar la contraseña. 7.7. El editor de textos VIM.El editor de textos VIM. 8.8. Compilar y depurar programas en C.Compilar y depurar programas en C. 9.9. Configuración de la red IP desde laConfiguración de la red IP desde la máquina virtual. Configuración básica enmáquina virtual. Configuración básica en GNU/Linux. Comandos relacionados.GNU/Linux. Comandos relacionados. 10.10.Cliente SSH.Cliente SSH. 11.11.FTP: concepto y utilización.FTP: concepto y utilización.
  • 6. Tema 1Tema 1 Instalación y configuración de unaInstalación y configuración de una máquina virtualmáquina virtual
  • 7. Máquina virtualMáquina virtual  En nuestro contexto, las máquinasEn nuestro contexto, las máquinas virtuales simulan el funcionamiento delvirtuales simulan el funcionamiento del hardware de una PC y otras arquitecturashardware de una PC y otras arquitecturas (emulación).(emulación).  El objetivo es permitir ejecutar variosEl objetivo es permitir ejecutar varios sistemas operativos simultáneamentesistemas operativos simultáneamente sobre el mismo hardware.sobre el mismo hardware.  Virtual PC (Microsoft), QEMU, VMWare,Virtual PC (Microsoft), QEMU, VMWare, VirtualBox (Sun), BOCHSVirtualBox (Sun), BOCHS
  • 8. VMware PlayerVMware Player  Software de virtualización (máquina virtual)Software de virtualización (máquina virtual)  Emulación sólo del hardware subyacenteEmulación sólo del hardware subyacente  Simulación (para acelerar algunas funciones)Simulación (para acelerar algunas funciones)  Windows, Linux, NetWare, Solaris x86Windows, Linux, NetWare, Solaris x86  No hace falta reinicios ni particionamientoNo hace falta reinicios ni particionamiento  Uso gratuitoUso gratuito  Una máquina virtual puede constar de sólo 2Una máquina virtual puede constar de sólo 2 archivos:archivos:  Configuración (.vmx)Configuración (.vmx)  Disco rígido (.vmdk)Disco rígido (.vmdk)
  • 9. Tema 2Tema 2 Inicio de sesión en GNU/LinuxInicio de sesión en GNU/Linux
  • 10. Inicio de sesión (login)Inicio de sesión (login)  Es un proceso por medio del cual el sistemaEs un proceso por medio del cual el sistema operativo identifica al usuariooperativo identifica al usuario  ContraseñaContraseña  Certificados digitalesCertificados digitales  Lecturas biométricasLecturas biométricas  Círculos de confianzaCírculos de confianza  Para poder utilizar una consola, es precisoPara poder utilizar una consola, es preciso iniciar sesióniniciar sesión  Linux distingue mayúsculas de minúsculasLinux distingue mayúsculas de minúsculas
  • 11. Inicio de sesión (login)Inicio de sesión (login)  Linux nos pide un nombre de usuario conLinux nos pide un nombre de usuario con hosthost login:login: login as:login as:  Host es el nombre asignado a la máquina por el SO (definido por elHost es el nombre asignado a la máquina por el SO (definido por el usuario)usuario)  Y a continuación la contraseña (password)Y a continuación la contraseña (password) Password:Password: usuario@host's password:usuario@host's password:  La contraseña es secreta y es por esto que los caracteres no seLa contraseña es secreta y es por esto que los caracteres no se muestran al teclearlosmuestran al teclearlos  Luego de ingresar tanto usuario como contraseña, hay queLuego de ingresar tanto usuario como contraseña, hay que presionar INTRO (ENTER) para que el SO lea el valorpresionar INTRO (ENTER) para que el SO lea el valor  Una vez autenticado, el usuario puede utilizar el intérprete deUna vez autenticado, el usuario puede utilizar el intérprete de comandoscomandos
  • 12. Tema 3Tema 3 Consola virtual, intérprete deConsola virtual, intérprete de comandos (shell) y su entorno ocomandos (shell) y su entorno o ambiente (environment)ambiente (environment)
  • 13. Consola VirtualConsola Virtual  La consola representa una interfaz para laLa consola representa una interfaz para la comunicación entre un operador y unacomunicación entre un operador y una computadoracomputadora  Es hardwareEs hardware  Está compuesta básicamente porEstá compuesta básicamente por  Monitor (salida estándar)Monitor (salida estándar)  Teclado (entrada estándar)Teclado (entrada estándar)  Antiguamente, constaba deAntiguamente, constaba de  Impresora (salida estándar)Impresora (salida estándar)  Lector de tarjetas perforadas (entrada estándar)Lector de tarjetas perforadas (entrada estándar)
  • 14. Consola VirtualConsola Virtual  Actualmente, los SOs pueden presentarActualmente, los SOs pueden presentar más de una consola, llamadas consolasmás de una consola, llamadas consolas virtualesvirtuales  Comparten monitor y tecladoComparten monitor y teclado  Cada consola puede ejecutar una terminalCada consola puede ejecutar una terminal  En GNU/Linux se intercambia de consolaEn GNU/Linux se intercambia de consola virtual con Alt-F[1-7] típicamentevirtual con Alt-F[1-7] típicamente  1-6 consolas para terminal de texto1-6 consolas para terminal de texto  7 consola para terminal gráfica7 consola para terminal gráfica
  • 15. Terminal VirtualTerminal Virtual  Una terminal es una conexión a un intérprete deUna terminal es una conexión a un intérprete de comandos (shell)comandos (shell)  Típicamente, interfaz de textoTípicamente, interfaz de texto  Asociada a una consolaAsociada a una consola  Años atrás esta función era desempeñada porAños atrás esta función era desempeñada por máquinas (consolas) creadas con ese propósitomáquinas (consolas) creadas con ese propósito específico, que soportaban sólo una terminalespecífico, que soportaban sólo una terminal  Conexión puerto serie con mainframeConexión puerto serie con mainframe  Luego aparecieron las llamadas TerminalesLuego aparecieron las llamadas Terminales Virtuales, ejecutadas desde máquinas y SOs deVirtuales, ejecutadas desde máquinas y SOs de propósito múltiplepropósito múltiple
  • 16. Intérprete de ComandosIntérprete de Comandos  En inglés conocido comoEn inglés conocido como shellshell  Se comunica con la terminalSe comunica con la terminal  Recibe e interpreta las teclas pulsadas por el usuarioRecibe e interpreta las teclas pulsadas por el usuario  Envía mensajes y resultados a la pantalla, en generalEnvía mensajes y resultados a la pantalla, en general  Reconoce un conjunto de comandos conReconoce un conjunto de comandos con opciones y argumentos que permiten usar yopciones y argumentos que permiten usar y administrar el SOadministrar el SO  En GNU el shell es una herramienta muyEn GNU el shell es una herramienta muy poderosa, indispensable para la administraciónpoderosa, indispensable para la administración
  • 17. Intérprete de ComandosIntérprete de Comandos  ash, bash, sh, zsh, csh son nombres de shellsash, bash, sh, zsh, csh son nombres de shells conocidosconocidos  Comparado con entorno gráficoComparado con entorno gráfico  Ocupa pocos recursos, es sencillo y rápido, programableOcupa pocos recursos, es sencillo y rápido, programable (scripts) y requiere muy poco ancho de banda en red(scripts) y requiere muy poco ancho de banda en red  Puede resultar incómodo hasta que se lo llega a dominar,Puede resultar incómodo hasta que se lo llega a dominar, es menos intuitivoes menos intuitivo  Prompt (petición de comando)Prompt (petición de comando)  host:/directorio1/directorio2/ #host:/directorio1/directorio2/ #  Para que una orden o comando sea reconocido, esPara que una orden o comando sea reconocido, es necesario presionar INTRO (ENTER) luego denecesario presionar INTRO (ENTER) luego de tipearlotipearlo
  • 18. ComandosComandos  Comandos pueden serComandos pueden ser  Archivos ejecutablesArchivos ejecutables  Built-ins (funciones integradas o implementadas en el intérprete)Built-ins (funciones integradas o implementadas en el intérprete)  Scripts (Guiones)Scripts (Guiones)  OpcionesOpciones  Modificadores del comportamiento del comandoModificadores del comportamiento del comando  En gral. precedidos por un guión en su forma corta o 2 guiones en suEn gral. precedidos por un guión en su forma corta o 2 guiones en su forma largaforma larga  ls -alls -al equivale aequivale a ls --all -lls --all -l  ParámetrosParámetros  Típicamente los objetos (archivos, cadenas de texto, etc.) sobre losTípicamente los objetos (archivos, cadenas de texto, etc.) sobre los que se ejecuta el comandoque se ejecuta el comando  cat holacat hola  Introducir un comandoIntroducir un comando  Teclear el comando y sus parámetros y presionar INTROTeclear el comando y sus parámetros y presionar INTRO
  • 19. bashbash  Bourne-Again SHellBourne-Again SHell  http://www.gnu.org/software/bash/http://www.gnu.org/software/bash/  Intérprete de comandos para GNUIntérprete de comandos para GNU  Lenguaje de programaciónLenguaje de programación  Stephen BourneStephen Bourne  Similar (en gran parte compatible) a shSimilar (en gran parte compatible) a sh
  • 20. bashbash  Builtins (exec, cd, break, history)Builtins (exec, cd, break, history)  Entorno (environment)Entorno (environment)  AliasAlias  alias, unaliasalias, unalias  Las opciones y los parámetros pueden irLas opciones y los parámetros pueden ir casi siempre en cualquier ordencasi siempre en cualquier orden  Para salir apropiadamente se utilizan losPara salir apropiadamente se utilizan los comandos logout, exit o Ctrl-Dcomandos logout, exit o Ctrl-D
  • 21. Entorno (environment)Entorno (environment)  Está conformado por el directorio en elEstá conformado por el directorio en el que el usuario se encuentra y un conjuntoque el usuario se encuentra y un conjunto de variables y funcionesde variables y funciones  pwdpwd  muestra directorio actualmuestra directorio actual  setset  muestra variables y funciones de entornomuestra variables y funciones de entorno  $PATH$PATH  Variable de entorno que determina el caminoVariable de entorno que determina el camino que sigue el shell para buscar ejecutablesque sigue el shell para buscar ejecutables
  • 22. Tema 4Tema 4 Documentación en líneaDocumentación en línea
  • 23. Documentación en líneaDocumentación en línea  manman  man comandoman comando  Ej.: man lsEj.: man ls  infoinfo  info comandoinfo comando  Ej.: info lsEj.: info ls  Ayuda integrada en los comandosAyuda integrada en los comandos  comando --help (típicamente)comando --help (típicamente)  Ej.: ls --helpEj.: ls --help
  • 24. manman  Es un sistema de ayuda en línea de LinuxEs un sistema de ayuda en línea de Linux  SeccionesSecciones  1. Programas ejecutables y comandos de shell1. Programas ejecutables y comandos de shell  2. Llamadas al sistema (kernel)2. Llamadas al sistema (kernel)  3. Funciones de librerías C estándar3. Funciones de librerías C estándar  4. Archivos especiales4. Archivos especiales  5. Formatos de archivos y convenciones5. Formatos de archivos y convenciones  6. Juegos6. Juegos  7. Varios7. Varios  8. Comandos de administración del sistema8. Comandos de administración del sistema  9. Rutinas del kernel9. Rutinas del kernel
  • 25. manman  La información que brinda típicamente contieneLa información que brinda típicamente contiene  NOMBRE, SINOPSIS, DESCRIPCION, OPCIONESNOMBRE, SINOPSIS, DESCRIPCION, OPCIONES  ARCHIVOS, EJEMPLOS, BUGS, HISTORIA, AUTORARCHIVOS, EJEMPLOS, BUGS, HISTORIA, AUTOR  Las búsquedas (con /, al igual que vim) noLas búsquedas (con /, al igual que vim) no distinguen mayúsculas de minúsculasdistinguen mayúsculas de minúsculas  man passwdman passwd  man –f passwdman –f passwd  man –k passwdman –k passwd  man 5 passwdman 5 passwd
  • 26. infoinfo  Sistema alternativo de documentaciónSistema alternativo de documentación  Más profundidad que las páginas deMás profundidad que las páginas de manualmanual  Utiliza hipertextoUtiliza hipertexto  EjemplosEjemplos  info grubinfo grub  info bashinfo bash  Navegación:Navegación:  TAB, ENTER, l, n, p, BACKSPACE, SPACE, qTAB, ENTER, l, n, p, BACKSPACE, SPACE, q
  • 27. Tema 5Tema 5 Estructura de un sistema deEstructura de un sistema de archivos. Comandos relacionadosarchivos. Comandos relacionados
  • 28. Sistema de archivosSistema de archivos  GNU/Linux utiliza una estructura jerárquica de tipo árbolGNU/Linux utiliza una estructura jerárquica de tipo árbol invertidoinvertido  La mayor jerarquía está en la raízLa mayor jerarquía está en la raíz  La raíz (root) es designada con “/”La raíz (root) es designada con “/”  Es donde comienza el árbol de directoriosEs donde comienza el árbol de directorios  Soportan enlaces (links)Soportan enlaces (links)  Duros (hard)Duros (hard)  Simbólicos (soft)Simbólicos (soft)  GNU intenta acercarse al FHSGNU intenta acercarse al FHS  Algunas distribuciones tienen algunas diferenciasAlgunas distribuciones tienen algunas diferencias  Sistemas de archivos típicosSistemas de archivos típicos  ext2, ext3, reiserfsext2, ext3, reiserfs
  • 30. FHSFHS  Filesystem Hierarchy StandardFilesystem Hierarchy Standard  Define ubicaciones estándar para archivos y directoriosDefine ubicaciones estándar para archivos y directorios  Ejemplos (R = requerido):Ejemplos (R = requerido):  / El directorio raíz (R)/ El directorio raíz (R)  /bin/ Órdenes esenciales binarios para todos los usuarios (cat,/bin/ Órdenes esenciales binarios para todos los usuarios (cat, ls, cp...) (R)ls, cp...) (R)  /dev/ Dispositivos (R)/dev/ Dispositivos (R)  /home/ Directorios de datos de los usuarios/home/ Directorios de datos de los usuarios  /etc/ Ficheros de configuración del sistema (R)/etc/ Ficheros de configuración del sistema (R)  /lib/ Librerías esenciales para los binarios de /bin y /sbin (R)/lib/ Librerías esenciales para los binarios de /bin y /sbin (R)  /var/ Ficheros variables utilizados por programas instaladas,/var/ Ficheros variables utilizados por programas instaladas, como logs y archivos temporales (R)como logs y archivos temporales (R)
  • 31. FHSFHS  /opt/ Paquetes de programas de aplicaciones estáticos (R)/opt/ Paquetes de programas de aplicaciones estáticos (R)  /sbin/ Binarios de superusuario esenciales (init, route, ifup..) (R)/sbin/ Binarios de superusuario esenciales (init, route, ifup..) (R)  /proc/ Sistema de archivos que documenta el estado del núcleo/proc/ Sistema de archivos que documenta el estado del núcleo (kernel), principalmente archivos de texto (tiempo, red...), estos(kernel), principalmente archivos de texto (tiempo, red...), estos archivos permiten conocer y cambiar ciertos parámetros delarchivos permiten conocer y cambiar ciertos parámetros del núcleo sin necesidad de reiniciar el sistemanúcleo sin necesidad de reiniciar el sistema  /mnt/ Sistemas de archivos montados temporalmente (R)/mnt/ Sistemas de archivos montados temporalmente (R)  /boot/ Archivos estáticos para el cargador de arranque (R)/boot/ Archivos estáticos para el cargador de arranque (R)  /tmp/ Archivos temporales (R)/tmp/ Archivos temporales (R)  /usr/ Jerarquía secundaria (R)/usr/ Jerarquía secundaria (R)
  • 32. Comandos relacionadosComandos relacionados  ls -al, dirls -al, dir  Lista archivos (típ. en un directorio)Lista archivos (típ. en un directorio)  touch pruebatouch prueba  Establece atime y mtime a la hora actualEstablece atime y mtime a la hora actual  Crea el archivo si no existeCrea el archivo si no existe  stat archivostat archivo  Muestra la información del inodoMuestra la información del inodo  file /sbin/badblocksfile /sbin/badblocks  Intenta indicar el tipo de archivoIntenta indicar el tipo de archivo  mv origen destinomv origen destino  Mueve archivos o directoriosMueve archivos o directorios  Usado para renombrarUsado para renombrar  cp [-r] origen destinocp [-r] origen destino  Copia archivosCopia archivos
  • 33. Comandos relacionadosComandos relacionados  rm [-r] archivorm [-r] archivo  Elimina el archivoElimina el archivo  Con la opción -r puede eliminar directoriosCon la opción -r puede eliminar directorios  cd directoriocd directorio  Cambia de directorio (change directory)Cambia de directorio (change directory)  mkdir [-p] directoriomkdir [-p] directorio  Crea directorioCrea directorio  rmdir directoriormdir directorio  Elimina directorio si está vacíoElimina directorio si está vacío
  • 34. Comandos relacionadosComandos relacionados  findfind  Busca archivosBusca archivos  find -mmin -50find -mmin -50  find -perm 711find -perm 711  find -type dfind -type d  find -size -200k | wc -lfind -size -200k | wc -l  find /proc -user postgres -exec ls -l {} ;find /proc -user postgres -exec ls -l {} ;  find /proc -user postgres | xargs ls -lfind /proc -user postgres | xargs ls -l  du -ch /home/usuario ; du -sh /usr/*du -ch /home/usuario ; du -sh /usr/*  disk usagedisk usage  muestra el espacio que utiliza un directoriomuestra el espacio que utiliza un directorio  df -Hdf -H  reporta utilización de los sistemas de archivos montadosreporta utilización de los sistemas de archivos montados  -i muestra información sobre los inodos-i muestra información sobre los inodos
  • 35. Comandos relacionadosComandos relacionados  chmod ug+x archivochmod ug+x archivo  Usuario dueño y grupo: permiso de ejecuciónUsuario dueño y grupo: permiso de ejecución  chown usuario archivochown usuario archivo  cambia el propietariocambia el propietario  chgrp grupo archivochgrp grupo archivo  cambia el grupocambia el grupo
  • 36. Expansión de nombresExpansión de nombres  bash realiza expansión de nombres debash realiza expansión de nombres de archivos (filename expansion)archivos (filename expansion)  reconoce “comodines”reconoce “comodines”  *, ?*, ?  [abcd], [^abcd], [a-d][abcd], [^abcd], [a-d]  {uno,dos,*tres*}{uno,dos,*tres*}  realiza la expansión en los argumentos de larealiza la expansión en los argumentos de la línea de comando sin comillaslínea de comando sin comillas  ls -l {uno*,dos.??, [pb]rueba}ls -l {uno*,dos.??, [pb]rueba}  echo *echo *
  • 37. EnlacesEnlaces  Ahorran espacio en discoAhorran espacio en disco  Simplifican tareas de administraciónSimplifican tareas de administración  HardHard  Copia la entrada del directorio originalCopia la entrada del directorio original  Mismo inodoMismo inodo  No pueden apuntar a directoriosNo pueden apuntar a directorios  Sólo sirven en un mismo sistema de archivosSólo sirven en un mismo sistema de archivos  SoftSoft  Es un archivo que contiene la ruta al archivo referidoEs un archivo que contiene la ruta al archivo referido  Pueden apuntar a directoriosPueden apuntar a directorios  Pueden “cruzar” sistemas de archivosPueden “cruzar” sistemas de archivos  El archivo referenciado puede no existirEl archivo referenciado puede no existir  ln [-s] origen destinoln [-s] origen destino  cp -l origen destinocp -l origen destino  /etc/rc.d/rc?.d/etc/rc.d/rc?.d
  • 38. Tema 6Tema 6 Otros comandos. Crear usuarios.Otros comandos. Crear usuarios. Cambiar la contraseña.Cambiar la contraseña.
  • 39. bashbash  ~/.bash_history~/.bash_history  Historia de comandosHistoria de comandos  /etc/profile, ~/.profile/etc/profile, ~/.profile  Ajustes del sistema y personalesAjustes del sistema y personales  Ejecuta bashrcEjecuta bashrc  historyhistory  Muestra el historial de comandosMuestra el historial de comandos  !!  Ejecuta un comando, !23Ejecuta un comando, !23  fc (fix command)fc (fix command)  Edita comandos del historialEdita comandos del historial  fc -l, fc 15 30fc -l, fc 15 30  Ejecuta al salir lo que queda en el bufferEjecuta al salir lo que queda en el buffer
  • 40. Otros comandosOtros comandos  exportexport  Establece una variable en el ambienteEstablece una variable en el ambiente  unset [-v | -f]unset [-v | -f]  Elimina definición de variables o funcionesElimina definición de variables o funciones  execexec  Reemplaza el shell, no crea un nuevo procesoReemplaza el shell, no crea un nuevo proceso  pwd (print working directory)pwd (print working directory)  Muestra directorio actualMuestra directorio actual  echoecho  Presenta textoPresenta texto
  • 41. RedirecciónRedirección  Vías de comunicación estándarVías de comunicación estándar  Entrada, stdin o standard input (fileEntrada, stdin o standard input (file descriptor o descriptor de archivo 0)descriptor o descriptor de archivo 0)  Típicamente el tecladoTípicamente el teclado  Salida, stdout o standard output (f.d. 1)Salida, stdout o standard output (f.d. 1)  MonitorMonitor  Error, stderr o standard error (f.d. 2)Error, stderr o standard error (f.d. 2)  MonitorMonitor
  • 42. RedirecciónRedirección  >>  Redirige la salida estándarRedirige la salida estándar  Crea el archivo si no existeCrea el archivo si no existe  Borra su contenido si existeBorra su contenido si existe  >>>>  Igual que > pero agrega al contenido si existeIgual que > pero agrega al contenido si existe  <<  Redirige entrada estándarRedirige entrada estándar  << delimitador<< delimitador  Redirige la entrada hasta encontrar el delimitadorRedirige la entrada hasta encontrar el delimitador  <<< palabra<<< palabra  Envia la palabra a la entrada estándarEnvia la palabra a la entrada estándar
  • 43. RedirecciónRedirección  Redirigir stdout y stderr de la ejecución de un comandoRedirigir stdout y stderr de la ejecución de un comando  comando &>archivocomando &>archivo  comando >&archivocomando >&archivo  comando >archivo 2>&1comando >archivo 2>&1  | Tuberías (pipes)| Tuberías (pipes)  permite utilizar la salida de un comando como la entrada de otropermite utilizar la salida de un comando como la entrada de otro  `` comillas hacia atrás (backticks)`` comillas hacia atrás (backticks)  son reemplazadas por el resultado de la ejecución del comandoson reemplazadas por el resultado de la ejecución del comando contenidocontenido  actualmente se prefiere $(comando)actualmente se prefiere $(comando)  ./prueba | tee arch1 arch2 2>&1./prueba | tee arch1 arch2 2>&1  Copia stdout y stderr a archivosCopia stdout y stderr a archivos  Redirige a stdin tambiénRedirige a stdin también
  • 44. FiltrosFiltros  En general soportan múltiples archivos de entrada yEn general soportan múltiples archivos de entrada y también stdintambién stdin  wc -l [archivo]wc -l [archivo]  Cuenta palabras, líneas, y bytesCuenta palabras, líneas, y bytes  tail -n 20 [archivo]tail -n 20 [archivo]  Muestra la parte final de un archivoMuestra la parte final de un archivo  head -n 20 [archivo]head -n 20 [archivo]  Muestra el principio de un archivoMuestra el principio de un archivo  cat [archivo]cat [archivo]  Concatena archivos y los muestraConcatena archivos y los muestra  cut -d “;” -f 2 [archivo]cut -d “;” -f 2 [archivo]  Corta secciones de una líneaCorta secciones de una línea
  • 45. Manipulación de procesosManipulación de procesos  psps  Process StatusProcess Status  Muestra una instantánea del estado de los procesosMuestra una instantánea del estado de los procesos  toptop  Muestra el estado de los procesos en tiempo realMuestra el estado de los procesos en tiempo real  Permite manipularlos (renice, kill)Permite manipularlos (renice, kill)  kill PIDkill PID  Envía señales a los procesosEnvía señales a los procesos  Lista señalesLista señales  killall comandokillall comando  Es como kill pero por nombre, no por PIDEs como kill pero por nombre, no por PID
  • 46. Manipulación de procesosManipulación de procesos  comando &comando &  El comando se ejecutará en segundo planoEl comando se ejecutará en segundo plano  jobs [-l]jobs [-l]  Muestra los procesos detenidos y en ejecución en segundo planoMuestra los procesos detenidos y en ejecución en segundo plano  bg [jobspec]bg [jobspec]  El proceso en ejecución o el especificado pasa a ejecutarse enEl proceso en ejecución o el especificado pasa a ejecutarse en segundo planosegundo plano  fg [jobspec]fg [jobspec]  Devuelve un proceso al primer planoDevuelve un proceso al primer plano  disowndisown  Inmuniza al proceso contra la señal SIGHUP que el shell (por ser elInmuniza al proceso contra la señal SIGHUP que el shell (por ser el padre) le puede redirigir por ejemplo al finalizarpadre) le puede redirigir por ejemplo al finalizar
  • 47. Manipulación de procesosManipulación de procesos  nohup comando &nohup comando &  similar a disownsimilar a disown  envía la salida a nohup.out o ~/nohup.outenvía la salida a nohup.out o ~/nohup.out  stdin no es manejado (no recibe stdin)stdin no es manejado (no recibe stdin)  nice -10 comandonice -10 comando  Ejecuta un programa con prioridad modificadaEjecuta un programa con prioridad modificada  renice +5 PIDrenice +5 PID  Cambia la prioridad de ejecución de un procesoCambia la prioridad de ejecución de un proceso  Puede emplearse con usuarios y gruposPuede emplearse con usuarios y grupos
  • 48. Usuarios y contraseñasUsuarios y contraseñas  useradduseradd nombre_usuarionombre_usuario  Crea usuarioCrea usuario  userdeluserdel nombre_usuarionombre_usuario  Elimina usuarioElimina usuario  usermodusermod  Modifica usuario (cambia shell, agrega a grupo, etc.)Modifica usuario (cambia shell, agrega a grupo, etc.)  groupadd, groupdel, groupmodgroupadd, groupdel, groupmod  Manejar gruposManejar grupos  passwdpasswd nombre_usuarionombre_usuario  Cambia la contraseña del usuarioCambia la contraseña del usuario
  • 51. vivi  Editor de textoEditor de texto  Usualmente reemplazado por vimUsualmente reemplazado por vim  vi mejoradovi mejorado  vimtutorvimtutor  tutorialtutorial  /, ?/, ?  BúsquedaBúsqueda  h,j,k,l o flechas de direcciónh,j,k,l o flechas de dirección  DesplazamientoDesplazamiento  G, H, LG, H, L  Saltos (absoluto, head relativo, last relativo)Saltos (absoluto, head relativo, last relativo)  i,a.c,d,dd,p,oi,a.c,d,dd,p,o  EdiciónEdición  ZZ, :w!, :q!, :e!ZZ, :w!, :q!, :e!  SalirSalir  :!:!  Ejecución de comando de shellEjecución de comando de shell