Napisałem program, który używa funkcji mapowania pamięci POSIX ( mmap
)
Program pobiera plik ( a.dat
) i mapuje go w celu odczytu / zapisu.
Z powodu błędów w programie za każdym razem, gdy uruchamiam program, ?d?P?^z??d?P?^z?
tworzony jest plik o dziwnych nazwach (np. ). Błąd został rozwiązany, ale nie mogę usunąć plików.
Nie mogę go usunąć ani za pomocą wiersza polecenia, ani przez wybranie / usunięcie z menedżera okien.
Jak mam to usunąć? Używam Ubuntu 11.04.
rm '?d?P?^z??d?P?^z?'
). Próbowałeś tego?rm *
w folderze.Odpowiedzi:
rm -i -- *
poprosi o usunięcie każdego pliku. Możesz i powinieneś zmienić „*” na węższe dopasowanie, jeśli jest dużo plików.--
Zatrzymuje opcje przetwarzania, więc plik o nazwie-d
zostaną usunięterm
pomyślnie.Używałem tego w przeszłości i działa, dopóki nie trafisz specjalnej postaci lub 2, których nie lubi.
źródło
rm
, można zrobić mówi pewne wersje rm nie ma więcej linii linii poleceń po i traktować dalsze argumenty jako nazwy plików.rm -i -- *
--
--
--
wrm
poleceniu.możesz użyć,
ls -li
aby wyświetlić wszystkie pliki według ich i-węzłów. Następnie uruchom to polecenie, aby usunąć plik:Dodałem
-maxdepth 1
do mojego znaleziska, żeby być bezpiecznym:źródło
ls -i
jest wystarczająco dobry.ls
nie usuwa plików. OP chce tego.ls -li
aby wyświetlić wszystkie pliki według ich i-węzłów”. Zaznaczam, żels -i
to wystarczy, aby uzyskać listę nazw plików i odpowiadających im numerów i-węzłów. (Ale oczywiście potrzebujesz,ls -ia
jeśli chcesz dołączyć pliki kropek.)-delete
opcjęfind
, aby zminimalizować użycie niewłaściwej nazwy pliku.