Exercicis de bash
De franhpWiki
Contingut |
Usando la Línea de Comandos
- Quin és el teu directori home?
grap@lax:~$ pwd /home/grap
- Quin és el nom del servidor Linux?
grap@lax:~$ hostname lax
- Quins comandaments té aquest servidor que comencen per 'host'?
grap@lax:~$ host [TAB][TAB] host hostid hostname
- El comanda 'grep' cerca un determinat text. Utilitza el pipe '|' i la comanda grep per veure quins fitxers de /etc contenen la cadena 'tab'.
grap@lax:~$ cat /etc/* | grep tab
Comodines
- Explica que mostra l'ordre 'ls [1-9]*
Mostra tots els noms dels fitxers que començin per un numero entre 1 i 9 seguits de qualsevol cosa
- Explica que mostra l'ordre 'ls [1-31]-gener-200?.dat' en un directori amb fitxers amb el nom dels dies de l'any des del 1-1-2000.
Mostra tots els noms dels fitxers que el seu nom començi per un nombre entre el 1 i el 31, que també sigui de qualsevol any entre 2000 i 2009 (o lletra)
- Explica que mostra l'ordre 'ls 1[!0-9]?.dat'
Mostra tots els noms dels fitxers que començin per 1 seguits de qualsevol cosa que no sigui un numero entre 0 i 9, també seguit d'un únic caràcter
- Explica que mostra l'ordre 'ls *?a?.dat'
Mostra tots els noms dels fitxers que acabin per un caràcter seguit de una a i un altre caràcter o lletra, també acabat en .dat
Alias de comandos
Prova-les següents comandes en /usr/share/doc
- Crea l'alias 'llistats' que mostra els fitxers i directoris a partir de l'actual directori i de forma recursiva.
alias llistats="ls -R /usr/share/doc/*"
- Crea l'alias 'troba_textos' que mostra fitxers amb la extensió .txt de a partir de l'actual directori i de forma recursiva.
alias troba_textos="ls -R /usr/share/doc/*.txt"
- Crea l'alias 'troba_exemples' que mostra fitxers amb la cadena 'example' a partir de l'actual directori i de forma recursiva.
alias troba_exemples="grep -r example /usr/share/doc/ "
PATH
- Quin és el PATH del servidor?
grap@lax:~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
- Per què és perillòs el següent PATH: ./:/usr/local/sbin:/bin:/sbin ?
Perquè només s'inclouria només comandes destinades a ser executades per l'usuari administrador
Variables Comunes
- Crea un alias 'qui_soc_jo' que mostra el nom amb el que t'has logat.
alias qui_soc_jo="whoami"
- Crea un alias 'a_casa' que mostra el directori propi de l'usuari
alias a_casa="ls ~"
Configurando el prompt
- Quin és el prompt actual?
grap@lax:~$
- Canvia el prompt per a que et mostre l'hora i la ruta completa de directoris.
PS1=”\t |\w ”
Otras Variables
- Crea un alias 'amb_a' que escriu un el nom dels fitxers del directori actual que tenen una a i després un 0 si n'ha trobat algun o un 1 en cas contrari.
alias amb_a=" ls | grep a ; echo $? "
Usando el historial de comandos
- Què executa l'ordre '!!'?
Representa l'ordre que s'ha introduït anteriorment
Obteniendo Ayuda con las Páginas Man
- Explica com cercar ajuda de les opcions '-a' i '-F' en el manual de l'ordre 'ls'
Executar l'ordre “man ls” i cercar prement la tecla “/”. Es pot premer la tecla N per mostrar el
- On està el fitxer d'ajuda de l'orde 'cp'?
grap@lax:~ $ man -W cp /usr/share/man/man1/cp.1.gz
Buscando con whatis
- Utilitza whereis en lloc de whatis
grap@lax:~ $ whereis passwd passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz
grap@lax:~ $ whatis passwd passwd(1) - modify a user's password passwd(1ssl) - compute password hashes passwd(5), master.passwd(5) - format of the password file slapd-passwd(5) - /etc/passwd backend to slapd
Preguntas Pre-TEST
- Que fichero contiene la configuración por defecto del shell para cada usuario?
.bashrc situado en el home del usuario
- Cual es la mejor forma de añadir la variable de entorno PATH para todos los usuarios en un sistema?
Añadiendolo a /etc/bash.bashrc
- Como es el tamaño del fichero del historial bash?
echo $HISTSIZE
o
franhp@gandalf:~ $ du -hs .bash_history 12K .bash_history
- Que tecla se usa para completar comandos con el bash shell?
El tabulador
- Que comando permite editar el ultimo comando que introdujiste usando el editor por defecto?
fc
- Que fichero contiene el historial de comandos?
.bash_history
- Que comando usuarias para ver la configuración de la variable de entorno HOME?
echo $HOME
- Como ejecutas un programa localizado en el pwd?
./programa
- Que función permite la salida desde un comando para ser usada en lugar del comando?
pipe o |
- Que opción se usa para operaciones recursivas de un comando?
-R
Preguntas TEST
1.Que shell es usada por defecto en los sistemas GNU/Linux?
A. csh B. rsh C. bash D. tcsh
2. Que fichero contiene los shells disponibles para el sistema?
A. /etc/passwd B. /etc/command C. /etc/bash D. /etc/shells
3.Cual es el comando usado para cambiar el shell por defecto para el BASH2?
A. chng -s /bin/bash2 B. chsh -s /bin/bash2 C. shell -c /bin/bash2 D. default -shell /bin/bash2
4.Cual es el formato correcto para introducir un comando en la linea de comandos?
A. command B. command options C. command arguments options D. command options arguments
5.Se pueden poner varios comandos en la misma linea separados porque carácter?
A. . B. ; C. , D. \
6.Que combinación de teclas es usada para introducir un comando en varias lineas?
A. "" B. \ Enter C. / Enter D. Tab-Enter
7.Que tecla, presionada una vez, es usada para completar los comandos?
A. Tab B. Esc C. Enter D. Ctrl
8.Que tecla, cuando es presionada dos veces, es usada para completar los comandos?
A. Tab B. Esc C. Enter D. Ctrl
9.Que fichero contiene las variables del sistema que tiene el shell bash?
A. /bash B. /bin/bash C. /etc/bash D. /etc/profile
10. _______________hará que se ejecute el script llamado update_mozilla guardado en tu directorio home, desde ese directorio.
./update_mozilla
11.Cuando se hacen cambios a las variables del entorno, que comando debe de usarse para asegurarse de que los cambios están disponibles para la shell?
A. save B. remember C. export D. echo
12.Que variable de entorno se usa para personalizar el prompt?
A. PS1 B. prompt C. shell D. display
13.Que fichero contiene la asignación a la carpeta del usuario home?
A. /etc/home B. /etc/profile C. /etc/passwd D. /etc/users
14.Que comando lista los comandos ejecutados anteriormente?
A. commands B. review C. history D. export
15.Que tecla permite ver el último comando ejecutado?
A. down arrow B. up arrow C. right arrow D. left arrow
16.Que comando te permite usar el editor por defecto para editar varios comandos del archivo historico?
A. history B. edit C. fc D. view
17.Es posible ejecutar comandos que no están en el PATH, si conoces la ruta completa y el nombre del comando
A. Verdadero B. Falso
