No puedo encontrar el directorio predeterminado donde se extraen los archivos .tar. SO - Ubuntu 16 4. No responda: la misma carpeta que el archivo tar, porque no está allí (y todos los tutoriales o preguntas que he encontrado usan esa respuesta). Ayuda por favor ?!
Respuesta1
Cuando la imagen está empaquetada, se puede conservar su estructura de directorios. Para ver la estructura de directorios de a tar
sin desinstalarlo tar
:
tar -ztvf my-data.tar.gz
El -t
(abreviatura de --list
):
Enumerar el contenido de un archivo. Los argumentos son opcionales. Cuando se les proporciona, especifican los nombres de los miembros a enumerar.
Si no está en el mismo directorio donde tar
se extrajo el archivo, entonces estará en un subdirectorio de ese directorio, a menos que se haya especificado -C
o --directory
:
-C, --directory=DIR Change to DIR before performing any operations. This option is order-sensitive, i.e. it affects all options that follow.
Intente find . -name '*expected file*'
buscarlo en el directorio actual.
Respuesta2
Es el directorio que está codificado en el archivo, a menos que se cambie, por ejemplo, -C
al extraer. Siempre puede obtener una lista de las rutas de archivo en el archivo con
tar -t -f archive.tar
Las rutas almacenadas en el archivo soncasi siemprerutas relativas (a menos que -P
se usaron al crear el archivo), lo que significa que el contenido del archivo se descomprimirá como una jerarquía de archivos en el directorio actual (a menos que se cambie con -C
).
Respuesta3
El tar
comando extrae archivos en sudirectorio de trabajo actual. Cuando ejecuta tar
desde un shell, ese es el directorio de trabajo actual del shell, el que establece el cd
comando, el que se muestra en el pwd
comando y, a veces, se muestra en el indicador. El directorio de extracción se puede cambiar con la -C
opción.
Muchos archivos tar tienen todos los archivos dentro de un único directorio de nivel superior (relativo al directorio de extracción), generalmente con un nombre que se parece al archivo tar. En este caso, todos los archivos extraídos están en ese directorio. Pero eso no es una obligación, hay muchos archivos tar que contienen múltiples directorios y archivos de nivel superior. Por otro lado, tar
en Ubuntu y en la mayoría de los demás sistemas no se extraerá ningún archivo fuera del directorio de extracción.
El directorio de extracción no depende en absoluto de la ubicación del archivo tar. (Eso es para el tar
comando y, en general, para la mayoría de los programas de manipulación de archivos de línea de comandos. Los programas GUI pueden comportarse de manera diferente). El directorio de extracción es la ubicación del archivo tar si el argumento del nombre del archivo tar pasado tar
no contiene ninguna parte del directorio, pero en En general, podría estar en cualquier lugar.
Si no recuerda cuál era el directorio actual cuando ejecutó el tar
comando, verifique su historial de shell (en bash, presione Ctrl+ Ry luego escriba tar
; presione Ctrl+ Rnuevamente para repetir la búsqueda). Si encuentra una ruta relativa al archivo (por ejemplo tar xf subdir/archive.tar
, ), es posible que pueda determinar cuál era el directorio actual (en este ejemplo, era el padre del directorio que contiene el archivo). Por supuesto, esto no siempre ayudará, por ejemplo, si la ruta es absoluta.
Si no puede encontrar los archivos, puede intentar buscar archivos que fueron creados o modificados (más precisamente, cualquier cambio realizado en el archivo o sus propiedades) en el rango de tiempo correcto, con el comandofind
y su opción -ctime
o -cmin
, por ejemplo
find ~ -cmin +30 -cmin -61
para buscar archivos que se cambiaron hace entre 30 y 60 minutos en su directorio de inicio. En lugar de -cmin
y -ctime
puede utilizar -cnewer somefile
para comparar la hora de cambio con la del archivo somefile
. Puede agregar -name foo
al final del find
comando para limitarlo a un nombre de archivo específico contenido en el archivo (sin ninguna parte del directorio).
Si corriste tar
el día anterior o antes, entonces ellocalizarLa base de datos puede permitirle saber dónde está su archivo. Por ejemplo, si el archivo contiene un archivo some/directory/myfile.txt
, locate some/directory/myfile.txt
le indicará dónde se puede encontrar dicho archivo.