(2 risposte)
Chiusa 3 anni fa.
Possibile duplicato:
Come Linux gestisce più separatori di percorso (/home////nomeutente///file)
La maggior parte dei comandi che uso in Linux si comportano esattamente allo stesso modo se includo la barra finale / carattere alla fine del nome di una directory o meno.
Ad esempio:
ls /home/cklein
ls /home/cklein/
cp foo bar
cp foo/ bar/
Quando è importante questa barra finale? Qual è il significato semantico della barra finale?
Risposta accettata:
Un buon esempio è lo spostamento di un file in una directory:
mv some_file foo
contro
mv some_file foo/
Se foo non esiste, il primo rinominerà some_file a foo , invece del previsto foo/some_file; il secondo si lamenterà, che è quello che vuoi.
Se foo esiste ma non è una directory, la prima può intaccare il foo file; di nuovo, il secondo si lamenterà.
cp presenta problemi simili.
Lavorando su alcune vecchie versioni di SunOS, ho sviluppato l'abitudine di aggiungere /. , perché il sistema ha effettivamente ignorato un / finale su un nome di file; ad esempio, /etc/motd/ si riferirebbe al file anziché essere un errore. Le versioni successive di SunOS / Solaris non sembrano avere questo problema.