Я пытаюсь переименовать файл с помощью обычной команды mv
которая работала бесчисленное количество раз раньше.
$ ls -l |grep "Picture 001"
-rwxrwxrwx 1 rolf rolf 657711 Feb 19 21:42 Picture 001_19.jpg
$ mv "Picture 001_19.jpg" "Picture 001_19_u.jpg"
mv: cannot move 'Picture 001_19.jpg' to a subdirectory of itself, 'Picture 001_19_u.jpg'
Может кто-нибудь сказать мне, почему mv
вдруг отказывается переименовать этот файл?
Как mv
решила, что Picture 001_19_d.jpg
- это имя каталога, а не имя файла?
Я попытался запустить ту же команду с аргументом -T
. С man-страницы mv
:
-T, --no-target-directory
treat DEST as a normal file
Результат точно такой же.
Это сбивает с толку и расстраивает!
Это ошибка?
$ mv --version
mv (GNU coreutils) 8.30
Обновить
Кажется, это ошибка
$ echo "blah" > tt
$ mv tt tt1
mv: cannot move 'tt' to a subdirectory of itself, '../tt'
$ mv tt ../
mv: cannot move 'tt' to a subdirectory of itself, '../tt'
Проблема возникает, когда я запускаю mv
на подключенном внешнем диске, на доступном для записи разделе NTFS.
Когда я копирую его в папку «Рабочий стол», которая находится в разделе Ext4, и я пытаюсь использовать mv
, он работает без проблем.
Обновление 2
$ sudo apt-show-versions coreutils
[sudo] password for rolf:
coreutils:amd64/sid 8.30-2 uptodate
coreutils:i386 not installed
Действительно, я, кажется, работаю с ошибкой версии (согласно этому ответу).