unix

Mattepuffo's logo
Guida a diff

Guida a diff

diff è un comando *.NIX usato per trovare le differenze tra file, directory e file e directory.

Ci stanno diversi front-end grafici volendo, sia per GTK che per Qt, ma comunque non è difficile usarlo.

Vediamo quindi qualche esempio.

Quello più banale:

$ diff dir_a/file_a.txt dir_b/file_b.txt

1c1,2

< a

\ No newline at end of file

---

> a

> b

\ No newline at end of file

Così controllo le differenze dei due file.

Il primo ha solo una riga con scritto a, il secondo due righe con a e b.

Mattepuffo's logo
Guida a Netstat

Guida a Netstat

Netstat è un comando disponbile sia su Windows che su Unix (e quindi su Linux, Mac OS X, BSD, ecc....).

Il comando permette di vedere lo stato delle connessioni del computer locale.

Il comando è eseguibile anche da utente normale, ma se potete è meglio eseguirlo da root in quanto da utente normale da errori sui processi che non gli appartengono.

Le prove le ho fatte su Linux, ma dovrebbero valere anche su Windows.

Vediamo alcuni esempi.

Listare tutte le porte:

# netstat -a | less

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:ssh                   *:*                     LISTEN
tcp        0      0 localhost.localdoma:ipp *:*                     LISTEN
tcp        0      0 *:mysql                 *:*                     LISTEN
tcp        0      0 *:rfb                   *:*                     LISTEN
tcp        0      0 192.168.1.130:ssh       62.94.208.157:38011     ESTABLISHED
tcp        0      0 localhost.localdoma:ipp *:*                     LISTEN
tcp        0      0 *:5800                  *:*                     LISTEN
tcp        0      0 *:rfb                   *:*                     LISTEN
tcp        0      0 *:www-http              *:*                     LISTEN
udp        0      0 *:ipp                   *:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     6588   /tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     6555   /var/run/cups/cups.sock
unix  2      [ ACC ]     STREAM     LISTENING     6772   /tmp/ssh-JznlyRfE1208/agent.1208
unix  2      [ ACC ]     STREAM     LISTENING     6787   /tmp/.ICE-unix/1219
unix  2      [ ACC ]     STREAM     LISTENING     7106   /tmp/orbit-casa/linc-589-0-2d27571c78035
unix  2      [ ACC ]     STREAM     LISTENING     6262   /var/run/syslog-ng.ctl
unix  2      [ ACC ]     STREAM     LISTENING     91352  /var/run/httpd/cgisock.1039
unix  2      [ ACC ]     STREAM     LISTENING     6587   @/tmp/.X11-unix/X0
unix  2      [ ACC ]     STREAM     LISTENING     7115   /tmp/orbit-casa/linc-54c-0-286f67bfa7764
unix  8      [ ]         DGRAM                    6260   /dev/log
unix  2      [ ACC ]     SEQPACKET  LISTENING     5178   @/org/kernel/udev/udevd
unix  2      [ ACC ]     STREAM     LISTENING     6786   @/tmp/.ICE-unix/1219
unix  2      [ ACC ]     STREAM     LISTENING     6648   @/tmp/dbus-hkcgAq60WC
unix  2      [ ACC ]     STREAM     LISTENING     6247   /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     7959   @/tmp/dbus-SKLywgy1Al
unix  2      [ ACC ]     STREAM     LISTENING     7868   /var/run/mysqld/mysqld.sock
unix  2      [ ]         DGRAM                    140683
unix  3      [ ]         STREAM     CONNECTED     139977
unix  3      [ ]         STREAM     CONNECTED     139976
unix  3      [ ]         STREAM     CONNECTED     139938 /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     140513
unix  3      [ ]         STREAM     CONNECTED     120365 @/dbus-vfs-daemon/socket-e0CHnaSH
unix  3      [ ]         STREAM     CONNECTED     119700
unix  3      [ ]         STREAM     CONNECTED     120366 @/dbus-vfs-daemon/socket-FfJaXrqO
unix  3      [ ]         STREAM     CONNECTED     119699
unix  3      [ ]         STREAM     CONNECTED     120359 @/dbus-vfs-daemon/socket-F35KezQT
unix  3      [ ]         STREAM     CONNECTED     119698
unix  3      [ ]         STREAM     CONNECTED     120360 @/dbus-vfs-daemon/socket-EQjCPyDf
unix  3      [ ]         STREAM     CONNECTED     119697
unix  3      [ ]         STREAM     CONNECTED     119693 @/dbus-vfs-daemon/socket-8CM7p1LP
unix  3      [ ]         STREAM     CONNECTED     119692

.................

Ho usato il comando less per scorrere tutti i risultati che non sono pochi.

Questo comando lista tutte le porte, sia in ascolto che non.

Mattepuffo's logo
Bloccare le pagine man

Bloccare le pagine man

Tutti gli utilizzatori di sistemi *NIX conoscono le pagine man, ovvero quelle pagine dove troviamo le varie opzioni e spiegazioni su un determinato comando o file di configurazione.

La cosa scomoda è che una volta che si preme il taso q si esce dalla man e viene totalmente chiusa.

Ci sono alcune possibili alternative.

Una prima e ovvia è tenere aperti due terminali, uno con la man e la'tro per eseguire i comandi.

In alcuni casi potrebbe essere scomodo.

Girovagando ho trovato questo comodo trucchetto per fare in modo che all'uscita della pagina man questa rimanag visibile.

Mattepuffo's logo
Convertire più immagini contemporaneamente con ImageMacigk

Convertire più immagini contemporaneamente con ImageMacigk

ImageMagick è una suite multipiattaforma.

Grazie ad essa possiamo svolegere un'infinità di operazioni sulle immagini.

Qui potete trovare tutte le operazioni che può svolegere.

Per convertire le immagini è possibile usare sia convert che mogrify.

Io però uso il primo perchè in fase di conversione effettua una copia, mentre mogrify sovrascrive gli orginali.

La sintassi di base è questa:

$ convert rose.jpg rose.png

Mattepuffo's logo
Guida a Nano

Guida a Nano

Nano è uno dei vari editor testuali disponibili in ambito *.nix.

Da molti è considerata un'alternativa a Vi(M) e Emacs in quanto molto più facile da usare.

Io stesso ho sempre usato nano perchè lo trovo più semplice.

Di default è installato in quasi tutte le distro; anche sul Mac è disponibile di default.

Vediamo un pò di funzionalità.

Se aprite un terminale e digitate nano vi si aprirà una finestra con in alto la versione che state usando e la scritta New Buffer (che rimane fino a che non aprite un nuovo documento di testo); poi c'è l'area dedicata al testo da scrivere; infine in basso alcune scorciatoie da tastiera.

Mattepuffo's logo
Mac OS X e i log di sistema

Mac OS X e i log di sistema

I log di sistema mostrano moltissimi eventi durante il funzionamento di un sistema operativo: modifiche al sistema, eventi di rete, ecc.

Nel Mac l'evento logger di sistema principale è Syslog, che in verità è un componente standard di Unix e derivati.

Syslog è il demone che viene lanciato all'avvio del sistema dal punto /Sistema/Libreria/StartupItems/SystemLog.

Il file di configurazione principale è /etc/syslog.conf e viene letto all'avvio del demone e configura come i processi del demone ricevono e inoltrano i messaggi.

Syslog analizza i messaggi in arrivo in base al file di configurazione e realizza una o più di queste azioni:

  • aggiunge il messaggio al file specificato
  • invia il messaggio a /dev/console
  • inoltra il messaggio a un demone syslog in esecuzione su un host differente
  • invia il messaggio all schermo

Possiamo modificare il file di config in base alle nostre esigenze.