Archivio per la categoria ‘Bash’

Di seguito una breve spiegazione su come utilizzare

  • tar
  • tar.gz
  • tar.bz2

Creazione di nuovi archivi

    # tar -cvf nome_archivio.tar nome_cartella_da_comprimere

Estrazione di archivi

    # tar -xvf nome_archivio.tar 

Elenco del contenuto ( senza alcuna estrazione dei files presnti nell’archivio )

    # tar -tf nome_archivio.tar 

Le opzioni usate hanno i seguenti significati :

c: creazione di  un nuovo archivio
f: specifica se un file è da estrarre oppure è da creare
x: estrae un archivio compresso
t: permette di visualizzare il contenuto degli archivi senza estrarne il contenuto stesso
v: visualizza in output informazioni sui file

L’utilizzo dell’utility  “tar” consente di archiviare, e  non riduce quindi lo spazio occuato dai file.

Le utility “gzip” e “bzip2”, invece  comprimono ma non archiviano, quindi combinandone l’utilizzo (aggiungendo una z, gzip, o j, bzip2, alle opzioni del comando tar) possiamo generare degli archivi compressi.

    Comprimere archivi con gzip (.tgz o tar.gz)

    #  tar -czvf nome_archivio.tgz nome_cartella_da_archiviare

    Comprimere archivi con bzip2 (.tar.bz2)

    # tar -cjvf nome_archivio.bz2 nome_cartella_da_archiviare

    Decomprimere archivi creati con gzip (.tgz o tar.gz)

    # tar -xvfz ./nome_archivio.tgz

    Decomprimere archivi creati con bzip2 (.tar.bz2)

    # tar -xjvf ./nome_archivio.tar.bz2

    Listare il contenuto degli archivi compressi

    # tar -ztf nome_archivio.tar.gz
Annunci

Come fare a scrivere in una unica “echo” più stringhe a capo ??

Semplice , basta abilitare -e , che abilita gli escape.

Se scriviamo echo -e “Stringa1\nStringa2\nStringa3”

il risultato sarà il seguente

Stringa1
Stringa2
Stringa3

Se dobbiamo inviare una e-mail con un file allegato tramite script di shell o prompt dei comandi in Unix o Linux, è possibile utilizzare mutt un client di posta elettronica basato su terminale per i sistemi Unix-like.

Mutt è un piccolo ma potente programma di testo per la lettura di posta elettronica in sistemi operativi UNIX / Linux.

Mutt è un Mail User Agent  e non è possibile inviare e-mail senza un adeguato server di posta elettronica, ed occorre avere  un Mail Transfer Agent .

Come installare client di posta mutt

Se mutt non è installato, utilizzare i comandi apt-get o yum o up2date come segue (è necessario effettuare il login come utente root).

Debian / Ubuntu Linux user digitare il seguente comando per installare il client mutt:
# Apt-get install mutt
Fedora / CentOS o Red Hat Enterprise Linux (RHEL) comando seguente tipo di utente di installare mutt:
# Yum install mutt
OR (versione RHEL <= 4)
# Up2date mutt
FreeBSD tipo di utente il seguente comando per installare mutt tramite comando pkg_add:
# Pkg_add-v-r mutt



Come inviare allegati di posta elettronica da un prompt dei comandi?

Utilizzare il comando mutt come segue per inviare una e-mail con allegato:

$ Mutt-s "Test Mail"-a / allegati / nomefile.csv mail@dominio.com </ dirmessage / messaggio.txt



I valori utilizzati sono :

mail@dominio.com – è il destinatario della e-mail.
/ dirmessage / messaggio.txt – è il corpo del messaggio e-mail.
-A / allegati/ nomefile.csv – è l’allegato che vogliamo inviare .
-S “Test Mail” – è la riga che verrà visualizzata come oggetto della e-mail.

Maggiori informazioni si possono trovare sul sito ufficiale di MUTT

Unix – Bash – Verificare un file vuoto

Pubblicato: 21 agosto 2013 in Bash, Unix

A volte prima di eseguire delle elaborazioni sui file , ci occorre verificare se un file è presente ed è vuoto, nel  linguaggio BASH possiamo utilizzare questa sintassi:

if [ `ls -l <nome_file> | awk '{print $5}'` -eq 0 ]
then
  echo 'Il File <nome_file> è vuoto'
else
  echo 'Il File <nome_file> contiene dati.'
fi