Я споткнулся в код, и подвергаю сомнению, понимаю ли я то, что делается:
cp $i ../../$x/$y
Это копирует значения меня два каталога из каталогов / $x/$y для каждого я? (это было в для цикла.)
mv dir ../../$x$y/name
Я думаю, что это перемещает dir каталога два каталога от $x$y/name. Это корректно? У меня были сомнения, понимая синтаксис удара при проигрывании вокруг с длинными каталогами.
Это копирует файл с пути в i
переменная к упомянутому каталогу.
../../
означает "два, выравнивает".
$x/$y
средства спускаются к каталогу, какое имя хранится в x
переменная, затем спуститесь к каталогу от y
переменная.
, Но если $y
каталог не существует, файл будет скопирован в $y
файл в $x
каталог.
mv dir ../../$x$y/name
перемещения dir
к [1 110] расположились два, выравнивает и два вниз $x$y
-> name
.
Перед начинающимся объяснением позвольте, говорят, что x
1
, и y
2
, и мы использовали нашу команду в /home/<user>/dir1/dir11/
папка.
команда Your 1st является обычным cp
команда. Вы были бы, скопировал Ваше имя файла от /home/<user>/dir1/dir11/
, и переместите его:
../
, таким образом, Вы находитесь в /home/<user>/
x
и y
(таким образом, Вы скопировали его в /home/<user>/$x/$y/
, таким образом, это /home/<user>/1/2/
в нашем примере) NB: если бы /home/<user>/1/2/
не существовал, то Ваш скопированный файл взял бы имя, определенное в [1 114], таким образом, Ваш файл назвали бы 2
; но если бы /home/<user>/1/
не существовал, cp
, то команда перестала бы работать, и Вы получили бы ошибку
, 2-я команда является обычным mv
команда. Вы переместились бы dir
папка от [1 120]:
../
использование 12/
в нашем примере), и затем name/
. Таким образом, Ваша папка dir
помещается как этот: /home/<user>/12/name/dir