sabato 3 ottobre 2009

Shell Expansion



Lo so vi state chiedendo che cavolo di titolo ho scelto! Adesso vi spiego:
Shell è il nome tecnico che si da al terminale di Unix (l'immagine a fianco).
Expansion invece possiamo definirle come quei trucchetti che ci possono semplificare di molto la vita quando diamo i comandi da terminale! Soprattutto se stiamo facendo cose piuttosto complesse.

Allora iniziamo dalla nostra cartella esempio che contiene i file:
esempio1.pdf esempio1.txt esempio2.pdf esempio2.txt pippo.pdf pippo.txt

Alcune expansion possono essere:
  • * → ci permette di dire alla nostra shell di "usare" i file che hanno qualsiasi carattere dopo quelli da noi specificati. Ad esempio se nella nostra cartella volessimo vedere i file che iniziano per es possiamo fare
    $ ls es* esempio1.pdf esempio1.txt esempio2.pdf esempio2.txt
  • ? → è simile al precedente solo che vale per un solo carattere del nome (?? per due, ??? per 3, ecc) Ad esempio
    $ ls esempio?.txt
    esempio1.txt esempio2.txt
  • [] → specificano un insieme di caratteri che devono essere presenti nel nome. Ad esempio ls esempio[1-4].txt
    esempio1.txt esempio2.txt

    (con il - specifichiamo che deve andare da ... a ... mentre senza sarebbe stato solo i due numeri [14] quindi solo esempio1.txt)
  • {} → anche questo simile al precedente solo che dice di usare soltanto le stringhe specificate tra le parentesi e separate da virgola. Ad esempio:
    $ ls esempio1.{txt,pdf}
    esempio1.pdf esempio1.txt

Ovviamente tutti questi possono essere combinati per ottenere cose molto interessanti!

Altre "scorciatoie" utili possono essere :
  • ~ → (Alt Gr + ì) che identifica la vostra home (/home/tuo_nome)
  • . → che identifica la directory corrente
  • .. → che identifica la directory padre (se siamo in /home/nostro_nome la directory padre è /home)
  • il tasto tab → che se premuto mentre digitiamo il nome di una directory o file lo completa automaticamente (se non ci sono nomi troppo simili)
 Spero di esservi stato utile! Se conoscete altri "trucchetti" che mi sono sfuggiti aspetto i vostri consigli e commenti ;)

Nessun commento:

Posta un commento