Está en la página 1de 57

Linux Essentials

Introducción
Filesystem basics
Instructor
Alejandro Arias
Centro de Servicios y gestión empresarial
Teleinformática
Iniciando sesión
 En Linux, al igual que en otros sitemas operativos, las sesiones de
usuario se inician por “logging in"o “iniciar sesion en la máquina”.

 Para iniciar sesión, el usuario debe poseer siempre un nombre de


usuario y contraseña.
 Si en una máquina con sistema operativo Linux instalado se está
ejecutando un servidor X (así se llama el sistema de ventanas),
entonces, los usuarios pueden iniciar una sesión utilizando la
interfaz gráfica.
 El sistema Operativo Linux cuenta con seis consolas virtuales a
traves de las cuales un Usuario, o diferentes usuarios, pueden iniciar
sesión.
 La secuencia de teclas “CTRL-ALT-F1” hasta “CTRL-ALT-F6” permite
cambiar entre las seis consolas virtuales.
 La secuencia de teclas “CTRL-ALT-F7 o CTRL-ALT-F1”, Conmuta al
servidor X por defecto, dependiendo de la distribucion del Sistema
Operativa funciona una de las dos.
 Si una máquina Linux lo soporta o tiene activado (normalente por
defecto), los usuarios pueden iniciar sesión en la red mediante un
shell remoto mediante .
 El comando who lista cuales usuarios han iniciado sesión
actualmente y cómo iniciaron la sesión.

Nota: en este caso, los usuario que han iniciado sesion en nuestro servidor son alejo y root, lo han hecho desde las terminales
virtuales 1 y 2. A las cueles se llega a traves de las conbinaciones Ctrl+alt-f1 y f2. Como se explicó anteriormente
Iniciando sesión
Aspectos relevantes:
 Cómo acceder a las consolas virtuales?
 Iniciar sesión en el entorno gráfico X
 Abrir terminales en el entorno gráfico X
 Cerrar sesiones en consolas virtuales y en
terminales gnome
 Uso del comando who
 Iniciar sesión en una máquina a través de la
red
El kernel, programas y procesos
 El kernel es el responsable de facilitar a los
distintos programas acceso seguro al hardware
de la computadora o en forma básica, es el
encargado de gestionar recursos, a través de
servicios de llamada al sistema.
 Los programas son archivos ejecutables
(generalmente binarios) que residen en el
sistema de archivos.
 Un proceso es una instancia de un programa
de ejecución.
 Una shell es un proceso interactivo que
permite al usuario especificar que se ejecuten
otros procesos.
Una Shell de Unix o también shell, es el término usado en informática para referirse a un
intérprete de comandos, el cual consiste en la interfaz de usuario tradicional de los sistemas
operativos basados en Unix y similares, como GNU/Linux.

https://es.wikipedia.org/wiki/Shell_de_Unix

 El shell por defecto es un programa llamado bash.


Bash (Bourne-again shell) es un programa informático, cuya función consiste en interpretar órdenes,
y un lenguaje de consola.

https://es.wikipedia.org/wiki/Bash
Características del kernel

 El kernel es un entorno en el que se ejecutan


programas, y provee mecanismos para que los
programas interactúen con el hardware del equipo.
 Elnúcleo de los programas permite saber cuándo
se presionó una tecla, cuando se movió el ratón, o
cuando un paquete destinado para el
programa llegó a través de la red, entre muchas
otras funciones e interacciones.
El kernel, programas y procesos
Nivel de Usuario

Nivel de Máquina
 Programas
 Un programa es una serie de instrucciones muy
básicas, que le indican al sistema operativo qué
hacer y cuándo hacerlo de una manera muy
detallada y específica.
 Proceso
Copia del programa que se ejecuta en la memoria.
El concepto se refiere a la ejecución de diversas
instrucciones por parte del microprocesador, de
acuerdo a lo que indica un programa.
 Shell
– Es un programa usado para interactuar con el kernel
– Una shell se ejecuta en una terminal, emitiendo
un prompt y esperando que se le diga qué hacer.
El kernel, programas y procesos
BASH (Bourne Again Shell)
 Los comandos son ingresados en una terminal de texto:
En ambiente gráfico (Terminal)
En consola de solo texto (Console)
Los resultados son mostrados en la terminal
Pueden crearse scripts: programas para automatizar
procesos.
Examinando el sistema de archivos
(Filesystem)
 La base del árbol de directorios de Linux es un directorio llamado / que se
denomina "directorio raíz".

 Las rutas de archivo absolutas, tales como /home/Elvis/lsout.txt,


se refieren a la ubicación de los archivos relativa desde el directorio raíz.
/ Directorio Raiz
 home ==> Carpeta donde se guarda el perfil de los usuarios
 Elvis ==> nombre de la carpeta correspondiente al usuario Elvis
lsout.txt ==> archivo de texto guardado en la ruta

 Rutas de archivo relativas, como lsout.txt, se refieren a los archivos


relativos al directorio de trabajo actual de un proceso.

La ruta relativa es la que hace referencia al archivo o directorio desde la


ubicación actual o directorio actual de trabajo.
 El comando ls se utiliza para mostrar el contenido de un directorio

 El comando cat es usado para examinar el contenido de un archivo.

 Utilizar el carácter > en la línea de comandos de la shell, redirecciona la salida


de un comando y lo guarda en un archivo.

 Un directorio home del usuario es uno de los pocos lugares donde los
usuarios tienen los permisos para crear nuevos archivos y nuevos directorios.
Examinando el sistema de archivos
(Filesystem)
Ejemplos:
 [elvis@station elvis]$ ls /etc/sysconfig/rhn
clientCaps.d rhnsd systemid up2date

Para este ejemplo se está listando (ls) el contenido del directorio fhn

 [elvis@station elvis]$ cat /etc/hosts


Do not remove the following line, or various programs
that require network functionality will fail. Esta es la captura (cat)
del contenido del
127.0.0.1 localhost.localdomain localhost archivo hosts

::1 localhost6.localdomain6 localhost6


192.168.0.254 server1.example.com server1
Examinando el sistema de archivos
(Filesystem)
Ejemplos:
[elvis@station elvis]$ ls /etc/sysconfig/rhn > lsout.txt
[elvis@station elvis]$ ls
lsout.txt
[elvis@station elvis]$ cat lsout.txt
clientCaps.d
rhnsd
systemid
up2date
Ejecutando comandos
 La shell bash usa una gramática específica
 La primera palabra en la línea de comandos es el nombre
del programa (comando) a ser ejecutado.
 El comportamiento de cada comando puede ser modificado
usando las opciones. Generalmente estas opciones comienzan
con un guion (-) o doble guión (--)
 Cualquier palabra que sigue al comando y a la opción se
denomina argumento.
 usualmente los comandos soportan las opciones --help, -h, or -?
como ayuda para observar todas las posibilidades que ofrece un
comando.
Ejecutando comandos
Aspectos relevantes:

Entendiendo los comandos


Dónde se almacenan los comandos
Opciones de los comandos: cortas, largas, múltiples.
Argumentos: Con o sin argumentos
Utilizando la ayuda
Ejecutando comandos
EJEMPLOS con el comando “ls”
Sintaxis: $comando [opción] argumentos
[elvis@station elvis]$ ls /usr
[elvis@station elvis]$ ls -l /usr
[elvis@station elvis]$ ls --size /usr/
[elvis@station elvis]$ ls -s /usr/

Nota: cada comando tiene un manual al cual se puede acceder ejecutando lo siguiente: man <comando>, por
ejemplo, [elvis@station elvis]$ man ls. Aqui podremos ver el manual del comando ls y se pueden observar los
argumentos y la funcion que cumple cada uno.

Encuentre la funcion de -l, --size, -s y tome nota de ella.


Manejando terminales
Varias secuencias de control, tales como CTRL-C, CTRL-
D, y CTRL-Z, pueden ser útiles para manejar procesos
desde la terminal.
El comando reset puede ser usado parta sanar el
comportamiento de una terminal.

La shell bash posee la opción autocompletar mediante


tabulación cuando se especifican comandos o archivos

Se pueden distinguir varios tipos de terminales al


saber cómo Linux se refiere a dispositivos
Manejando terminales
Aspectos relevantes
– Reseteando terminales: Comando reset
– Autocompletar
– Secuencias de control de la terminal
– Identificando terminales
– Autocompletar mediante tabulación
Manejando terminales
Combinacion de Nombre
teclas simbólico Uso convencional
CTRL-C SIGINT Interrupción anormal: finaliza el proceso en primer plano

CTRL-D EOT Normal signaling of the end of input


CTRL-G BEL Sound an audible terminal bell
CTRL-H BS Backspace - erase the previous character

CTRL-J LF Line feed - alternative for the RETURN key

Form feed - causes bash to clear screen, and other screen based
CTRL-L FF
programs to "refresh" the current screen.

CTRL-Q Thaw the terminal display (see CTRL-S)

CTRL-S Freeze the terminal display (thaw with CTRL-Q)


CTRL-U NAK Erase current line
CTRL-Z SIGSTOP Suspend the foreground process
Manejando terminales
Name Device How used
ttyn Virtual Console Accessed with the CTRL-ALT-Fn key combination.
A modem or VT100 like terminal attached to a serial port. The
ttySn Serial Port device terminal ttyS0 in Unix relates to COM1 in DOS, ttyS1 to COM2, and
so on.

A terminal emulation, most often used by terminal windows in the


pts/n Pseudo-terminal X graphical environment, or shells which originate over the
network, such as with telnet or ssh. Pseudo-terminals cannot be
related directly to a physical device.

The X server is not really a terminal. When a user logs in using the
:0 X server X graphical environment, their terminal is often listed as the X
server itself.
Obteniendo ayuda
Aspectos relevantes:
– Obteniendo ayuda usando las opciones de comando –h, --help
y -?
– Páginas del manual para cada comando(Comando man)
– El paginador less (Usado para desplegar información
obtendida del comando man)
Obteniendo ayuda
Command Action
space View next page
b View previous page
q Quit
/ text RETURN Search for word text
n Find next occurrence of previously used search
term
Navegación por el sistema de archivos

 El sistema de ficheros Linux es un árbol


"invertido" de directorios y archivos, con un
directorio raíz llamado "/".
 Cada proceso tiene un directorio de trabajo
actual, a menudo es llamado "cwd" (current
work directory).
 El comando pwd informa el directorio
actual de trabajo (cwd) de la shell bash.
 El comando cd cambia de cwd (Cambia de
directorio).
 Los archivos pueden ser referenciados a
través de cualquiera de las referencias
absolutas o relativas.
Navegación por el sistema de archivos

Nautilus
Herramienta gráfica para nevagar por el sistema de
archivos
Navegación por el sistema de archivos

Directorio actual de trabajo (cwd)


El comando pwd permite visualizar el directorio actual
de trabajo (Responde a la pregunta ¿Dónde estoy
ubicado?)
 Ejemplo
[alice@station student]$ pwd
/home/alice/website

NOTA: Para este ejemplo, el usuario está ubicado


en /home/alice/website
Navegación por el sistema de archivos
• Moverse alrededor del sistema de archivos
(cd: Change Directory)
Ejemplo
[alice@station website]$pwd
/home/alice/website
[alice@station website]$ cd /home
[alice@station home]$ pwd
/home
[alice@station home]$ cd
/home/alice/website/songs
[alice@station songs]$ pwd
/home/alice/website/songs
Navegación por el sistema de archivos

• Nombres de directorios especiales

Symbol Meaning

. Directorio actual de trabajo


.. Directorio padre
~ Directorio home del usuario
- Directorio de trabajo previo
Navegación por el sistema de archivos
Referencias absolutas y relativas
Las referencias absolutas comienzan con un “/” y dan la ruta
completa de un archivo y directorio partiendo del directorio
raiz (/)
Ejemplo de ruta absoluta:
/home/felipe/hola.pdf
Desde el
directorio raíz
Navegación por el sistema de archivos

Referencias absolutas y relativas


– Una referencia relativa no describe una ruta de acceso al archivo a
partir de /
– Una referencia relativa especifica una ruta del archivo o directorio
partiendo del directorio actual.
– Ejemplos de rutas relativas:

Si suponemos que mi cwd es /home/felipe podría existir un


subdirectorio llamado Documentos y allí un archivo llamado
nominas.xls
La ruta relativa del archivo sería:

Documentos/nominas.xls
Directorios importantes
 Cada cuenta de usuario se le asigna un
directorio home (Llamado también directorio del
usuario). Este directorio es /home
 El directorio /tmp se usa como espacio
temporal global.
 El directorios /bin y /usr/bin contienen
archivos comúnmente ejecutables.
 El directorio /etc contiene archivos de
configuración del sistema.
 Directorio home del root, /root, no se debe
confundir con el directorio raíz del sistema, /.
Directorios importantes
El directorio /var almacena archivos
variables, tales como logs, bases de datos,
archivos de e-mail temporales, y algunos
archivos temporales en general.
 Este directorio tiene especial importancia
porque allí se almacenan los archivos de los
sitios web del servidor apache.
Específicamente en /var/www
Directorios importantes
• Buscando comandos en /bin y usr/bin:
– Sintaxis: which PROGRAM
EJEMPLOS:
[hogan@station hogan]$ which cp
[hogan@station hogan]$ which mozilla
[hogan@station hogan]$ which cd
hogan@station hogan]$ which fdisk
Manejando archivos
Pueden crearse o modificarse archivos de
manera sencilla usando la redirección de la
shell.
El comando cp copia archivos
El comando mv mueve archivos
El comando rm elimina archivos
Manejando archivos
 Redirección:
– La ejecución de comandos produce salidas que son
visibles en pantalla (stdout). Por ejemplo:
[julius@station julius]$ pwd
/home/julius
– En vez de que la salida se muestre en pantalla puede
usarse la redirección a un archivo
[julius@station julius]$ ls
[julius@station julius]$ pwd >
results.txt [julius@station julius]$ ls
results.txt
Manejando archivos
• Redirección:
[julius@station julius]$ echo Hello > greetings.txt
[julius@station julius]$ echo How are you >> greetings.txt
[julius@station julius]$ cat greetings.txt
Hello
How are you
Manejando archivos
• Copiando archivos con cp:
SINTAXIS
cp [OPTIONS] {SOURCE} {TARGET}
cp [OPTIONS] {SOURCE...} {DIRECTORY}

EJEMPLOS:
– cp mysong.midi backup.midi
– cp mynovel.txt /tmp
– cp songs.tar novels.tgz /tmp
– cp ~/webpage.html .
Manejando archivos
• Moviendo archivos con mv:
SINTAXIS
mv [OPTION...] {SOURCE} {TARGET}
mv [OPTION...] {SOURCE...} {DIRECTORY}
EJEMPLOS:
– mv mysong.midi backup.midi
– mv mynovel.txt /tmp
– mv songs.tar novels.tgz /tmp
– mv ~/webpage.html .
– mv html public_html
Manejando archivos
• Eliminando archivos con rm:
SINTAXIS
mv [OPTION...] {SOURCE} {TARGET}
mv [OPTION...] {SOURCE...} {DIRECTORY}

EJEMPLOS:
– rm mysong.midi
– rm songs.tar novels.tgz
– rm ~/photos.html
Manejando directorios
 El contenido de un árbol de directorios puede
ser visualizado usando el comando ls -R
El comando mkdir crea directorios.
El comando rmdir elimina directorios vacíos
El comando cp –r realiza una copia recursiva
de directorios
rm -r Elimina recursivamente directorios
Manejando directorios
• creando directorios con con mkdir:
SINTAXIS
mkdir [OPTIONS] {DIRECTORY...}

EJEMPLOS:
[elvis@station elvis]$ ls
[elvis@station elvis]$ mkdir public_html
[elvis@station elvis]$ls
public_html
Manejando directorios
• Creando directorios con la opcion -p:
EJEMPLOS:
[elvis@station elvis] mkdir -p work/images/advertising
Manejando directorios
• Listando árboles de directorios:
EJEMPLOS:
[hogan@station hogan]$ ls –R
/etc/sysconfig/networking/
/etc/sysconfig/networking/:
devices ifcfg-lo profiles
/etc/sysconfig/networking/devices:
ifcfg-eth0
/etc/sysconfig/networking/profiles:
default netup
Manejando directorios
• Removiendo directorios vacíos:
SINTAXIS
rmdir [OPTIONS] {DIRECTORY...}

EJEMPLOS:
[hogan@station hogan]$mkdir /home/prueba
[hogan@station hogan]$ rm /home/prueba/
Manejando archivos
• Copiando árboles de directorios:
SINTAXIS
cp -R {SOURCE} {TARGET}
Manejando directorios
• Copiando árboles de directorios:
EJEMPLOS
cp -r website archive (Copia el directorio website en el
directorio archive)
• removiendo árboles de directorios:
EJEMPLOS
rm -r websi
• Examinando directorios con tree:
EJEMPLOS
tree /etc/X11/xinit/
tree -d /etc/sysconfig/
Nombres de archivos y metacarateres
 Files that start . are "hidden" files.
 The *, ?, [...], and [^...] characters can be used to
match filenames, through a process commonly
called "file globbing".
Nombres de archivos y metacarateres

• Metacaracteres
EJEMPLO
Supongamos que tenemos los siguientes
archivos:
image1.jpg image10.jpeg page1.html page3.htm script1.pl
image2.jpg image11.jpeg page2.html page40.htm
Nombres de archivos y metacarateres
• Metacaracteres

Patrón Generates the list


* Todos los archivos de la lista

*.html page1.html page2.html

page*.htm* page1.html page2.html page3.htm page40.htm

image?.* image1.jpeg image2.jpeg

[ps]* page1.html page2.html page3.htm page40.htm script1.pl

[^ps]* image1.jpeg image2.jpeg image10.jpeg image11.jpeg


Navegación por el sistema de archivos
El comando file muestra el tipo de archivo
El comando cat muestra los contenidos de un
archivo.
Los comandos more y less muestran el
contenido de un archivo realizando
paginación, una pantalla a la vez.
 Los comandos head y tail las primeras o las
últimas líneas de un archivo.
 En entorno gráfico X, nautilus puede ser
usando para examinar archivos de texto.
Navegación por el sistema de archivos
SINTAXIS:
file [OPTIONS] [FILE...]
cat [OPTIONS] [FILE...]
more [OPTIONS] [FILE...]
less [OPTIONS] [FILE...]
head [OPTIONS] [FILE...]
tail [OPTIONS] [FILE...]
Navegación por el sistema de archivos
Opciones del comando head
Switch Effect

-num, -n num Print first num lines (default is 10).

-q Suppress headers giving file names

Opciones del comando tail


Switch Effect

-num, -n num Print last num lines (default is 10).

-q Suppress headers giving file names


Editando archivos
nano es un editor de texto de línea de
comandos
 gedit es un editor de texto en modo gráfico
FIN

También podría gustarte