У меня есть такая задача в рамках школьного задания:
ПРИМЕЧАНИЕ:Если на изображении выше вам трудно что-либо прочитать, вот дерево каталогов:
$ tree
.
`-- sample_dir1
`-- sample_dir
|-- admin
|-- cambridge
| |-- cafeteria
| |-- library
| `-- security
| |-- annex
| |-- building
| `-- parking
|-- faculty
|-- history.exe
|-- markham
| |-- annex
| |-- building1
| `-- parking
|-- oxford
| |-- outline.doc
| |-- programming
| | `-- report.pdf
| `-- security
`-- stenton
|-- gen_ed
`-- lib_arts
|-- english.txt
`-- match.doc
15 directories, 11 files
Я попробовал выполнить команду:
$ cp ../cambridge/security/parking ./parking2
...но это не работает. В вопросе на изображении выше указано, что текущий каталог — stenton
, и что нам нужно сделать копию файла с именем parking
(из security
каталога), назвать новый файл parking2
и поместить его в текущий каталог, stenton
, используя относительные пути.
Что я делаю не так? Моя cp
команда, кажется, правильная.
решение1
Проблема, с которой вы столкнулись, по-видимому, связана с вашей программой выполнения домашних заданий.
Из вашего комментария к другому ответу следует, что вы пытались:
cp ../cambridge/security/parking ./parking2
Это совершенно допустимая команда в обычной оболочке. Однако проблема, скорее всего, в том, что ваша программа тестирования не хочет ./
на ./parking2
.
При указании пути к файлу (практически любой программой, а не только ), если в пути cp
нет начального символа , он неявно становится . Так что все будет хорошо, если вы измените свою команду на:/
./
cp ../cambridge/security/parking parking2
решение2
Это очень элементарный вопрос. Я бы почитал man-страницы по этому вопросу. Но тем не менее, вот ваш ответ:
cp <SOURCE> .
Например:
У меня есть файл в этом каталоге: /home/rkah/sample1
Файл называется:sample
Скажем, если бы я хотел перейти в свой домашний каталог, а именно: /home/rkah/
и скопировать sample
в /home/rkah/
, я бы выполнил эту команду:
cp ~/sample/sample .
Символ .
обозначает текущий рабочий каталог или каталог, в котором я сейчас нахожусь.