venerdì 5 aprile 2024

Il computer si accende, ma non si vede niente

 Capita a tutti di accendere il pc, sentire le rassicuranti ventole che cominciano a girare e (nei pc più vecchi) un altrettanto confortante e breve "bip!". Normali segnali che preludono al solito, tranquillo, avvio del computer e del sistema operativo (che, Windows o Linux che sia, in questo articolo presupporremo come perfettamente funzionante).

Cosa succede, però, se il monitor resta nero? Non fatevi prendere dal panico, e provate questi consigli, nell'ordine in cui ve li proponiamo:



1) Testate il monitor

Prima di immergervi a fare ipotesi riguardanti soluzioni complicate che portano via anche molto tempo, assicuratevi (è la cosa più ovvia) che il monitor stia funzionando correttamente. Staccatelo dal computer, accendetelo e spegnetelo. Se il display mostra informazioni diagnostiche di qualsiasi tipo, saprete che il display riceve alimentazione ed è in grado di visualizzare contenuti.

Vuoi acquistare un nuovo PC portatile? Ecco dove puoi farlo, ai migliori prezzi

2) Verificate che il pc si sia completamente riavviato da uno stato in cui era completamente spento. Un computer potrebbe sembrare "non acceso" quando invece ha solo dei problemi nel riprendersi dallo stato di standby/sospensione o ibernazione di Windows.

Spegnete del tutto il computer tenendo premuto il pulsante di alimentazione per un tempo che vada dai 3 ai 5 secondi. Ad alimentazione completamente interrotta, accendete di nuovo il pc e provate a vedere se esegue il boot normalmente.

3) Se il vostro pc è ancora uno di quelli che fanno bip quando si avviano, verificatene il significato consultando questo articolo

4) Ripulite la CMOS

Spegnete il pc, staccate l'alimentazione e apritelo. Estraete la batteria a pastiglia dalla scheda madre e aspettate almeno un quarto d'ora (il tempo necessario affinchè il pc perda tutti i dati di configurazione).

Riposizionate la batteria nel suo alloggiamento, riattaccate il cavo di alimentazione e riaccendete il computer. Noterete, entrando nel BIOS, che tutte le impostazioni sono ritornate al default di fabbrica. Un problema d configurazione del BIOS può essere alla base, talvolta, dei problemi di avviamento del pc.

Una avvertenza: se con questa azione siete riusciti a risolvere il problema e dovete cambiare alcune impostazioni del BIOS, fatele una alla volta, salvate e riavviate, in modo tale che se il problema si fa rivedere saprete quale era la causa.

5) Verificate che il voltaggio dell'alimentatore sia impostato correttamente

Può succedere (raramente, in quelli venduti in Europa) che su un lato dell'alimentatore ci sia uno switch manuale 110/220 volt: assicuratevi che sia sulla posizione 220.

6) Estraete e reinserite qualsiasi componente presente all'interno del pc

E' un consiglio valido in primo luogo per le RAM, i cui contatti si possono ossidare (in quel caso, prendete una gomma morbida per matita e strofinatecela sopra), ma anche per le schede video e tutti i connettori in genere. Spesso questa semplice operazione di "ordine e pulizia" aiuta.

7) Estraete la CPU e riposizionatela, ma solo in casi estremi, se avete l'impressione che si muova nel suo alloggiamento. E' una operazione molto delicata, lasciate fare a qualcuno più esperto se non ve la sentite di maneggiare con sicurezza un oggetto da centinaia di euro.

8) Verificate eventuali segni di corto circuiti causati, a volte, da viti che vanno in giro per il case e vengono a contatto con la scheda madre o con altri componenti, oppure da qualche cavo collegato male.  Ovviamente, se la guaina di qualche cavo è scoperta e ci sono fili in evidenza copritela con un paio di giri di nastro isolante.

9) Testate l'alimentatore

Non è detto che poichè le ventole e i led del pc stanno funzionando anche l'alimentatore stia facendo lo stesso. E' uno dei componenti che provoca più problemi in assoluto (e per questo è degno di un investimento importante quando ci si costruisce un pc da soli) ed è spesso la causa del funzionamento intermittente o malfunzionamento di uno o più componenti del computer. 

Per testarlo è necessario un tester e un po' di esperienza di elettronica: se non siete capaci portatelo da un tecnico. Se dovesse fallire anche un solo test, sarebbe molto meglio cambiarlo subito con un modello di qualità e ovviamente con un wattaggio adeguato, o superiore, ai componenti presenti nel vostro pc (attuali e magari anche futuri).

10) Avviate il computer solo con i componenti fondamentali. Lo scopo qui è quello di eliminare quanto più hardware possibile, conservando la capacità del pc di avviarsi, per isolare il problema il più possibile. Se il computer parte normalmente con l'hardware ridotto al minimo saltate al punto 11.

Se il pc non mostra ancora niente sul monitor, procedete al punto 12.

11) Reinstallate tutto l'hardware eliminato al punto 10, un componente per volta, e fate delle prove dopo ciascuna installazione.

Dal momento che il pc si è avviato solo con i componenti fondamentali, questi stessi componenti devono funzionare correttamente. Ciò significa che uno dei componenti che avete eliminato prima stanno facendo sì che il pc non si avvii correttamente. Reinstallando ciascun dispositivo nel pc e testandoli ogni volta, alla fine troverete quello che sta causando i problemi.

Ovviamente sostituite il dispositivo difettoso quando e se riuscite a individuarlo.

12) Testate le periferiche del vostro computer con un tester per schede madri

Se il vostro pc non mostra ancora nessuna informazione sul monitor nonostante abbiate lasciato solo le periferiche di base, un tester per schede madri (disponibile su qualsiasi sito di ecommerce per pochi euro) vi aiuterà a identificare il componente che sta creando problemi.

Se ritenete di non essere in grado di lavorare con un tester per schede madri passate direttamente al punto seguente.

13) Sostituite ciascun componente di base del pc con uno identico o equivalente che ritenete essere perfettamente funzionante, un componente alla volta, per capire quale potrebbe essere il colpevole. Fate un test dopo ciascuna sostituzione, per capire quale componente sia difettoso.

14) Se non avete un tester per schede madri o non avete intenzione di acquistarlo oppure non avete nemmeno componenti che vi avanzano con cui fare prove, non potete capire quale sia il componente difettoso.

In questi casi, avete poca scelta se non affidarvi a un amico esperto o meglio a un tecnico specializzato.

Ulteriore approfondimento: https://youtube.com/watch?v=Z7g1ufHODYI

mercoledì 1 marzo 2023

I principali comandi DOS di rete

 I principali comandi DOS di rete che ogni amministratore Windows dovrebbe conoscere

Di seguito riportiamo una panoramica dei principali comandi di rete da effettuate sul Prompt dei Comandi. Una serie di strumenti utili per la verifica delle reti TCP/IP in ambiente Windows.

Ogni comando di rete riportato nella presente guida deve essere eseguito dal Prompt dei Comandi, raggiungibile facilmente digitando "cmd" nel campo di ricerca di Windows e, successivamente, digitando il comando in questione nella finestra del DOS e premendo invio sulla tastiera.

Ecco quindi tutti i comandi di rete DOS che ogni amministratore di Windows dovrebbe conoscere. 

Ping

Il comando ping è probabilmente quello più conosciuto ma non per questo meno importante. Viene usato per testare la capacità di comunicazione tra un host di rete e un altro.

Per lanciare questo comando è sufficiente inserire il comando "ping", seguito dal nome o dall'indirizzo IP dell'host di destinazione. Qualora non si conosca l'IP, in alcuni casi è possibile usare il nome a dominio, ad esempio per pingare un sito web.

Es. "ping 8.8.8.8" oppure "ping google.com" per pingare google.com.

Qualora non siano presenti problemi di rete o firewall che ne impediscano il completamento, l'host remoto risponderà al ping con quattro pacchetti da 32 bytes per confermare l'esistenza di un percorso di rete valido e funzionante tra i due host.

Ognuno di questi pacchetti conterrà le seguenti informazioni:

Bytes: dimensioni del pacchetto;

Durata: tempo in millisecondi che intercorre tra la richiesta e la risposta;

TTL (Time To Live) numero di passaggi che il pacchetto ha eseguito per arrivare a destinazione.

In caso di problemi invece si riceverà il messaggio "Richiesta scaduta".

NetStat

Le statistiche possono essere utili ad individuare la causa di eventuali problemi nelle connessioni di rete. A tal fine è possibile usare comando "netstat" per verificare tutte le informazioni relative alle connessioni in entrata e uscita: indirizzo IP locale e porta usata, indirizzo di collegamento e stato della connessione che può essere established (stabilita), time_wait (in attesa) o listening (in ascolto).

Se ciò non bastasse, è possibile usare il comando netstat con alcune opzioni per ottenere informazioni più dettagliate, ecco alcuni esempi:

-a: si otterrà un elenco delle connessioni aperte e le relative porte;

-e: saranno elencati alcune informazioni sui pacchetti ricevuti e trasmessi;

-n: verranno riportati gli indirizzi IP locali ed esterni con le rispettive porte usate;

-r: per conoscere le tabelle di routing;

-s: riporterà una serie informazioni riassuntive relative ai protocolli di rete usati, tra cui: TCP, UDP, IP, ICMP.

Per ottenere una lista completa delle opzioni utilizzabili in combinazione con il comando netstat è possibile digitare: netstat /?

ARP

Tramite il protocollo di risoluzione degli indirizzi (ARP) è possibile mappare gli indirizzi IP agli indirizzi MAC. Poiché i dispositivi Windows conservano una cache ARP che contiene i risultati delle ultime query, è possibile visualizzarne il contenuto usando il comando "arp -a". Inoltre, qualora avessi problemi di comunicazione con un host specifico, è possibile anche aggiungere l'indirizzo IP dell'host remoto al comando arp -a.

NbtStat

Sarai certamente a conoscenza del fatto che ad ogni computer equipaggiato con un sistema operativo Windows viene attribuito un nome computer, talvolta denominato come NetBIOS.

Poiché il protocollo NetBIOS su TCP/IP potrebbe interrompersi occasionalmente, il comando "nbtstat" può essere un valido aiuto per diagnosticare il problema. A tal proposito il comando "nbtstat -n", ad esempio, mostrerà tutti i nomi NetBIOS utilizzati da un dispositivo, mentre "nbtstat -r" mostrerà quanti nomi NetBIOS il dispositivo è stato in grado di risolvere recentemente.

Hostname

Se invece stai cercando di reperire solo il nome di assegnato a un PC Windows, il modo più veloce per farlo è usare il comando "hostname" e premere invio.

Tracert

Tracert o "Trace Route", è un comando utile ad esaminare il percorso di un host remoto. Per grandi linee, permette di conoscere i router attraverso i quali passano i pacchetti di dati. Se, ad esempio, uno di questi non dovesse rispondere, usando questo comando si potrà individuare dove risiede il problema di comunicazione.

IpConfig

Uno dei comandi più usati è certamente "ipconfig". Questo, nella sua espressione più semplice, mostrerà tutte le informazioni di configurazione IP di qualsiasi dispositivo di rete nel nostro sistema, come ad esempio la scheda ethernet, il gateway o il router. Risulta particolarmente utile quando si usano connessioni di tipo DHCP per conoscere l'indirizzo IP assegnato.

Se usato insieme all'opzione /all si otterranno informazioni più dettagliate, tra cui indirizzo MAC, DNS e indirizzo IPv6.

Ma il comando "ipconfig" può aiutarti anche a risolvere i problemi relativi a DNS e DHCP. Se, ad esempio, immettiamo il comando "ipconfig / flushdns" sarà eliminato il contenuto della cache del resolver DNS del computer.

NSLookup

NSLookup è un ottimo comando per diagnosticare i problemi di risoluzione dei nomi DNS. Infatti sarà sufficiente digitare il comando "nslookup" per ottenere il nome e l'indirizzo IP del server DNS predefinito del dispositivo. Partendo da qui, sarà possibile digitare i nomi host per tentare di capire se il server DNS è in grado di risolvere il nome host specificato.

Route

Ogni rete IP utilizza tabelle di routing per indirizzare i pacchetti da una sottorete all'altra, in questo caso il comando in questione consente di visualizzare le tabelle di routing del dispositivo. Per farlo è sufficiente digitare "route print".

Sarà inoltre possibile apportare modifiche alla tabella di routing usando alcuni comandi come "route add", "route delete" e "route change". Tali modifiche potranno essere persistenti o non persistenti, a seconda che si utilizzi l'opzione -p.

PathPing

PathPing è un comando che combina i migliori aspetti delle utilità Ping e Tracert. Se seguito da un nome host, una volta terminato un processo di circa cinque minuti, si otterranno delle statistiche piuttosto dettagliate inerenti la latenza e la perdita di pacchetti.

NetDiag

NetDiag è uno dei comandi più utili perché esegue una serie completa di test utili ad individuare eventuali problemi di rete. In alcuni casi, il comando "netdiag" può anche tentare di risolverli automaticamente attraverso l'aggiunta del parametro / fix.

Queste utilità da riga di comando sono solo una piccola parte di quelle disponibili in Windows. Nonostante alcune di esse siano state introdotte da almeno un decennio, possono essere considerate ancora oggi una risorsa molto utile per gli amministratore di rete.

I principali comandi Linux usati più frequentemente

 Sintassi

I comandi in Linux hanno la seguente sintassi:

$command options arguments

Comandi di base Linux

Cominciamo con alcuni semplici comandi.

1) Comando pwd

Il comando ‘pwd’ stampa il percorso assoluto della directory di lavoro corrente.

$ pwd
/home/jucker

2) Comando cal

Visualizza il calendario del mese corrente.

$ cal
July 2012
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

‘cal’ visualizzerà il calendario per il mese e l’anno specificati.

$ cal 08 1991
August 1991
Su Mo Tu We Th Fr Sa
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

3) Comando echo

Questo comando farà eco, cioè farà visualizzare un messaggio o generare i risultati di altri comandi.

$ echo "punto-informatico.it"
punto-informatico.it

Il comando ‘echo’ spesso viene utilizzato per visualizzare i valori di una variabile. Una di queste variabili è ‘HOME’. Per verificare il valore di una variabile precedere la variabile con un segno $.

$ echo $HOME
/home/jucker

4) Comando date

Visualizza ora e data correnti.

$ date
Fri Jul 6 01:07:09 IST 2012

Se sei interessato solo al tempo, puoi usare ‘date +% T’ (in hh: mm: ss):

$ date +%T
01:13:14

5) Comando tty

Visualizza il terminale corrente.

$ tty
/dev/pts/0

6) Comando whoami

Questo comando indica l’utente che è attualmente connesso.

$ whoami
jucker

7) Comando id

Questo comando stampa l’utente e i gruppi (UID e GID) dell’utente corrente.

$ id
uid=1000(jucker) gid=1000(jucker) groups=1000(jucker),4(adm),20(dialout),24(cdrom),46(plugdev),112(lpadmin),120(admin),122(sambashare)

Per impostazione predefinita, vengono visualizzate le informazioni sull’utente corrente. Se viene fornito un altro nome utente come argomento, verranno stampate le informazioni su quell’utente:

$ id root
uid=0(root) gid=0(root) groups=0(root)

8) Comando clear

Questo comando cancella lo schermo.

Comandi di aiuto

Ricordare tutti i comandi è un po’ difficile, linux ci viene in aiuto con queste indicazioni. Possiamo usare l’opzione di help dal comando like

9) Opzioni help

Con quasi tutti i comandi, l’opzione ‘–help’ mostra il riepilogo dell’utilizzo.

$ date --help
Usage: date [OPTION]... [+FORMAT] or: date [-u--utc--universal] [MMDDhhmm[[CC]YY][.ss]] Display the current time in the given FORMAT, or set the system date

10) Comando whatis

Questo comando fornisce una descrizione di una riga sul comando. Può essere usato come riferimento rapido per qualsiasi comando.

$ whatis date
date (1) - print or set the system date and time

$ whatis whatis
whatis (1) - display manual page descriptions

11) Pagine del manuale

L’opzione ‘–help’ e il comando ‘whatis’ non forniscono informazioni complete sul comando. Per informazioni più dettagliate, Linux fornisce pagine manuale e informazioni. Per vedere la pagina del manuale di un comando, viene utilizzato il comando man.

$ man date

Le pagine man sono pagine adeguatamente documentate. Hanno le seguenti sezioni:

  • NAME: il nome e la descrizione di una riga del comando.
  • SYNOPSIS: la sintassi del comando.
  • DESCRIPTION: Descrizione dettagliata di ciò che fa un comando.
  • OPTIONS: un elenco e una descrizione di tutte le opzioni del comando.
  • EXAMPLES: esempi di utilizzo del comando.
  • FILES: qualsiasi file associato al comando.
  • AUTHOR: autore della pagina man
  • REPORTING BUGS: collegamento del sito Web o dell’ID di posta elettronica in cui è possibile segnalare qualsiasi errore.Con l’opzione -k, è possibile eseguire una ricerca tra le pagine man. Cerca uno schema nel nome e nella breve descrizione di una pagina man.

$ man -k gzip
gzip (1) - compress or expand files
lz (1) - gunzips and shows a listing of a gzip'd tar'd archive
tgz (1) - makes a gzip'd tar archive
uz (1) - gunzips and extracts a gzip'd tar'd archive
zforce (1) - force a '.gz' extension on all gzip files

12) Pagine informative

I documenti informativi sono talvolta più elaborati delle pagine man. Ma per alcuni comandi, le pagine informative sono le stesse delle pagine man. Queste sono come pagine Web. I collegamenti interni sono presenti nelle pagine informative. Questi collegamenti sono chiamati nodi. Le pagine informative possono essere spostate da una pagina all’altra attraverso questi nodi.

$ info date

Comandi del filesystem Linux

13) Comando modifica directory

$ cd [path-to-directory]

Modifica la directory di lavoro corrente nella directory fornita come argomento. Se non viene fornito alcun argomento a “cd”, cambia la directory nella home directory dell’utente. Il percorso della directory può essere un percorso assoluto o relativo alla directory corrente. Il percorso assoluto inizia sempre con /. La directory corrente può essere verificata con il comando ‘pwd’:

$ pwd
/home/jucker
$ cd /usr/share/
$ pwd
/usr/share
$ cd doc
$ pwd
/usr/share/doc

Nel primo comando ‘cd’, viene utilizzato il percorso assoluto (/usr/share) e, con il secondo comando, viene utilizzato il percorso relativo (doc).

14) Elenco dei file e comando delle directory

$ ls [files-or-directories]

Elenca i file e/o le directory. Se non viene fornito alcun argomento, vengono visualizzati i contenuti della directory corrente.

$ ls
example file1.txt file2.txt file3.txt

Se una directory viene fornita come argomento, vengono visualizzati i file e le directory in quella directory.

$ ls /usr
bin games include lib lib64 local sbin share src

“ls -l” mostra un lungo elenco di file.

$ ls -l
total 4
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 12:52 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 12:52 file1.txt

-rw-r–r– 1 jucker jucker 0 2012-07-06 12:52 file2.txt
-rw-r–r– 1 jucker jucker 0 2012-07-06 12:52 file3.txt

In questo lungo elenco, il primo carattere è ‘d’ o ‘-‘. Distingue tra i tipi di file. Le voci con un ‘-‘ (trattino) sono file regolari e quelle con ‘d’ sono directory. I successivi 9 caratteri sono permessi (‘rwxr-xr-x’ nel primo elenco). Il numero che segue le autorizzazioni è il conteggio dei collegamenti. Il conteggio dei collegamenti segue l’utente e il proprietario del gruppo. Nell’esempio sopra, il proprietario del file è ‘jucker’ e anche il proprietario del gruppo è ‘jucker’. La prossima è la dimensione del file. E quindi timestamp prima del nome del file (o della directory).

Per impostazione predefinita, i file o le directory nascosti non vengono visualizzati, per visualizzare anche i file nascosti, viene utilizzata un’opzione. I file nascosti in Linux iniziano con un segno di punto (.). Qualsiasi file che inizia con un punto è nascosto. Quindi, per nascondere un file, devi solo rinominarlo (e mettere un punto prima).

$ ls -la odesk
total 16
drwxr-xr-x 4 jucker jucker 4096 2012-07-06 13:46 .
drwxr-xr-x 11 jucker jucker 4096 2012-07-06 13:15 ..
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 12:52 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 12:52 file1.txt
-rw-r--r-- 1 jucker jucker 0 2012-07-06 12:52 file2.txt
-rw-r--r-- 1 jucker jucker 0 2012-07-06 12:52 file3.txt
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 13:46 .hiddendir
-rw-r--r-- 1 jucker jucker 0 2012-07-06 13:46 .hiddenfile1.txt
-rw-r--r-- 1 jucker jucker 0 2012-07-06 13:46 .hiddenfile2.txt

Se vuoi vedere le proprietà di una directory invece dei file in essa contenuti, usa l’opzione -d (con -l):

$ ls -ld odesk/
drwxr-xr-x 4 jucker jucker 4096 2012-07-06 13:46 odesk/

Creazione di file e directory

15) Comando mkdir

Per creare una directory, viene utilizzato il comando ‘mkdir’.

$ mkdir example
$ ls -l
total 4
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 14:09 example

16) Comando touch

Per creare un file vuoto, utilizzare il comando touch.

$ touch file1 file2 file3
$ ls -l
total 4
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 14:09 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file2
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3

Se esiste già un file, aggiornerà il suo timestamp. Esistono molti altri metodi per creare un nuovo file, ad esempio utilizzando un editor di testo come vi o gedit o utilizzando il reindirizzamento. Ecco un esempio di creazione di un file mediante il reindirizzamento:

$ ls -l /usr > usrlisting
$ ls -l
total 8
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 14:09 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file2
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3
-rw-r--r-- 1 jucker jucker 491 2012-07-06 14:23 usrlisting

In questo esempio viene creato un file chiamato usrlisting.

Comandi linux per Copia, sposta e rimuovi

17) Comando cp

$cp source destination

Copia file e directory. Se l’origine è un file e il nome di destinazione (file) non viene chiuso, l’origine viene copiata con un nuovo nome, ovvero con il nome fornito come destinazione.

$ cp usrlisting listing_copy.txt
$ ls -l
total 12
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 14:09 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file2
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:02 listing_copy.txt
-rw-r--r-- 1 jucker jucker 491 2012-07-06 14:23 usrlisting

Se la destinazione è una directory, il file viene copiato con il suo nome originale in quella directory.

$ cp listing_copy.txt example/
$ ls -l example/
total 4
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:07 listing_copy.txt

È inoltre possibile copiare più file, ma in tal caso si prevede che l’ultimo argomento sia una directory in cui devono essere copiati tutti i file. E il resto degli argomenti verrà trattato come nomi di file.

$ cp file1 file2 example/
$ ls -l example/
total 4
-rw-r--r-- 1 jucker jucker 0 2012-07-06 16:10 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 16:10 file2
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:07 listing_copy.txt

Se una directory deve essere copiata, deve essere copiata in modo ricorsivo con i file in essa contenuti. Per copiare ricorsivamente una directory, usa l’opzione -r con il comando ‘cp’:

$ cp -r example /tmp/expertslogin/
$ ls -l /tmp/expertslogin
total 4
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 16:12 example

18) Comando mv

$ mv source destination

Sposta file o directory. Il comando ‘mv’ funziona come il comando ‘cp’, tranne per la rimozione del file originale. Tuttavia, il comando mv può essere utilizzato per rinominare i file (o le directory).

$ mv listing_copy.txt usrcopy
$ ls -l
total 12
drwxr-xr-x 2 jucker jucker 4096 2012-07-06 16:10 example
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file2
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:02 usrcopy
-rw-r--r-- 1 jucker jucker 491 2012-07-06 14:23 usrlisting

“listing_copy.txt” viene spostato con il nome “usrcopy” nella stessa directory (oppure puoi dire che è stato rinominato).

19) Rimuovere o eliminare

$ rmdir

Il comando ‘rmdir’ rimuove qualsiasi directory vuota, ma non può cancellare una directory se in essa è presente un file. Per usare il comando ‘rmdir’, devi prima rimuovere tutti i file presenti nella directory che desideri rimuovere (e possibilmente le directory se ce ne sono).

Per rimuovere file e directory

$ rm filesdirectories

Una directory deve essere rimossa in modo ricorsivo con l’opzione -r.

$ rm file2
$ rm -r example/
$ ls -l
total 8
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:02 usrcopy
-rw-r--r-- 1 jucker jucker 491 2012-07-06 14:23 usrlisting

Qui, il file denominato “file2” viene rimosso per primo, quindi la directory “esempio” viene rimossa in modo ricorsivo. Questo può essere visto nell’output del comando “ls -l” dove questi due non sono più presenti.

Altri comandi linux per i file

20) Comando file

Il comando file determina il tipo di file di un determinato file. Per esempio:

$ file /etc/passwd
/etc/passwd: ASCII text

È possibile fornire uno o più file come argomento al comando file.

$ file td.c td.out ARP.java Screenshot.png StringTokenizing.class
idl.rar List.pdf
td.c: ASCII C program text, with CRLF line terminators
td.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped
ARP.java: ASCII Java program text, with CRLF line terminators
Screenshot.png: PNG image data, 1366 x 768, 8-bit/color RGB, non-interlaced
StringTokenizing.class: compiled Java class data, version 50.0 (Java 1.6)
idl.rar: RAR archive data, v1d, os: Win32
List.pdf: PDF document, version 1.4

21) Comando stat

Per controllare lo stato di un file. Ciò fornisce informazioni più dettagliate su un file rispetto all’output di ‘ls -l’.

$ stat usrcopy
File: `usrcopy'
Size: 491 Blocks: 8 IO Block: 4096 regular file
Device: 808h/2056d Inode: 149452 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ jucker) Gid: ( 1000/ jucker)
Access: 2012-07-06 16:07:06.413522009 +0530
Modify: 2012-07-06 16:02:30.204152386 +0530
Change: 2012-07-06 16:17:18.992559654 +0530

22) Comando cat

Il comando linux ‘cat’ è in realtà un concatenatore ma può essere usato per visualizzare il contenuto di un file.

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh

23) Comando pagers

Il comando cat elenca il file nel suo insieme. Ma se il file è abbastanza grande per adattarsi a una schermata, saremo in grado di vedere solo l’ultima pagina del file. I comandi ‘less’ e ‘more’ visualizzano i file una pagina alla volta. Quindi sono anche chiamati pagers. Puoi navigare attraverso un file usando i tasti freccia. Per uscire da un pagers, premi “q”.

24) Comando head

Visualizza le prime righe di un file. Per impostazione predefinita, il comando ‘head’ visualizza le prime 10 righe di un file. Ma con l’opzione -n, è possibile specificare il numero di righe da visualizzare.

$ head /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh

25) Comando tail

Simile a head; il comando ‘tail’ mostra le ultime 10 righe di default e anche l’opzione -n ​​è disponibile.

$ tail -n 4 /etc/passwd
jucker:x:1000:1000:Jucker Sharma,,,:/home/jucker:/bin/bash
sshd:x:113:65534::/var/run/sshd:/usr/sbin/nologin
dictd:x:114:123:Dictd Server,,,:/var/lib/dictd:/bin/false
mysql:x:115:124:MySQL Server,,,:/nonexistent:/bin/false

26) Comando wc

Il comando wc (word count) conta le righe, le parole e le lettere dell’input che gli è stato dato.

$ wc /etc/passwd
35 57 1698 /etc/passwd

Il file /etc/passwd ha 35 righe, 57 parole e 1698 lettere presenti.

27) Comando grep

Il comando ‘grep’ cerca un modello in un file (o input standard). Supporta espressioni regolari. Restituisce una linea se corrisponde al modello in quella linea. Quindi, se vogliamo trovare le righe contenenti la parola ‘nologin’, usiamo ‘grep’ come segue:

$ grep nologin /etc/passwd
sshd:x:113:65534::/var/run/sshd:/usr/sbin/nologin

28) Comando In

Il comando ln è usato in linux per creare collegamenti. I collegamenti sono una sorta di scorciatoie per altri file. La forma generale di comando è:

$ ln TARGET LINK_NAME

Esistono due tipi di link, soft link e hard link. Per impostazione predefinita, vengono creati collegamenti reali. Se si desidera creare un collegamento software, utilizzare l’opzione -s. In questo esempio, entrambi i tipi di collegamenti vengono creati per il file usrlisting.

$ ln usrlisting hard_link

$ ln -s usrlisting soft_link

$ ls -l
total 12
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file1
-rw-r--r-- 1 jucker jucker 0 2012-07-06 14:20 file3
-rw-r--r-- 2 jucker jucker 491 2012-07-06 14:23 hard_link
lrwxrwxrwx 1 jucker jucker 10 2012-07-09 14:00 soft_link -> usrlisting
-rw-r--r-- 1 jucker jucker 491 2012-07-06 16:02 usrcopy
-rw-r--r-- 2 jucker jucker 491 2012-07-06 14:23 usrlisting

Editor di testo

29) Pico & Nano

‘Pico’ è un editor di testo in Linux. L’editor “Nano” è ispirato a “pico”. Funzionano quasi allo stesso modo. Se esiste l’argomento indicato come nome file, quel file verrà aperto per la modifica in pico / nano. Altrimenti, verrà creato un nuovo file con quel nome. Creiamo un nuovo file chiamato hello.txt:

$ pico hello.txt
GNU nano 2.2.6 File: hello.txt Modified

This file is edited with pico editor.

^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text^T To Spell

Dopo aver apportato tutte le modifiche al file, premere ‘ctrl + o’ per scrivere le modifiche nel file e ‘ctrl + x’ per uscire dall’editor. Ci sono molte funzioni disponibili con questo editor. È possibile accedere al menu di aiuto premendo i tasti ‘ctrl + g’.

30) Editor VI

Il VI sta per Visual editor, ed è un altro editor di testo in Linux. Questo è uno standard in molti ambienti Linux/Unix ed è l’editor predefinito fornito con molte distribuzioni Linux.

È possibile aprire un file con VI per la modifica utilizzando quanto segue:

$ vi hello.txt

L’editor VI ha 3 modalità in cui svolge le sue funzioni. L’impostazione predefinita è la modalità COMMAND, in cui è possibile eseguire attività come copia, incolla, annulla ecc. Puoi cambiare una modalità solo dalla modalità di comando (e tornare). La seconda modalità è la modalità INSERT, in cui qualsiasi chiave digitata viene trattata come un carattere e verrà caricata nel buffer del file. Per entrare in questa modalità, premi ‘i’ quando sei in modalità comando.

La modalità finale è la modalità EX o l’ultima riga. Le modifiche apportate nel buffer possono essere salvate o eliminate in questa modalità.

Comandi utili

31) Comando alias

“Alias” è un sinonimo per un comando. Se non viene fornito alcun argomento, mostra gli alias correnti. Gli alias possono essere utilizzati per nomi brevi di comandi. Ad esempio, è possibile utilizzare frequentemente il comando clear. Puoi creare un alias per questo:

$ alias c="clear"

La prossima volta che inserisci “c” dalla riga di comando, lo schermo diventerà chiaro. Gli alias correnti possono essere controllati con il comando “alias”:

$ alias
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal echo error)" "$(historytail -n1sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&]\s*alert$//'\'')"'
alias c='clear'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto'

32) Comando w

Il comando w viene utilizzato per verificare quali utenti sono connessi al sistema e quale comando stanno eseguendo in quel determinato momento:

$ w
10:06:56 up 57 min, 3 users, load average: 0.04, 0.06, 0.09
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 10:06 28.00s 1.02s 0.67s pager -s
jucker tty7 :0 09:19 57:33 1:22 0.20s gnome-session --session=classic-gnome
jucker pts/0 :0.0 09:34 0.00s 0.78s 0.00s w

Mostra anche il tempo di attività, il numero di utenti connessi e la media di caricamento del sistema (nella prima riga dell’output sopra).

33) Comando last

Visualizza le informazioni sugli utenti che hanno effettuato l’accesso e la disconnessione dal sistema. L’output dell’ultimo comando può essere molto grande, quindi il seguente output è stato filtrato (tramite head) per visualizzare solo le prime 10 righe:

$ last head
root tty1 Mon Jul 9 10:06 still logged in
root tty1 Mon Jul 9 10:06 - 10:06 (00:00)
jucker pts/1 :0.0 Mon Jul 9 10:05 - 10:06 (00:00)
jucker pts/0 :0.0 Mon Jul 9 09:34 still logged in
jucker tty7 :0 Mon Jul 9 09:19 still logged in
reboot system boot 2.6.38-13-generi Mon Jul 9 09:09 - 10:12 (01:02)
jucker tty7 :0 Sun Jul 8 23:36 - 00:30 (00:54)
reboot system boot 2.6.38-13-generi Sun Jul 8 23:36 - 00:30 (00:54)
jucker tty7 :0 Sun Jul 8 21:07 - down (01:06)
reboot system boot 2.6.38-13-generi Sun Jul 8 21:07 - 22:14 (01:07)

Un comando simile è ‘lastb’ che mostra gli ultimi tentativi di accesso falliti. Ma questo comando deve essere eseguito come root, altrimenti si otterrebbe un errore che dice che l’autorizzazione è stata negata.

$ lastb
jucker tty2 Mon Jul 9 10:16 - 10:16 (00:00)
UNKNOWN tty2 Mon Jul 9 10:15 - 10:15 (00:00)
ubuntu tty8 :1 Mon Jul 2 10:23 - 10:23 (00:00)

btmp begins Mon Jul 2 10:23:54 2012

34) Comando du

Il comando “du” determina l’utilizzo del disco di un file. Se l’argomento fornito è una directory, elencherà in modo ricorsivo l’utilizzo del disco di tutti i file e le directory in quella directory:

$ du /etc/passwd
4 /etc/passwd

$ du hello/
52 hello/HelloApp
4 hello/orb.db/logs
20 hello/orb.db
108 hello/

35) Comando df

Il df riporta l’utilizzo del file system. Per esempio:

$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda7 10079084 7372872 2194212 78% /
none 1522384 768 1521616 1% /dev
none 1529012 252 1528760 1% /dev/shm
none 1529012 108 1528904 1% /var/run
none 1529012 4 1529008 1% /var/lock
/dev/sda8 5039616 3758824 1024792 79% /home
/dev/sda2 209715196 196519248 13195948 94% /media/Data

36) Comando fdisk

Fdisk è uno strumento per ottenere informazioni sulle partizioni e per aggiungere e rimuovere partizioni. Lo strumento fdisk richiede privilegi di superutente. Per elencare tutte le partizioni di tutti i dischi rigidi disponibili:

$ fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x396f396f

Device Boot Start End Blocks Id System
/dev/sda1 1 2611 20971520 7 HPFS/NTFS
/dev/sda2 2611 28720 209715200 7 HPFS/NTFS
/dev/sda3 * 28720 38914 81882113 5 Extended
/dev/sda5 28720 33942 41943040 7 HPFS/NTFS
/dev/sda6 33942 34464 4194304 7 HPFS/NTFS
/dev/sda7 34464 35739 10240000 83 Linux
/dev/sda8 35739 36376 5120000 83 Linux
/dev/sda9 36376 36886 4096000 82 Linux swap / Solaris
/dev/sda10 36887 38276 11164672 83 Linux
/dev/sda11 38277 38914 5117952 83 Linux

Fdisk è uno strumento interattivo per modificare la tabella delle partizioni. Prende un dispositivo (disco rigido) come argomento, la cui tabella delle partizioni deve essere modificata.

$ fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

Premendo ‘m’ al prompt di fdisk si stampa la guida mostrata sopra che elenca tutti i comandi disponibili per fdisk. Una nuova partizione può essere creata con ‘n’ e una partizione esistente può essere eliminata con il comando ‘d’. Quando hai finito di modificare le partizioni, premi ‘w’ per scrivere le modifiche sul disco, e infine, premi ‘q’ per uscire da fdisk (q non salva le modifiche).

37) comando netstat

“Netstat” è un comando utilizzato per controllare le statistiche di rete del sistema. Elencherà le connessioni di rete correnti, le informazioni sulla tabella di routing, le statistiche dell’interfaccia, le connessioni mascherate e molte altre informazioni.

$ netstat head
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 13 [ ] DGRAM 8498 /dev/log
unix 2 [ ] DGRAM 6824 @/org/kernel/udev/udevd
unix 3 [ ] STREAM CONNECTED 56738 /var/run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 56113
unix 3 [ ] STREAM CONNECTED 29138
unix 3 [ ] STREAM CONNECTED 29137

38) comando history

Il comando history mostra la cronologia dei comandi che hai inserito finora sul tuo terminale.

39) comando passwd

Serve per cambiare la password.

40) Comando shutdown

In Linux, è possibile utilizzare il comando shutdown per arrestare in modo corretto il sistema. Il comando più comunemente usato è

shutdown -h now