Opensuse: lavoriamo con i files e le directory.

Vediamo come  spostare, cancellare,  e creare link a file e cartelle in opensuse con la shell.

Ecco i comandi che ci interessano:

  • cp: serve per copiare file o cartelle.
  • mv: sposta file o cartelle.
  • mkdir: crea directory.
  • rmdir: cancella directory vuote.
  • rm: cancella file .. e cartelle vedremo come.
  • ln: crea link ai vari file e inode.

cp

copia i vari file o contenuti delle directory, principalmente al sintassi è la seguente copy origine_file  destinazione_ file portiamo alcuni esempi

cp foo.txt  /home/prova/foo.txt lanciato senza parametri per default cp sovrascrive ogni file esistente, in questo caso copiamo il file foo.txt dalla directory corrente sovrascrivendo quello presente in /home/prova.

cp -i foo.txt /home/prova/foo.txt chiede conferma prima di copiare.

cp -u foo.txt /home/prova/foo.txt copierà il file nella destinazione solo se questo è più vecchio di quello di destinazione, o questo è mancante.

Vediamo come copiare una singola directory e le sue opzioni

cp /home/prova /tmp copia la directory prova in /tmp.

cp -R /home/prova  /tmp/new copia tutti i file contenuti in /home/prova in /tmp/new, ottimo come backup.

cp -A /home/prova /tmp/new come sopra ma in questo caso vengono anche copiati i vari permessi, i proprietari link ecc, ecc.

mv

Sposta i vari file ma anche rinomina i  file, esempio pratico

mv *.txt /tmp sposto tutti i file con estensione .txt in /tmp.

mv foo. txt foo1.txt rinomina il file foo.txt in foo1.txt (vale anche per le directory)

mkdir

Crea una directory  nel percorso corrente o in un altro, esempio pratico

mkdir new crea la directory new nella cartella attuale.

mkdir –p prova/new crea una cartella di nome new in prova.

rmdir e rm

Il primo elimina directory vuote o file,  il secondo elimina ogni cosa.. davvero se digitato da root cancella davvero tutto

rmdir  prova cancella la directory vuota prova

rm foo.txt cancella il file foo.txt

rm prova cancella la directory prova

rm /windows/c lanciato come root in un sistema dual boot windows/opensuse cancella la partizione di windows e credetemi lo esegue davvero provato in un virtual machine.

rm fil* elimina tutto ciò che inizia con file comodo per cancellare tanti file o cartelle insieme.

ln

Quelli che normalmente indichiamo come links in windows sotto linux hanno anche un altro significato, tanto per cambiare direte voi.

Il file system di linux tiene separati quelli che sono i dati e le informazioni che lo riguardano, ogni file è descritto da un inode (information node), ognuno di questi inode 128 bits   corrisponde ad una struttura sul filesystem che memorizza di ogni file le varie informazioni quali proprietario, permessi, dati dell’ultima modifica e accesso, e la sua relativa posizione su un relativo blocco come ad esempio un hard disk, ma non il suo nome.

Possiamo vedere gli inode con il comando ls -i.

I link in linux sono di due tipi i cosiddetti hard link e i symlink, sebbene il loro utilizzo sia il medesimo, la loro funzionalità è diversa.

Potete creare un hard link usando il comando ln che punterà a questo punto a un inode già esistente, in questo modo il file può essere utilizzato sotto entrambi i nomi, sono di fatto una copia di una voce di directory, hanno nomi diversi ma puntano allo stesso inode e quindi condividono esattamente lo stesso dato (oltre agli stessi permessi, data di modifica, owner ecc.).

Teoricamente in un sistema Unix non potremmo avere hard links su sistemi diversi, con linux è possibile attraverso il parametro -d, gli hard links sono più economici  perché occupano meno spazio e permettono una lettura più rapida per il filesystem.

I symlink funzionano invece come concetto più ai collegamenti ai vari file sotto windows, se il file originale viene cancellato il symlink rimane anche se il suo collegamento non punta più al file originale.

Sono principalmente utilizzati a scopo amministrativo su sistemi Linux/Unix, di fatto rispetto agli hard link si presentano verso gli utenti come avente tutti permessi aperti a differenza del file a cui punto, ovvero il symlink non riflette gli stessi permessi del file a cui punta.

  1. Lascia un commento

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: