переместить много каталогов в другой каталог с помощью CLI

Я хочу скопировать некоторые каталоги в каталоге в другой каталог в этом каталоге.

Например:

У меня есть структура, как показано ниже

myname@compname:~/root/app/pages$ ls

dir1, dir2, dir3

Я хочу, чтобы dir1 и dir2 были перемещены в dir3, а окончательная структура должна быть следующей:

myname@compname:~/root/app/pages$ ls

dir3

myname@compname:~/root/app/pages/dir3$ ls

dir1, dir2

Я знаю, что для этого есть много программ-оболочек. но я хочу, чтобы это произошло с помощью самого CLI в однострочном операторе.


person gsthina    schedule 20.07.2016    source источник


Ответы (2)


mv dir1 dir2 dir3

сделаю это

mv dir1 dir2
mv dir2 dir3

делает то же самое, в два шага.

Технически mv dir[123] также будет делать то же самое (для этих имен файлов), но может привести к путанице, поскольку место назначения определяется в алфавитном порядке.

person Jasen    schedule 21.07.2016
comment
Да! Спасибо за вашу заботу. Но я спрашиваю об этом в случае сотен каталогов! - person gsthina; 21.07.2016
comment
для сотен mv * dir3 - person Jasen; 21.07.2016
comment
* для всех каталогов. Но мне нужны конкретные сотни реж. - person gsthina; 21.07.2016
comment
Вы должны сказать, какие из них как-то, - person Jasen; 21.07.2016
comment
Итак, есть ли способ исключить каталог? - person gsthina; 21.07.2016
comment
не легко. потом легче вернуть обратно. - person Jasen; 21.07.2016

Это не идеальный ответ. Но я сделал это со следующим кодом:

myname@compname:~/root/app/pages$ cp -r dir1/ dir3/ && cp -r dir2/ dir3/
myname@compname:~/root/app/pages$ rm -r dir1 && rm -r dir2
myname@compname:~/root/app/pages$ cd dir3 && ls

Другие ответы приветствуются!

person gsthina    schedule 21.07.2016