Shell: Parte 1¶
Spostarsi nel Filesystem¶
comando | funzione | opzioni principali |
---|---|---|
pwd |
stampa la directory corrente | -l , -h , -t , -S |
ls |
elenca i file in una directory | -l |
cd |
cambia la directory corrente | - |
mv |
sposta o rinomina un file/directory | -i , -f |
cp |
copia un file/directory | -i , -f , -r |
rm |
rimuove un file/directory | -i , -f , -r |
mkdir |
crea una o piu’ directory | -p |
I comandi qui sopra spostano o copiano file, ma non modificano i contenuti degli stessi.
Esempio. Se non sapete dove vi trovate, potete usare cd
senza argomenti
per tornare alla vostra home.
Wildcards, Parte 1¶
La shell esegue quella che si chiama wildcard expansion: ogni volta che
incontra l’asterisco *
lo sostituisce con la lista dei file/directory che
“fanno match”.
Esempio. Se eseguo:
ls *
la shell sostituisce *
con la lista di tutti i file e le directory nella
directory attuale (perche’ tutti fanno match con *
). Invece:
ls ~/informatica/*
sostituisce *
con la lista dei file in ~/informatica
.
Supponendo che in ~/informatica
ci siano solo tre file, chiamati test1
,
test2
e results
, il comando precedente sarebbe equivalente a:
ls ~/informatica/test1 ~/informatica/test2 ~/informatica/results
Se avessi eseguito:
ls ~/informatica/test*
la wildcard test*
avrebbe fatto match solo con test1
e test2
, ed
il comando sarebbe stato equivalente a:
ls ~/informatica/test1 ~/informatica/test2
Qui results
non fa match, quindi non viene incluso.
Esercizi¶
Cosa fa
ls data/prot-fasta data/prot-pdb
? Confrontalo conls data/prot-fasta
els data/prot-pdb
per conferma.Cosa fa
ls
se gli si passa un path ad un file piuttosto che ad una directory? Els -l
?Cosa fa
ls
se gli si passa path misti a file e directory?- Che differenza c’e’ tra:
cd .
ecd ..
?cd ..
ecd..
?ls
els .
?ls
els *
? Perche’?ls -l -h
els -lh
?ls -l
els - l
?
Il risultato di
ls ../*
“include” il risultato dils .
?Che differenza c’e’ tra
ls /home/login.utente/bio
els ../login.utente/bio
sepwd
e’~
?Il file
data/empty1
e’ vuoto? E il filedata/empty2
?- Cosa fa il comando (alcuni dei comandi seguenti possono non funzionare; scopo dell’esercizio e’ scoprire perche’; partite sempre da una directory vuota):
mkdir muu/bee
?mkdir -p muu/bee/grr; rm muu/bee/grr
?mkdir -p muu/bee/grr; rm -r muu/bee
?mkdir muu; cd .; mkdir muu
?mkdir muu; cd .; mkdir -p muu
?- Il comando
rm -r muu/bee
rimuove anche la directorymuu
?
Stampare la lista dei file contenute nelle directory
data/deep0
,data/deep1
, ...,data/deep4
.Stampare la lista di tutti i file, inclusi quelli nelle sotto-directory.