Introducción A Linux
Introducción A Linux
Introducción A Linux
Introducción a Linux ,
Aviso importante: cuando usemos letra cursiva nos estaremos refiriendo a un comando que se lanza por
terminal, por ejemplo: cd /home/usuario es un comando para ubicarse dentro del directorio usuario que
está dentro del directorio home.
Software libre significa que los usuarios tienen la libertad de ejecutar, copiar, estudiar, distribuir,
modificar y mejorar el software. Existen cuatro libertades fundamentales definidas que van de la 0 a la
3. Aquí puedes ver la página oficial de la organización que promueve el software libre y hasta colaborar
participando en proyectos con ellos de forma voluntaria, cualquier persona puede hacerlo, sin importar
su nivel de conocimiento. Front Page — Free Software Foundation — working together for free software
(fsf.org)
¿Que es un mainframe?
Un mainframe o también conocido como una unidad central, siendo esta una computadora que es
usada principalmente para el procesamiento de una gran cantidad de datos a gran velocidad o
velocidades cercanas a la mayor velocidad que es posible en su tiempo. En la antigüedad se les llamaba
así porque ocupaban gabinetes y cuartos enteros. Unidad central - Wikipedia, la enciclopedia libre.
En los inicios de la computación las que consolas eran unidades de hardware que se conectaban a los
mainframes para poder introducir datos o enviar órdenes. Hoy en día, las consolas pueden ser
completamente en software. Las consolas van de la mano con las terminales. Con respecto a un
mainframe, una consola era a la vez el puerto, la conexión digital y una terminal física conectada
directamente a una unidad central.Terminal (informática) - Wikipedia, la enciclopedia libre.
En los inicios del sistema operativo Unix (es lo que GNU quiso remplazar ya que era un sistema propietario
que requería licencia), se utilizaba un dispositivo físico que se parecía a una máquina de escribir y a veces
llamada teletipo o tty. El nombre “terminal” vino desde el punto de vista electrónico.
¿Qué es Linux?
La terminal CLI es el método más directo usado para administrar todo tipo de dispositivos
basados en el kernel Linux. Un entendimiento básico del terminal es esencial para trabajar con la
mayoría de los sistemas basados en Linux.
La shell es la interfaz de línea de comandos. Algunos ejemplos de Shell son BASH, CSH, KSH,
ZSH. Es muy importante saber con cual Shell estamos trabajando ya que los comandos se pueden
llamar igual, pero comportarse diferente. Estas Shell toman comandos escritos a mano y le dicen
al sistema operativo como ejecutarlos, o puede tomar secuencias de comandos e interpretar la
lógica dentro de ellos, además da instrucciones al sistema operativo para ejecutar los comandos
contenidos en un archivo que generalmente se conoce como script o algunas veces también a
este archivo lo llaman Shell, aunque eso es incorrecto,
Actualmente muchos de los términos básicos descritos ya se han virtualizado y son también considerados
programas o aplicaciones que cumplen la misma función por esta razón vamos a definir estos mismos
términos, pero ya como los encontramos en el día a día de nuestro trabajo.
Terminal: Un terminal se refiere a un programa contenedor que ejecuta un Shell, hoy en día se
habla ya no de teclados y pantallas que se conectan por puertos a un sistema más grande sino
de emuladores de terminal que inician un entorno donde se ejecutará un shell en el que puede
ingresar comandos. La consola es un tipo especial de terminal para la comunicación directa a un
nivel bajo con el sistema operativo. Los sistemas GNU/Linux modernos ofrecen consolas virtuales.
Se accede a ellos mediante combinaciones de teclas (por ejemplo, con la combinación de teclas
Ctrl+ Alt+ F12). La interacción con la consola también se realiza mediante un programa de shell.
Las consolas se enumeran utilizando TTYx (por ejemplo: TTY1, TTY2, etc), esto históricamente
viene de las siglas de abreviatura de los terminales teletipos. El termino shell está más orientado
a interactuar con usuarios programadores y personas que no necesitan conocimientos profundos
de ciencias de la computación, como tal vez si lo requieren los que usan consolas donde se
realizan configuraciones vitales para el funcionamiento del sistema de cómputo. El shell es el
programa que procesa comandos y devuelve resultados. Los principales shells también gestionan
procesos en primer plano y en segundo plano, historial de comandos y edición de línea de
comandos.
Digite en su terminal GNU/Linux de la distribución xxxx (la distribución es el sabor o la marca del
Linux que usted está usando, por citar ejemplos puede ser Ubuntu, xubuntu, redhat, fedora,
centos, suse. La mayoría de distribuciones Linux corporativas robustas siguen un estándar o tratan
de compatibilizar con POSIX si quiere conocer un poco más de este estándar consultar estos links
¿Qué es POSIX? Conceptos fundamentales - El Camino del Sysadmin (carreralinux.com.ar) POSIX -
Wikipedia
El ejercicio consiste en digitar estos comandos y explorar cual es la interpretación de la respuesta recibida:
echo $SHELL (nombre del programa shell que está definido por default para su usuario)
man
help
apropos
info
whatis
clear
history
cd
ls
mkdir
pwd
rmdir
whoami
cat
cmp
cp
cut
diff
dirname
basename
ln
lsof
mv
ldd
rm
grep
sort
touch
uniq
wc
du
df
id
date
time
Linux maneja tres canales o streams para interactuar con programas estos son:
Standard error STDERROR si se producen mensajes de advertencia o errores salen por default en
la terminal.
Para mayor información consultar este link Viernes de Terminal: Standard Stream | Desde Linux
¿Qué son los pipes?
El pipe cuyo símbolo es | sirve para encadenar comandos de tal manera que nos permite
encadenar secuencias de comandos haciendo que la salida de un comando sea la entrada del
siguiente, produciendo efectos de transformación complejos en una sola entrada de la línea de
comandos (CLI)
Cuando necesitamos que los streams de Linux se guarden en archivos o sirvan como entradas o
salidas a otros archivos, programas o comandos utilizamos la redirección I/O o también llamada
I/O o standard I/O. Cada Stream tiene un FD o File descriptor:
STDIN FD=0
STDOUT FD=1
STDERROR FD=2
Por esta razón se dice que todo en Linux es un archivo, por cierto cada dispositivo físico
internamente se maneja como un archivo con su FD.
Símbolo Descripción
Redirecciona stdout hacía un archivo. Lo crea si no existe, si existe lo sobreescribe.
> ls -l > lista.txt (La salida del comando se envía a un archivo en vez de la
terminal.)
Redirecciona stdout hacía un archivo. Lo crea si no existe, si existe concatena la salida
>> al final de este.
ps -ef >> procesos.txt (Concatena al archivo procesos.txt la salida del comando.)
Redirecciona stdin desde un archivo. El contenido de un archivo es la entrada o input
del comando.
<
mail user < texto.txt (El cuerpo del correo a enviar proviene desde un archivo, en
vez del teclado).)
2> Redirecciona stderr hacía un archivo. Crea (>) o concatena (>>) la salida de errores a
2>> un archivo. (ver ejemplos)
1>&2 Redirecciona stdout hacía donde stderr apunte. (ver ejemplos)
2>&1 Redirecciona stderr hacía donde stdout apunte. (ver ejemplos)
Laboratorio #1