Le competenze di Linux sono sempre richieste. Sviluppa il tuo set di abilità imparando a usare i comandi di directory Linux e i comandi di file Linux. Questa guida è scritta come un viaggio. Una serie di istruzioni dettagliate che guidano l'utente attraverso la navigazione, la creazione, la rimozione, lo spostamento e la ridenominazione di directory e file. Tutto dalla riga di comando di Linux.
Se sei pronto per sviluppare competenze Linux pratiche e reali, sei nel posto giusto!
Prerequisiti
Per esercitarsi con gli esempi di Linux in questa guida, è necessario disporre di un computer che esegue Linux. La distribuzione di Linux non ha importanza. Tutte le demo in questa guida utilizzeranno RedHat Enterprise Linux 8 (RHEL).
Ubuntu 20.04 LTS è un'ottima alternativa se non vuoi usare RedHat.
Elenco e ricerca di directory
Se stai seguendo, apri una sessione terminale sul tuo computer Linux.
Trovare la directory corrente con pwd
Quando stai navigando in un file system in un terminale, il tuo prompt si trova sempre in una determinata directory chiamata directory corrente o directory di lavoro. A seconda della configurazione del terminale, potresti vedere o meno la directory di lavoro nel prompt.
Il pwd
o il comando print directory di lavoro visualizza la directory corrente in cui ti trovi. Immettere il comando come mostrato di seguito:
pwd
Per impostazione predefinita, la directory /home/
è il punto di partenza in una sessione del terminale a meno che tu non abbia effettuato l'accesso con l'account root.
Quando esegui il comando, viene restituita la directory di lavoro come mostrato di seguito:
A differenza di Windows, Linux non utilizza lettere di unità (C:\ , D:\ , ecc.) per dischi o partizioni (un'area logica su un disco). In Linux, le directory sono precedute da un / .
Elencare file e cartelle con il ls
Comando
All'interno delle directory, troverai file e sottocartelle. Il pwd
il comando mostra solo la directory di lavoro, quindi come vedi le sottodirectory e i file? Il ls
comando.
Il ls
o il comando list directory è l'equivalente di dir
comando in Windows. Questo comando elenca i file e le directory nella directory corrente o in qualsiasi percorso alternativo specificato.
Il
dir
il comando esiste anche in Linux. Equivalente all'esecuzione dils -C -b
. In genere,ls
viene utilizzato sudir
poiché esiste una maggiore flessibilità di visualizzazione.
Per trovare file e directory in /home/user directory, esegui ls
comando. L'output risultante sono i vari file e directory (cartelle) contenuti all'interno.
ls
Il ls
Il comando visualizza anche informazioni aggiuntive su file e cartelle come autorizzazioni, dimensione del file (in byte) e date del file con il l
opzione. Come in Windows, alcuni file e cartelle potrebbero essere nascosti dal sistema operativo dalla visualizzazione normale. Visualizza i file che non vengono visualizzati per impostazione predefinita con il a
opzione.
I file di punti sono file di configurazione di testo normale nei sistemi Unix. Qualsiasi file può essere nascosto quando il nome del file è preceduto da un punto
.
.
ls -la
Puoi vedere nello screenshot qui sotto usando il la
opzioni, ricevi molte più informazioni visualizzate in sei diverse colonne da sinistra a destra:
- Autorizzazioni, nel formato POSIX ACL, con il precedente
d
a significare una directory - Conteggio sottodirectory con directory contenenti solo file come
1
- Utente e gruppo a cui appartiene un file o una cartella
- Dimensioni della directory o del file in byte
- Ora dell'ultima modifica
- Nome del file o della cartella
Puoi trovare tutti i file e le cartelle nelle sottodirectory con il -R
opzione per visualizzare i contenuti della directory in modo ricorsivo.
ls -R
Se vuoi visualizzare il contenuto di una directory diversa, passa la directory di destinazione a ls
. Di seguito sono mostrati /var/log contenuto della directory senza uscire da /home/user directory.
ls /var/log
Individuazione di file e cartelle con find
Individuare i file su un file system di grandi dimensioni è difficile. Per fortuna, il find
Il comando offre diversi modi per individuare i file e le cartelle di cui potresti aver bisogno.
Ad esempio, vuoi trovare il /var directory. Dato un punto di partenza, /
e impostando il tipo come d
per la directory, cerca nel filesystem il var
nome.
sudo find / -type d -name "var"
È possibile che venga visualizzato un errore di autorizzazione negata anche quando si esegue il comando utilizzando
sudo
. Ilfind
comando tenta di cercare un file system virtuale relativo a Gnome (se usi KDE, questo errore non si applica) a cui il tuo utente non ha accesso. Invece, non discendere le directory su altri filesystem usando il-xdev
cambia invece.
Che ne dici di trovare tutti i file con l'estensione log? Simile a prima, cerca nel filesystem di root, ma questa volta specificando f
per i file e cerca il modello di caratteri jolly di *.log
.
sudo find / -type f -name "*.log"
Il
find
comando ha altre opzioni, comeH
,L
eP
, che gestiscono il modo in cui vengono trattati i collegamenti simbolici.
Ricerca di file più veloce con locate
Come find
, il locate
comando cerca file e cartelle ma lo fa più velocemente cercando in un database invece che nell'intero filesystem.
Forse hai un file chiamato MyTextFile.txt da qualche parte sul tuo computer. Hai dimenticato dove si trova e hai bisogno di aiuto per trovare il percorso. Usa il locate
comando per trovare il file, fornendogli il nome del file come mostrato di seguito.
locate MyTextFile.txt
Il
locate
comando trova i file ma non troverà nuovi file fino asudo updatedb
corre. Un processo cron esegueupdatedb
una volta al giorno, ma puoi eseguire questo comando manualmente in qualsiasi momento.
Come troveresti tutte le directory denominate tmp
? Potresti passare */tmp
, che dice a locate
per cercare nel database le voci che terminano con tmp
.
locate */tmp
Cambiare le directory con il cd
Comando
Finora hai operato per la maggior parte all'interno di un'unica directory. Operare in Linux spesso significa cambiare directory, fatto attraverso il cd
o cambia il comando di directory. Utilizzando l'esempio seguente si sposta dalla directory home corrente, /home/user, a /var/log durante la verifica della directory corrente.
# Show that you are in the current home directory
pwd
# Change to the /var/log directory
cd /var/log
# Verify that you are now in the /var/log directory
pwd
Ora che hai imparato a passare a una directory specifica, come fai a salire di una directory? Per salire di una directory, utilizzerai due punti (..
), passato al cd
comando. Una volta eseguito, come mostrato di seguito, ti sposti su una singola directory, riportandoti nel /var/
directory.
# Show that you are currently in the /var/log directory
pwd
# Move up a single directory
cd ..
# Verify that you have moved up to the /var directory
pwd
Quando vuoi passare a /var/log directory di nuovo, passa il nome della directory in cui cambiare con un /
finale .
# Show that you are currently in the /var directory
pwd
# Change to the /var/log directory
cd log/
# Verify that you are back in the /var/log directory
pwd
Come mostrato di seguito, inserendo solo la sottodirectory di destinazione con un /
finale elimina la necessità di inserire ogni volta un percorso assoluto.
Se non sei sicuro del nome di un file o di una directory quando utilizzi
cd
, premi ilTAB
tasto due volte per produrre un elenco di possibilità. Esempio:cd
Creare una nuova directory con mkdir
La creazione di una directory in Linux avviene tramite il mkdir
o comando make directory. Per creare una nuova directory chiamata MyAwesomeLinuxDir nella tua home directory (indicata dal percorso speciale ~
), usa il comando seguente.
mkdir ~/MyAwesomeLinuxDir
Se Linux crea la directory correttamente, Linux non restituirà un messaggio nella console. Puoi elencare le directory nella tua home directory con il ls
comando per verificare che la directory, MyAwesomeLinuxDir , esiste.
Ora aggiungi un po' di complessità e crea più nuove directory con un solo comando. Per creare più directory, usi il mkdir
comando e passare più nomi di directory separati da uno spazio.
mkdir ~/Directory01 ~/Directory02 ~/Directory03
Ancora una volta, elenca le directory con il ls
comando. Come puoi vedere di seguito, ora esistono altre tre directory.
Utile come usare mkdir
creare una singola cartella è, cosa succede se è necessario creare più cartelle tutte in una volta? Invece di digitare ogni directory, usa l'espansione delle parentesi! Questa tecnica è efficace quando si creano più directory con uno schema simile.
L'espansione delle parentesi rende la creazione di più directory basate su uno schema più veloce rispetto alla digitazione manuale di ciascuna. Per dimostrare l'espansione delle parentesi, aggiungi {03..07}
dopo il nome Directory
per generare cinque directory. Potresti notare che Directory03 esiste già perché l'hai creato in un esempio precedente. Evita un errore sulle directory esistenti con il p
opzione.
mkdir -p ~/Directory{03..07}
Come mostrato di seguito, Directory03 non viene creato, ma quattro nuove directory che terminano con 04
attraverso 07
ora esistono.
Creazione di un nuovo file con touch
Ora che hai imparato a creare cartelle, come crei un file? Usando il touch
di Linux comando crea un file vuoto, come mostrato nel prossimo esempio.
touch ATABlog
Ancora una volta, elenca i file e le cartelle nella tua home directory, per vedere che il nuovo ATABlog il file esiste.
Ricorda come hai appreso che il mkdir
il comando può utilizzare l'espansione delle parentesi per creare più directory? La stessa tecnica è utile con il touch
comanda anche tu! Creane altri cinque ATABlog file che terminano da 01 a 05.
touch ATABlog{01..05}
Dopo aver elencato i file e le cartelle con ls
, esistono cinque nuovi file nella tua home directory.
Rimozione di directory e file in Linux
Nell'ultima sezione, hai imparato come creare directory e file in Linux. Per rimuovere directory e file, usa il rm
comando per rimuovere le directory e il loro contenuto.
Ad esempio, vuoi rimuovere un file chiamato ATABlog01. Rimuovere un file passando il nome del file al rm
comando. Come mostrato di seguito, stai rimuovendo ATABlog01 file dalla directory corrente.
rm ATABlog01
Puoi rimuovere più file contemporaneamente aggiungendo uno spazio tra ogni nome di file nella directory corrente. Elimina il restante ATABlog## file in un unico rm
comando, come mostrato di seguito.
rm ATABlog02 ATABlog03 ATABlog04 ATABlog05
Ora che hai imparato a rimuovere i file, è ora di rimuovere una directory. Per impostazione predefinita, il rm
il comando non rimuove le directory. Rimuovere una directory specificando il r
o ricorsivo opzione, come mostrato nell'esempio seguente.
rm -r Directory01
Nello screenshot qui sotto, puoi vedere quella Directory01 è stato rimosso.
Puoi usare l'espansione delle parentesi graffe con il rm
comando anche. Fornire l'intervallo da 2 a 7 all'interno del rm
command informa il comando remove di eliminare tutte le directory denominate Directory02 tramite Directory07 . Come mostrato quando confermato da un ls
comando.
rm -r Directory{02..07}
Per prevenire la rimozione accidentale di file o cartelle errati, utilizza il
i
per richiedere ogni file. Rendi l'opzione meno onerosa conI
opzione che richiede solo su tre o più file.
Copiare directory e file in Linux
Copia i file in Linux con cp
comando. Non solo cp
comando copia directory e file in Linux, ma anche attributi di file e creazione di collegamenti simbolici.
Per dimostrare la copia di un file dagli esempi precedenti, copia il ATABlog
file in Documenti/ directory con il cp
comando. Aggiungi il v
opzione per visualizzare ulteriori informazioni sull'esatta operazione di copia.
cp -v ATABlog Documents/
Ora copia la cartella, MyAwesomeLinuxDir , ai Documenti directory. Qui, come con rm
comando, assicurati di aggiungere il r
o un'opzione ricorsiva per copiare la directory, come mostrato nell'esempio seguente.
cp -r MyAwesomeLinuxDir/ Documents/
Sposta directory e file
Nella sezione precedente, hai copiato file e cartelle utilizzando il cp
comando. Per spostarsi directory e file in Linux, usa il mv
comando. Per spostare le directory in Linux, usa il mv
comando. Il mv
il comando è simile a quello del cp
comando che hai imparato negli esempi precedenti.
mv [options] [source] [destination]
Il mv
comando è come tagliare e incollare in Windows, con il vantaggio di poter rinominare i file contemporaneamente. Le prossime sezioni ti mostreranno come usare mv
per entrambi gli scenari.
Usa usa il
-i
opzione da richiedere prima di ogni mossa o il-f
opzione per spostare forzatamente gli elementi senza chiedere conferma.
Per dimostrare, sposta il file Documents/ATABlog al Desktop directory con il mv
comando. Sposta la cartella, Documents/MyAwesomeLinuxDir al Desktop anche, come mostrato di seguito.
mv Documents/ATABlog Desktop/
mv Documents/MyAwesomeLinuxDir Desktop/
I tuoi comandi dovrebbero assomigliare all'esempio seguente. Ricorda che stai spostando il file e la directory (sorgente) in un'altra directory (destinazione).
Usa il ls
comando per vedere che entrambi si trovano ora nel Desktop directory.
Rinominare directory e file
Sebbene non ci sia un comando di ridenominazione, il mv
il comando svolge lo stesso ruolo. Invece di passare solo una destinazione al mv
comando, specifica il file o la cartella risultante senza una barra finale da spostare e rinominare.
Sposta il file e la cartella nella tua home directory mentre rinomini il file in ATABlog_Renamed . Allo stesso modo, fai lo stesso con MyAwesomeLinuxDir e rinomina la directory in MyAwesomeLinuxDir_Renamed nella home directory, come mostrato di seguito.
mv Desktop/ATABlog ~/ATABlog_Renamed
mv Desktop/MyAwesomeLinuxDir ~/MyAwesomeLinuxDir_Renamed
Passaggi successivi
In questo articolo, hai appreso molti dei comandi comuni delle directory Linux, ad esempio come attraversare un filesystem Linux insieme alla creazione, allo spostamento e all'eliminazione di file.