Category: bash

Come uscire dal labirinto di link simbolici (ln -s) senza impazzire

Ovvero come trovare il vero path di un file o cartella velocemente, quando ci sono di mezzo più link simbolici.

Il comando che ci può aiutare è

readlink

Esempio:

Sto lavorando su /var/www/dominio.it/htdocs/stats e voglio capire se la modifica può avere impatti in altri percorsi.

Basta eseguire:

readlink -f /var/www/dominio.it/htdocs/stats

e l’output ci dirà dove è la cartella al netto di link simbolici:

diego@BEETLE:~$ readlink -f /var/www/dominio.it/htdocs/stats
/var/www/vhosts/dominio.it/stats

Esempio di file di logrotate

Visto che mi serve spesso, ma non me lo ricordo mai, pubblico un semplice esempio di file di logrotate con le opzioni che preferisco.

Spero che possa servire a chi non ha voglia di leggere “tfm” 🙂

Il file va messo poi (di solito) in /etc/logrotate.d/

/var/log/miadir/*.log
{

rotate 4
monthly
missingok
notifempty
compress
delaycompress

}

Consigli

Per verificarne la sintassi e controllare che sia quello che effettivamente vogliamo fare utilizzare il comando

Ricerca nella history alla pressione di un tasto

Ogni volta che reinstallo un PC, fatico sempre a ritrovare tutte le personalizzazioni impostate nel corso del tempo.

Una di quelle di cui ormai non riesco a fare a meno è la ricerca automatica nella history dei comandi bash.

La posto in modo da faticare meno a trovarla, spero che possa servire anche a voi!

Per mapparla sui tasti page up e page down è sufficiente modificare o inserire se mancano le seguenti righe in /etc/inputrc:

“\e[5~”: history-search-backward
“\e[6~”: history-search-forward

crontab -e: I can’t use the default editor!

Usually we use crontab -e command, while logged in as a user, to modify the user’s cron jobs or crontab -e -u[user] as root.

The editor used fot this depends on the system variable VISUAL or EDITOR (if present) else the default editor will be used /usr/bin/editor.

So if the default editor is a not well known program (take “VI” as an example, even if you use the more user friendly “VIM”…), you can modify the suggested system variables if present, to verify:

set | grep -iE ‘(visual)|(editor)’

grep, cut, awk, sort, uniq… linux shell power!

How powerful can be linux shell? This is just an other nice example of the power of linux shell!

Well, this is the game: suppose to need on a remote machine to count how many times an ip address (or user or whatever you want) is used in a log file or a part of it.

Let’s take a sample log: Apache access log.

The format is something like (see attached example log file):
1.1.1.1 – – [16/Jan/2008:22:18:42 +0100] “GET /dir/pag.htm” 200 11 “http://diegobelotti.com/a.php” “Mozilla 5 (Windows..) Firefox”