No lo creo. Definitivamente necesitarías una herramienta además ls.
strugee
No. ¿Por qué no nos dices lo que estás tratando de lograr?
jasonwryan
1
para esos momentos quiero montar algún dispositivo pero no recuerdo si es sda1 / 2/3/4/5/6 etc. Solo necesito enumerar los archivos en ese dispositivo para darme una idea de si es el dispositivo que soy buscando
lampoon
Por cierto: si tiene una imagen de un disco (no una partición), puede ver sus archivos testdiskejecutando el testdiskcomando con una ruta de archivo de imagen como primer parámetro en la línea de comandos.
Abbafei
Respuestas:
11
Puedes usar el debugfsprograma de e2fsprogs . A pesar de su nombre histórico, funcionará en sistemas de archivos ext2 / 3/4. El uso es simple:
donde "ls -l" es un debugfscomando específico que actúa principalmente como ls -l; no puede usar ningún comando de shell arbitrario allí. De forma predeterminada, debugfs abre una unidad en modo de solo lectura, por lo que es relativamente seguro; por ejemplo, intentar esto en una partición no ext2 / 3/4 solo da un diagnóstico:
# debugfs -R "ls -l" /dev/sda2
/dev/sda2: Bad magic number in super-block while opening filesystem
ls: Filesystem not open
No puedo decir que considero esta práctica recomendable, pero hará lo que me pidas.
El objetivo de montar un sistema de archivos es acceder a sus archivos. Entonces, no, en general, no puede acceder a los archivos de un sistema de archivos sin montarlo.
Hay algunas utilidades que acceden a un archivo directamente sin montaje, como debugfs para sistemas de archivos ext2 / ext3 / ext4 y mtools para sistemas de archivos FAT.
Para un ext2 / ext3 / ext4, en lugar de invocar el programa peligroso y difícil de usar debugfs, puede enumerar su última ubicación de montaje:
tune2fs -l /dev/sda1 | grep 'Last mounted'
Sin embargo, esto solo es útil si se ha registrado la última ubicación de montaje.
La mayoría de los tipos de sistemas de archivos admiten dar etiquetas a los sistemas de archivos (por ejemplo tune2fs -L foo) Así que dele a todos sus sistemas de archivos una etiqueta única. Luego monte el sistema de archivos por etiqueta:
Respuesta simple: no puedes. lsusa rutinas libc estándar que se traducen en llamadas al sistema atendidas por el controlador del sistema de archivos, por lo tanto, no es posible usar ls(o cualquier cosa que use esas llamadas del sistema) sin montar el sistema de archivos.
Puede escribir una utilidad que evite esto al tener su propia copia de algunas partes del controlador del sistema de archivos (tal cosa existe, por ejemplo, para leer sistemas de archivos Ext2 desde Windows), pero eso es poco práctico.
Si su problema es solo identificar las particiones, probablemente debería comenzar a usar GPT que tiene espacio para los nombres de las particiones (72 bytes por partición). Algunas soluciones superpuestas (Linux MD o LVM, por ejemplo) también permiten la denominación.
Como se describió anteriormente, debugfs funciona bien.
debugfs -R "ls -l" /dev/sda1
Para NTFS, hay ntfsls de ntfs-3g.
ntfsls /dev/sda2
Para FAT, hay mdir, de mtools.
mdir -i /dev/sdc1
Sin embargo, para exFAT no estoy seguro. Parece que exfat-utils no incluye ninguna herramienta similar a las descritas anteriormente. Sin embargo, hay dumpexfat, pero no creo que proporcione la información solicitada.
Para obtener más detalles sobre las unidades conectadas, hay lsblk.
lsblk
Personalmente, prefiero esto, y he establecido un alias para ello:
alias lsblk="lsblk -o MODEL,TRAN,NAME,FSTYPE,LABEL,MOUNTPOINT,SIZE,MAJ:MIN"
ls
.testdisk
ejecutando eltestdisk
comando con una ruta de archivo de imagen como primer parámetro en la línea de comandos.Respuestas:
Puedes usar el
debugfs
programa de e2fsprogs . A pesar de su nombre histórico, funcionará en sistemas de archivos ext2 / 3/4. El uso es simple:donde "ls -l" es un
debugfs
comando específico que actúa principalmente comols -l
; no puede usar ningún comando de shell arbitrario allí. De forma predeterminada, debugfs abre una unidad en modo de solo lectura, por lo que es relativamente seguro; por ejemplo, intentar esto en una partición no ext2 / 3/4 solo da un diagnóstico:No puedo decir que considero esta práctica recomendable, pero hará lo que me pidas.
fuente
El objetivo de montar un sistema de archivos es acceder a sus archivos. Entonces, no, en general, no puede acceder a los archivos de un sistema de archivos sin montarlo.
Hay algunas utilidades que acceden a un archivo directamente sin montaje, como debugfs para sistemas de archivos ext2 / ext3 / ext4 y mtools para sistemas de archivos FAT.
Para un ext2 / ext3 / ext4, en lugar de invocar el programa peligroso y difícil de usar
debugfs
, puede enumerar su última ubicación de montaje:Sin embargo, esto solo es útil si se ha registrado la última ubicación de montaje.
La mayoría de los tipos de sistemas de archivos admiten dar etiquetas a los sistemas de archivos (por ejemplo
tune2fs -L foo
) Así que dele a todos sus sistemas de archivos una etiqueta única. Luego monte el sistema de archivos por etiqueta:o
fuente
Respuesta simple: no puedes.
ls
usa rutinas libc estándar que se traducen en llamadas al sistema atendidas por el controlador del sistema de archivos, por lo tanto, no es posible usarls
(o cualquier cosa que use esas llamadas del sistema) sin montar el sistema de archivos.Puede escribir una utilidad que evite esto al tener su propia copia de algunas partes del controlador del sistema de archivos (tal cosa existe, por ejemplo, para leer sistemas de archivos Ext2 desde Windows), pero eso es poco práctico.
Si su problema es solo identificar las particiones, probablemente debería comenzar a usar GPT que tiene espacio para los nombres de las particiones (72 bytes por partición). Algunas soluciones superpuestas (Linux MD o LVM, por ejemplo) también permiten la denominación.
fuente
Como se describió anteriormente, debugfs funciona bien.
Para NTFS, hay ntfsls de ntfs-3g.
Para FAT, hay mdir, de mtools.
Sin embargo, para exFAT no estoy seguro. Parece que exfat-utils no incluye ninguna herramienta similar a las descritas anteriormente. Sin embargo, hay dumpexfat, pero no creo que proporcione la información solicitada.
Para obtener más detalles sobre las unidades conectadas, hay lsblk.
Personalmente, prefiero esto, y he establecido un alias para ello:
fuente