In questo post vi illustrerò alcuni utili comandi da utilizzare con l'editor Vi / Vim.

vi è un editor di testo con interfaccia testuale per BSD e Unix.

Il nome deriva dalla più breve abbreviazione non ambigua del comando visual in ex (cioè <vi>). Questo comando commuta l'editor di linea ex in modalità visuale. Vi insieme ad Emacs è stato uno dei protagonisti della cosiddetta guerra degli editor.

Potreste chiedervi, perché Vi?

Ci sono molti motivi per utilizzarlo, alcune delle ragioni principali sono:

  • Vi c'è sempre. Essendo richiesto dalle specifiche POSIX, troverete sempre Vi con qualsiasi distribuzione Linux/BSD.
  • Vi è molto potente. Modificare testo in sistemi Unix-based è un compito quotidiano per i sistemisti e Vi può velocizzare molto le operazioni di modifica.
  • Vi è configurabile. Esistono plugins per l'autocompletamento, la sostituzione di testo, l'evidenziazione della sintassi, ecc.

 

Consiglio 1) Leggere il manuale (Già, RTFM)

 

Vi ha una guida esaustiva online. Potete accedervi utilizzando il comando :h o il tasto F1. Sul Mac, usate fn + F1.

Se volete ottenere aiuto specifico su un determinato comando, usate il comando :h seguito dal comando. Per esempio: :h x

 

Consiglio 2) Cerca e sostituisci

Ricerca

La funziona cerca e sostituisci in Vi è utilissima e io la utilizzo tutti i giorni.

Per cercare un determinato carattere nella riga corrente, utilizzate il comando f, seguito dal carattere che state cercando.

Potete cercare anche una parola in un intero file, usando il comando /

Per andare alla prossima occorrenza, digitate n

Una volta raggiunta l'ultima occorrenza, continuando a premere il tasto n tornerete all'inizio del file con la ricerca.

 

Sostituzione

La sostituzione di parole in Vi funziona più o meno con in sed. Il comando per sostituire deve iniziare col carattere :

Consiglio 3) conversione di lowercase in uppercase e viceversa

Una volta capito questo meccanismo lo utilizzerete sempre.

Sempre in modalità ex:

gU<n> seguito da enter convertirà in uppercase n+1 linee, a partire dalla posizione del cursore.

gU<n> seguito da freccia destra convertirà in uppercase n caratteri, a partire dalla posizione del cursore.

gU<n>w convertirà in uppercase n parole, a partire dalla posizione del cursore.

gUU convertirà in uppercase un'intera linea.

Ora, se volete compiere l'operazione inversa (conversione in lowercase) sostituite la U con la u nel comando Vi.

In questo modo, gu<n> convertirà n+1 linee in lowercase, gu<n>w convertirà n parole, guu convertirà l'intera linea in lowercase, ecc.

If using CD/DVD/USB boot media, You need to choose Rescue System. You enter root and then mount the disk manually. For example, a Compaq raid controller will probably be /dev/ida/c0d0 or an ATA drive will be /dev/sda1. Find the partitions by using fdisk -l /dev/ida/c0d0 or fdisk -l /dev/sda and then mount what you need.

# mount -o remount,rw /dev/sda1 /mnt

In ancient releases:

# cd /mnt
# chroot /mnt
# passwd

10.3 changed chroot to need more steps:

# mount -o bind /proc /mnt/proc
# mount -o bind /sys /mnt/sys
# mount -o bind /dev /mnt/dev
# chroot /mnt
# passwd

You are now root in the installed sytem, with all at hand: passwd, and also YaST...

"bind" allows using two mount points for system virtual folders.

If all fails, consider that you can pull this drive (or install another drive in this machine) and mount it from another running Linux. Then recover the root password as explained above.

Su OpenSUSE, installando MySQL 5.7 dai repository ufficiali (https://dev.mysql.com/downloads/repo/suse/) si ottiene l'errore in fase di installazione dei pacchetti:

 

Header V3 DSA/SHA1 Signature, key ID 5072eif5: NOKEY

V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY

 

Questo errore ovviamente impedisce l'installazione dei pacchetti MySQL. Il problema è nella firma die pacchetti che non corrisponde a quella del repository.

Per consentire a zypper di procedere ignorando l'errore, utilizziamo l'opzione --no-gpg-checks.

zypper in mysql-community-server --no-gpg-checks

CLSID stands for Class Identifier.

Here is a select list of CLSID to open Windows Special Folders.

Administrative Tools.{D20EA4E1-3957-11d2-A40B-0C5020524153}
All Tasks.{ED7BA470-8E54-465E-825C-99712043E01C}
Control Panel.{21EC2020-3AEA-1069-A2DD-08002b30309d}
Connections.{241D7C96-F8BF-4F85-B01F-E2B043341A4B}
Fonts.{D20EA4E1-3957-11d2-A40B-0C5020524152}
Computer.{20D04FE0-3AEA-1069-A2D8-08002B30309D}
Documents.{450D8FBA-AD25-11D0-98A8-0800361B1103}
History.{ff393560-c2a7-11cf-bff4-444553540000}
Network Places.{208d2c60-3aea-1069-a2d7-08002b30309d}
Printers and Faxes.{2227A280-3AEA-1069-A2DE-08002B30309D}
Programs Folder.{7be9d83c-a729-4d97-b5a7-1b7313c39e0a}
Recycle Bin.{645FF040-5081-101B-9F08-00AA002F954E}
Start Menu.{48e7caab-b918-4e58-a94d-505519c795dc}
Scheduled Tasks.{D6277990-4C6A-11CF-8D87-00AA0060F5BF}
WEI.{78F3955E-3B90-4184-BD14-5397C15F1EFC}

Whenever the Windows shell needs to access such a system folder, it uses the CLSID to search through the Windows Registry to find the appropriate .dll or other object. MSDN has also documented this feature of the Windows shell, whereby special system folders can be easily made into namespace junctions.

Si, avete letto bene, IIS 6.0

Se occorre inviare posta da software obsoleti che non supportano la cifratura SSL/TLS con certificati autofirmati, dovete ricorrere a questo stratagemma: installare un relay sul vostro Windows Server (queste due parola affiancate ancora costituiscono sinestesia), e dato che IIS 7 probabilmente è già installato a causa delle RemoteApps (già...) tanto vale installare le funzionalità SMTP di Windows che guardacaso sono state prese direttamente da IIS 6, che vi verrà richiesto di installare, fortunatamente in versione ridotta.

La configurazione è abbastanza straightforward, senonché siate pronti a perdere una mezz'ora con l'acquisizione del vostro certificato autofirmato per l'invio relay, obbligatoriamente in TLS. Ricordate di installare il certificato nel repository di Internet Explorer e riavviare il demone SMTP; trattandosi di Windows riavviare il S.O. non sbagliate, tanto nel frattempo avrete mosso il mouse (il mouse nel server! LOL) e la modifica richiederebbe comunque un riavvio.

REGEXP Cheatsheet

Formula REGEXP per validazione indirizzi email:

 

^[a-z0-9][_.a-z0-9-][email protected]([a-z0-9][0-9a-z-]+.)+([a-z]{2,4})

 

Questa formula può essere utilizzata con tutti i linguaggi di programmazione che supportano le espressioni regolari: Java, PHP, Perl, Python, ecc...

ImpresaCloud

ImpresaCloud

Laboratorio di informatica e di elettronica

Cerchi informazioni sulle riparazioni in laboratorio? Hai qualche curiosità riguardo la riparazione di qualche scheda elettronica in particolare? Nella sezione Riparazioni del nostro Blog troverai moltissime informazioni utili e curiosità riguardanti il mondo dell'informatica e dell'elettronica.

 

Software gestionali

Nel nostro Blog troverai gratis tante informazioni utili riguardo i nostri software gestionali, guide passo-passo per l'utilizzo dei programmi, suggerimenti e aiuto.

 

Sistemistica informatica

Nel Blog Sistemistica troverai interessanti articoli scritti dal nostro team riguardanti il mondo di BSD, Linux, e dei Server Windows. Tutorial, best-practices, e tanto altro.

 

Notizie

Notizie interessanti riguardanti l'elettronica e l'informatica.