2012-03-12 8 views
8

Dentro de mi directorio Linux, tengo un archivo llamado TopSample$Config.class. Cada vez que intento copiar este archivo a otra ubicación/directorio, no me lo permite.

que estoy haciendo de esta manera:

cp TopSample$Config.class /home/praveen/com/config/ 

Por favor, hágamelo saber si esto no es posible.

+0

Cita del $: 'TopSample \ $ etc', o '' TopSample $ etc''. Y evite usar nombres de archivos con dollarsigns, espacios, &, |,> etc. en Linux. – alexis

+3

@alexis: los compiladores de Java crean estos archivos sin que usted lo solicite. Además, todas las herramientas deberían ser capaces de manejar caracteres divertidos en nombres de archivos. –

+0

Ya veo. Las herramientas ciertamente pueden manejarlos, los principiantes a la línea de comandos son otra historia. – alexis

Respuesta

20

La cáscara interpretará $Config como una variable. Y se expandirá a la cadena vacía.
Usted puede poner comillas simples para mantener el valor literal:

cp 'TopSample$Config.class' /home/praveen/com/config/ 

Otra forma es para escapar de la (signo de dólar) $ utilizando \ (barra invertida)

cp TopSample\$Config.class /home/praveen/com/config/ 
2

Poner comillas simples alrededor del nombre del archivo.

cp 'TopSample$Config.class' /home/praveen/com/config 
+0

Muchas gracias. – Pawan

0

O reemplazar el carácter infractor con el nombre de archivo metacarácter de '?', que significa "cualquier personaje". Tenga en cuenta que si bien esto puede ser más conveniente y requiere menor cantidad de las pulsaciones de teclas, tenga en cuenta que un nombre de archivo de TopSample?Config.class también coincidirá TopSampleaConfig.class, TopSamplebConfig.class, TopSamplecConfig.class, etc.

Cuestiones relacionadas