Чтобы использовать текущий каталог в качестве каталога назначения, используйте одну точку ' .
'
Длинный ответ
Используя ваш пример, вы наберете: 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 ../..