Я начал копировать (большой) файл внутри скрипта 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 .
Сначала я подумал, что проблема связана с этим скопированный файл был поврежден / неполный, хотя я не думаю, что это так, поскольку я проверил, что размер файла в исходном месте совпадает с размером файла, который я пытаюсь удалить.
Кто-нибудь знает, как мне избавиться от этого файла?
В имени файла могут быть какие-то странные символы, которые вы не можете увидеть в терминале.
Если это единственный файл в каталоге данных, я бы удалил каталог данных и забрал файл вместе с ним,
rm -rf data
в противном случае попробуйте использовать файловый менеджер или посмотрите, можете ли вы удалить его с помощью шаблона, используйте ls с шаблоном сначала, чтобы убедиться, что вы удалили цель :)
ls LHRA*.gz
если это перечислит ваш файл, то
rm LHRA*.gz
Если бы он использовался другим процессом, сообщение было бы другим.