Guía Básica de Comandos Linux
Guía Básica de Comandos Linux
2
Actividad para Ubuntu
Sudo vi /etc/default/grub
Sudo update-grub
3
Sistema de archivos
•Existen tres tipos principales de archivos
• Archivos normales: contienen información.
• Típicamente texto.
• Directorios: contienen un lista de punteros a otros archivos.
• Permiten al usuario percibir un nivel de organización en los archivos normales del sistema
• Cada usuario tiene un directorio llamado directorio personal (home directory) en el que entra
automáticamente cuando inicia la sesión.
• El directorio en el que se trabaja se llama directorio actual o en curso o de trabajo
• Archivos especiales: son generalmente punteros a los dispositivos conectados al
sistema
• Para cada dispositivo de E/S conectado existe al menos un dispositivo especial, normalmente
almacenado en el directorio dev
4
5
Sistema de archivos
•La estructura de archivos es jerárquica siendo root (/) o raíz el padre de
todos ellos.
•Los nombres de archivos:
• Distinguen mayúsculas de minúsculas.
• Pueden contener cualquier carácter salvo / y \0.
• No es recomendable usar caracteres interpretados por la shell
($,”,’,&,#,(,),*,[,],{,}, etc)
• No puede empezar por –
6
Consolas virtuales
Linux permite acceder a consolas virtuales
◦ Permiten tener abierta más de una sesión de trabajo activa a la vez.
◦ Se puede trabajar con varios usuarios de forma simultánea.
◦ Para cambiar entre ellas Alt+Fnº
7
Comandos sobre directorios
pwd
◦ pwd muestra la ruta del directorio actual
cd [ruta][directorio]
◦ cd nos lleva al directorio personal del usuario
◦ cd [ruta][nombre directorio] accede al directorio situado en la ruta
especificada.
Rutas relativas
Rutas absolutas cd etc
cd /etc cd home
cd /home cd asir
cd /home/asir1 cd home/asir1
8
Comandos sobre directorios
•ls [parámetros][ruta][directorio]
• ls lista el directorio actual
• ls [ruta][directorio] lista el contenido del directorio situado en la ruta especificada
• Parámetros
• -l nos da información detallada sobre los archivos permisos, nº enlaces, propietario, grupo,
tamaño, fecha, nombre
• -a nos muestra todos los archivos incluso los ocultos
• -h muestra los tamaños de forma legible (p.e. 1K 234M 2G)
• -i muestra el número de nodo-i de cada fichero
• -m rellena el ancho con una lista de entradas separadas por comas
• -n --numeric-uid-gid como -l, pero muestra los UIDs y GIDs numéricos
• -R --recursive muestra los subdirectorios recursivamente
• -S ordena los ficheros por tamaño
• -t ordena por la fecha de modificación
• -r --reverse invierte el orden, en su caso
9
Actividad
•Accede con el usuario camino/camino
• ¿En que directorio te encuentras?
•Indica qué hacen los siguientes comandos
• cd ..
• cd /
• ls -lrS
• cd etc. ¿Sabes qué tipo de ruta estás usando?
• ls
• cd /home/camino. ¿Sabes qué tipo de ruta estas usando?
• ls –la
•Busca en la ayuda y indica qué comando teclearías para que te muestre el
listado de archivos como en la siguiente imagen
10
Actividad (solución)
•Accede con el usuario asir1/asir1
• ¿En que directorio te encuentras? pwd
•Indica qué hacen los siguientes comandos
• cd .. vuelve al padre
• cd / va a la raíz
• ls –lrS lista detalladamente el directorio actual ordenado inversamente por tamaño
• cd etc ¿Sabes qué tipo de ruta estás usando? se sitúa en el directorio etc si nos encontramos en la
raíz. La ruta es relativa
• ls lista el contenido del directorio actual
• cd /home/asir1. ¿Sabes qué tipo de ruta estas usando? se sitúa en el directorio personal del usuario.
La ruta es absoluta
• ls –la lista detallada del directorio actual mostrando también los ocultos.
•Busca en la ayuda y indica qué comando teclearías para que te muestre el listado de
archivos como en la siguiente imagen ls -F
11
3.2. Comandos sobre
directorios
•mkdir [opciones][ruta][directorio]
• mkdir [nombre directorio] crea un directorio en el directorio actual
• mkdir –p [ruta][nombre directorio] si no existen los directorios
intermedios, se creen también
12
Actividad
•Crea el siguiente árbol de directorios creando la parte roja con
referencias absolutas y la azul con referencias relativas
13
3.2. Comandos de ficheros
touch archivo
◦ Si archivo no existe aún, lo crea con tamaño 0 y como propiedad de nuestro
usuario.
◦ Si archivo ya existe, actualiza la fecha de modificación
cat nombre_fichero
◦ visualiza el contenido de un fichero rm tema1
◦ cat > nombre_fichero rm fundamentos
cat >tema1
Contenido de tema 1
ctrl+C
cat tema1
14
3.2. Comandos de ficheros
•cp origen [origen2] destino
• Si destino es un fichero copia el origen1 con el nombre del destino.
• Si destino es un directorio copia los ficheros origen en el directorio de destino
cp tema1 tema1R
ls
cat tema1R
cp tema1 iso
ls iso
15
C6
Actividad
•Indica qué hacen cada uno de estos comandos
• touch Fichero1
• cat > Fichero2
• cat Fichero2
• cat Fichero1 Fichero2 > Fichero3
• cp Fichero3 Fichero4
• mv Fichero4 FicheroFinal
• rm Fichero3
• rm Fichero*
16
Diapositiva 16
C6 Practica1
Camino; 19/04/2011
Actividad (solución)
•Indica qué hacen cada uno de estos comandos
•touch Fichero1
crea un fichero llamado Fichero1 sin contenido
•cat > Fichero2
crea un fichero llamado Fichero2 con el contenido que escribas hasta pulsar ctrl+c.
Redirecciona la salida estándar del comando.
•cat Fichero2
muestra el contenido de Fichero 2
•cat Fichero1 Fichero2 > Fichero3
concatena el contenido del Fichero1 y Fichero2 en otro llamado fichero3
•cp Fichero3 Fichero4
copia el Fichero3 con el nombre Fichero4
•mv Fichero4 FicheroFinal
renombra el Fichero4 como FicheroFinal
•rm Fichero3
borra Fichero3
•rm Fichero*
borra todos los archivos cuyo nombre comienza por Fichero
17
El editor vi
•Es un editor de texto que trabaja en dos modos:
• Comando: desde el que se pueden ejecutar comandos para borrar, copiar, pegar
texto, etc.
• Inserción: desde el que se puede insertar texto.
•Para pasar de modo Inserción a modo comando hay que pulsar la tecla Esc
•Para pasar de modo comando a modo inserción existen distintos modos.
• i,I inserta antes del cursor y de la línea respectivamente.
• a, A inserta después del cursor y de la línea respectivamente.
• o,0 añade una línea por debajo o por encima
• r,R reemplaza un carácter o varios.
18
El editor vi
•Para manipular texto en modo comando
• x,X borra un carácter a la derecha o izquierda del cursor.
• dd borra la línea en la que se encuentra el cursor
• cw cambia la palabra y nos deja en modo inserción.
• [n] Y copia en el buffer el número de líneas seleccionadas
• P pega en la posición en la que se encuentra el cursor el contenido del
buffer.
•Otros comandos
• u deshace la última acción
• :<numero> situarse en la línea indicada
• :f indica el número de línea
• . repite la última acción
19
El editor vi
C7
20
Diapositiva 20
C7 Practica 2 y tres
Camino; 19/04/2011
Visualización de ficheros
•more [opciones] nombre_fichero
• Para desplazarnos por el fichero:
Avanzar página: barra espaciadora
Avanzar una línea: retorno de carro
Salir: q
• opciones
-d nos muestra esta información al final del texto
-c borra primero la pantalla antes de escribir la siguiente
• Este comando tiene un pequeño inconveniente solo se puede desplazar hacia delante
•less nombre_fichero
• permite paginar la salida de otros comandos o el contenido de algún archivo
• permite movernos hacia abajo o hacia arriba (PGUp, PGDN, home, etc)
• Permite buscar cadenas dentro del archivo:
• /cadena a buscar
• n buscar siguiente ocurrencia
• q para salir
21
Visualización de ficheros
•sort [opciones]... [nombre_fichero]...
• Muestra la concatenación ordenada de todos los FICHERO(s) en la salida estándar.
• Opciones :
-r invierte el resultado de las comparaciones
-c comprueba si la entrada está ordenada o no
-o FICHERO escribe el resultado en FICHERO, en lugar de la salida estándar
-u ordena el fichero y no muestra líneas duplicadas
- km salta m campos hasta el comienzo de la clave
-n compara de acuerdo con el valor numérico de la cadena
-tx define el carácter separador de campos como x en lugar de un espacio en blanco
sort –t: -k3 –n /etc/passwd
22
Visualización de ficheros
wc [opciones]... [nombre_fichero]...
◦ Cuenta las líneas, palabras y caracteres dentro de un fichero de texto
◦ Opciones :
-l muestra el número de líneas
-m muestra el número de caracteres
-w muestra el número de palabras
23
C8
Visualización de ficheros
•tail [opciones]... [nombre_fichero]...
• Muestra las últimas 10 líneas de cada FICHERO en la salida estándar.
• Opciones :
-nc muestra los últimos n bytes
-f
24
Diapositiva 24
C8 Practica 4
Camino; 19/04/2011
C13
Visualización de ficheros
•uniq [opción]... [entrada [salida]]
• Descarta todas las líneas sucesivas idénticas, menos una.
• Opciones :
-c precede a las líneas con el número de ocurrencias
-d muestra sólo las líneas duplicadas
-u muestra las líneas que solo aparecen una vez
25
Diapositiva 25
C13 Practica 4
Camino; 19/04/2011
C10
Visualización de ficheros
•find [ruta-de-acceso...] [expresión]
• Permite encontrar archivos, utilizando diversas técnicas.
• ruta-de-acceso el comando buscará todos los archivos y directorios que se encuentren a partir
de esa ruta
• opciones
-name “nombre” busca por nombre
-size tamaño busca por tamaño
-empty busca archivos vacios
•df fichero
• Muestra la cantidad de espacio libre que queda en el dispositivo donde se encuentra un
fichero
26
Diapositiva 26
C10 Practica 5
Camino; 19/04/2011
Actividad
Muestra el último usuario que se ha creado en el
sistema
Busca el fichero group por todo el disco
Mira el contenido del fichero group
¿Qué hace el comando du –k /home/camino?
27
Actividad (solución)
•Muestra el último usuario que se ha creado en el sistema
tail –1 /etc/passwd
•Busca el fichero group por todo el disco
find / -name group
find / -name group 2>/dev/null
•Mira el contenido del fichero group
cat /etc/group
•¿Qué hace el comando du –k /home/asir1?
Muestra el espacio que ocupa cada uno de los ficheros y directorios que hay
en el directorio personal del usuario asir1
28
Otras órdenes
•echo [opciones] mensaje
• Permite visualizar por pantalla cadena de caracteres, valores de variables y
resultados de ejecución de ordenes
•Clear
• Limpia la pantalla
•cal [mes [año]]
• Muestra el calendario del mes y/o año seleccionado
•time comando
• Muestra el tiempo de CPU y tiempo real transcurrido en la ejecución de una
orden
• real es el tiempo real de espera de un proceso >= user+ssy
• user es el tiempo en modo usuario
• sys es el tiempo en modo proceso
29
C11
Otras órdenes
•date
• Permite visualizar por pantalla cadena de caracteres, valores de variables y
resultados de ejecución de ordenes
•ln [-s] origen enlace
• Los enlaces le permiten dar a un único fichero múltiples nombres.
• Los ficheros son identificados por el sistema por su número de inodo, el cual
es el único identificador del fichero para el sistema operativo.
• Un directorio es una lista de números de inodo con sus correspondientes
nombres de fichero.
• Cada nombre de fichero en un directorio es un enlace a un inodo particular.
• Un enlace duro crea directamente el enlace al inodo
• Un enlace simbólico permite dar a un fichero el nombre de otro, pero no
enlaza el fichero con el inodo.
30
Diapositiva 30
C11 Practica 6
Camino; 19/04/2011
Otras órdenes
•grep [opciones] patron archivos
• Localiza cadenas de texto dentro de ficheros.
• Lleva dos argumentos: el primero es el patrón que se ha de buscar, y el
segundo es una lista de nombres de archivos en los que se va a buscar el
patrón.
• Opciones
–i que ignora la diferencia entre mayúsculas y minúsculas,
–n donde cada línea viene precedida del número de línea
–v que sirve para mostrar las líneas que no tienen el patrón indicado
• El patrón de búsqueda dentro del fichero puede utilizar los siguientes
metacaracteres (o comodines):
• punto . representa cualquier carácter en esa posición
• asterisco * repetición del carácter anterior
• Ctrl ^ comienzo de línea
• $ final de línea
31
Actividad
•Crea un fichero llamado verduras con el siguiente contenido
espinacas
patatas
tomates
judías
32
C12
Actividad (solución)
•¿Qué hacen los siguientes comandos?
• tr –d “pt” < verduras
muestra el fichero verduras sin ps ni ts
• cat frutas verduras | sed “s/espinacas/lechugas/”
muestra el contenido de fruta y verduras concatenados sustituyendo espinacas por lechugas
• cat frutas verduras | sed “s/espinacas/lechugas/” > lista_compra
crea un fichero llamado lista_compra con el contenido de fruta y verduras concatenados
sustituyendo espinacas por lechugas
• diff verduras lista_compra
mostraría la siguiente información:
< espinacas
> naranjas
> manzanas
> peras
> plátanos
> lechugas
- grep ^n lista_compra
muestra las líneas que comienzan por n
33
Diapositiva 33
C12 Practica 7
Camino; 20/04/2011
Redireccionar la E/S
UNIX dispone de la capacidad de cambiar los archivos estándar de
entrada (teclado), así como los de salida (terminal) por otros archivos
diferentes.
◦ > redireccionamiento de salida (para crear, destructivo).
◦ >> redireccionamiento de salida no destructivo
◦ < redireccionamiento de entrada.
◦ 2> redireccionamiento de mensajes de error (crea el fichero).
34
Gestión de seguridad
• Existen principalmente dos tipos de cuentas de usuarios:
• Las cuentas de usuarios ordinarios
• Root es el encargado de realizar todas las tareas de administración, teniendo acceso a todo el sistema.
• Identificador de usuario
35
Gestión de seguridad
• Identificador de grupo:
• El group ID o GID es el identificador del grupo al que pertenece el usuario por defecto.
• Cada usuario pertenece a uno o más grupos definidos por el administrador del sistema
• Contraseña:
• la contraseña o clave del usuario se almacena de forma encriptada.
• Nombre completo:
• El nombre real o completo del usuario se almacena junto con el nombre de usuario.
• Directorio de trabajo:
• Cuando un usuario accede al sistema automáticamente entra en su directorio HOME..
• Intérprete de comandos:
• cada usuario tiene asociado un intérprete de comandos con el que se conectará al sistema .
36
Gestión de seguridad
•who [-yhq]
• Permite ver los usuarios que están utilizando el sistema, incluyendo la fecha en la
que se conectaron al sistema y el Terminal desde donde están conectados.
• Si están conectados de manera remota, aparece la dirección IP desde la que se esta
conectado.
• Opciones
-u nos muestra el PID del proceso que ha iniciado la sesión
-H muestra el nombre de todas las columnas que nos proporciona la orden
-q muestra la lista de todos los usuarios separados por espacios y el nº total de usuarios
conectados
•w -[hus] [usuario]
• muestra información sobre la actividad de los usuarios conectados al sistema.
• Opciones
-h no visualiza la cabecera
-s formato corto (no visualiza los tiempo de CPU)
37
Gestión de seguridad
•passwd
• Sirve para cambiar la password de un usuario
•su [username]
• sirve para que usuario adopte la identidad de otro usuario
•chfn nombre_usuario
• cambia el nombre real del usuario y sus demás datos personales
•last [–R | –num | -d]
• Muestra información sobre los últimos logins de todos los usuarios del
sistema
• Opciones
-R suprime la información de la máquina desde la que se establecio la conexión
-num solo visualiza las últimas num entradas de los logins más recientes
-dsolo visualiza las conexiones que se han establecido desde una máquina remota
38
Administración de usuarios
•useradd nombre_usuario [opciones]
• Permite añadir usuarios
• Opciones
-u identificador del usuario
-g grupo inicial del usuario
-d directorio personal
-s intérprete de comandos (por defecto, /bin/sh)
-G grupos a los que pertenece el usuario
-m crea el directorio personal
Los usuarios pueden pertenecer al grupo que ya existe por defecto, o bien a
nuevos grupos que creemos en el sistema.
El fichero /etc/group almacena información sobre los grupos:
nombre_grupo: clave: GID: miembros
40
Administración de grupos
•groups [user]
• Si no se especifica un usuario, la orden nos muestra el grupo al que pertenecemos.
• Si se especifica un usuario, la orden nos muestra el grupo al que pertenece el
usuario
•groupadd nombre_grupo [opciones]
• Opciones
-g asigna un identificador de grupo al grupo que estamos creando
•groupmod nombre_grupo
• Modifica el grupo de usuarios
•groupdel nombre_grupo
• Borra el grupo de usuarios indicado
•id [usuario]
• muestra información del usuario y grupos a los que pertenece
41
Permisos
•El UNIX es un sistema multiusuario, para proteger ficheros de usuarios
particulares de la manipulación por parte de otros, UNIX proporciona un
mecanismo conocido como permisos de ficheros.
•Los permisos de ficheros están divididos en tres tipos:
• lectura (r): permite a un usuario leer el contenido del fichero
• escritura (w): Permite modificar o borrar el fichero
• ejecución (x): el intérprete de comandos entiende que ese fichero es un programa
y puede ejecutarlo
•Los permisos de directorios están divididos en tres tipos:
• lectura (r): permite listar el contenido del directorio, pero no permite acceder al
mismo.
• escritura (w): en este caso es posible crear ficheros y subdirectorios en el interior
del directorio, y también se puede borrar. El propietario de un directorio siempre
puede borrar los archivos contenidos en él, aunque sean de otro usuario.
• ejecución (x): aplicado a un directorio, permite acceder a él.
42
Permisos
•Cada uno de esos permisos puede asignarse a tres clases de usuarios:
• el propietario del fichero
• el grupo al que pertenece el fichero
• el resto de usuarios del sistema
•El comando ls–l nos permite ver un listado largo de ficheros y directorios, en el que
aparecen los permisos asociados.
•Los permisos se muestran en un campo de 10 caracteres.
• El primer carácter no es exactamente un permiso, sino que indica el tipo de fichero (el guión
indica un fichero normal).
• El resto de permisos se dividen en tres grupos de tres caracteres cada uno.
• 1º indica los permisos que el propietario del fichero tiene sobre él
• 2º y 3º indican permisos para el grupo
y el resto de usuarios.
• Cuando se deniega alguno de los permisos,
su carácter correspondiente se sustituye por
un guión.
43
Permisos
•chmod tipo_usuario símbolo tipo_permiso fichero
• Donde tipo_usuario puede valer:
u (user) que es el propietario del fichero
g (group)que indica el grupo Si tenemos un fichero con los
o (other) resto de usuarios siguientes permisos:
a (all) todos los usuarios –rw–r––r––
• Símbolo puede ser: Queremos quitar los permisos de
+ añade permisos lectura (-r) a todos los usuarios
menos al propietario:
- quita permisos
= asigna justo los permisos especificados
chmod og-r nombre_fichero
–rw–––––––
• Y tipo_permiso puede valer:
r permiso de lectura
w permiso de escritura
x permiso de ejecución
• Con la opción –R se cambian recursivamente los permisos de directorios y archivos.
44
Permisos
•Ejemplos
• Dado un fichero llamado programa con los permisos –rw–r– – r– – y
queremos que el shell lo identifique como ejecutable, dando permisos de
ejecución a todos los usuarios, podemos hacer: chmod a+x programa
• Dado un fichero llamado fichero sin ningún permiso y queremos darle al
propietario y grupo permiso de lectura y escritura y al resto de usuarios sólo
de lectura, podemos hacer: chmod a+r,ug+w fichero
• Tenemos un directorio llamado directorio que es accesible por su propietario
y por el grupo, pero no por el resto de usuarios, es decir, drwxr–x– – – .
Queremos hacerlo accesible a todos los usuarios del sistema. Podemos
copiar los permisos del grupo al resto de usuarios: chmod o=g directorio
45
Permisos
•Existe otra forma de cambiar los permisos que se asignan a los ficheros. Se basa en el uso
de un código octal para identificar cada uno de los tres tipos de permisos (lectura,
escritura y ejecución).
•Se trata de formar un número de tres cifras en el que la primera cifra indica los permisos
del propietario, la segunda los del grupo, y la tercera los del resto de usuarios del sistema.
• Cada cifra se forma a su vez sumando los números correspondientes a los permisos que se quieran
dar.
46
Máscara
•Cuando se crea un archivo o un directorio nuevo por defecto se activan los
siguientes permisos:
• Archivo rw−rw−rw− en código octal corresponde al 444
• Directorio rwxrwxrwx en código octal corresponde al 777
47
Máscara
La tabla de verdad de esta función es:
48
Permisos
•chown nombre_usuario nombre_fichero
• Modifica el propietario de un fichero
•chgrp nombre_grupo nombre_fichero
• Para asignar o cambiar un grupo a un fichero
•Consideraciones
• El root tiene todos los permisos y derechos de acceso a cualquier archivo o
directorio del sistema.
• Los permisos de acceso se suelen configurar de forma que se tenga un control
total sobre los ficheros propios, menor sobre los del resto de miembros del
grupo, muy limitado sobre otros archivos de usuarios, y nulo o mínimo sobre los
archivos del sistema
• Los permisos son asignados o modificados exclusivamente por el propietario o el
administrador.
• Aunque eliminemos todos nuestros derechos sobre un archivo del que somos
propietarios, podemos volver a recuperarlos con la orden chmod. El único caso
en que perdemos definitivamente el control es al transferir su propiedad a otro
usuario con la orden chown
49
Permisos
•Consideraciones
• Para ejecutar un archivo es preciso poseer permisos de ejecución, no sólo sobre
dicho archivo, sino sobre todos los directorios de la ruta especificada para
acceder a él.
• Al transferir la propiedad de un archivo a otro usuario, conviene previamente
mover o copiar dicho archivo a su directorio de trabajo u otro donde el nuevo
propietario tenga los permisos pertinentes.
• Un usuario puede pertenecer a varios grupos, pero en cada momento sólo tiene
activada su pertenencia a uno de ellos.
• El concepto de grupo asociado a un fichero se refiere a los miembros del grupo,
excluido el propietario, que puede incluso no pertenecer al grupo. Análogamente,
cuando hablamos del resto de usuarios, excluimos al propietario y a los miembros
del grupo asociado al archivo.
• Al crear un archivo, el propietario asignado es el usuario que lo crea, y el grupo,
su grupo activo.
• Si un usuario pretende cambiar su grupo activo por otro al que no pertenece,
UNIX no le deja.
50
Procesos
Una tarea puede ser ejecutada de dos modos diferentes:
◦ Foreground o modo inmediato:
◦ Procesos interactivos con el usuario en el terminal.
◦ No más de un programa ejecutándose en este modo.
◦ Background o forma desentendida:
◦ Al ejecutarlos el shell devuelve el prompt inmediatamente permitiendo seguir trabajando en el terminal
mientras se ejecuta.
◦ Se lanza un trabajo en background escribiendo & al final del comando.
◦ El sistema visualiza en pantalla el PID y controla su ejecución sin requerir la presencia del usuario.
◦ Para procesos que son muy largos que no generan salida a pantalla.
◦ Si generan salida por pantalla, sus mensajes interferirán en el trabajo que se esté realizando en primer
plano (foreground).
51
Procesos
•jobs
• Muestra una lista de las tareas que se están ejecutando en segundo plano
•bg [%<numero>]
• Para interrumpir una tarea lanzada en foreground: CTRL+Z
• Reanuda una tarea interrumpida y ponerla en segundo plano
•fg [%<numero>]
• Quita una tarea del segundo plano y la trae a primer plano
•nice [-n]orden
• Permite ejecutar un programa con una prioridad distinta de la normal.
Incrementando la prioridad de un proceso, este se ejecutará más rápidamente, a
costa de que el resto se vean perjudicados.
• Solo el administrador del sistema puede aumentar la prioridad de un proceso
nice -12 who
52
Procesos
•ps [-efl]
• Informa acerca de los procesos que en ese momento se están ejecutando en el
sistema
• Si no le pasamos ninguna opción, solo ofrece un pequeño informe de los
procesos asociados a nuestro terminal
• Opciones
-e Informa de todos los procesos que hay en el sistema.
-f Proporciona una información más completa de cada proceso.
-l Proporciona toda la información de cada proceso:
54
Montar un sistema de ficheros
Lo que hemos visto para cd-rom, también es válido para los sistemas de
ficheros del disco duro.
El sistema monta automáticamente los sistemas de ficheros del disco duro
en tiempo de arranque.
En general, no se deben montar o desmontar sistemas de ficheros a mano.
Los sistemas de ficheros se desmontan con los comandos shutdown o halt
antes de cerrar el sistema.
Si sólo tenemos un sistema de ficheros raíz, todos los ficheros se montan en
el directorio raíz /.
Para montar los sistemas de ficheros de nuestro ordenador cuando
arrancamos, se saca la información del fichero /etc/fstab.
55
Actividad
Monta un CD en al máquina virtual
Investiga cómo se monta y desmonta una memoria usb.
56
Comprimir y empaquetar
•tar [opciones] [fichero1][fichero2]...[ficheroN]
• Sirve para para empaquetar o desempaquetar ficheros
• Opciones
-c Crea un nuevo archivo tar.
-v mostrará por pantalla las operaciones que se realizan en cada archivo, sin esta opción ejecutará la
acción en pantalla no se verá el proceso.
-x Extrae los archivos
-t Muestra el contenido del archivo tar.
-p Mantiene los permisos originales de los archivos.
-f junto con -c, usa el nombre del archivo especificado para la creación del archivo tar. Junto con -x,
retira del archivo el archivo específico.
-z Comprime el archivo tar con gzip.
-j Comprime el archivo tar con bzip2.
57
Comprimir y empaquetar
•Para poder empaquetar y comprimir se usa el siguiente comando :
• $ tar czvf archivo.tar.gz /etc
•Si queremos descomprimir igual que en la línea que desempaquetamos,
solo que ahora cambiamos la c por la x de extracción :
• $tar xzvf archivo.tar.gz
58
Comprimir y empaquetar
•gzip [opciones] nombre
• herramienta especializada en la compresión y descompresión.
• Normalmente, el fichero a comprimir se reemplaza por otro con la
extensión.gz, manteniéndose los mismos permisosy propietarios.
• Opciones
-1 a -9 : especifica el grado de la compresión (-1 menor y más rápida).
-d para descomprimir el fichero
• gzip -d es equivalente al comando gunzip :
$ gzip -9 archivo.tar
El resultado será archivo.tar.gz.
Para descomprimir
$ gzip -d archivo.tar.gz
59
Variables de entorno
•Una variable de entorno simplemente es un nombre asociado a una cadena de
caracteres.
•Algunas variables son útiles para no tener que escribir muchas opciones al ejecutar
un programa y otras las utiliza el propio shell (PATH, PS1,etc).
•Algunos ejemplos de variables de entorno son:
• $USER nombre del usuario
• $HOME ruta del usuario por defecto
• $SHELL shell usado por el usuario
• $PATH ruta donde buscará los ejecutables
• $PS1 indicador de líneas de comandos
•Comandos relacionados con las variables de entorno
• env visualiza las variable de entorno
• set Muestra variables locales a la shell y de entorno
• export [variable] transporta variables de shell al área de entorno
• unset [variable] elimina variables locales o asigna NULL
60
Variable de entorno PS1
PS1 define la apariencia del prompt primario
PS2 define la apariencia del prompt secundario (cuando necesita más datos
de entrada para completar un comando ).
◦ Se pude modificar estas cadenas de prompt insertando ciertos caracteres
especiales escapados mediante contra barra que se decodifican de la manera
siguiente:
\d la fecha en formato "día mes día" (p.e., "Tue May 26") \a caracter de campana ASCII(07)
\\t la hora actual en formato 24-horas HH:MM:SS e caracter de escape ASCII(033)
\T la hora actual en formato 12-horas HH:MM:SS \h el nombre del host hasta el primer `.'
\@ la hora actual en formato 12-horas am/pm \H el nombre del host
\W el nombre base del directorio actual de trabajo \n caracter de nueva línea
\! el número del comando actual en el histórico \r retorno de carro
\# el número de comando del comando actual \s el nombre del shell
\$ si el UID efectivo es 0, una #, sino, un $ \u el nombre de usuario del usuario
\nnn el caracter correspondiente al número octal nnn actual
\\ una contrabarra \v la versión del <tt/bash/ (p.e., 2.0)
\w el directorio actual de trabajo
61
Variable de entorno PATH
•La variable de entono PATH contiene una lista con los directorios en los
que el shell busca el comando que se escribe desde el teclado.
•La búsqueda se hace en el orden en que están los directorios en la
variable PATH.
•Para ver el contenido de la variable podemos hacer:
echo $PATH
env | grep PATH
•Para añadir un directorio a la variable de entorno PATH para la sesión
activa.
Si desea añadir por ejemplo /home/user/mes_prog a la variable PATH, en el
shell escriba
PATH=$PATH:/home/user/mis_pro
62