103.3 Lezione 1
Certificazione: |
LPIC-1 |
---|---|
Versione: |
5.0 |
Argomento: |
103 Comandi GNU e Unix |
Obiettivo: |
103.3 Eseguire la gestione base sui file |
Lezione: |
1 di 2 |
Introduzione
Tutto in Linux è un file, quindi sapere come manipolarli è molto importante. In questa lezione, tratteremo le operazioni di base sui file.
In generale, come utente Linux, sarai chiamato a navigare nel file system, copiare file da una posizione a un’altra ed eliminare file. Tratteremo anche i comandi associati alla gestione dei file.
Un file è un’entità che memorizza dati e programmi. Consiste di contenuto e metadati (dimensione del file, proprietario, data di creazione, autorizzazioni). I file sono organizzati in directory. Una directory è un file che memorizza altri file.
I diversi tipi di file includono:
- File regolari
-
che memorizzano dati e programmi.
- Directory
-
che contengono altri file.
- File speciali
-
che vengono utilizzati per l’input e l’output.
Ovviamente esistono altri tipi di file ma esulano dallo scopo di questa lezione. Successivamente discuteremo come identificare questi diversi tipi di file.
Manipolazione dei File
Utilizzo di "ls" per Elencare i File
Il comando ls
è uno dei più importanti strumenti da riga di comando che dovresti imparare per navigare nel file system.
Nella sua forma base, ls
elencherà solo i nomi di file e directory:
$ ls Desktop Downloads emp_salary file1 Music Public Videos Documents emp_name examples.desktop file2 Pictures Templates
Quando viene utilizzato con -l
, o anche indicato come "elenco lungo", mostra i permessi di file o directory, proprietario, dimensione, data di ultima modifica, ora e nome:
$ ls -l total 60 drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8980 Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Music drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Public drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4096 Apr 1 2018 Videos
Il primo carattere nell’output indica il tipo di file:
-
-
per un file regolare.
d
-
per una directory.
c
-
per un file speciale.
Per mostrare le dimensioni dei file in un formato leggibile dall’uomo, aggiungi l’opzione -h
:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
Per elencare tutti i file, inclusi i file nascosti (quelli che iniziano con .
) usa l’opzione -a
:
$ ls -a . .dbus file1 .profile .. Desktop file2 Public .bash_history .dmrc .gconf .sudo_as_admin_successful
I file di configurazione come .bash_history
, che sono nascosti per impostazione predefinita, sono ora visibili.
In generale, la sintassi del comando ls
è data da:
ls OPTIONS FILE
Dove OPTIONS
è una qualsiasi delle opzioni mostrate in precedenza (per visualizzare tutte le opzioni possibili eseguire man ls
), e FILE
è il nome del file o dei dettagli della directory che desideri elencare.
Note
|
Quando |
Creazione, Copia, Spostamento ed Eiminazione di file
Crere file attraverso touch
Il comando touch
è il modo più semplice per creare nuovi file vuoti. Puoi anche usarlo per cambiare il timestamp (cioè l’ora di modifica) di file e directory esistenti. La sintassi per usare touch
è:
touch OPTIONS FILE_NAME(S)
Senza alcuna opzione, touch
crea nuovi file per qualsiasi nome fornito come argomento, a condizione che i file con tali nomi non esistano già. touch
può creare un numero qualsiasi di file contemporaneamente:
$ touch file1 file2 file3
Questo creerà tre nuovi file vuoti denominati file1
, file2
e file3
.
Diverse opzioni di touch
sono progettate specificamente per consentire all’utente di modificare il timestamp dei file. Per esempio, l’opzione -a
cambia solo l’ora di accesso, mentre l’opzione -m
cambia solo l’ora di modifica. L’uso di entrambe le opzioni modifica i tempi di accesso e anche di modifica all’ora corrente:
$ touch -am file3
Copiare i file con cp
Come utente Linux copierai spesso file da una posizione a un’altra. Che si tratti di spostare un file musicale da una directory a un’altra o di un file di sistema, usa cp
per tutte le attività di copia:
$ cp file1 dir2
Questo comando può essere letteralmente interpretato come copia file1
nella directory dir2
. Il risultato è la presenza di file1
all’interno di dir2
. Affinché questo comando venga eseguito con successo, file1
dovrebbe essere presente nella directory corrente dell’utente. In caso contrario, il sistema segnala un errore con il messaggio No such file or directory
.
$ cp dir1/file1 dir2
In questo caso osserva che il percorso di file1
è più esplicito. Il percorso di origine può essere espresso come percorso relativo o percorso assoluto. I percorsi relativi vengono forniti in riferimento a una directory specifica, mentre i percorsi assoluti non vengono forniti con un riferimento. Di seguito chiariremo ulteriormente questa nozione.
Per il momento osserva che questo comando copia file1
nella directory dir2
. Il percorso di file1
è fornito con maggiori dettagli poiché l’utente attualmente non si trova in dir1
.
$ cp /home/frank/Documents/file2 /home/frank/Documents/Backup
In questo terzo caso, file2
che si trova in /home/frank/Documents
viene copiato nella directory /home/frank/Documents/Backup
. Il percorso di origine fornito qui è asoluto. Nei due esempi precedenti, i percorsi di origine sono relativi. Quando un percorso inizia con il carattere /
è un percorso assoluto, altrimenti è un percorso relativo.
La sintassi generale di cp
è:
cp OPTIONS SOURCE DESTINATION
SOURCE
è il file da copiare e DESTINATION
la directory in cui verrà copiato il file. SOURCE
e DESTINATION
possono essere specificati come percorsi assoluti o relativi.
Spostare File con mv
Proprio come cp
per la copia, Linux fornisce un comando per spostare e rinominare i file. Si chiama mv
.
L’operazione di spostamento è analoga all’operazione di taglia e incolla che generalmente si esegue tramite un’interfaccia utente grafica (GUI).
Se desideri spostare un file in una nuova posizione, usa mv
nel modo seguente:
mv FILENAME DESTINATION_DIRECTORY
Ecco un esempio:
$ mv myfile.txt /home/frank/Documents
Il risultato è che myfile.txt
viene spostato nella destinazione /home/frank/Documents
.
Per rinominare un file, mv
viene utilizzato nel modo seguente:
$ mv old_file_name new_file_name
Questo cambia il nome del file da old_file_name
a new_file_name
.
Per impostazione predefinita, mv
non cercherà la tua conferma se desideri sovrascrivere (rinominare) un file esistente. Tuttavia, puoi consentire al sistema di richiedere conferma, utilizzando l’opzione -i
:
$ mv -i old_file_name new_file_name mv: overwrite 'new_file_name'?
Questo comando chiederebbe l’autorizzazione dell’utente prima di sovrascrivere old_file_name
in new_file_name
.
Al contrario, utilizzando -f
:
$ mv -f old_file_name new_file_name
sovrascriverebbe forzatamente il file, senza chiedere alcun permesso.
Rimouvere File con rm
rm
viene utilizzato per eliminare i file. Pensala come una forma abbreviata della parola “rimuovi”. Notare che l’azione di rimozione di un file è solitamente irreversibile, quindi questo comando deve essere utilizzato con cautela.
$ rm file1
Il comando dovrebbe cancellare file1
.
$ rm -i file1 rm: remove regular file 'file1'?
Questo comando richiederebbe all’utente la conferma prima di eliminare file1
. Ricorda, abbiamo visto sopra l’opzione -i
quando si usa mv
.
$ rm -f file1
Questo comando elimina forzatamente file1
senza richiedere la tua conferma.
È possibile eliminare più file contemporaneamente:
$ rm file1 file2 file3
In questo esempio, file1
, file2
e file3
vengono eliminati simultaneamente.
La sintassi per rm
è generalmente data da:
rm OPTIONS FILE
Creare e Rimouvere Directory
Creare Directory con mkdir
La creazione di directory è fondamentale per organizzare file e cartelle. I file possono essere raggruppati insieme in modo logico mantenendoli all’interno di una directory. Per creare una directory, usa mkdir
:
mkdir OPTIONS DIRECTORY_NAME
dove DIRECTORY_NAME
è il nome della directory da creare. È possibile creare un numero qualsiasi di directory contemporaneamente:
$ mkdir dir1
creerà la directory dir1
nella directory corrente dell’utente.
$ mkdir dir1 dir2 dir3
Il comando precedente creerà tre directory dir1
, dir2
e dir3
nello stesso tempo.
Per creare una directory insieme alle sue sottodirectory usa l’opzione -p
(“parents”):
$ mkdir -p parents/children
Questo comando creerà la struttura delle directory parents/children
, cioè creerà le directory parents
e children
. children
si troverà all’interno di "parents"
Rimozione di Directory con rmdir
rmdir
cancella una directory se è vuota. La sua sintassi è data da:
rmdir OPTIONS DIRECTORY
dove "DIRECTORY" potrebbe essere un singolo argomento o un elenco di argomenti.
$ rmdir dir1
Questo comando eliminerà dir1
.
$ rmdir dir1 dir2
Questo comando eliminerà simultaneamente dir1
e dir2
.
Puoi rimuovere una directory con la sua sottodirectory:
$ rmdir -p parents/children
Ciò rimuoverà la struttura della directory parents/children
. Da notare che se una qualsiasi delle directory non è vuota, non verrà eliminata.
Manipolazione Ricorsiva di File e Directory
Per manipolare una directory e il suo contenuto, è necessario utilizzare la ricorsività. Ricorsione significa, eseguire un’azione e ripetere quell’azione lungo tutta la struttura della directory. In Linux, le opzioni -r
o -R
o --recursive
sono generalmente associate alla ricorsione.
Il seguente scenario ti aiuterà a comprendere meglio la ricorsione
Vuoi elencare tutto il contenuto di una directory students
, che contiene due sottodirectory level 1
e level 2
e il file chiamato frank
. Applicando la ricorsione, il comando ls
elenca il contenuto di students
, cioè level 1
, level 2
e frank
, ma non finisce qui. Entrerà nelle sottodirectory level 1
e level 2
e ne elencherà il contenuto e così via lungo l’albero delle directory.
Elenco Ricorsivo con ls -R
ls -R
è usato per elencare il contenuto di una directory insieme alle sue sottodirectory e file.
$ ls -R mydirectory mydirectory/: file1 newdirectory mydirectory/newdirectory:
Nell’elenco sopra, è elencato mydirectory
compreso tutto il suo contenuto. Puoi osservare che mydirectory
contiene la sottodirectory newdirectory
e il file file1
. newdirectory
è vuota, ecco perché non viene mostrato alcun contenuto.
In generale, per elencare il contenuto di una directory comprese le sue sottodirectory, utilizzare:
ls -R DIRECTORY_NAME
L’aggiunta di uno slash a "DIRECTORY_NAME" non ha alcun effetto:
$ ls -R animal
è simile a:
$ ls -R animal/
Copia Recursiva con cp -r
cp -r
(o -R
o --recursive
) consente di copiare una directory insieme a tutte le sue sottodirectory e file.
$ tree mydir mydir |_file1 |_newdir |_file2 |_insidenew |_lastdir 3 directories, 2 files $ mkdir newcopy $ cp mydir newcopy cp: omitting directory 'mydir' $ cp -r mydir newcopy * tree newcopy newcopy |_mydir |_file1 |_newdir |_file2 |_insidenew |_lastdir 4 directories, 2 files
Nell’elenco sopra, osserviamo che provando a copiare mydir
in newcopy
, usando cp
senza -r
, il sistema visualizza il messaggio cp: omitting directory 'mydir'
. Tuttavia, aggiungendo l’opzione -r
, tutti i contenuti di mydir
, incluso se stesso, vengono copiati in newcopy
.
Per copiare directory e sottodirectory utilizzare:
cp -r SOURCE DESTINATION
Cancellazione Ricorsiva con rm -r
rm -r
rimuoverà una directory e tutto il suo contenuto (sottodirectory e file).
Warning
|
Fai molta attenzione con la combinazione di opzioni |
Nel tentativo di eliminare una directory senza usare -r
, il sistema segnala un errore:
$ rm newcopy/ rm: cannot remove 'newcopy/': Is a directory $ rm -r newcopy/
Devi aggiungere -r
come nel secondo comando affinché l’eliminazione abbia effetto.
Note
|
Forse ti starai chiedendo perché in questo caso non usiamo |
Aggiungi l’opzione -i
per chiedere conferma prima che il file venga eliminato:
$ rm -ri mydir/ rm: remove directory 'mydir/'?
Il sistema chiede prima di provare a cancellare mydir
.
File Globbing e Wildcards
Il file globbing è una funzionalità fornita dalla shell Unix/Linux per rappresentare più nomi di file utilizzando caratteri speciali chiamati wildcards.
I caratteri jolly sono essenzialmente simboli che possono essere utilizzati per sostituire uno o più caratteri. Consentono, per esempio, di mostrare tutti i file che iniziano con la lettera A
o tutti i file che terminano con le lettere .conf
.
I caratteri jolly sono molto utili in quanto possono essere utilizzati con comandi come cp
, ls
o rm
.
Di seguito sono riportati alcuni esempi di file globbing:
rm *
-
Elimina tutti i file nella directory di lavoro corrente.
ls l?st
-
Elenca tutti i file con nomi che iniziano con
l
seguito da un singolo carattere e terminano const
. rmdir [a-z] *
-
Rimuove tutte le directory il cui nome inizia con una lettera minuscola.
Tipi di Wildcard
Ci sono tre caratteri che possono essere usati come caratteri jolly in Linux:
*
(asterisco)-
che rappresenta zero, una o più occorrenze di qualsiasi carattere.
?
(punto interrogativo)-
che rappresenta una singola occorrenza di qualsiasi carattere.
[]
(caratteri tra parentesi quadre)-
che rappresenta qualsiasi occorrenza del carattere(i) racchiuso tra parentesi quadre. È possibile utilizzare diversi tipi di caratteri quali numeri, lettere, altri caratteri speciali. Per esempio, l’espressione
[0-9]
corrisponde a tutte le cifre.
L’asterisco
Un asterisco ("*") corrisponde a zero, una o più occorrenze di qualsiasi carattere.
Per esempio:
$ find /home -name *.png
Questo troverà tutti i file che finiscono con .png
come photo.png
, cat.png
, frank.png
. Il comando find
verrà esplorato ulteriormente in una lezione successiva.
Similarmente:
$ ls lpic-*.txt
elenca tutti i file di testo che iniziano con i caratteri lpic-
seguiti da un numero qualsiasi di caratteri e terminano con .txt
, come lpic-1.txt
e lpic-2.txt
.
Il carattere jolly asterisco può essere utilizzato per manipolare (copiare, eliminare o spostare) tutti i contenuti di una directory:
$ cp -r animal/* forest
In questo esempio, tutto il contenuto di animal
viene copiato in forest
.
In generale per copiare tutto il contenuto di una directory utilizziamo:
cp -r SOURCE_PATH/* DEST_PATH
dove SOURCE_PATH
può essere omesso se ci troviamo già nella directory richiesta.
L’asterisco, proprio come qualsiasi altro carattere jolly, potrebbe essere utilizzato più volte nello stesso comando e in qualsiasi posizione:
$ rm *ate*
Nomi di file con prefisso zero, una o più occorrenze di qualsiasi carattere, seguite dalle lettere ate
e terminanti con zero, una o più occorrenze di qualsiasi carattere verranno rimosse
Il Punto Interrogativo
Il punto interrogativo (?
) corrisponde a una sola occorrenza di un carattere.
Considera l’elenco:
$ ls last.txt lest.txt list.txt third.txt past.txt
Per restituire solo i file che iniziano con l
seguito da un singolo carattere e dai caratteri st.txt
, utilizziamo il carattere jolly punto interrogativo (?
):
$ ls l?st.txt last.txt lest.txt list.txt
Vengono visualizzati solo i file last.txt
, lest.txt
e list.txt
poiché corrispondono ai criteri specificati.
Similarmente,
$ ls ??st.txt last.txt lest.txt list.txt past.txt
file di output che sono preceduti da due caratteri qualsiasi seguiti dal testo st.txt
.
Caratteri tra Parentesi Quadre
I caratteri jolly tra parentesi corrispondono a qualsiasi occorrenza del carattere(i) racchiuso tra parentesi quadre:
$ ls l[aef]st.txt last.txt lest.txt
Questo comando elenca tutti i file che iniziano con l
seguito da qualsiasi dei caratteri nel set aef
e finiscono con st.txt
.
Le parentesi quadre potrebbero anche comprendere intervalli:
$ ls l[a-z]st.txt last.txt lest.txt list.txt
Questo restituisce tutti i file con nomi che iniziano con l
seguito da qualsiasi lettera minuscola nell’intervallo da a
a z
e finiscono con st.txt
.
È anche possibile applicare più intervalli tra parentesi quadre:
$ ls student-1A.txt student-2A.txt student-3.txt $ ls student-[0-9][A-Z].txt student-1A.text student-2A.txt
L’esecuzione del comando mostra un elenco scolastico di studenti registrati. Per elencare solo gli studenti i cui numeri di registrazione soddisfano i seguenti criteri:
-
inizia con
student-
-
seguito da un numero e un carattere maiuscolo
-
e termina con
.txt
Combinazione di Wildcard
Le wildcard (caratteri jolly) possono essere combinate nei seguenti modi:
$ ls last.txt lest.txt list.txt third.txt past.txt $ ls [plf]?st* last.txt lest.txt list.txt past.txt
Il primo componente jolly ([plf]
) corrisponde a uno qualsiasi dei caratteri p
, l
o f
. Il secondo componente jolly (?
) corrisponde a qualsiasi carattere singolo. Il terzo componente jolly (*
) corrisponde a zero, una o più occorrenze di qualsiasi carattere.
$ ls file1.txt file.txt file23.txt fom23.txt $ ls f*[0-9].txt file1.txt file23.txt fom23.txt
Il comando precedente mostra tutti i file che iniziano con la lettera f
, seguiti da qualsiasi insieme di lettere, almeno un’occorrenza di una cifra e termina con .txt
. Nota che file.txt
non viene visualizzato poiché non corrisponde a questo criterio.
Esercizi Guidati
-
Considera l’elenco seguente:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
-
Cosa rappresenta il carattere
d
nell’output? -
Perché le dimensioni sono fornite in un formato leggibile dall’uomo?
-
Quale sarebbe la differenza nell’output se
ls
fosse usato senza argomenti?
-
-
Considera il comando seguente:
$ cp /home/frank/emp_name /home/frank/backup
-
Cosa succederebbe al file
emp_name
se questo comando fosse eseguito con successo? -
Se
emp_name
fosse una directory quale opzione dovrebbe essere aggiunta acp
per eseguire il comando? -
Se
cp
venisse cambiato inmv
, quali risultati ti aspetteresti?
-
-
Considera l’elenco:
$ ls file1.txt file2.txt file3.txt file4.txt
Quale carattere jolly aiuterebbe a cancellare tutto il contenuto di questa directory?
-
Sulla base dell’elenco precedente, quali file verrebbero visualizzati dal seguente comando?
$ ls file*.txt
-
Completa il comando aggiungendo le cifre e i caratteri appropriati nelle parentesi quadre per elencare tutto il contenuto precedentemente indicato:
$ ls file[].txt
Esercizi Esplorativi
-
Nella tua directory home, crea i file chiamati
dog
ecat
. -
Sempre nella tua directory home, crea la directory chiamata
animal
. Spostadog
ecat
all’interno dianimal
. -
Vai alla cartella
Documents
che si trova nella tua directory home e all’interno, crea la directorybackup
. -
Copia
animal
e il suo contenuto all’interno dibackup
. -
Rinomina
animal
all’interno dibackup
inanimal.bkup
-
La directory
/home/lpi/databases
contiene molti file tra i quali:db-1.tar.gz
,db-2.tar.gz
edb-3.tar.gz
. Quale singolo comando puoi utilizzare per elencare solo i file sopra menzionati? -
Considera il seguente elenco:
$ ls cne1222223.pdf cne12349.txt cne1234.pdf
Attraverso l’uso di un singolo carattere di globbing, quale comando rimuoverebbe solo i file pdf?
Sommario
In questa lezione abbiamo imparato a visualizzare cosa c’è all’interno di una directory con il comando ls
, a copiare file e cartelle (cp
) e a spostarli (mv
). Abbiamo anche esaminato come creare un nuova directory con il comando mkdir
. Sono stati discussi anche i comandi per rimuovere file (rm
) e cartelle (rmdir
).
In questa lezione hai anche imparato a conoscere il file globbing e i caratteri jolly. Il globbing dei file viene utilizzato per rappresentare più nomi di file utilizzando caratteri speciali chiamati caratteri jolly. I caratteri jolly di base e il loro significato:
?
(punto interrogativo)-
rappresenta una singola occorrenza di un carattere.
[]
(parentesi quadre)-
rappresenta qualsiasi occorrenza del carattere(i) racchiuso tra parentesi quadre.
*
(asterisco)-
rappresenta zero, una o più occorrenze di qualsiasi carattere.
È possibile combinare tutti questi caratteri jolly nella stessa istruzione.
Risposte agli Esercizi Guidati
-
Considera l’elenco seguente:
$ ls -lh total 60K drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Desktop drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Documents drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Downloads -rw-r--r-- 1 frank frank 21 Sep 7 12:59 emp_name -rw-r--r-- 1 frank frank 20 Sep 7 13:03 emp_salary -rw-r--r-- 1 frank frank 8.8K Apr 1 2018 examples.desktop -rw-r--r-- 1 frank frank 10 Sep 1 2018 file1 -rw-r--r-- 1 frank frank 10 Sep 1 2018 file2 drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Music drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Pictures drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Public drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Templates drwxr-xr-x 2 frank frank 4.0K Apr 1 2018 Videos
-
Cosa rappresenta il carattere
d
nell’output?d
è il carattere che identifica una directory. -
Perché le dimensioni sono fornite in un formato leggibile dall’uomo?
Per l’utilizzo dell’opzione
-h
. -
Quale sarebbe la differenza nell’output se
ls
fosse usato senza argomenti?Sarebbero visualizzati solo i nomi delle directory e dei file.
-
-
Considera il comando seguente:
$ cp /home/frank/emp_name /home/frank/backup
-
Cosa succederebbe al file
emp_name
se questo comando fosse eseguito con successo?emp_name
verrebbe copiato all’interno dibackup
. -
Se
emp_name
fosse una directory quale opzione dovrebbe essere aggiunta acp
per eseguire il comando?-r
-
Se
cp
venisse cambiato inmv
, quali risultati ti aspetteresti?emp_name
verrebbe copaita all’interno dibackup
. Non sarebbe più presente nella home directory dell’utentefrank
.
-
-
Considera l’elenco:
$ ls file1.txt file2.txt file3.txt file4.txt
Quale carattere jolly aiuterebbe a cancellare tutto il contenuto di questa directory?
L’asterisco
*
. -
Sulla base dell’elenco precedente, quali file verrebbero visualizzati dal seguente comando?
$ ls file*.txt
Tutti, poiché il carattere asterisco rappresenta un numero qualsiasi di caratteri.
-
Completa il comando aggiungendo le cifre e i caratteri appropriati nelle parentesi quadre per elencare tutto il contenuto precedentemente indicato:
$ ls file[].txt
file[0-9].txt
Risposte agli Esercizi Esplorativi
-
Nella tua directory home, crea i file chiamati
dog
ecat
.$ touch dog cat
-
Sempre nella tua directory home, crea la directory chiamata
animal
. Spostadog
ecat
all’interno dianimal
.$ mkdir animal $ mv dog cat -t animal/
-
Vai alla cartella
Documents
che si trova nella tua directory home e all’interno, crea la directorybackup
.$ cd ~/Documents $ mkdir backup
-
Copia
animal
e il suo contenuto all’interno dibackup
.$ cp -r animal ~/Documents/backup
-
Rinomina
animal
all’interno dibackup
inanimal.bkup
$ mv animal/ animal.bkup
-
La directory
/home/lpi/databases
contiene molti file tra i quali:db-1.tar.gz
,db-2.tar.gz
edb-3.tar.gz
. Quale singolo comando puoi utilizzare per elencare solo i file sopra menzionati?$ ls db-[1-3].tar.gz
-
Considera il seguente elenco:
$ ls cne1222223.pdf cne12349.txt cne1234.pdf
Attraverso l’uso di un singolo carattere di globbing, quale comando rimuoverebbe solo i file pdf?
$ rm *.pdf