(2 respuestas)
Cerrado hace 3 años.
Posible duplicado:
Cómo Linux maneja múltiples separadores de rutas (/home////username///file)
La mayoría de los comandos que uso en Linux se comportan exactamente igual si incluyo la barra inclinada final /
carácter al final de un nombre de directorio o no.
Por ejemplo:
ls /home/cklein
ls /home/cklein/
cp foo bar
cp foo/ bar/
¿Cuándo importa esta barra inclinada? ¿Cuál es el significado semántico de la barra diagonal final?
Respuesta aceptada:
Un buen ejemplo es mover un archivo a un directorio:
mv some_file foo
contra
mv some_file foo/
Si foo
no existe, el primero cambiará el nombre de some_file
a foo
, en lugar del foo/some_file
previsto; el segundo se quejará, que es lo que quieres.
Si foo
existe pero no es un directorio, el primero puede destruir el foo
expediente; de nuevo, el segundo se quejará.
cp
presenta problemas similares.
Trabajando en algunas versiones antiguas de SunOS, desarrollé el hábito de agregar /.
, porque el sistema en realidad ignoró un /
final en un nombre de archivo; por ejemplo, /etc/motd/
se referiría al archivo en lugar de ser un error. Las versiones posteriores de SunOS/Solaris no parecen tener ese problema.