You are on page 1of 7

Clase 3

Contenido
1 Entendiendo el Shell de Linux ..................................................................................................................... 2
1.1 Usando el prompt del shell.................................................................................................................. 2
1.2 Usando la ventana terminal ................................................................................................................ 2
2 Inicio de sesión ............................................................................................................................................ 2
2.1 Consolas virtuales ................................................................................................................................ 2
3 Ejecutando comandos ................................................................................................................................. 3
3.1 Entendiendo la sintaxis de los comandos – opciones ......................................................................... 3
3.2 Entendiendo la sintaxis de los comandos – argumentos .................................................................... 3
3.3 Historial de comandos ......................................................................................................................... 3
4 Explorando el sistema de archivos .............................................................................................................. 4
4.1 Directorios ........................................................................................................................................... 4
4.2 Rutas .................................................................................................................................................... 5
4.3 Comandos básicos ............................................................................................................................... 5
4.4 Inodes .................................................................................................................................................. 5
4.5 mkdir .................................................................................................................................................... 5
4.6 Comandos básicos (cont.).................................................................................................................... 6
4.6.1 touch ............................................................................................................................................ 6
4.6.2 echo ............................................................................................................................................. 6
4.6.3 echo y redirección ....................................................................................................................... 6
4.6.4 cat y cp ......................................................................................................................................... 6
4.6.5 mv ................................................................................................................................................ 6
4.6.6 rm ................................................................................................................................................ 6
4.6.7 rmdir ............................................................................................................................................ 7
5 Enlaces (links) .............................................................................................................................................. 7
5.1 Hard links ............................................................................................................................................. 7
5.2 Symbolic links ...................................................................................................................................... 7
1 Entendiendo el Shell de Linux
Antes de la aparición de iconos y ventanas en las pantallas de las computadoras, los administradores escribían
comandos para interactuar con las mismas.

No importa en cuál distribución de Linux se trabaje, siempre se tendrá disponible un Shell.

El Shell que es considerado un estándar es el bash shell (Bourne Again Shell). Esto es debido a que este shell
es compatible con el de los primeros sistemas UNIX, que usaban el Bourne Shell, nombre atribuido a su
creador; Stephen Bourne.

Otros shells:

• C shell (csh)
• Korn shell (ksh)
• C shell mejorado (tcsh)

1.1 Usando el prompt del shell


El prompt por defecto de un usuario regular es: $

El prompt por defecto del usuario root es: # (hash mark)

En la mayoría de sistemas, los prompts son precedidos por el usuario, nombre del sistema y el directorio
actual.

1.2 Usando la ventana terminal


Una ventana terminal o simplemente terminal se puede abrir de la siguiente manera:

2 Inicio de sesión
Una vez terminada la instalación, se presentará la pantalla de inicio de sesión

En Linux CentOS solamente el usuario root es super-administrador del sistema, por lo que no es recomendable
ingresar con este usuario

Inicialmente vamos a iniciar con el usuario creado con su nombre y la clave definida durante el proceso de
instalación

2.1 Consolas virtuales


Los sistemas Linux son capaces de iniciar diferentes consolas virtuales, en estas se puede tener múltiples
sesiones de shell abiertas, adicionales a la sesión de interfaz gráfica.

Para cambiar entre consolas: Ctrl + Alt + F1 (o F2, F3, ... hasta F6)
La interfaz gráfica generalmente se encuentra en la consola F1

3 Ejecutando comandos
3.1 Entendiendo la sintaxis de los comandos – opciones
Generalmente, un comando acepta una o más opciones, estas opciones cambiar el comportamiento del
comando. Típicamente las opciones consisten de una sola letra precedida por el guion medio. Se puede
agrupar varias opciones o letras usando un solo guion medio.
$ ls -l -a -t
$ ls -lat

Para los dos casos se está usando las opciones -l (lista larga), -a (mostrar archivos ocultos) y -t (ordenar por
fecha)

Algunos comandos utilizan o permiten que la opción sea una palabra entera, esta palabra está precedida por
doble guion medio

3.2 Entendiendo la sintaxis de los comandos – argumentos


Ejecución de comandos sin argumentos:
$ date
Fri Oct 20 08:04:00 EST 2017

$ pwd
/home/esther

$ hostname
esther.parra

$ ls
Desktop Downloads Pictures Templates
Documents Music Public Videos

Los argumentos son datos de entrada que recibe un comando, estos se pueden ubicar justo después de una
opción o al final del comando:
$ ls /etc
Para el ejemplo anterior, el comando es ls y el argumento es /etc
En el siguiente caso, el argumento está relacionado a una opción:
$ ls --hide=Desktop

Para mostrar la fecha en un formato específico:


$ date +'%d/%m/%y'

3.3 Historial de comandos


Con las flechas hacia arriba y abajo se puede ver los comandos que fueron ejecutados (↑ y ↓)

Con el comando history podemos obtener una lista del historial de comandos
$ history

$ history 8

Para ejecutar un comando de acuerdo al id mostrado con el comando history


$ !200

Para ejecutar el comando anterior


$ !!

4 Explorando el sistema de archivos


El sistema de archivos es la estructura en la cual está almacenada toda la información referente al sistema.
Esto incluye: datos, comandos, links simbólicos, dispositivos y directorios.

Los archivos están organizados de manera jerárquica. Cada directorio contiene archivos y otros directorios

4.1 Directorios
En la Figura 1 se puede observar la jerarquía de directorios en Linux

Figura 1 Ejemplo de jerarquía de directorios Linux

/bin— Contiene los comandos de usuario comunes en Linux, tales como: ls, sort, date, etc

/boot— Contiene configuración para el arranque del sistema

/dev— Contiene archivos que representan los puntos de acceso a los dispositivos del sistema.

/etc— Contiene archivos de configuración

/home— Contiene los directorios de usuarios, excepto para el usuario root cuyo directorio se ubica en /root

/media— Contiene información para dispositivos auto montables

/lib— Contiene las librerías compartidas utilizadas por las aplicaciones que se encuentran en los directorios /bin y
/sbin

/mnt— Punto de montaje común para dispositivos externos, fue sustituido por el directorio /media

/misc— Utilizado para montar dispositivos bajo requerimiento

/proc— Contiene información de los recursos del sistema

/root— Directorio del usuario root

/sbin— Contiene comandos administrativos y procesos demonios

/tmp— Contiene archivos temporales utilizados por las aplicaciones

/usr— Contiene documentación de usuario, juegos, archivos de la interfaz gráfica, librerías y algunos otros comandos y
archivos que son necesarios durante el proceso de arranque

/var— Contiene directorios de datos usados por varias aplicaciones, como ftp, www, mysql, logs del sistema, etc.
4.2 Rutas
Un elemento del sistema de archivos puede ser referido utilizando una ruta absoluta o relativa.

Al inicio del sistema de archivos se encuentra el directorio root (no confundirse con el usuario root),
el cual se representa con un /

Si se escribe la ruta desde el /, esta es una ruta absoluta

Si se considera la ruta a partir del directorio actual, esta es una ruta relativa

El directorio .. es un directorio especial que significa directorio padre

El directorio . es un directorio especial que significa directorio actual

El directorio ~ es un directorio especial que significa el directorio del usuario

El directorio ~- representa el directorio anterior

4.3 Comandos básicos


Este comando ls por si solo nos da la lista de archivos y directorios dentro del directorio actual
$ ls

Para conocer el directorio actual


$ pwd

Comando Descripción
cd Change directory: cambia de directorio
ls -a Muestra todos los archivos en el directorio. Incluyendo archivos ocultos
ls –l Muestra una lista completa del contenido del directorio
ls -dl Solo lista información del directorio
ls -R Se listan los contenidos recursivamente
echo #SHELL Chequear que Shell se está usando

$ cd ~/Music

$ cd ../../../usr

4.4 Inodes
Cada archivo en el sistema de archivos tiene un número de índice único, este número se denomina inode

La opción –i del comando ls muestra el número de inode


$ ls -i /usr

$ ls -id /usr/local

$ ls -id /usr/local/bin

4.5 mkdir
Este comando se utiliza para crear nuevos directorios
$ cd ~

$ mkdir tic tac toe


Por defecto el comando mkdir no crea directorios padres
$ mkdir won/der/ful (error)

$ mkdir won

$ mkdir won/der

$ mkdir won/der/ful

La opción –p de mkdir crea por el usuario los directorios padres que no existan
$ mkdir –p easy/as/pie

4.6 Comandos básicos (cont.)


4.6.1 touch
El comando touch se usa para crear un archivo vacío
$ touch copyme

touch actualiza el tiempo de modificación en un archivo ya existente

4.6.2 echo
El comando echo toma su argumento y lo escribe al estándar output, por si solo el comando echo imprime
en pantalla su argumento:
$ echo “firstfile”

4.6.3 echo y redirección


El símbolo > redirecciona la salida de un comando:
$ echo “firstfile” > copyme

4.6.4 cat y cp
El comando cat muestra el contenido del archivo que se le envía como parámetro
$ cat copyme

El comando cp copia un archivo


$ cp copyme copiedme

Revisar el inode de los dos archivos

4.6.5 mv
Una de las funcionalidades del comando mv es renombrar archivos
$ mv copiedme movedme

Comprobar el inode del nuevo archivo

Otra funcionalidad del comando mv es mover un archivo de una ubicación a otra


$ mv movedme /home/won

Comprobar el inode del nuevo archivo

4.6.6 rm
El comando rm elimina directorios o archivos del sistema
$ touch arch1 arch2
$ rm arch1 arch2

Se puede especificar que sea interactivo con la opción –i

Puede ser útil especificar al sistema que siempre sea interactivo en el archivo: ~/.bashrc añadir: alias rm="rm
-i“

Para que no pida confirmación se utiliza la opción -f

4.6.7 rmdir
El comando rmdir elimina un directorio
$ mkdir mydir

$ touch mydir/file1

$ rm mydir/file1

$ rmdir mydir

Nota: Se puede remover directorios utilizando el comando rm con la opción –r

5 Enlaces (links)
Existen dos tipos de links en Linux: enlaces duros (hard links) y enlaces simbólicos (symbolic links)

5.1 Hard links


Un inode dado puede tener cualquier número de enlaces duros. El inode es persistente hasta que el último
link desaparezca
$ cd /home/won

$ touch primerlink

$ ln primerlink segundolink

Comprobar los números de inode

Solamente se puede hacer hard links a archivos

No se puede realizar hard links entre sistemas de archivos

5.2 Symbolic links


Son un tipo de archivo especial donde el link se refiere a otro archivo por su nombre, mas no directamente a
su inode

Si el archivo al que está apuntando el link se elimina, el link quedara no utilizable


$ ln –s segundolink tercerlink

Los links simbólicos son más flexibles, se pueden crear links simbólicos a directorios

You might also like