Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Guía por línea de comandos Unix: Ordenes básicas, Ejercicios de Ingeniería Infórmatica

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

2016/2017

Subido el 26/12/2017

mike0418
mike0418 🇪🇸

2

(1)

2 documentos

1 / 14

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Órdenes Tema 1
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
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe

Vista previa parcial del texto

¡Descarga Guía por línea de comandos Unix: Ordenes básicas y más Ejercicios en PDF de Ingeniería Infórmatica solo en Docsity!

Órdenes Tema 1

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

Metacaracteres de archivo

? Sustituye un caracter

  • Sustituye una cadena de caracteres

[ ] 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

Órdenes Tema 2

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

Metacaracteres de redirección

< [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 &amp;&amp; echo true || echo false

El archivo “ejemplo” es propiedad del usuario y no está vacío: ejemploAND=test -O ejemplo -a -s ejemplo &amp;&amp; echo true || echo false

El archivo “ejemplo” tiene permisos de lectura o de escritura: ejemploOR=test -r ejemplo -o -w ejemplo &amp;&amp; echo true || echo false

If / else

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 \

  • El carácter/grupo que sigue puede no aparecer o aparecer varias veces !\
  • El carácter/grupo previo debe aparecer una o varias veces seguidas

{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

  • Si se usa en medio, funciona como rango → [a-z] [0-9] [A-Z]

^ 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 ‘’)

&lt; Representa el comienzo de una palabra (Debe ir entre “” o ‘’)

&gt; 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

  1. rm "$TEMPFILE" ;;
  2. mv "$TEMPFILE" "$TEMPFILE.old" ;; *) printf "%s \n" "$RE PLY no es una de las opciones" ;; esac

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

Función que devuelve el doble del número que introduces por teclado

dbl { read -p " Introduzca un valor: valor echo $[ $valor * 2 ] } resultado=dbl echo "El nuevo valor es $resultado"

Órdenes Tema 6

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

Uso del caracter % (Hacer referencia a un trabajo)

% 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

Órdenes Tema 8

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

Comprobación de variables en el gdb

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