
Пытаюсь использовать команды копирования, перемещения и удаления в Linux, но всегда получаю сообщения об ошибках. В структурах каталогов Linux есть три символа, с которыми у меня возникли трудности. Это ".", "~" и "/". Например, я хочу скопировать файл из каталога на один уровень выше в какое-то место. Я должен выполнить cp ./filename ~/directory/ . или что-то в этом роде. Мне сказали, что мне нужно включить ., чтобы скопировать его в то же имя.
Да, я прочитал руководство по CP, но там нет подробностей.
решение1
Чтобы скопировать файл, вызванный filename
из текущего каталога, в каталог, расположенный выше этого каталога, вам нужно сделать следующее:
cp filename ..
Означает ..
«родительский каталог», и если вы не указываетеимя файладля файла в месте назначения (во втором аргументе указан только каталог) имя файла будет таким же, как и раньше.
Здесь нет необходимости использовать разделитель пути /
, но вымогнаписал
cp ./filename ../
тоже. Использование ./
— это способ явно сказать «в текущем каталоге».
Если вы хотите скопировать файл из ~/directory
(т.е. из каталога, который называется directory
в вашем домашнем каталоге) в каталог, расположенный выше этого каталога, то
cp ~/directory/filename ~
Это ~
сокращенный способ записи пути к вашему домашнему каталогу, а родительский каталог — ~/directory
это ваш домашний каталог. Домашний каталог, ~
, может не иметь никакого отношения ни к одному из .
или ..
, то есть текущий каталог ( .
) и каталог выше него ( ..
) могут быть совершенно другими местами, чем ваш домашний каталог, в зависимости от того, куда в структуре каталогов вы переместились с помощью команды cd
.
Вы также можете использовать
cp ~/directory/filename ~/directory/..
но это было бы несколько неудобно печатать.
Чтобы скопировать файл из родительского каталога текущего каталога в какой-либо другой каталог (приведен ~/directory
пример):
cp ../filename ~/directory