Перемещение файла с помощью 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:\) является /, Итак, путь Windows

    C:\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/ 

Спасибо за всю вашу помощь с этим. Гейб и Септемебр - спасибо за ссылки на эти ресурсы - они были полезны.

Копирование файла требует двух вещей:

  1. Правильные места
  2. Правильные разрешения

Похоже, вы боретесь с частью местоположения.

Попробуйте перейти в оба места и запустить команду "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

Другие вопросы по тегам