Este documento presenta un curso introductorio sobre Linux para sistemas operativos. El curso cubrirá la instalación y uso de máquinas virtuales, el inicio de sesión en Linux, la consola virtual y el intérprete de comandos bash, la documentación en línea, la estructura de archivos, y comandos básicos. El objetivo es proporcionar a los estudiantes los conocimientos necesarios para desarrollar trabajos prácticos de laboratorio sobre sistemas operativos.
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
Curso Introductorio GNU/Linux UTN
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)
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
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
49.
50.
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