ls

Mattepuffo's logo
Ordinare per data con il comando ls

Ordinare per data con il comando ls

Sicuaramente tutti gli utenti Linux (ma anche gli utenti Mac) conosceranno il comando ls, attraverso il quale è possibile visualizzare il contenuto di directory con il terminale.

Vediamo qualche opzione per ordinare le liste per data:

$ ls -lt
drwx------+  5 matte  staff   170  5 Feb 10:25 Desktop
drwx------+  3 matte  staff   102 31 Gen 09:12 Pictures
drwx------@ 54 matte  staff  1836 29 Gen 12:24 Library
drwx------+  5 matte  staff   170 22 Gen 08:50 Downloads
drwxr-xr-x  10 matte  staff   340 30 Dic 09:39 android-sdks
drwx------+  4 matte  staff   136 30 Dic 08:58 Documents
drwx------+  4 matte  staff   136 26 Dic 19:36 Music
drwx------+  3 matte  staff   102 25 Dic 11:36 Movies
drwxr-xr-x+  5 matte  staff   170 25 Dic 11:36 Public
drwxr-xr-x   9 matte  staff   306 10 Nov 19:23 Personal

Il parametro -l non è indispensabile, ma viene usato per mettere i dettagli.

Qua ci interessa il parametro -t, che ordina per ultima modifica dal più recente.

Mattepuffo's logo
Rendere immodificabili i file in Linux

Rendere immodificabili i file in Linux

Siamo soliti pensare che l'account di root in Linux possa fare tutto.

Bhe non è proprio così, o meglio può capitare di poter impedire anche root di fare alcune operazioni; ad esempio modificare o cancellare dei file.

Questo grazie a chattr!

Questo programma, da riga di comando, permette di rendere immodificabili e incancellabili i file.

Mattepuffo's logo
Identificare le porte aperte in Mac OS X

Identificare le porte aperte in Mac OS X

Vediamo oggi due comandi veloci per scoprire quali porte sono aperte in Mac OS X.

In verità sono due comandi dei quali ho già parlato in altri articoli, ma li vediamo qua specifici per il Mac.

Il primo è netstat:

$ netstat -a -p tcp

Così prendiamo solo il protocollo TCP, che in genere è quello che ci interessa di più.

Mattepuffo's logo
Validare stringhe con Apache Commons StringUtils

Validare stringhe con Apache Commons StringUtils

Tra le librerie Apache Commons Lang, ho trovato una classe molto comoda: StringUtils.

In pratica ci permette di controllare le stringhe con una sintassi più semplice e compatta.

In genere per controllare una stringa siamo abituati a fare così:

String str;
if (str != null && str.equals("CIAO") {
   // DO STUFF
}

Oppure:

String str;
if ("CIAO".equals(str) {
  // DO STUFF
}

Nulla di male in tutto ciò, a parte il fatto che il metodo equals non è null-safe.

Mattepuffo's logo
Informazioni sulle partizioni su Linux con lsblk

Informazioni sulle partizioni su Linux con lsblk

In genere usiamo fdisk per ottenere delle info sugli hard disk e sulle partizioni sotto Linux.

Questo il comando:

# fdisk -l

Disk /dev/sda: 120.0 GB, 120034123776 bytes, 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Identificativo disco: 0x5eff4ed2

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1          204800   188303359    94049280   83  Linux
/dev/sda3       188303360   230246399    20971520   83  Linux
/dev/sda4       230246400   234440703     2097152   82  Linux swap / Solaris

Senza nulla togliere a questo comando, ne ho scoperto un altro più leggibile e che è possibile lanciare non da root o con sudo: lsblk.

Questo l'output se lanciato senza opzioni (che praticamente è uguale a lanciarlo con -l):

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 111,8G  0 disk
sda1   8:1    0  89,7G  0 part /run/media/casa/hd
sda3   8:3    0    20G  0 part /
sda4   8:4    0     2G  0 part [SWAP]
sr0     11:0    1  1024M  0 rom

Come vedete è più leggibile ed inoltre ci da subito anche il punto di mount e la misura in formato "human-readable".

Mattepuffo's logo
Leggere file in Android

Leggere file in Android

La gestione dei file in Android è più semplice di quello che si pensi.

Nel mio caso ho una app che usa dei file JSON per avere sempre i dati offline; file scaricati da un server remoto.

Sono in formato JSON per riempire una ListView, ma il concetto va bene per qualsiasi tipo di file.

I miei file sono salvati nell'external storage, quindi prima di tutto impostiamo i permessi nel manifest:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Poi nell'Activity impostiamo il path verso lo storage (mi raccomando, metterlo nell'activity):

private String path = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator;

Questo rappresenta la external storage directory, al quale dobbiamo aggiungere poi il file che ci interessa.