277 lines
7.7 KiB
TeX
277 lines
7.7 KiB
TeX
\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}
|