Basi della linea di comando

Quando si lavora con sistemi operativi GNU/Linux come OSGeoLive, Ubuntu, ecc., è bene sapere come lavorare sulla linea di comando.

Non preoccuparti. Non è difficile da imparare e scoprirai che è divertente e molto potente.

In questa guida rapida imparerai alcuni comandi di base.

I seguenti comandi vengono eseguiti da una finestra dell’emulatore di terminale.

Avvia un Emulatore di Terminale (attualmente QTerminal) dal menu Applicazioni nella sezione Strumenti di Sistema. In questo modo si ottiene un prompt di comandi della shell Unix.

Dove sono?

pwd mostra il percorso della tua posizione attuale.

pwd
/home/user

Suggerimento

Puoi chiedere aiuto a tutti i comandi e ottenere informazioni su come possono essere usati e scoprire opzioni aggiuntive.

pwd --help
pwd: pwd [-LP]
  Print the name of the current working directory.

  Options:
    -L        print the value of $PWD if it names the current working
              directory
    -P        print the physical directory, without any symbolic links

  By default, `pwd' behaves as if `-L' were specified.

  Exit Status:
  Returns 0 unless an invalid option is given or the current directory cannot be read.

Come navigare nel file system?

Per prima cosa dovresti sapere come è organizzato il file system sotto Linux. Il file system è organizzato in un albero. Inizia con la / conosciuta come directory principale. Tutti i file e le directory sono sotto la directory principale (/).

L’utente corrente è «user» e ha una home directory situata in /home/user. Ogni volta che aprirai una finestra di terminale, questa inizierà nella tua home directory (vedi pwd).

Si può facilmente navigare nel file system con il comando cd.

cd / naviga verso la directory principale cd /home/user va alla tua home directory come cd ~

cd .. ti sposta una directory in alto, cd utente va dalla tua posizione attuale alla home directory dell’utente. Questo non è lo stesso di /user.

Suggerimento

Usa il tasto tab per completare automaticamente il percorso mentre stai scrivendo.

Crea una cartella

Hai accesso in scrittura nella tua directory utente. Puoi creare file e directory lì. Ora creererai una directory per alcuni test a riga di comando.

cd ~
mkdir demo - creates the directory demo
cd demo

Suggerimento

Hai una cronologia dei comandi. Puoi navigare nella cronologia con i tasti freccia su e giù.

Come creare un nuovo file

touch crea un nuovo file vuoto.

cd ~/demo
touch hello.txt

Suggerimento

Puoi convogliare le informazioni di un comando in un file, cioè la cronologia dei comandi. history visualizza la cronologia dei comandi. Con il seguente comando può essere salvata in un file.

history > history.txt

Mostrami cosa c’è in una directory

Vuoi sapere di più sul contenuto di una directory. ls è il programma che ti dà molte informazioni.

  • ls elenca tutti i file e le directory

  • ls -l mostra un elenco più dettagliato dei file/directory con tempo, diritti di accesso degli utenti

  • ls -a mostra anche i file nascosti

  • ls -al si possono combinare le diverse opzioni

  • ls -1 mostra solo i nomi dei file

cd ~/demo
ls -l

total 4
-rw-rw-r-- 1 user user   0 Dec 26 16:23 hello.txt
-rw-rw-r-- 1 user user 255 Dec 26 16:24 history.txt

Copia file e directory

È possibile copiare i file da una posizione all’altra.

Copia un file in un nuovo file

cp hello.txt hello_again.txt

Copia un file in un’altra directory

cp hello.txt /home/user/

Copia un’intera directory in una nuova posizione (-R ricorsivo)

cp -R /home/user/demo /tmp

Che cosa è sudo?

Con sudo puoi fare cose che normalmente non ti sono permesse. sudo esegue i comandi con i diritti del superutente conosciuto anche come root Con sudo puoi per esempio installare più software, amministrare servizi, cambiare i diritti di accesso e molto altro. Vedrai l’uso di sudo in alcuni dei seguenti comandi.

Cerca e installa programmi

Mostra informazioni sui programmi.

apt show postgis

Ricerca di programmi

apt search postgis

Installa programmi

sudo apt-get install sl

Ti piacerà il programma sl. Esegui il nuovo programma con sl, vedi anche apt show sl.

Servizi

Alcuni programmi funzionano come servizi come PostgreSQL, tomcat o Apache Webserver. Puoi avviare o fermare i servizi.

Riavvia il tuo Servizio Apache

sudo service apache2 restart

sudo service apache2 --help

sudo service apache2 status

Come modificare i file

Puoi modificare i file nel terminale o aprirli con un programma esterno come Geany.

Nella finestra del terminale puoi usare l’editor vim (Vi IMproved). vim è molto potente e ha molte opzioni.

Vedere anche

Apri un file con vim:

vim /home/user/demo/hello.txt
  • premi i per passare alla modalità di ingresso

  • ESC lascia la modalità di ingresso

  • :w salva le tue modifiche

  • :wq salva le modifiche e chiude il file

  • :q chiude il file

  • :q! chiude il file senza salvare

Proprietario e diritti di accesso

I diritti di accesso definiscono se un utente o gruppo o altri hanno accesso a un file e che tipo di accesso è dato. Si può avere accesso in lettura, scrittura o esecuzione.

Le directory o i file hanno un proprietario e una definizione di gruppo. Per default il creatore di un file/directory è il proprietario. Ma questa definizione può essere cambiata. Lo imparerai nella prossima sezione.

Puoi mostrare il proprietario e il gruppo tramite ls -l.

cd /home/user/demo
ls -l
-rw-rw-r-- 1 user user 122 Dec 26 16:11 history.txt
  • il carattere iniziale può essere - per un file o d per una directory

  • user è definito come il proprietario e il gruppo

I diritti di accesso sono elencati all’inizio della riga:

  • r read

  • w write

  • x esegui

  • le prime 3 lettere per il proprietario

  • poi le prossime 3 lettere per il gruppo

  • seguito dalle ultime 3 lettere per gli altri

Cambia il proprietario con chown.

sudo chown -R user:www-data /var/www/html/TBD
  • prima passa l’utente poi il gruppo - come user:www-data.

  • -R recursive

Cambia i diritti di accesso con chmod.

sudo chmod -R 777 /var/www/html/TBD
  • 777 tutti possono fare tutto

  • -R recursive

    1. number: owner (u)

    1. number: group (g)

    1. number: other (o)

  • 4 read

  • 2 write

  • 1 execute

  • 660 - il proprietario e il gruppo sono autorizzati a leggere e scrivere, gli altri non hanno diritti

  • 744 - il proprietario può fare tutto, il gruppo e gli altri possono solo leggere

o usarlo in questo modo

sudo chmod -R u+rwx /var/www/html/TBD
  • u = user

  • g = gruppo

  • o = altro

  • a = all

  • +/- right: r = read / w = write / x = execute

Cose da provare

Ecco altri comandi che puoi provare.

  • grep - cerca un pattern in un testo

  • history | grep cd

  • rm - rimuovi un file

  • rmdir - rimuove una directory vuota

  • mv - rinomina/muovi

  • head - mostra l’inizio di un file

  • tail - mostra la fine di un file

  • find - cerca i file in una gerarchia di directory

  • locate - trova i file per nome

E ora?

Hai imparato alcuni importanti comandi e informazioni per lavorare con la linea di comando. Si spera che tu abbia scoperto quanto sia potente la linea di comando.