saque un archivo llamado ~

saque un archivo llamado ~

Entonces descargué un álbum de música de aMule y está ubicado en el .aMule/Incomingdirectorio. Intenté sacarlo con el siguiente comando:

 mv albumName.rar ~

Esto me dejó con un archivo ~al .aMule/Incomingque no pude cambiarle el nombre porque la tilde está reservada para el directorio de inicio. Sé que puedo acceder a él a través de Nautilus mostrando archivos ocultos. ¿Cómo puedo sacarlo en la terminal?

Actualizar Así es como se ve ahora

   manuzhang@manuzhang-R458-R457:~/.aMule/Incoming$ ls -l
   total 328
   -rw-r--r-- 1 manuzhang manuzhang 297266 2012-03-19 12:07 ~
   -rw-r--r-- 1 manuzhang manuzhang  34479 2011-10-11 19:51 [kat.ph]friends.season.1.with.english.subtitles.torrent

Respuesta1

mv \~ ~/albumName.rar
mv '~' ~/albumName.rar
mv ./~ ~/albumName.rar

Siempre puedes proteger un carácter que tiene un significado especial en el shell poniendo una barra invertida delante de él.

Siempre puedes decirle al shell que interprete una secuencia literalmente poniéndola entre comillas simples. El único carácter que no se puede poner dentro de una cadena literal es la comilla simple, ya que indica el final de la cadena literal. Puedes usar '\''en su lugar; significa "fin del literal, el carácter ', comienzo del literal", pero puedes considerarlo como una forma extraña de poner una comilla simple dentro de una cadena literal entre comillas simples.

El carácter ~sólo es especial al principio de una ruta, por lo que si pones una indicación de directorio, ~será el nombre del archivo en ese directorio.

Tenga en cuenta que si el nombre del archivo comienza con -, solo funcionará el último de estos tres métodos. Esto se debe a que -no es especial para el caparazón; tiene un significado especial para el comando: indica una opción. Otra forma de protegerse -contra este significado especial es anteponer la opción especial --: --en una línea de comando indica el final de las opciones, solo los nombres de archivos (u otros argumentos que no sean opciones) pueden aparecer después.

Tenga en cuenta también que el comando que muestra debería haber copiado el archivo a su directorio de inicio, ya que ~el shell debería haber interpretado el carácter. Es posible que haya escrito mal y haya creado un archivo que no se llama ~. Ejecute ls -qo ls -Qpara ver si el nombre del archivo contiene un carácter no imprimible. Si eso no proporciona ninguna indicación visual, intente con ls | od -t o1, que mostrará el código octal para cada byte en el nombre del archivo. En ksh, bash o zsh, puede usarlo $'\123'en una línea de comando para especificar un carácter mediante su código octal. Alternativamente, es posible que pueda encontrar un patrón que coincida con el archivo. Por ejemplo, si determina que la longitud del nombre del archivo es 3 y que los únicos otros archivos cuya longitud es 2 son fooy bar, puede mover el archivo con

mv ./[^bf]?? ~/albumName.rar

Y si está dispuesto a usar el mouse y el nombre está compuesto de caracteres imprimibles que no sabe escribir: copie y pegue el nombre del archivo de la salida de ls.

Respuesta2

Especifique una ruta al archivo.

cat ./~

Respuesta3

La actualización pegada muestra que se trata de algún carácter ASCII o Unicode alto, no una simple tilde... ¿Puedes usar mcotro administrador de archivos? ¿Qué tal mover todo?demásfuera de ese directorio y luego use la función de finalización con tabulación?

información relacionada