Grając z e2fsprogs debugfs
, przez zmianę / wypadek utworzono plik o nazwie filen/ame
. Oczywiście ukośnik /
służy jako specjalny znak separatora w ścieżkach.
Nadal za pomocą debugfs
chciałem usunąć plik o nazwie filen/ame
, ale miałem mały sukces, ponieważ /
znak nie jest interpretowany jako część nazwy pliku?
Czy debugfs zapewnia sposób na usunięcie tego pliku zawierającego ukośnik? Jeśli tak to jak?
Użyłem:
cd /tmp
echo "content" > contentfile
dd if=/dev/zero of=/tmp/ext4fs bs=1M count=50
mkfs.ext4 /tmp/ext4fs
debugfs -w -R "write /tmp/contentfile filen/ame" /tmp/ext4fs
debugfs -w -R "ls" /tmp/ext4fs
które wyjścia:
debugfs 1.43.4 (31-Jan-2017)
2 (12) . 2 (12) .. 11 (20) lost+found 12 (980) filen/ame
Próbowałem wykonać następujące czynności, aby usunąć filen/ame
plik:
debugfs -w -R "rm filen/ame" /tmp/ext4fs
ale to nie zadziałało i spowodowało jedynie:
debugfs 1.43.4 (31-Jan-2017)
rm: File not found by ext2_lookup while trying to resolve filename
Czy oprócz ręcznej zmiany zawartości węzła katalogu istnieje sposób na usunięcie pliku za pomocą debugfs
?
filen\/ame
) nie działa?