Subido por ElmasterRekt Rukt

EjerciciosRepaso2

Anuncio
1. Ejecuta los siguientes comandos
echo a b
echo a b
echo “a b”
echo ‘a b’
echo ‘a/// b
¿Cuántos argumentos hay para cada uno de estos comandos?
- 2 Argumentos
- 2 Argumentos
- 1 Argumento
- 1 Argumento
- 1 Argumento
2. Vaya al directorio / y teclee el comando echo * ¿Cuál es su resultado? ¿Por qué?
Nos muestra todo el contenido del directorio /, porque eso es lo que hace el *
3. ¿Cómo visualizar literalmente la cadena de caracteres “el carácter * es un carácter genérico”?
echo "el carácter * es un carácter genérico"
echo ‘el carácter * es un carácter genérico’
echo el carácter \* es un carácter genérico
4. ¿Cómo visualizar literalmente la cadena de caracteres “ la variable referenciada por $var3”?
echo la variable referenciada por \$var3
echo ‘la variable referenciada por $var3’
1. Ejecute el comando cat sin argumentos después teclee algunas palabras y finalícelo normalmente
¿Qué observas?
Muestra lo que se le escribe.
2. Ejecute el comando wc sin argumentos después teclee algunas palabras y finalícelo normalmente
¿Qué observas?
Que cuenta el número de palabras y de caracteres de lo que se ha escrito
3. Utilice el comando cat para visualizar el contenido del archivo /etc/hosts de dos maneras:
pasando el nombre del archivo como argumento, después utilizando una redirección
cat /etc/hosts
cat < /etc/hosts
4. Utilice el comando wc para contar el número de líneas del archivo /etc/passwd de dos maneras:
pasando el nombre del archivo como argumento, después utilizando una redirección ¿Qué
observas?
wc -l /etc/passwd
wc -l < /etc/passwd Con la redirección se pierde el nombre del archivo
5. Utilice el comando cat para escribir algunas palabras en el archivo /tmp/ficcat
cat > /tmp/ficcat
6. Utilice el comando cat sin argumentos para copiar el archivo /tmp/ficcat en /tmp/ficcat2
cat < /tmp/ficcat >/tmp/ficcat2
7. Utilice el comando cat para añadir algunas palabras al archivo /tmp/ficcat existentes
cat >> /tmp/ficcat
8. Utiliza el comando cat para concatenar el contenido de los archivos /tmp/ficcat y /etc/hosts en el
archivo /tmp/ficcat3
cat /tmp/ficcat /etc/hosts > /tmp/ficcat3
9. Vaya al directorio /etc y redirija la salida del comando ls a el archivo /tmp/ls.out ¿Qué contiene
ese archivo?
cd /etc
ls > /tmp/ls.out
10. Utilice el comando wc sin argumentos para contar el número de líneas contenidas en el archivo
/tmp/ls.out
wc -l < /tmp/ls.out
11.¿Cuántos archivos hay en el directorio /etc? Suprima el archivo /tmp/ls.out
ls /etc/ | wc -l
12. Sin utilizar un archivo intermedio cuente de nuevo el número de archivos presentes en el
directorio /etc
ls /etc/ | wc -l
13. Empleando una tubería cuente de nuevo el número de archivos presentes en el directorio /etc
escribiendo el resultado del comando ls en el archivo /tm/ls.out
ls /etc/ | tee /tmp/ls.out | wc -l
14. Ejecute el comando ls /etc/passwd glop y anote su resultado
ls /etc/passwd glob
15. Ejecute el comando ls /etc/passwd glop redirigiendo las salidas al archivo /tmp/ls.out y los
mensajes de error al archivo /tmp/ls.err
ls /etc/passwd glob > /tmp/ls.out 2> /tmp/ls.err
16. Ejecute el comando ls /etc/passwd glop redirigiendo las salidas al archivo /tmp/ls.out y
suprimiendo los mensajes de error
ls /etc/passwd glob > /tmp/ls.out 2> /dev/null
17. Ejecute el comando ls /etc/passwd glob redirigiendo las salidas y los mensajes de error al
archivo /tmp/ls.out
ls /etc/passwd glob > /tmp/ls.out 2 > & 1
2. Vaya a su directorio personal visualice la lista de todos los archivos presentes en su árbol.
ls -r
3. Visualice la lista de todos los archivos presentes en los directorios /bin y /lib
find /bin /lib
4. Liste los archivos de su subdirectorios capitulo5 visualizándolo únicamente los nombres de los
directorios. Después proceda del mismo modo visualizando únicamente los nombres de los archivos
ordinarios.
find /capitulo5/ -type d
find /capitulo5/ -type f
5. Vaya al subdirectorio capitulo5 y visualice todos los nombres de archivos que comiencen por la
cadena “fic” presentes en el árbol
find /capitulo5/ -name “fic*”
6. Busque en todo el árbol del sistema, todos los archivos con un tamaño superior a diez megabytes
o con los permisos de acceso 4755
find / -size +10M -o -perm 4755 2>/dev/null
¿Hay mensajes de error? En caso afirmativo ¿Por qué?
Si, por no tener permiso de acceso a esos archivos
Suprima los mensajes de error posibles con una redirección
7. Visualice el formato de cada archivo donde el nombre comience por la letra “p” en el árbol del
directorio /etc
find /etc/ -name p* -exec file {}\; 2>/dev/null
Suprima los mensajes de error posibles con una redirección
¿Por qué en el directorio tmp puede cualquier usuario escribir si esta en raíz? ¿Porque no puedo
borrar un fichero de otro usuario si tengo permisos de escritura?
8. Busque de nuevo en su subdirectorio capitulo5, todos los nombres de archivos que comiencen
por la cadena “fic” presentes en el árbol. Y suprima los archivos donde el nombre contenga una
cifra
find /capitulo5/ -name fic* -ok rm -f {} \;
1. Visualice el PID de los procesos bash actualmente iniciados en sistema.
Ps -ef | fgrep bash | tr -s “ “ “ “ | cut -d” “ -f2
2. Visualice todas las líneas del archivo /etc/services que contengan la cadena de caracteres “http”
grep http /etc/services
3. Filtre de nuevo el archivo /etc/services esta vez, con la cadena de caracteres “http” como palabra
grep -w http /etc/services
4. Visualice las líneas del archivo /etc/passwd que no contengan la cadena de caracteres “home”.
grep -v home /etc/passwd
5 ¿Cuántas líneas del archivo /etc/passwd contienen la cadena de caracteres “sbin”?
grep -c sbin /etc/passwd
6. ¿Qué archivos del directorio /etc contienen la cadena de caracteres “ tux”?
Suprime los mensajes de error
grep -l tux /etc 2> /dev/null
7. ¿En qué número de líneas se encuentra la cadena de caracteres “tux” en los archivos anteriores?
Suprima los mensajes de error eventuales con una redirección
grep -ln “tux” /etc 2> /dev/null
1. Visualice el primer y el tercer campo del archivo /etc/group
cat /etc/group | cut -d: -f1,3
2. Visualice una lista detallada de los archivos presentes en el directorio /etc. Después conserve
únicamente la información siguiente:
ls -l /etc/ | tr -s “ “ “ “ | cut -d“ “ -f1,5,9
- Permisos del archivo:
- Tamaño del archivo:
- Nombre del archivo:
1. Clasifique el archivo /etc/passwd alfabéticamente por el nombre de conexión (login) de cada
usuario
sort /etc/passwd
2. Clasifique el archivo /etc/passwd alfabéticamente por el nombre completo (campo GECOS) de
cada usuario
sort -k5 -t: /etc/passwd
3. Clasifique el archivo /etc/passwd numéricamente por el UID de cada usuario.
sort -k3 -t: -n /etc/passwd
4. Visualice una lista detallada de archivos presentes en el directorio /etc. Después clasifique los
archivos de mayor a menor.
ls -l --sort -size /etc
1. Visualice las cinco primeras líneas del archivo /etc/passwd
head -5 /etc/passwd
2. Visualice las siete últimas líneas del archivo /etc/protocols
tail -7 /etc/protocols
3. Utilice el comando tail en una tubería para no visualizar la primera línea devuelta por el comando
ls -L
ls -l | tail -n+2
4. Visualice de la línea 188 a 191 del archivo /etc/services
head -n191 /etc/services | tail -n+188
Buscar con find todos los ficheros que se han modificado a partir de un fichero
find -type f -newer
; = Hacer 2 cosas a la vez
&& = Si lo primero da error lo siguiente no se hace
|| = Si eso no se hace se hace lo de después de esto
cat /etc/shadow 2> /dev/null && echo “abierto” || echo “no abierto”
Estudiar: Find, enlaces duros y simbolicos, head y tail, alias, buscar donde esta el archivo de
modificar el PATH
EJEMPLO
PARA MODIFICAR PATH :
~/.bashrc
~/.bash_profile
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin
imaginemos que nuestro binario que no está en el PATH está aquí:
/opt/tacata/
pues sólo hay que añadir esa ruta de directorio al PATH. Editamos
nano /home/pepito/.bashrc
y le añadimos estas dos líneas:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/
sbin:/opt/tacata/"
export PATH
Esto se puede aplicar cambiando path por otra variable
ps -e | grep bash | cut -cl-5 9
mkdir -p carpeta1/carpeta4,carpeta2/carpeta3 1
Descargar