Выполненная команда была "mv space *" в папке с 14 ГБ данных.
mv *
du -hs
то же самое, куда ушли 14 ГБ данных? Что я сделал?
Выполненная команда была "mv space *" в папке с 14 ГБ данных.
mv *
du -hs
то же самое, куда ушли 14 ГБ данных? Что я сделал?
Я предполагаю, что bash расширяет подстановочный знак и таким образом перемещает каждую папку в вашу последнюю.
Например:
$ ls
test1 test2 test3 test4
$ mv *
$ ls
test4
$ ls test4
test1 test2 test3
Здесь mv *
расширяется до mv test1 test2 test3 test4
соответствующего mv [OPTION]... SOURCE... DIRECTORY
Формат. Таким образом, каждая папка перемещается в последнюю.
Как описано @ssssteffff, с помощью mv *
оболочка выполняет расширение по шаблону из файлов в текущем каталоге. Однако поведение команды mv
зависит от того, сколько аргументов *
расширяется до. Если аргументов больше двух, то последним аргументом должен быть каталог:
mv [OPTION]... SOURCE... DIRECTORY
Так,
Я создал 5 файлов
$ touch 1 2 3 4 5
$ ls
1 2 3 4 5
$ mv *
mv: target ‘5’ is not a directory
$ ls
1 2 3 4 5
Теперь, если я создам каталог, который будет последним параметром расширения подстановочных знаков, то:
$ mkdir 6
$ mv *
$ ls
6
$ ls 6
1 2 3 4 5
Вы должны дважды проверить, что это был за последний аргумент.
Вы уверены, что не видели ошибку, как это?
mv: target ‘5’ is not a directory`