Cheatheat per uso di Bashquest nel corso di Fondamenti di Informatica
by Tullio Facchinetti
Cheatheat per uso di Bashquest nel corso di Fondamenti di Informatica.
1. Find file name
FATTIBILE: sì
ls workspace
La flag è il nome del file senza estensione.
2. List files using wildcards
FATTIBILE: sì
ls workspace/*sequenza*
con “*” obblicatori (wildcard) e sequenza sono i caratteri richiesti nella challenge.
Per ottenere la flag, contare il numero di file restituito.
AVANZATO: in un solo comando (serve conoscere wc e l’uso della pipe):
ls workspace/*sequenza* | wc -l
3. Navigate using relative paths
FATTIBILE: sì
cd workspace/percorso-indicato-1
cd path-relativo-per-percorso-indicato-2
La flag è path-relativo-per-percorso-indicato-2
4. Print the working directory
FATTIBILE: sì
cd directory-piu-profonda
Il nome della directory-piu-profonda si può trovare con TAB o con cd + ls, es.
cd workspace
ls
cd directory-visualizzata-1
ls
cd directory-visualizzata-2
Il percorso assoluto si ottiene con:
pwd
Uscire da workspace prima di fare submit.
In caso di dimenticanza, usare cd ~ per tornare alla home directory.
5. Find absolute path of a file
FATTIBILE: opzionale; le conoscenze sono disponibili, ma potrebbe richiedere un po’ di tempo
- Trovare la directory nella quale è collocato il file indicato.
- Stampare il percorso assoluto della directory con
pwd - Uscire dalla directory.
- La flag è il percorso assoluto concatenato con il nome del file.
AVANZATO: usare tree workspace per trovare più facilmente il file.
6. Find the largest file
FATTIBILE: opzionale; i flag potrebbero non essere noti; si richiede di trovarli con man o vanno spiegati
ls -l -S -r workspace
-lelenca gli attriibuti estesi (inclusa la dimensione)-S(maiuscolo) ordina per dimensione-rriporta il file con dimensione maggiore in fondo all’elenco
La flag è il nome dell’ultimo file stampato.
Eventualmente, cercare i flag necessari con
man ls
7. Find the special directory
FATTIBILE: sì
Se i nomi di file e directory sono colorati, può bastare:
ls workspace
Altrimenti usare:
ls -l workspace
e trovare l’elemento che si distingue facilmente tra gli altri.
8. Display file content
FATTIBILE: sì
cat workspace/unico-file-presente
La flag viene stampata a video.
9. Create an empty file
FATTIBILE: sì
Usare echo con redirezione:
echo > workspace/nome-file
10. Count words in a file
FATTIBILE: INF-ELE sì ; BIO ???
ls # per trovare il nome del file
wc workspace/nome-file
# alternativa:
wc -w workspace/nome-file
Il numero di parole è il secondo numero.
11. Count files in a directory
FATTIBILE: no (serve pipe)
ls -1 workspace | wc -l
Nota: flag di ls è un “uno”; flag di wc è “elle minuscola”
12. Create a file using echo
FATTIBILE: sì (ma saltabile)
echo parola-indicata > workspace/flag.txt
13. Create a file using echo (two words)
FATTIBILE: avanzato ; saltabile
echo "parola1 parola2" > workspace/flag.txt
Vanno usati necessariamente i doppi apici per mantenere i tre spazi nel file output
14. Append to a file
FATTIBILE: sì
Usare la redirezione con append:
echo parola-indicata >> workspace/flag.txt
Attenzione che se si inserisce la parola sbagliata o si scombina il file di partenza (es. sovrascrivendolo con >)
bisognerebbe ripristinarne il contenuto prima di fare l’append.
In caso, si può “resettare” la richiesta con
bashquest goto 14
ovvero si va alla stessa challenge, che viene rigenerata con dati casuali.
15. Find the deepest directory
FATTIBILE: INF-ELE sì ; BIO ???
Metodo più diretto:
tree workspace
16. Advanced tab completion with ambiguity
TBD
17. Navigate a directory maze
TBD
18. Change directory with restricted permissions
TBD
19. Create a directory
FATTIBILE: sì
mkdir workspace/nome-directory-da-creare
20. Create nested directories
TBD
21. Remove the deepest directory
TBD
22. Remove a file in the deepest directory
FATTIBILE: sì
Stampare l’albero di directory:
tree workspace
Cancellare file:
rm workspace/dir1/dir2/dir3/nome-file-da-cancellare.txt
23. Remove a non-empty deepest directory
TBD
24. Remove three nested directories
TBD
25. Copy a file into a directory
FATTIBILE: sì
Visualizzare la struttura della directory con tree
Copia del file:
cp workspace/nome-file workspace/directory/
26. Copy a file in the same directory
FATTIBILE: sì
Trovare il nome del file da copiare:
ls workspace
Copiare il file:
cp workspace/file-esistente workspace/nuovo-file
27. Move a file into a directory
TBD
28. Rename a file
FATTIBILE: sì
Trovare il nome del file da rinominare:
ls workspace
Rinominare il file:
mv workspace/file-esistente workspace/nuovo-nome
29. Rename a directory
TBD
30. Search line in file
TBD
31. Find a line across many files
TBD
32. Find the last word alphabetically
TBD
33. Find the first word alphabetically
TBD
34. Count unique words
TBD
35. Find the n-th word
TBD
36. Find the k-th line from the end
TBD
37. Extract the n-th word from a line
TBD
38. Remove digits to find the FLAG word
TBD