не может удалить существующий файл

Я начал копировать (большой) файл внутри скрипта python с copyfile из shutil и мне пришлось прервать передачу. Теперь я замечаю, что не могу удалить файл

Файл, который я пытаюсь удалить, показан ниже (то есть кажется, что он существует)

ngs@bngs05b:/path/to/dir/210305_M05113_0148_000000000-J6HHR/Data> ll
total 1
-rwxrwx--- 1 user lgen 99542099  6. Mai 11:42 LHLA-MS5387-MJ-S-10_S20_L001_R2_001.fastq.gz

Если я затем попытаюсь удалить его с помощью rm

ngs@bngs05b:/path/to/dir/210305_M05113_0148_000000000-J6HHR/Data> rm LHLA-MS5387-MJ-S-10_S20_L001_R2_001.fastq.gz
rm: cannot remove 'LHLA-MS5387-MJ-S-10_S20_L001_R2_001.fastq.gz': No such file or directory

, который является на мой взгляд, очень странное поведение.

Я попробовал несколько решений, как описано здесь (например, ls --escape , ls -1b ), но ни одно из них не работает.

Я также попытался увидеть, был ли где-то открыт этот файл, хотя вывод lsof + D не дает ничего полезного, я полагаю:

ngs@bngs05b:/path/to/dir/210305_M05113_0148_000000000-J6HHR/Data> lsof +D .
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF                NODE NAME
bash    44509  ngs  cwd    DIR   0,37        0 5429445751479423221 .
lsof    45768  ngs  cwd    DIR   0,37        0 5429445751479423221 .
lsof    45769  ngs  cwd    DIR   0,37        0 5429445751479423221 .

Сначала я подумал, что проблема связана с этим скопированный файл был поврежден / неполный, хотя я не думаю, что это так, поскольку я проверил, что размер файла в исходном месте совпадает с размером файла, который я пытаюсь удалить.

Кто-нибудь знает, как мне избавиться от этого файла?

0
задан 6 May 2021 в 14:06

1 ответ

В имени файла могут быть какие-то странные символы, которые вы не можете увидеть в терминале.

Если это единственный файл в каталоге данных, я бы удалил каталог данных и забрал файл вместе с ним,

rm -rf data

в противном случае попробуйте использовать файловый менеджер или посмотрите, можете ли вы удалить его с помощью шаблона, используйте ls с шаблоном сначала, чтобы убедиться, что вы удалили цель :)

ls LHRA*.gz

если это перечислит ваш файл, то

rm LHRA*.gz 

Если бы он использовался другим процессом, сообщение было бы другим.

0
ответ дан 7 May 2021 в 17:39

Другие вопросы по тегам:

Похожие вопросы: