








Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Aprenda a manejar archivos y directorios, redireccionar la entrada y salida de ordenes, crear y ejecutar scripts bash y realizar operaciones básicas con archivos de texto usando esta guía por línea a lía de las ordenes básicas de unix.
Tipo: Ejercicios
1 / 14
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!









ls [-option] [file] Muestra los archivos contenidos en el directorio que se especifica
-l Lista en formato largo (r lectura, w escritura, x ejecución, - no permiso) Van agrupados los permisos de 3 en 3: usuario, grupo, otros
-a Lista los archivos del directorio actual, incluidos aquellos cuyo nombre comienza con un punto, “.”
-c Lista en formato multicolumna
-R Lista subdirectorios recursivamente y el directorio actual
-r Lista en orden inverso
-t Lista conforme a la fecha de modificación de los archivos
cd Cambia de directorio. Las abreviaciones. hace referencia al directorio actual y .. al directorio padre.
pwd Imprime el camino absoluto del directorio actual
mkdir directorio Crea un directorio con el nombre que le das
rmdir directorio Borra un directorio existente (tiene que estar vacío)
cat Muestra el contenido de un archivo o varios Concatena archivos Copia un archivo de texto Muestra los caracteres invisibles de control
cp [archivo1] [archivo2] Copia el archivo1 en el archivo2, si no existe archivo2 lo crea
mv [fuente] [destino] Mover de lugar un archivo o directorio y renombrar archivos
file [archivo(s)] Muestra el tipo de archivo dado como argumento
rm [directorio_archivos] Borra archivos y directorio con contenido
touch [archivo(s)] Modifica la hora y fecha del archivo, si no existen los crea con la fecha actual del sistema
clear Borra el contenido del terminal
tail [-lineas] [archivo(s)] Muestra la parte final del contenido de un archivo, por defecto muestra 10 líneas
head [-lineas] [archivos] Muestra la parte inicial del contenido de un archivo, por defecto muestra 10 líneas
sort [archivo(s)] Ordena, según un criterio, el contenido de los archivos
? Sustituye un caracter
[ ] Se usa para designar el primer y el último carácter de un rango [ - ] para separarlos, se usa un guión
{ } Sustituyen conjuntos de palabras separadas por comas que comparten partes comunes
~ Se usa para hacer referencia al directorio HOME
chmod [ugoa]+-[rwx] [archivo] Modificar permisos de un archivo
wc Mostrar el número de caracteres, líneas, palabras...
-c Número de bytes
-m Número de caracteres
-l Número de líneas
-w Número de palabras
echo Muestra una línea de texto, con $ puede mostrar el valor de una variable
date +%j, -d... Imprime la fecha del sistema y la hora. Utilizar man
< [archivo] Redirecciona la entrada de una orden desde el archivo
> [archivo] Redirige la salida de una orden y la escribe en el archivo, si tiene algo dentro lo sobrescribe
&> [archivo] Combina la salida estándar con la de error y las escribe en el archivo
>> [archivo] Como > pero sin sobrescribir, lo escribe después del contenido
&>> [archivo] Igual que &> pero lo añade después del contenido
2> [archivo] Redirige solo la salida de error a un archivo
Códigos de formato y secuencias de escape para printf
%d Representa un número con signo
%f Representa un número con coma (decimal)
%q Entrecomilla una cadena
%s Muestra una cadena sin entrecomillar
%x Muestra un número en hexadecimal
%o Muestra un número en octal
\b Espacio atrás
\n Nueva línea
\t Tabulador
\’ Carácter comilla simple
\ Barra invertida
\0n n = número en octal que representa un carácter ASCII de 8 bits
find [directorio] [expresión] Buscar por la estructura de directorios los archivos que satisfagan los criterios especificados
-name [archivo/directorio] Busca por nombre
-atime [numero de dias] Busca por el último acceso. Si el número va solo buscará los archivos a los que se accedió hace x días, si tiene un - hace menos de x días, y con un + hace más de x días.
-type [especificación] Busca por ser de un determinado tipo
f Archivos regulares
d Directorios
-size [tamaño] Buscar por su tamaño en bloques
-user [nombre de usuario] Busca los archivos que pertenezcan a dicho usuario
[expresión] -o [expresión] Conecta dos expresiones y selecciona los archivos que cumplan una de ellas y no las dos
[expresión] -exec [orden] {} ;
[expresión] -ok [orden] {} ;
Permite añadir una orden que se aplicará a los archivos localizados. Te pregunta archivo a archivo si quieres ejecutarla.
grep [opciones] [patrón] [archivos]
Buscar en archivos utilizando patrones
-x Localiza las líneas que coincidan con el patrón
-v Selecciona las líneas que no contengan el patrón
-c Cuenta las líneas que coinciden
-i Ignora las distinciones mayúsculas y minúsculas
-n Añade el número de línea en el archivo
-l Selecciona los nombres de los archivos que tengan el patrón
-e Especial para el uso de múltiples patrones
alias [nombre]=’[orden]’ Definir una variable con una orden específica
unalias [nombre] Borrar alias
Guiones
#!/bin/bash [orden]
$0 Nombre del guión
$1 .. $9 Los distintos argumentos que se pueden facilitar
${n}, n>9 Los números siguientes a $
$* Todos los argumentos que quieras
$@ Como $*
$# Contiene los argumentos que se han pasado al llamar al guión
${arg:-val} Si el argumento tiene valor y es no nulo, continua con su valor, en caso contrario se le asigna el valor indicado por val
${arg:?val} Si el argumento tiene valor y es no nulo, sustituye a su valor; en caso contrario, imprime el valor de val y sale del guión
test [expresión] | [ expresión ] Consulta de archivos (si es verdadero da 0!!!!!)
-b [archivo] El archivo existe y es un dispositivo de bloques
-c [archivo] El archivo existe y es un dispositivo de caracteres
-d [archivo] El archivo existe y es un directorio
-e [archivo] El archivo existe
-f [archivo] El archivo existe y es un archivo plano o regular
-G [archivo] EAE y es propiedad del mismo grupo del usuario
-h [archivo] EAE y es un enlace simbólico
-L [archivo] EAE y es un enlace simbólico. (Igual que -h)
-O [archivo] EAE y es propiedad del usuario
-r [archivo] EAE y el usuario tiene permiso de lectura
-s [archivo] EAE y no es vacío
-w [archivo] EAE y el usuario tiene permiso de escritura
-x [archivo] EAE y el usuario tiene permiso de ejecución o es un directorio y tiene permiso de búsqueda en él
[archivo1] -nt [archivo2] Arch1 es más reciente que el 2 (según fecha de modificación) ó si arch1 existe y el 2 no
[archivo1] -ot [archivo2] Arch1 es más antiguo que el 2 (según fecha de modificación) ó si arch2 existe y el 1 no
[archivo1] -ef [archivo2] Arch1 es un enlace duro al arch2, ambos se refieren a los mismos números de dispositivo e inode
Combinación de expresiones con test! | -a | -o
El archivo “ejemplo” no tiene permisos de escritura: ejemploNOT=! test -x ejemplo && echo true || echo false
El archivo “ejemplo” es propiedad del usuario y no está vacío: ejemploAND=test -O ejemplo -a -s ejemplo && echo true || echo false
El archivo “ejemplo” tiene permisos de lectura o de escritura: ejemploOR=test -r ejemplo -o -w ejemplo && echo true || echo false
if condición; then declaraciones; elif condición; then declaraciones; else declaraciones; fi
Patrones (mirar el otro documento)
/ Se pone para escapar algo, va entre comillas simples y antes de lo qe se quiere escapar
. Si se usa solo representa a cualquier cadena
( ) Representa un grupo
? El carácter o grupo al que sigue puede aparecer una vez o ninguna \
{n} El carácter/grupo previo debe aparecer n veces \
{n,} El carácter/grupo previo debe aparecer n veces o más seguidas \
{n,m} El carácter/grupo previo debe aparecer de n a m veces seguidas [n,m] \
[ ] Una lista de caracteres que se tratan uno a uno como caracteres simples
^ Indica el inicio de una linea. Cuando se usa al comienzo de una lista, representa los caracteres que NO están en esa lista. Si se pone ^ antes de un carácter filtra todas las líneas que empiezan por ese carácter
$ Indica el final de una línea, si se pone un caracter antes filtra todas las líneas que terminen por ese carácter
\b Representa el final de una palabra (Debe ir entre “” o ‘’)
\B Representa que no está al final de una palabra (Debe ir entre “” o ‘’)
< Representa el comienzo de una palabra (Debe ir entre “” o ‘’)
> Representa el final de una palabra (Debe ir entre “” o ‘’)
| operador OR
Une dos expresiones de forma que la expresión resultante representa a cualquier cadena que coincida con al menos una de las dos subexpresiones (Si se usa con grep debe ir acompañada de -E)
case Ejecuta una orden dependiendo del valor de una var.
case expresión in patrón1) declaraciones ;; patrón2) declaraciones ;; … *) hace referencia al resto de opciones esac
#!/bin/bash printf "%s -> " 1 = borrar, 2 copiar. Elija una opción" TEMPFILE=/tmp/temporal read REPLY case "$REPLY" in
read (es un cin) ver man!! Para la ejecución del guión hasta que escribamos
sleep x Hace que la consola “duerma” o espere x segundos
Funciones
unset - f nombre_función Borramos la función
declare - f Vemos las funciones que hay definidas y su definición
declare -F Vemos sólo el nombre de las funciones definidas
function nombre_fn { declaraciones }
nombre_fn() { declaraciones }
#!/bin/bash
dbl { read -p " Introduzca un valor: valor echo $[ $valor * 2 ] } resultado=dbl echo "El nuevo valor es $resultado"
bash Depura el guión (Se pueden usar con set también)
-n Chequea errores sintácticos sin ejecutar el guion (set -n // set -o noexec)
-v Visualiza cada orden antes de ejecutarla (set -v // set -o verbose)
-x Actúa igual que -v pero de forma más abreviada. Al visualizar las órdenes, éstas aparecen con todas las sustituciones y expansiones ya realizadas (set -x…)
jobs Lista los trabajos activos (help jobs)
fg Trae a primer plano un trabajo que se encuentra suspendido o en segundo plano
bg Envía a segundo plano un trabajo
% Permite cambiar el estado de un trabajo
wait Espera la finalización de procesos en segundo plano
disown Suprime un trabajo de la lista de trabajos activos
kill Envía una señal a un/os proceso/s. Por defecto, finaliza la ejecución de un proceso
ps Muestra el estado de los procesos actuales en el sistema
top Muestra los procesos en ejecución con actualización de su información en tiempo real
% Trabajo actual (%+ y %% son sinónimos de este especificador)
%- Trabajo previo al actual
%n Trabajo número n
% Trabajo cuya línea de órdenes comienza por
%? Trabajo cuya línea de órdenes contiene
g++ -g Compilar archivos para utilizar el gdb
g++ -g main.cpp factorial.cpp hello.cpp -o ejemplo9. gdb ejemplo9.
gdb Permite ver que ocurre dentro de un programa al ejecutarse
run || r Ejecuta el programa
break _ _ Hace un breakpoint en la línea o función que pongamos
info breakpoints Da información de los breakpoints activos
delete n Elimina el breakpoint con el número n
next || n Va avanzando por subprogramas (va saltando cosas idk)
step || s Va avanzando línea por línea
info frame Da información del marco actual
backtrace full Da info de las variables locales y el resto de info del marco
down / up Sube o baja de marco
break __ if condición Genera un breakpoint sólo si se cumple la condición
continue || c Continua hasta el final o hasta el próximo breakpoint
next || n Va avanzando
step || s Va avanzando línea por línea
list x, y || l x,y Se usa para listar código desde el numéro de linea x hasta y
set variable variable=valor (^) Durante la ejecución cambia el valor de la variable al introducido
shell orden Podemos hacer una llamada a la shell para ejecutar órdenes
quit || q Sale del gdb
gdb -x guion.gdb prog Permite ejecutar un guión con órdenes para la ejecución de un programa
display var Muestra el valor de la variable cada vez que se detiene en un breakpoint
print var Muestra el valor de la variable únicamente en el breakpoint en el que se para
delete display núm Elimina el display sobre la variable que tiene ese número identificador
examine dirección Examina el contenido de la dirección. (Se expresa en hexadecimal)
show values Muestra la historia de valores de las variables impresas
p/x $pc Muestra el contador de programa usando su dirección lógica
x/i $pc Muestra la siguiente instrucción que se ejecutará usando el PC
disassemble Muestra el código ensamblador
whatis var Nos dice de qué tipo es la variable introducida
info locals Lista todas las variables locales