Чтобы использовать текущий каталог в качестве каталога назначения, используйте одну точку ' .'
Длинный ответ
Используя ваш пример, вы наберете: cp ~/anotherdir/dir2/file .
Чтобы увидеть точку ., ..и ../../имена каталогов в действии, скопируйте и вставьте следующие команды в вашем терминале:
mkdir a && mkdir a/b && mkdir a/b/c && mkdir a/b/c2
cd a/b/c
cp /etc/default/grub .
cp /etc/default/grub ..
cp /etc/default/grub ../c2
cd ../../
tree
Вывод команды дерева выглядит так:
.
└── b
├── c
│ └── grub
├── c2
│ └── grub
└── grub
3 directories, 3 files
В .верхней части дерева выводится новый текущий каталог, a к a/b/cкоторому мы обратились с помощью cd ../../команды. Ниже aмы видим подкаталоги a/b, a/b/cиa/b/c2
Построчный анализ
Сначала мы создали 4 директории в одной строке, используя &&для объединения несколько строк.
Затем мы изменили каталог a/b/c, который является текущим каталогом для следующих команд копирования:
- В первой команде копирования (
cp) мы устанавливаем адрес нашей текущей директории ( c ) с помощью ..
- Во второй команде копирования мы устанавливаем пункт назначения в родительский каталог ( b ) с помощью
...
- В третьей команде копирования мы устанавливаем место назначения в каталог-родственник ( c2 ) с помощью
../c2
Затем, как было сказано ранее, мы изменили текущий каталог на aи запустили treeкоманду для отображения всех каталогов и файлов в a.
уборка
По завершении мы удаляем три каталога и файлы с помощью:
cd ~/
rm -r tree
..означает один каталог ниже. Может использоваться несколько раз, т.е.cd ../..