Я работал
/$ sudo mv -f -i FileSystem/*
После использования команды отсутствуют все мои файлы. Куда мои файлы перешли в?
Файлы в globbed папке (FileSystem
) будет рассматривать раковина как список аргументов эти mv
команда, и таким образом, последний файл/папка в списке будет прочитан как место назначения.
mv
, заменил бы второе первым после побуждения для разрешений переписать. mv
, команда переместит все остальное в рассматриваемой папке. кажется вероятным, что недостающие файлы расположены в последней папке, которая эти FileSystem/*
произвела бы в то время, когда командой управляли.
Рассматривают следующую испытательную папку, содержащую точно два файла, где, управляя командой Вы перечислили, попытается переписать первый файл со вторым (я добавил -v
в иллюстративных целях):
~$ ls testdir
test1.txt test2.txt
sudo mv -f -i -v testdir/*
mv: overwrite 'testdir/test2.txt'? y
renamed 'testdir/test1.txt' -> 'testdir/test2.txt'
В другом сценарии, где папка является последней в списке файлов, это перемещает все в test_folder
(поскольку это - последний возвращенный товар и рассматривается как место назначения mv
команда) как так:
$ ls testdir/
empty_folder1 test1.txt test2.txt test_folder
Все Ваши файлы будут перемещены в последний товар в списке (test_folder
в этом примере)
$ sudo mv -f -i -v testdir/*
renamed 'testdir/empty_folder1' -> 'testdir/test_folder/empty_folder1'
renamed 'testdir/test1.txt' -> 'testdir/test_folder/test1.txt'
renamed 'testdir/test2.txt' -> 'testdir/test_folder/test2.txt'
Эта команда испытывает недостаток в месте назначения:
sudo mv -f -i FileSystem/*
из-за расширения *
mv
будет использовать ПОСЛЕДНЕЕ, которое оно находит, чтобы справочник переместил его в (или файл были только 2). Пример:
touch 1 2 3 4 5 6 7 8
$ mv *
mv: target '8' is not a directory
Это ошибки, потому что 8
не справочник. Последний в Вашей команде, вероятно, был справочником, таким образом, это переместит все файлы в тот справочник. Или если эти mv
состоит из 2 файлов, это переместится один через другой.
Также -
ls FileSystem
и у этого должен все еще быть 1 товар, там являющийся справочником, у которого есть результат Вашего mv
. Следите за этим из-за эти -f
(сила) и если это были 2 файла, Вы удалили один и не будете в состоянии возвратить его. Вы должны были бы восстановить резервную копию.
Пример последнего:
$ ls
1 2
$ mv *
$ ls
2
Это только происходит, когда есть ДВА файла.
1 ошибка
ls
1
$ mv *
mv: missing destination file operand after '1'
Try 'mv --help' for more information.
3 и больше ошибки также (как с этими 8 примерами файлов выше), ЕСЛИ последний не существующий справочник:
$ touch 1 2 3 4 5 6
$ mkdir 7
$ mv *
$ ls
7
$ ls 7
1 2 3 4 5 6