Перемещение файла с помощью PuTTY
Я новичок изо всех сил пытается переместить файл на Linux VPS с помощью PuTTY.
В этот момент я могу войти в систему с пользователем в PuTTY. Я могу перейти к файлу, который я хочу переместить (~/servers/apache-solr-3.6.2/example/webapps/solr.war
).
Используя cd ..
пару раз из каталога, в котором я начинаю, когда я впервые захожу в PuTTY, я могу затем перейти в место, куда я хочу переместить файл:usr/local/jakarta/apache-tomcat-5.5.36/webapps/
Я знаю, что мне нужно использовать cp
скопировать файл и опробовать варианты:cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war usr/local/jakarta/apache-tomcat-5.5.36/webapps
Однако каждый раз, когда я получаю "Нет такого файла или каталога"
Я пытался исключить ~/
и начало, и я попытался указать solr.war
в конце команды.
Пожалуйста, извините вопрос новичка, но я был бы очень признателен за несколько советов о том, что я делаю здесь неправильно.
5 ответов
Некоторые общие замечания:
- Формат копии (
cp
) командаcp source destination
В мире *nix (Unix, Linux и т. Д.) Каталоги представлены
/
в отличие от\
в винде.root
файловой системы (Windows 'C:\
) является/
, Итак, путь WindowsC:\Directory\Subdirectory\file.txt
это на линуксе
/Directory/Subdirectory/file.txt
~/
Ваш домашний каталог, также известный как$HOME
,Вам не нужно
cd
в каталог, который вам нужно скопировать в / из, вы можете просто указать полный путь к нему.Вам не нужно вводить весь путь. В большинстве систем Linux, когда вы начинаете вводить путь, вы можете нажать Tab, чтобы завершить его. Если есть более одного возможного завершения, дважды нажмите Tab, чтобы увидеть их. Например, введите
ls /bo
и нажмите Tab, он будет автоматически завершен до
ls /boot
Итак, собрав все это вместе, вместо написания всего пути, попробуйте написать начало и использовать Tab для автозаполнения. Я подозреваю, что ваш файл не в ~/servers
но в /servers
так что постарайтесь:
cp /servers/apac
табуляция
Это автозаполнение? Если нет, попробуйте
cp ~/servers/apac
табуляция
Как только вы найдете правильный исходный каталог, снова используйте трюк Tab, чтобы найти правильный целевой каталог.
Вы пропустили /
до usr
,
Решение (первая строка ваша, вторая правильная):
cp ~ / servers / apache-solr-3.6.2 / example / webapps / solr.war usr / local / jakarta / apache-tomcat-5.5.36 / webapps
cp ~ / servers / apache-solr-3.6.2 / example / webapps / solr.war /usr/local/jakarta/apache-tomcat-5.5.36/webapps/
Я рекомендую вам просмотреть это и это короткое видео, чтобы понять основные команды терминала Linux.
Если вы печатаете точно:
cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war usr/local/jakarta/apache-tomcat-5.5.36/webapps
попробуйте ввести это вместо:
cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war /usr/local/jakarta/apache-tomcat-5.5.36/webapps
Без /
перед usr
скорее всего, он пытается перейти в ваш текущий каталог плюс usr/local/jakarta/apache-tomcat-5.5.36/webapps
вместо выключенного /
,
РЕДАКТИРОВАТЬ: Если у вас действительно есть usr
каталог в вашем домашнем каталоге и пытаются скопировать что-то вроде /home/your_user_name/usr/local...
затем укажите полный путь.
Решение этого было основано на комбинации вкладов от других ответов - спасибо всем. сентябрь и ультрасовол были правильными, чтобы указать на то, что мне нужен слеш перед usr:
cp ~/servers/apache-solr-3.6.2/example/webapps/solr.war /usr/local/jakarta/apache-tomcat-5.5.36/webapps/
Спасибо, gabe за указание на возможность проблем с разрешениями. Так что для меня вышеприведенная команда не сработала, потому что у меня не было правильных разрешений в качестве пользователя, в который я вошел как.
Спасибо Тердон за то, что указал на это ~/
означает домашний каталог для текущего пользователя, который в основном эквивалентен /home/username/
, Знание этого означало, что я мог войти в систему как пользователь root (избегая проблем с разрешениями) и набрать следующую команду (которая работала):
cp /home/username/servers/apache-solr-3.6.2/example/webapps/solr.war /usr/local/jakarta/apache-tomcat-5.5.36/webapps/
Спасибо за всю вашу помощь с этим. Гейб и Септемебр - спасибо за ссылки на эти ресурсы - они были полезны.
Копирование файла требует двух вещей:
- Правильные места
- Правильные разрешения
Похоже, вы боретесь с частью местоположения.
Попробуйте перейти в оба места и запустить команду "pwd". PWD возвращает полный путь к файлу, где вы находитесь.
Скопируйте вывод pwd из обоих мест, чтобы использовать команду cp.
пример
cp 'pwd output source'/solr.war 'pwd output destination location'
Для разрешений: вам необходимо убедиться, что у вас есть разрешение на запись в место назначения, в которое вы пытаетесь записать, а также на чтение файла, который вы пытаетесь прочитать. Выполните команду ls -al для файла, который вы пытаетесь скопировать, и команду ls -al для папки назначения, и предоставьте этот вывод. Вы также можете права доступа к файлам Google. Или вы можете прочитать эту статью, чтобы понять, какие у вас есть разрешения: http://www.perlfect.com/articles/chmod.shtml