Tullio Facchinetti

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

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

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


Highlights

  • Publications
  • Students and theses
  • Thesis topics
  • Curated awesome list of CLI apps
  • Last updates (English)

  • Reply-to-all: this is the way ()
  • Students and theses ()
  • Students and theses - English ()
  • Speed up the compilation of LaTex Beamer presentations ()
  • Learn enough C to survive ()
  • Workflow for writing theses collaboratively ()
  • Guidelines for theses and presentations ()
  • Last updates (Italian)

  • Risultati FdI 17 Febbraio 2026 ()
  • Risultati FdI 26 Gennaio 2026 ()
  • Risultati FdI 17-24 Novembre 2025 ()
  • Risultati FdI 18 Settembre 2025 ()
  • Risultati FdI 02 Settembre 2025 ()
  • Risultati FdI 23 Luglio 2025 ()
  • Risultati FdI 25 Giugno 2025 ()
  • List of categories

    Article Article_en Article_it C Courses Fdi Lang_en Lang_it Latex Programming Project Research Results Robotics Software Teaching Thesis Tips