Операции с файлами между веб-сервером и локальным компьютером

Файлы сайта на VPS могут выгружаться с помощью настроенного репозитория git. Хотя это удобнее, не всегда подходит.

Консольная утилита scp может использоваться как для выгрузки файлов и архивов на удаленный сервер, так и загрузки с него (все команды выполняются с локального компьютера). На самом деле происходит копирование, как и в случае с командой cp. Первым аргументом указывается что и откуда копируется, вторым - куда. Так ниже в первом примере файл переносится на сервер, во втором - файл загружается с сервера в текущий каталог.

$ scp  index.html  user@11.187.22.233:/var/www/bioedu.info/
$ scp  user@11.187.22.233:/var/www/bioedu.info/index.html  ./

Если требуется скопировать несколько файлов, они указываются по-очереди. В любом случае последний аргумент команды - место назначения. Также могут использоваться шаблоны. Например, *.html будет означать копирование всех файлов с таким расширением.

Для копировании каталогов используется ключ -r.

Существует также утилита curl (cURL), которая позволяет загружать файлы по их URL. Ее можно использовать для загрузки с веб-сервера, если на последнем файл доступен по url-адресу:

$ curl -O https://younglinux.info/younglinux0525.tar

Однако большого смысла в этом нет. Зная URL, файл можно загрузить через браузер.

Для создания и распаковки архивов пользуются консольными утилитами tar, zip и unzip.

Упаковка в архив *.zip:

$ zip -r archive.zip *.txt node_test/

Распаковка архива *.zip:

$ unzip archive.zip

Упаковка в архив *.tar:

$ tar -cf archive.tar images/ *.html

В примере выше в архив упаковывается каталог images и все файл *.html текущего каталога.

Распаковка архива *.tar в текущий или иной каталог:

$ tar -xf archive.tar
$ tar -xf archive.tar -C /var/www/folder/

Упаковка в архив *.tar.gz:

$ tar -caf archive.tar.gz * .htaccess

В примере выше упаковываются все файлы текущего каталога. Скрытый файл надо указывать отдельно.

Распаковка архива *.tar.gz:

$ tar xzvf site0525.tar.gz