I nuovi convertiti Linux provenienti dal mondo Windows potrebbero trovare un po' intimidatorio lavorare con la riga di comando. Tuttavia, non è così difficile da usare. Tutto ciò di cui hai bisogno per iniziare con la riga di comando è imparare alcuni comandi di base.
Sebbene la maggior parte delle distribuzioni Linux siano intuitive e dotate di un'interfaccia grafica facile da usare, sapere come utilizzare la riga di comando può essere molto utile. La riga di comando ti dà più potere sul tuo sistema e accesso a funzionalità che non sono disponibili tramite un'interfaccia grafica.
In questo articolo, esamineremo alcuni dei comandi Linux più comuni utilizzati quotidianamente dagli amministratori di sistema Linux.
Ottenere informazioni sul comando #
La memorizzazione delle opzioni di comando di solito non è necessaria e forse è una perdita di tempo. Di solito, se non usi il comando frequentemente, puoi facilmente dimenticare le sue opzioni.
La maggior parte dei comandi ha un --help
opzione, che stampa un breve messaggio su come utilizzare il comando ed esce:
command_name --help
L'man
comando #
Quasi tutti i comandi di Linux sono distribuiti insieme alle pagine man. Una pagina man o man è una forma di documentazione che spiega cosa fa il comando, esempi di come esegui il comando e quali argomenti accetta.
L'man
comando viene utilizzato per visualizzare la pagina di manuale di un determinato comando.
man command_name
Ad esempio, per aprire la pagina man di cd
comando, dovresti digitare:
man cd
Per navigare nelle pagine man, usa la Arrow
, Page Up
e Page Down
chiavi. Puoi anche premere Enter
tasto per spostare una riga alla volta, lo Space
barra per passare alla schermata successiva e il b
tasto per tornare indietro di una schermata. Per uscire dalla pagina man, premi il tasto q
chiave.
Navigazione nel file system #
In Linux, ogni file e directory si trova nella directory principale, la prima o la directory più in alto nell'albero delle directory. La directory principale è indicata da una singola barra iniziale /
.
Durante la navigazione nel file system operando su file, è possibile utilizzare il percorso assoluto o relativo della risorsa.
Il percorso assoluto o completo inizia dalla radice del sistema /
e il percorso relativo inizia dalla directory corrente.
Directory di lavoro corrente (pwd
comando) #
La directory di lavoro corrente è la directory in cui l'utente sta attualmente lavorando. Ogni volta che interagisci con il tuo prompt dei comandi, stai lavorando all'interno di una directory.
Usa il pwd
comando per scoprire in quale directory ti trovi attualmente:
pwd
Il comando mostra il percorso della tua attuale directory di lavoro:
/home/linuxize
Cambia directory (cd
comando) #
Il cd
Il comando ("cambia directory") viene utilizzato per modificare la directory di lavoro corrente in Linux e altri sistemi operativi simili a Unix.
Se utilizzato senza alcun argomento, cd
ti porterà alla tua home directory:
cd
Per passare a una directory, puoi utilizzare il suo percorso assoluto o relativo.
Supponendo che la directory Downloads
esiste nella directory da cui esegui il comando, puoi accedervi utilizzando il percorso relativo alla directory:
cd Downloads
Puoi anche navigare in una directory usando il suo percorso assoluto:
cd /home/linuxize/Downloads
Due punti (..
), uno dopo l'altro, rappresentano la directory padre o, in altre parole, la directory immediatamente sopra quella corrente.
Supponiamo che tu sia attualmente in /usr/local/share
directory. Per passare a /usr/local
directory (un livello superiore rispetto alla directory corrente), dovresti digitare:
cd ../
Per salire di due livelli:
cd ../../
Per tornare alla directory di lavoro precedente, utilizzare il trattino (-
) carattere come argomento:
cd -
Se la directory in cui vuoi cambiare ha degli spazi nel nome, dovresti racchiudere il percorso tra virgolette o usare il carattere backslash () per sfuggire allo spazio:
cd Dir\ name\ with\ space
Lavorare con file e directory #
Elencare il contenuto della directory (ls
comando) #
Il ls
informazioni sull'elenco dei comandi su file e directory all'interno di una directory.
Se utilizzato senza opzioni e argomenti, ls
visualizza un elenco in ordine alfabetico dei nomi di tutti i file nella directory di lavoro corrente:
ls
Per elencare i file in una directory specifica, passa il percorso della directory come argomento:
ls /usr
L'output predefinito di ls
comando mostra solo i nomi dei file e delle directory. Usa -l
per stampare file in un formato elenco lungo:
ls -l /etc/hosts
L'output include il tipo di file, le autorizzazioni, il numero di collegamenti reali, il proprietario, il gruppo, le dimensioni, la data e il nome del file:
-rw-r--r-- 1 root root 337 Oct 4 11:31 /etc/hosts
Il ls
il comando non elenca i file nascosti per impostazione predefinita. Un file nascosto è qualsiasi file che inizia con un punto (.
).
Per visualizzare tutti i file, inclusi i file nascosti, usa il -a
opzione:
ls -a ~/
Visualizzazione del contenuto del file (cat
comando) #
Il cat
comando stampa il contenuto di uno o più file e unisce (concatena) i file aggiungendo il contenuto di un file alla fine di un altro file
Per visualizzare il contenuto di un file sullo schermo, passa il nome del file a cat
come argomento:
cat /etc/hosts
Creazione di file (touch
comando) #
Il touch
Il comando viene utilizzato per aggiornare i timestamp su file e directory esistenti, nonché per creare nuovi file vuoti.
Per creare un file, specifica il nome del file come argomento:
touch file.txt
Se il file esiste già, touch
cambierà l'ultimo accesso e l'ora di modifica del file all'ora corrente.
Creazione di directory (mkdir
comando) #
In Linux, puoi creare nuove directory (note anche come cartelle) usando mkdir
comando.
Per creare una directory, passa il nome della directory come argomento al comando:
mkdir /tmp/newdirectory
mkdir
può prendere uno o più nomi di directory come argomenti.
Se l'argomento è un nome di directory, senza il percorso completo, la nuova directory viene creata nella directory di lavoro corrente.
Per creare directory principali, usa -p
opzione:
mkdir -p Projects/linuxize.com/src/assets/images
Il comando sopra crea l'intera struttura della directory.
Quando mkdir
viene invocato con -p
opzione, crea la directory solo se non esiste.
Creazione di collegamenti simbolici (ln
comando) #
Un collegamento simbolico (o collegamento simbolico) è un tipo speciale di file che punta a un altro file o directory.
Per creare un collegamento simbolico a un determinato file, usa ln
comando con -s
opzione, il nome del file come primo argomento e il nome del collegamento simbolico come secondo argomento:
ln -s source_file symbolic_link
Se viene fornito un solo file come argomento, ln
crea un collegamento a quel file nella directory di lavoro corrente con lo stesso nome del file a cui punta.
Rimozione di file e directory (rm
comando) #
Per rimuovere file e directory, usa rm
comando.
Per impostazione predefinita, se eseguito senza alcuna opzione, rm
non rimuove le directory. Inoltre, non richiede all'utente se procedere con la rimozione dei file indicati.
Per eliminare un file o un collegamento simbolico, usa il rm
comando seguito dal nome del file come argomento:
rm file.txt
rm
accetta uno o più nomi di file o directory come argomenti.
Il -i
l'opzione dice a rm
per richiedere all'utente ogni dato file prima di rimuoverlo:
rm -i file.txt
rm: remove regular empty file 'file.txt'?
Usa -d
opzione per rimuovere una o più directory vuote:
rm -d dirname
Per rimuovere le directory non vuote e tutti i file al loro interno in modo ricorsivo, usa il -r
opzione (ricorsiva):
rm -rf dirname
Il -f
l'opzione dice a rm
non richiedere mai all'utente e ignorare file e argomenti inesistenti.
Copiare file e directory (cp
comando) #
Il cp
comando consente di copiare file e directory.
Per copiare un file nella directory di lavoro corrente, usa il file sorgente come primo argomento e il nuovo file come secondo:
cp file file_backup
Per copiare un file in un'altra directory, specificare il percorso assoluto o relativo della directory di destinazione. Quando come destinazione viene specificato solo il nome della directory, il file copiato avrà lo stesso nome del file originale.
cp file.txt /backup
Per impostazione predefinita, se il file di destinazione esiste, verrà sovrascritto.
Per copiare una directory, inclusi tutti i suoi file e sottodirectory, usa il -R
o -r
opzione:
cp -R Pictures /opt/backup
Spostamento e ridenominazione di file e directory (mv
comando) #
Il mv
comando (abbreviazione di sposta) viene utilizzato per rinominare e spostare file e directory da una posizione all'altra.
Ad esempio, per spostare un file in una directory, eseguire:
mv file.txt /tmp
Per rinominare un file è necessario specificare il nome del file di destinazione:
mv file.txt file1.txt
La sintassi per spostare le directory è la stessa di quando si spostano i file.
Per spostare più file e directory contemporaneamente, specifica la directory di destinazione come ultimo argomento:
mv file.tx1 file1.txt /tmp
Installazione e rimozione dei pacchetti #
Un gestore di pacchetti è uno strumento che consente di installare, aggiornare, rimuovere e gestire in altro modo i pacchetti software specifici della distribuzione.
Diverse distribuzioni Linux hanno gestori di pacchetti e formati di pacchetto diversi.
Solo l'utente root o l'utente con privilegi sudo può installare e rimuovere i pacchetti.
Ubuntu e Debian (apt
comando) #
Advanced Package Tool o APT è un sistema di gestione dei pacchetti utilizzato dalle distribuzioni basate su Debian.
Ci sono diversi strumenti di gestione dei pacchetti da riga di comando nelle distribuzioni Debian, con apt
e apt-get
essendo i più utilizzati.
Prima di installare un nuovo pacchetto, devi aggiornare l'indice del pacchetto APT:
apt update
L'indice APT è un database che contiene i record dei pacchetti disponibili dai repository abilitati nel tuo sistema.
Per aggiornare i pacchetti installati alle versioni più recenti, esegui:
apt upgrade
Installare i pacchetti è semplice come eseguire:
apt install package_name
Per rimuovere un pacchetto installato, inserisci:
apt remove package_name
CentOS e Fedora (dnf
comando) #
RPM è un potente sistema di gestione dei pacchetti utilizzato da Red Hat Linux e dai suoi derivati come CentOS e Fedora. RPM si riferisce anche a rpm
comando e .rpm
formato file.
Per installare un nuovo pacchetto su distribuzioni basate su Red Hat, puoi utilizzare yum
o dnf
comandi:
dnf install package_name
A partire da CentOS 8 dnf
sostituito yum
come gestore di pacchetti predefinito. dnf
è retrocompatibile con yum
.
Per aggiornare i pacchetti installati alle versioni più recenti, digita:
dnf update
Rimuovere i pacchetti è semplice come:
dnf remove package_name
Proprietà file e autorizzazioni #
In Linux, l'accesso ai file è gestito tramite autorizzazioni, attributi e proprietà dei file. Ciò garantisce che solo gli utenti e i processi autorizzati possano accedere a file e directory.
In Linux, ogni file è associato a un proprietario e a un gruppo e gli vengono assegnati diritti di accesso autorizzati per tre diverse classi di utenti:
- Il proprietario del file.
- I membri del gruppo.
- Tutti gli altri.
Tre tipi di autorizzazioni si applicano a ciascuna classe:
- Il permesso di lettura.
- Il permesso di scrittura.
- Il permesso di esecuzione.
Questo concetto consente di specificare quali utenti possono leggere il file, scrivere sul file o eseguire il file.
Per visualizzare il proprietario del file e le autorizzazioni, utilizza ls -l
comando.
Modifica dei permessi (chmod
comando) #
Il chmod
comando consente di modificare i permessi del file. Funziona in due modalità, simbolica e numerica.
Quando si utilizza la modalità numerica, è possibile impostare le autorizzazioni per il proprietario, il gruppo e tutti gli altri. Ciascuna autorizzazione di scrittura, lettura ed esecuzione ha il seguente valore numerico:
r
(leggi) =4w
(scrivere) =2x
(esegui) =1- nessuna autorizzazione =0
Il numero delle autorizzazioni di una specifica classe utente è rappresentato dalla somma dei valori delle autorizzazioni per quel gruppo.
Ad esempio, per concedere autorizzazioni di lettura e scrittura al proprietario del file e autorizzazioni di lettura solo ai membri del gruppo e a tutti gli altri utenti, eseguire:
chmod 644 filename
Solo il root, il proprietario del file o l'utente con privilegi sudo possono modificare i permessi di un file.
Per operare in modo ricorsivo su tutti i file e le directory in una data directory, usa il chmod
comando con l'opzione -R, (–ricorsiva):
chmod -R 755 dirname
Fai molta attenzione quando modifichi ricorsivamente i permessi dei file.
Cambiare la proprietà (chown
comando) #
Il chown
Il comando consente di modificare la proprietà dell'utente e del gruppo di un determinato file, directory o collegamento simbolico.
Per cambiare il proprietario di un file, usa il chown
comando seguito dal nome utente del nuovo proprietario e dal file di destinazione:
chown username filename
Per modificare sia il proprietario che il gruppo di un file, invoca il chown
comando seguito dal nuovo proprietario e dal gruppo separati da due punti (:
) senza spazi intermedi e il file di destinazione:
chown username:groupname filename
Usa il -R
(--recursive
) opzione, per operare ricorsivamente su tutti i file e le directory nella directory specificata:
chown -R username:groupname dirname
Eleva i privilegi (sudo
comando) #
Il sudo
comando consente di eseguire programmi come un altro utente, per impostazione predefinita l'utente root. Se passi molto tempo sulla riga di comando, sudo
è uno dei comandi che utilizzerai abbastanza frequentemente.
Usando sudo
invece di accedere come root è più sicuro perché puoi concedere privilegi amministrativi limitati a singoli utenti senza che conoscano la password di root.
Per usare sudo
, anteponi semplicemente al comando sudo
:
sudo command
Gestione di utenti e gruppi #
Linux è un sistema multiutente, il che significa che più persone possono interagire con lo stesso sistema contemporaneamente. I gruppi vengono utilizzati per organizzare e amministrare gli account utente. Lo scopo principale dei gruppi è definire un insieme di privilegi come leggere, scrivere o eseguire autorizzazioni per una determinata risorsa condivisa tra gli utenti all'interno del gruppo.
Creazione di utenti (useradd
e passwd
Comandi) #
Il useradd
comando ti consente di creare nuovi utenti.
Per creare un nuovo account utente, invoca useradd
comando seguito dal nome utente:
useradd newuser
Una volta creato l'utente, imposta la password utente eseguendo il passwd
comando:
passwd newuser
Rimozione utenti (userdel
Comando) #
In Linux, puoi eliminare un account utente utilizzando userdel
comando.
Per eliminare un account utente denominato, passare il nome utente a userdel
comando:
userdel newuser
Usa il -r
(–remove) opzione per rimuovere la directory home dell'utente e lo spool di posta:
userdel -r newuser
Gestione dei gruppi (groupadd
e groupdel
Comando) #
Per creare un nuovo gruppo, invoca il groupadd
comando seguito dal nome del gruppo:
groupadd mygroup
Per rimuovere un gruppo, usa il groupdel
comando con il nome del gruppo come argomento:
groupdel mygroup
Aggiunta di utenti ai gruppi (usermod
Comando) #
Per aggiungere un utente esistente a un gruppo, usa usermod
comando seguito da -G
opzione e il nome del gruppo:
usermod -a -G sudo linuxize
Conclusione #
Abbiamo trattato alcuni dei comandi Gnu/Linux più usati.
Sebbene tu possa eseguire la maggior parte delle attività di sviluppo e relative al sistema utilizzando un'interfaccia grafica, la riga di comando ti rende più produttivo e in grado di fare di più in meno tempo.
Fare clic sui collegamenti su ciascun comando per ottenere maggiori informazioni sulle opzioni e sull'utilizzo dei comandi.
Se hai domande o feedback, sentiti libero di lasciare un commento.