Comandi ssh di linux che uso (ma che non ricordo mai)

I comandi SSH di linux sono una figata assurda, e si possono usare per fare un sacco di cose sul server. L’unica pecca (ma proprio piccolina) è che senza di google non riuscirai mai ad eseguire le operazioni, perchè diciamocelo, difficilmente si riuscirà a ricordare tutti i comandi a memoria, e tra comandi e parametri, beh, è un casino. Riassumo quindi un po’ di operazioni che uso io con SSH su un server Centos. Ma come al solito, lo faccio più che altro per me stesso.

FPT (via SSH)

questo è anche semplice se ci pensiamo, ma a volte non c’è il tempo di pensarci su, quindi:

utente@server:ftp utente@serverremoto.ext

immettere la password al prompt
poi:

lcd

per vedere la cartella corrente in locale (se sei collegato in ssh, è il server ssh ovviamente)

lcd nome_cartella_locale

per spostarti nella cartella locale

prompt no

per evitare di confermare ogni file da trasferire

hash

se vuoi vedere il progresso di caricamento del file con tanti ####

ls

per vedere le cartelle del server ftp (quello a cui ti sei collegato)

cd nome_cartella_remota

per aprire una cartella remota

mget *

per prelevare dal server remoto tutti i file. Oppure anche

mget *.jpg

per prelevare solo i .jpg (ma anche *_big.jpg, per esempio)

mput *

per trasferire dal locale al remoto, secondo le regole di cui sopra.

Rinominare in batch tanti file

per esempio, se togliere “_big” da tutti i file .jpg che ho sul server (es: immagine1_big.jpg e rinominarla in immagine1.jpg)

find . -name "*_big.jpg" -exec sh -c 'mv "$1" "${1%_big.jpg}.jpg"' _ {} \;

Convertire da MAIUSCOLO a minuscolo tutti i file di una cartella

Dai ammettiamolo: ‘sta storia che in linux “FILE.jpg” è diverso da “file.jpg” è una gran rottura, ma se c’è, a qualcuno servirà. Io per intanto preferisco uniformare tutti i file in minuscolo, e per farlo a volte devo riscrivere tutti i nomi file. Ma c’è la possibilità di farlo fare al terminale/shell

for a_file in *;do mv -v $a_file `echo $a_file | tr [:upper:] [:lower:]` ;done;

(sia in linux che in OSX, questo funziona.)

TAR: comprimere una cartella

se hai a disposizione cPanel è sicuramente più facile tutto, ma se devi comprimere una grossa cartella, che magari contiene tantissimi file (immagina una cartella /uploads di wordpress, con tutte le dimensioni delle immagini caricata). Beh, usare la shell per comprimere in un unico file ti aiuta a seguire il progresso e vedere a che punto è.
Dopo aver raggiunto la cartella che vuoi comprimere, attraverso i vari “cd nomecartella”:

tar -vcf nomefilecompresso.tar.gz .

il nomefilecompresso.tar.gz è ovviamente il nome del file compresso, mentre il “.” (punto) indica di comprire tutto il contenuto, cartelle e files.

Find per cercare, -delete per cancellare

Può succedere di dover cancellare, all’interno di una cartella e sottocartelle, tutti i file che si chiamano, per esempio, “hello.htm”. Per cercarli usiamo il comando:

find . -name hello.htm

oppure, meglio ancora:

find . -type f -name "*.conf"

Se oltre che cercali, vogliamo anche cancellarli, il comando sarà:

find . -name hello.htm -delete

Se stai cercando un elenco di tutti i file che sono stati caricati una certa data, il comando da eseguire sarà:

find . -type f -mtime -17 ! -mtime -16 -exec ls -la {} \;

In questo caso troverà i file tra 17 giorni e 16.


Pubblicato

in

,

da