Sesión 1
El intérprete de
comandos
Félix Villanueva
Escuela Superior de Informática
Contenido
●
Introducción
●
Comandos básicos
●Configuración
Introducción
●
El intérprete de comandos (Shell)
proporciona una interfaz entre el usuario
y el S.O.
●
Ejecuta comandos
●
Permite programar secuencias de comandos
(scripts)
●
El más utilizado en sistemas GNU es
bash
●
Para ejecutar el comando sólo debemos
¿Por qué?
●
No siempre tenemos un entorno X
●
bash disponible en muchos entornos UNIX,
distribuciones GNU/Linux, etc.
●
Intuitivamente aprendes a manejar otros shell
●
Grandes expertos en informática usan la
consola
●
Los
scripts
constituyen un auténtico
lenguaje de programación ya que agrupan
comandos encadenando sus acciones
Introducción
●
Existen numerosos intérpretes de
comandos:
Introducción
●
En modo texto representa la interfaz
mas productiva de administración del
S.O.
●
Los comandos son órdenes al S.O.
●
Pueden ir acompañados de argumentos que
modifican el comportamiento del comando.
●
Existen argumentos habilitados por defecto
●
También permiten expresar los ficheros sobre
Introducción
Comando
Argumento
Argumento extendido
Concatenación de argumentos
Prompt (configurable)
Introducción
●
La shell facilita la escritura de
comandos
●
Es posible completar el nombre de un
fichero a partir de unas cuantas letras
(pulsando «Tab»)
●
Si el prefijo es ambiguo, un segundo «Tab»
mostrará la lista de posibilidades
Bash-completions
●
Permite a la shell «adivinar» cosas
como:
●
Objetivos de un Makefile
●
Destino de una conexión ssh
●
Subcomandos de CVS o subversion
●Filtrado de ficheros por aplicación:
Productividad
La consola y los comandos constituyen una
herramienta más productiva que las
interfaces gráficas para muchas de las
tareas que habitualmente realizamos.
Histórico
●
La shell mantiene el histórico de los
comandos ejecutados
●
Cursores Arriba y Abajo permite acceder al
historial
●
Enter ejecuta el comando seleccionado
●
Los comandos pueden ser reeditados
antes de ser ejecutados
●
Ctrl+R permite recuperar un comando
Ficheros
●
La información se organiza en
ficheros
●Los ficheros se agrupan en
directorios
●
El nivel superior de la jerarquía es el directorio
raíz: /
●
La ruta (path) hasta un fichero lo identifica de
forma única:
●
/home/fernando/mi_fichero.txt
●
Cada usuario dispone de un trabajo (home),
generalmente: /home/usuario
Rutas
●
La ruta absoluta comienza en el directorio
raíz
●
E.j. /etc/hostname
●
Rutas relativas:
●
. : directorio actual
●..: directorio superior
●
~: home del usuario (Alt Gr + 4)
●
Nombre
●
Fichero del directorio actual: foot=./foot
man
●
El comando más importante
●
Proporciona ayuda sobre cualquier
comando, función o utilidad
●
¿Quieres saber mas? Ejecuta
man man
●
Busca en un manual dividido en
secciones.
●
Se puede buscar en secciones específicas.
man
●
1 Llamadas al sistema(funciones núcleo)
●
2 Llamadas a funciones de bibliotecas del sistema
●3 Ficheros especiales (/dev)
●
4 Formatos de ficheros
●5 Juegos
●
6 Paquetes de macros (man)
●7 Órdenes de administración
●8 Rutinas del núcleo
ls
●
Muestra el contenido de un directorio
●
Opciones
●
-a : muestra todos los ficheros
●-l : muestra permisos, tamaño, ..
●-F: Identifica tipo de ficheros
●
-R: ls recursivo
●
ls admite varios modificadores juntos
mkdir
●
Crear directorio: mkdir <directorio>
●Admite rutas absolutas y relativas
●
mkdir /home/felix/ejemplo
●mkdir ~/ejemplo
cp
●
Comando utilizado para copiar ficheros
●
cp [opciones] fichero directorio_destino
●
Opciones:
●
-i: Pregunta antes de sobreescribir
●-f: fuerza a sobreescribir
Configuración
●
Podemos configurar la shell para
establecer opciones, activar y
desactivar el bash_completion, etc.
●
Ejemplo:
●
alias ls='ls -l'
●
Cada vez que ejecutemos ls en el shell, se
ejecutará ls -l
●
Podemos definir nuestros propios comandos
●alias myhome='cd ~'
Configuración
●
Los archivos de configuración de bash son:
●
/etc/profile
●
Se suelen configurarse las variables de bash y que son
generales al sistema (se utiliza por otras shell)
●
/etc/bash.bashrc
●
Definiciones globales, se lee al iniciar una shell bash.
●
.bashrc
●
En cada home de usuario, definiciones particulares de cada
usuario.
●
.bash_history
Configuración
●
El .bashrc se lee cada vez que
iniciamos una shell
●
Se ejecutan los comandos contemplados en él.
●Nos permite personalizar nuestra consola
●
Definir variables de entorno
●Definir funciones
Directorios
●
Vamos a practicar con lo visto en esta
sesión.
●
Crea esta estructura de directorio
/home/usuario
ejemplo
ave
mamífero
Con ruta relativa
Con ruta absoluta
Con ruta absoluta
Alias
●
Ejecuta ls del directorio
ejemplo
●
Con ruta relativa y absoluta
●
Define un alias para ver el tamaño de
los archivos cuando ejecutamos ls
●
Ejecuta ls del directorio
ejemplo
●Sal de la consola (exit)
●
Ejecuta ls del directorio
ejemplo
●
Con ruta relativa y absoluta
Comandos
●
Ejecuta las siguientes acciones:
●
Copia un archivo al directorio
ave
●
Lista el tamaño de ese archivo desde tu home sin
especificar ninguna ruta
●
Copia el archivo al directorio
mamifero
●
Define un alias llamado
copio
que copie el archivo
al directorio
pez
●
Ejecuta el comando
copio
●