\documentclass[12pt,a4paper]{article}
\usepackage[spanish]{babel}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{subcaption}

\title{Tema X Ejercicio III: Práctica de Comandos}
\author{Nicolás A. Ortega Froysa}

\begin{document}
\maketitle

\section{Ejercicios}

\begin{enumerate}
	\item Listar todos los archivos del directorio {\tt /bin/}.
		\begin{verbatim}
		$ ls /bin/
		\end{verbatim}

	\item Listar todos los archivos del directorio {\tt /tmp/}.
		\begin{verbatim}
		$ ls /tmp/
		\end{verbatim}

	\item Listar todos los archivos del directorio {\tt /etc/} que empiecen por
		{\tt t} en orden inverso.
		\begin{verbatim}
		$ ls -r /etc/t*
		\end{verbatim}

	\item Listar todos los archivos del directorio {\tt /dev/} que empiecen por
		{\tt tty} y tengan 5 caracteres.
		\begin{verbatim}
		$ ls /dev/tty??
		\end{verbatim}

	\item Listar todos los archivos del directorio {\tt /dev/} que empiecen por
		{\tt tty} y acaben en 1, 2, 3, ó 4.
		\begin{verbatim}
		$ ls /dev/tty*{1,2,3,4}
		\end{verbatim}

	\item Listar todos los archivos del directorio {\tt /dev/} que empiecen por
		{\tt t} y acaben en {\tt C1}.
		\begin{verbatim}
		$ ls /dev/t*C1
		\end{verbatim}

	\item Listar todos los archivos, incluidos los ocultos, del directorio raíz.
		\begin{verbatim}
		$ ls -a /
		\end{verbatim}

	\item Listar todos los archivos del directorio {\tt /etc/} que {\em no}
		empiecen por {\tt t}.
		\begin{verbatim}
		$ ls /etc/[^t]*
		\end{verbatim}

	\item Listar los archivos del directorio {\tt /usr/} y sus subdirectorios.
		\begin{verbatim}
		$ ls /usr/*
		\end{verbatim}

	\item Cambiarse al directorio {\tt /tmp/} y crear directorio {\tt PRUEBA}.
		\begin{verbatim}
		$ cd /tmp/ && mkdir PRUEBA
		\end{verbatim}

	\item Verificar que el directorio actual ha cambiado.
		\begin{verbatim}
		$ pwd
		\end{verbatim}
		O también:
		\begin{verbatim}
		$ [[ $(pwd) == "/tmp" ]] \
		    && echo "Ha cambiado." \
		    || echo "No ha cambiado."
		\end{verbatim}

	\item Mostrar el día y la hora actual.
		\begin{verbatim}
		$ date +"%A %H:%M"
		\end{verbatim}

	\item Con un solo comando posicionarse en el directorio {\tt \$HOME}.
		\begin{verbatim}
		$ cd $HOME
		\end{verbatim}

	\item Verificar que se está en él.
		\begin{verbatim}
		$ pwd
		\end{verbatim}
		O también:
		\begin{verbatim}
		$ [[ $(pwd) == "$HOME" ]] \
		    && echo "Ha cambiado." \
		    || echo "No ha cambiado."
		\end{verbatim}

	\item Listar todos los ficheros del directorio {\em HOME} mostrando su
		número de {\em inodo}.
		\begin{verbatim}
		$ ls -i $HOME
		\end{verbatim}

	\item Mostrar todos los archivos y directorios visibles de vuestro
		directorio {\em PRUEBA}.
		\begin{verbatim}
		$ rm -r /tmp/PRUEBA/*
		\end{verbatim}

	\item Crear los directorios {\tt dir1/}, {\tt dir2/}, y {\tt dir3/} en el
		directorio {\tt PRUEBA}. Dentro de {\tt dir1/} crear el directorio {\tt
		dir11/}. Dentro del directorio {\tt dir3/} crear el directorio {\tt
		dir31/}. Dentro del directorio {\tt dir31/}, crear los directorios {\tt
		dir311/} y {\tt dir312/}.
		\begin{verbatim}
		$ mkdir -p \
		    /tmp/PRUEBA/{dir1/dir11/,dir2/,dir3/dir31/{dir311/,dir312/}}
		\end{verbatim}

	\item Copiar el archivo {\tt /etc/motd} a un archivo llamado {\tt mensaje}
		de vuestro directorio {\tt PRUEBA}.
		\begin{verbatim}
		$ cp /etc/motd /tmp/PRUEBA/mensaje
		\end{verbatim}

	\item Copiar el mensaje en {\tt dir1/}, {\tt dir2/}, y {\tt dir3/}.
		\begin{verbatim}
		$ for i in dir*; do cp mensaje $i; done
		\end{verbatim}

	\item Comprobar el ejercicio anterior mediante un solo comando.
		\begin{verbatim}
		$ ls /tmp/PRUEBA/dir*
		\end{verbatim}

	\item Copiar los archivos del directorio {\tt rc.d/}, que se encuentra en
		{\tt /etc/}, al directorio {\tt dir31/}.
		\begin{verbatim}
		$ cp -r /etc/rc.d/* /tmp/PRUEBA/dir3/dir31/
		\end{verbatim}

	\item Copiar en el directorio {\tt dir311/} los archivos de {\tt /bin/} que
		tengan {\tt 1} como segunda letra y su nombre tenga cuantro letras.
		\begin{verbatim}
		$ cp /bin/?1?? /tmp/PRUEBA/dir3/dir31/dir311/
		\end{verbatim}

	\item Copiar el directorio de otro usuario y sus subdirectorios debajo de
		{\tt dir11/} (incluido el propio directorio).
		\begin{verbatim}
		$ cp -r /home/nicolas/ /tmp/PRUEBA/dir1/dir11/
		\end{verbatim}

	\item Mover el directorio {\tt dir31} y sus subdirectorios debajo de {\tt
		dir2/}.
		\begin{verbatim}
		$ mv /tmp/PRUEBA/dir3/dir31/ /tmp/PRUEBA/dir2/
		\end{verbatim}

	\item Mostrar por la pantalla los archivos ordinarios del directorio {\tt
		\$HOME} y sus subdirectorios.
		\begin{verbatim}
		$ ls $HOME/*
		\end{verbatim}

	\item Ocultar el archivo {\tt mensaje} del directorio {\tt dir3/}.
		\begin{verbatim}
		$ mv /tmp/PRUEBA/dir3/mensaje /tmp/PRUEBA/dir3/.mensaje
		\end{verbatim}

	\item Borrar los archivos y directorios de {\tt dir1}, incluido el propio
		directorio.
		\begin{verbatim}
		$ rm -r /tmp/PRUEBA/dir1/
		\end{verbatim}

	\item Copiar al directorio {\tt dir312} los fichers del directorio {\tt
		/dev/} que empiecen por {\tt port}, acaben en una letra que vaya de la
		{\tt a} a la {\tt b}, y tengan cinco letras en su nombre.
		\begin{verbatim}
		$ cp /dev/port[a-b] /tmp/PRUEBA/dir2/dir31/dir312/
		\end{verbatim}

	\item Borrar los archivos de {\tt dir312/} que no acaben en {\tt b} y tengan
		una {\tt q} como cuarta letra.
		\begin{verbatim}
		# asumo que también se incluyen directorios (-r)
		$ rm -r /tmp/PRUEBA/dir2/dir31/dir312/???q*[^b]
		\end{verbatim}

	\item Mover el directorio {\tt dir312/} debajo de {\tt dir3/}.
		\begin{verbatim}
		$ mv /tmp/PRUEBA/dir2/dir31/dir312/ /tmp/PRUEBA/dir3/
		\end{verbatim}

	\item Crear un enlace simbólico al directorio {\tt dir1/} dentro del
		directorio {\tt dir3/} llamado {\tt enlacedir1}.
		\begin{verbatim}
		$ ln -s /tmp/PRUEBA/dir1/ /tmp/PRUEBA/dir3/enlacedir1
		\end{verbatim}

	\item Posicionarse en {\tt dir3/} y, empleando el enlace creado en el
		ejercicio anterio, crear el directorio {\tt nuevo1} dentro de {\tt
		dir1}.
		\begin{verbatim}
		$ cd /tmp/PRUEBA/dir3/ && mkdir enlacedir1/nuevo1/
		\end{verbatim}

	\item Utilizando el enlace creado, copiar los archivos que empiecen por {\tt
		u} del directorio {\tt /bin/} en el directorio {\tt nuevo1/}.
		\begin{verbatim}
		$ cp /bin/u* enlacedir1/nuevo1/
		\end{verbatim}

	\item Crear dos enlaces duros del fichero {\tt fich1}, llamarlo {\tt
		enlace}, en los directorios {\tt dir1/} y {\tt dir2/}.
		\begin{verbatim}
		# asumo que fich1 está en PRUEBA/
		$ cd /tmp/PRUEBA/
		$ echo dir1/enlace dir2/enlace | xargs -n1 ln /fich1
		\end{verbatim}

	\item Borrar el archivo {\tt fich1} y copiar el enlace a {\tt dir3/}.
		\begin{verbatim}
		$ rm fich1; cp dir2/enlace dir3/
		\end{verbatim}

	\item Crear un enlace simbólico (llamado {\tt enlafich1}) al fichero enlace
		de {\tt dir2/} en {\tt dir1/}.
		\begin{verbatim}
		$ ln -s dir2/enlace dir1/enlafich1
		\end{verbatim}

	\item Posicionarse en {\tt dir1/} y, mediante el enlace creado, copiar el
		archivo {\tt fich1} dentro de {\tt dir311/}.
		\begin{verbatim}
		$ cd dir1/
		$ cp enlace ../dir2/dir31/dir311/
		\end{verbatim}

	\item Seguir en {\tt dir1/} y, mediante el enlace creado, sacar por pantalla
		las líneas que tiene el archivo {\tt fich1}.
		\begin{verbatim}
		$ cat enlace
		\end{verbatim}

	\item Borrar el fichero {\tt fich1} de {\tt dir2/}.
		\begin{verbatim}
		$ rm /tmp/PRUEBA/dir2/enlace
		\end{verbatim}

	\item Borrar todos los archivos y directorios creados durante los
		ejercicios.
		\begin{verbatim}
		$ cd && rm -r /tmp/PRUEBA/
		\end{verbatim}

\end{enumerate}

\pagebreak

\section{Derechos de Autor y Licencia}

\noindent
Copyright \copyright\ \the\year\ Nicolás A. Ortega Froysa
<nicolas@ortegas.org>\\
\\
Este documento se distribuye bajo los términos y condiciones de la licencia
Creative Commons Attribution No Derivatives 4.0 International.

\end{document}
