Exercicis de bash

De franhpWiki

Dreceres ràpides: navegació, cerca

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