Каталог расширений

Популярные теги

3gp       avi       fb2       jpg       mp3       pdf      

Как найти перемещенный файл на сервере


Команды Linux для работы с файлами

Чтобы быть профессионалом в использовании терминала Linux, нужно научится управлять файлами через терминал. Это чуть ли не основа всего, включая редактирование конфигурационных файлов, сборку программ, администрирование и множество других вещей. Просмотр содержимого папок, переход между папками, создание и удаление файлов - это необходимая база, для удобной работы в терминале.

В этой статье мы рассмотрим самые часто используемые команды Linux для работы с файлами и каталогами, после их освоения терминал больше не будет казаться таким непонятным и объемлемым. Вот какие команды будут нас сегодня интересовать:

  • ls - список файлов в директории;
  • cd - переход между директориями;
  • rm - удалить файл;
  • rmdir - удалить папку;
  • mv - переместить файл;
  • cp - скопировать файл;
  • mkdir - создать папку;
  • ln - создать ссылку;
  • chmod - изменить права файла;
  • touch - создать пустой файл.

А теперь перейдем к подробному рассмотрению всех этих команд.

1. ls - просмотр содержимого папки

Команда ls позволяет вывести список файлов заданной папки, по умолчанию, будет выведен список файлов текущей папки:

ls

Вы можете вывести список файлов из всех подкаталогов рекурсивно, для этого используйте опцию -R:

ls -R

Чтобы вывести список файлов нужной папки, вы можете передать ее адрес утилите, например, /home:

ls /home

Чтобы получить больше информации и вывести все имена файлов в виде списка используйте опцию -l:

ls -l /home/

2. cd - изменить папку

Команда cd позволяет изменить текущую папку на другую. По умолчанию, текущей считается домашняя папка, например, cd Desktop меняет папку на рабочий стол, если вы выполните ее из домашнего каталога:

cd Desktop

Вы также можете указать полный путь к папке:

cd /usr/share/

Команда cd .. переходит в папку, которая находится выше на одну в файловой системе:

cd ..

Вы также можете вернуться в предыдущую рабочую папку:

cd -

3. rm - удалить файлы

Команда rm позволяет удалить файл. Будьте очень осторожны с ней, она не будет спрашивать подтверждения:

rm file

Например, rm file удалит файл с именем file, который находится в текущей папке. Как и в предыдущих вариантах, вы можете указать полный путь к файлу linux. Например:

rm /usr/share/file

Если вы хотите удалить папку, то нужно использовать опцию -r. Она включает рекурсивное удаление всех файлов и папок на всех уровнях вложенности:

rm -r /home/user/photo/

Будьте осторожны, потому что эта команда удаляет файлы безвозвратно.

4. rmdir - удалить папку

Команда rmdir позволяет удалить пустую папку. Например, команда rmdir directory удалит папку directory, которая находится в текущей папке:

rmdir directory

Если вам нужно удалить папку с файлами, то нужно использовать утилиту rm вместе с опцией -r.

5. mv - перемещение файлов

Команда mv перемещает файл в новое место. Она также может использоваться для переименования файлов. Например, mv file newfile переименует файл file в newfile:

mv file newfile

Чтобы переместить файл в другую папку нужно указать путь к ней, например, переместим файл file в папку /home/user/tmp/

mv file /home/user/tmp/

6. cp - копирование файлов

Эта cp и mv - это похожие команды linux для работы с файлами. Они работают аналогичным образом, только исходный файл остается на своем месте.

cp file newfile

Вы также можете рекурсивно скопировать всю папку с помощью команды cp -r. Эта команда скопирует всю папку вместе со всеми файлами и вложенными папками в новое место. Например, скопируем папку /etc/:

cp -r /etc /etc_back

7. mkdir - создать папку

Команда mkdir позволяет создать новую папку mkdir test создаст папку в текущем каталоге:

mkdir test

Если нужно создать папку в другом каталоге, укажите полный путь к нему:

mkdir /home/user/test

8. ln - создание ссылок

Утилита ln позволяет создавать жесткие и символические ссылки на файлы или папки. Для создания символической ссылки используется опция -s. Например, вы создадим ссылку на папку с загрузками:

ln -s /home/user/Downloads/ /home/user/test/

Для создания жесткой ссылки никаких опций задавать не нужно:

ln /home/user/Downloads/ /home/user/test/

9. chmod - изменить права

chmod позволяет изменить права доступа к файлам. Например, chmod +x script.sh добавляет флаг исполняемости к файлу script.sh:

chmod +x  script.sh

Чтобы убрать флаг исполняемый используйте опцию -x:

chmod -x script.sh

Подробнее о том, как работают разрешения для файлов смотрите в статье права доступа к файлам в Linux.

10. touch - создать файл

Команда touch создает пустой файл. Например, touch file создаст пустой файл в текущей папке с именем file:

touch file

Для создания файлов через терминал существует еще несколько команд, они рассмотрены в статье как создать файл в linux.

11. mc

Работа с файлами Linux через терминал может выполняться не только с помощью обычных консольных команд, каждая из которых выполняет только определенное действие. Вы можете использовать полнофункциональный файловый менеджер с псевдографическим интерфейсом на основе ncurses. Midnight Commander - это файловый менеджер, который можно использовать прямо в терминале. Для установки mc в Ubuntu выполните:

sudo apt install mc

После завершения установки достаточно выполнить команду mc:

mc

Используйте клавиши со стрелками для перемещения по файлах, Tab для перехода на другую панель, Alt+1 для просмотра справки и Alt+2 для вывода меню:

Если терминальное окружение поддерживает мышь, то вы можете ее использовать в Midnight Commander.

Выводы

В этой статье мы рассмотрели как выполняется работа с файлами и каталогами в linux, с помощью терминала. Когда вы освоите все эти команды, вы сможете сделать большинство основных действий в терминале. А как часто вы пользуетесь терминалом? Используете его для работы с файлами? Напишите в комментариях!

Работа с файловой системой в языке 1С 8.3, 8.2 (в примерах)

&НаСервере Процедура ЧтениеИЗаписьФайловНаСервере()       /// Как записать произвольное значение в файл в 1с 8.3, 8.2   // любое сериализуемое (то есть превращаемое // в строку и обратно) значение можно сохранять // в файл, например, массивы, списки значений, строки // структуры и т.д. Числа = Новый Массив; Числа.Добавить(35); Числа.Добавить(67); ЗначениеВФайл("c:\числа.txt", Числа); // эта функция работает только на сервере       /// Как восстановить произвольное значение из файла в 1с 8.3, 8.2   ЧислаИзФайла = ЗначениеИзФайла("c:\числа.txt"); Сообщить(ЧислаИзФайла[0]); // 35 Сообщить(ЧислаИзФайла[1]); // 67       /// Как записать текстовый файл в 1с 8.3, 8.2   // работает как на сервере, так и на клиенте Текст = Новый ЗаписьТекста( "c:\привет.txt", // имя КодировкаТекста.ANSI, // кодировка Символы.ПС, // разделитель строк (необ.) Ложь // перезаписывать файл, а не дописывать в конец (необ.) ); Текст.ЗаписатьСтроку("Добро пожаловать!"); Текст.ЗаписатьСтроку("Посторонним вход воспрещен."); Текст.Закрыть();       /// Как прочитать текстовый файл в 1с 8.3, 8.2   // работает как на сервере, так и на клиенте Текст = Новый ЧтениеТекста( "c:\привет.txt", // имя КодировкаТекста.ANSI, // кодировка Символы.ПС, // разделитель строк (необ.) , Истина // монопольный режим (необ.) );   // читаем пока есть что читать Пока Истина Цикл Строка = Текст.ПрочитатьСтроку(); Если Строка = Неопределено Тогда Прервать; Иначе Сообщить(Строка); КонецЕсли; КонецЦикла;   КонецПроцедуры   &НаКлиенте Процедура ОперацииНадФайлами(Команда)   // для тестов создадим пустой файл   Текст = Новый ЗаписьТекста("c:\file_src.txt"); Текст.Закрыть();       /// Как проверить существование файла в 1С 8.3, 8.2   ФайлНаДиске = Новый Файл("c:\file_src.txt"); Если ФайлНаДиске.Существует() Тогда Сообщить("c:\file_src.txt существует"); КонецЕсли;       /// Как скопировать файл в 1с 8.3, 8.2   КопироватьФайл( "c:\file_src.txt", // что копируем "c:\file_dest.txt" // куда копируем ); // перезапишет, если уже есть такой файл       /// Как переместить файл в 1с 8.3, 8.2   ПереместитьФайл( "c:\file_dest.txt", "c:\file_new.txt" ); // перезапишет, если уже есть такой файл       /// Как найти файлы в каталоге в 1с 8.3, 8.2   // возвращает массив значений типа Файл МассивНайденныхФайлов = НайтиФайлы( "c:\", // где искать "*.txt", // маска поиска Ложь // если Истина, то будет искать и в подкаталогах );   Для Каждого Файл Из МассивНайденныхФайлов Цикл Сообщить("Найден " + Файл.ПолноеИмя); КонецЦикла;       /// Как удалить файл в 1с 8.3, 8.2   // если файл readonly - будет ошибка УдалитьФайлы( "c:\file_new.txt" );       /// Как удалить файлы в каталоге по маске в 1с 8.3, 8.2   // поиск в каталоге нерекурсивный УдалитьФайлы( "c:\helpme1c", // заведомо не существующий каталог "*.txt" // маска для поиска удаляемых файлов ); // если опустить маску, то удалятся все файлы и каталог       /// Как получить имя временного файла в 1с 8.3, 8.2   Сообщить( ПолучитьИмяВременногоФайла() ); // например, c:\Temp\v8_11AE_4.tmp   Сообщить( ПолучитьИмяВременногоФайла(".txt") ); // например, c:\Temp\v8_11AE_5.txt       /// Как прочитать атрибуты файла в 1с 8.3, 8.2   Ф = Новый Файл("c:\file_src.txt");   // время последнего изменения файла Сообщить(Ф.ПолучитьВремяИзменения());   // проверяем атрибут только чтение Сообщить(Ф.ПолучитьТолькоЧтение());   // проверяем атрибут hidden (скрытность, невидимость) Сообщить(Ф.ПолучитьНевидимость());       /// Как установить атрибуты файла в 1с 8.3, 8.2   // меняем время последнего изменения файла Ф.УстановитьВремяИзменения(ТекущаяДата());   // меняем атрибут только чтение Ф.УстановитьТолькоЧтение(Ложь);   // меняем атрибут невидимости Ф.УстановитьНевидимость(Ложь);       /// Как узнать размер файла в 1с 8.3, 8.2   Сообщить(Ф.Размер()); // в байтах   // Как узнать по пути файл это или каталог в 1с 8.3, 8.2 Если Ф.ЭтоКаталог() Тогда Сообщить("Это каталог"); ИначеЕсли Ф.ЭтоФайл() Тогда Сообщить("Это файл"); КонецЕсли;       /// Как вытащить расширение файла из его пути в 1с 8.3, 8.2   Сообщить(Ф.Расширение); // .txt       /// Как вытащить имя файла без расширения в 1с 8.3, 8.2   Сообщить(Ф.ИмяБезРасширения); // file_src   КонецПроцедуры   &НаКлиенте Процедура ОперацииНадКаталогами(Команда)       /// Как создать каталог в 1с 8.3, 8.2   // каталог может уже существовать СоздатьКаталог("c:\new_dir");   // создадутся все подкаталоги СоздатьКаталог("c:\new_dir\2\3");       /// Как проверить существование каталога в 1с 8.3, 8.2   КаталогНаДиске = Новый Файл("c:\new_dir"); Если КаталогНаДиске.Существует() Тогда Сообщить("Папка c:\new_dir существует"); КонецЕсли;       /// Как удалить каталог вместе с содержимым в 1с 8.3, 8.2   УдалитьФайлы("c:\new_dir"); // мы опустили маску, поэтому удалятся все файлы // внутри каталога, а также сам каталог       /// Как получить каталог временных файлов в 1с 8.3, 8.2   Сообщить( КаталогВременныхФайлов() ); // например, c:\temp   КонецПроцедуры   &НаКлиенте Процедура РаботаСВременнымХранилищем(Команда)   // временное хранилище - объект, в который мы можем помещать // и считывать данные произвольного типа, // доступ к которому есть и на сервере и на клиенте // это позволяет передавать между сервером и клиентом // данные, которые иначе не передать       /// Как сохранить произвольное значение во временное     /// хранилище в 1с 8.3, 8.2   Список = Новый СписокЗначений; Список.Добавить("Владивосток"); Список.Добавить("Хабаровск"); Список.Добавить("Петропавловск-Камчатский");   АдресВХранилище = ПоместитьВоВременноеХранилище( Список // произвольные данные );       /// Как прочитать произвольное значение из временного     /// хранилища в 1с 8.3, 8.2   СписокИзХранилища = ПолучитьИзВременногоХранилища(АдресВХранилище); Если СписокИзХранилища = Неопределено Тогда Сообщить("Значение по этому адресу уже удалено из хранилища."); Иначе Сообщить(СписокИзХранилища[0]); // Владивосток КонецЕсли;       /// Как перезаписать уже сохраненное значение во временном     /// хранилище в 1с 8.3, 8.2   Массив = Новый Массив; Массив.Добавить(10); Массив.Добавить(20);   ПоместитьВоВременноеХранилище( Массив, АдресВХранилище );       /// Сколько времени хранится значение, сохраненное во     /// временном хранилище в 1с 8.3, 8.2   // всё зависит от второго параметра функции ПоместитьВоВременноеХранилище   // #1 если туда в качестве адреса был передан уникальный идентификатор формы // или уже существующий адрес в хранилище, то значение будет автоматически // удалено после закрытия формы   // #2 если туда в качестве адреса передан уникальный идентификатор, не // являющийся уникальным идентификатором формы, то значение будет // автоматически удалено только после завершения сеанса пользвоателя   // #3 если адрес не указан, помещенное значение будет удалено после // очередного запроса сервера   // см. примеры ниже       /// Как сохранить значение во временное хранилище на всё     /// время жизни формы в 1с 8.3, 8.2   ПоместитьВоВременноеХранилище( Массив, ЭтаФорма.УникальныйИдентификатор );       /// Как сохранить значение во временное хранилище на всё     /// время сеанса пользователя в 1с 8.3, 8.2   АдресВХранилище = ПоместитьВоВременноеХранилище( Массив, Новый УникальныйИдентификатор );       /// Как удалить значение из временного хранилища в 1с 8.3, 8.2   УдалитьИзВременногоХранилища(АдресВХранилище);       /// Как узнать является ли строка адресом во временном хранилище     /// в 1с 8.3, 8.2   Если ЭтоАдресВременногоХранилища(АдресВХранилище) Тогда Сообщить("Да, это адрес во временном хранилище."); КонецЕсли;   КонецПроцедуры   /// Как передать файл с клиента на сервер в 1с 8.3, 8.2   &НаКлиенте Процедура ПередачаФайлаСКлиентаНаСервер(Команда)   // создадим тестовый файл для передачи Текст = Новый ЗаписьТекста("c:\test.txt"); Текст.ЗаписатьСтроку("Привет,"); Текст.ЗаписатьСтроку("Мир!"); Текст.Закрыть();   ОповещениеОЗавершении = Новый ОписаниеОповещения( "ВыполнитьПослеПомещенияФайла", ЭтотОбъект );   НачатьПомещениеФайла( ОповещениеОЗавершении, , // адрес в хранилище "c:\test.txt", // имя файла Ложь, // интерактивно ЭтаФорма.УникальныйИдентификатор ); // если опустить последний параметр, то помещенный файл // будет удален после очередного запроса сервера // а если указать - то только после удаления объекта формы   // если нужно предоставить пользователю возможность // выбрать файл самому четвёртый параметр (интерактивно) // нужно установить в Истина   КонецПроцедуры   &НаКлиенте Процедура ВыполнитьПослеПомещенияФайла(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт   Если Результат Тогда   // сохраним полученный адрес в реквизит формы АдресФайлаВХранилище = Адрес;   Сообщить( "Наконец-то! Файл " + ВыбранноеИмяФайла + " передан на сервер и сохранён во " + "временном хранилище по адресу " + Адрес);   Иначе   Сообщить("Не удалось передать файл на сервер.");   КонецЕсли;   КонецПроцедуры   /// Как прочитать файл на сервере из временного хранилища /// в 1с 8.3, 8.2   &НаСервере Процедура ПрочитатьФайлНаСервереИзХранилищаНаСервере()   Если АдресФайлаВХранилище = "" Тогда Сообщить("Сначала нужно передать файл с клиента на сервер."); Возврат; КонецЕсли;   ДвоичныеДанные = ПолучитьИзВременногоХранилища(АдресФайлаВХранилище);   Если ДвоичныеДанные = Неопределено Тогда Сообщить("Похоже файл уже был удалён из хранилища."); Возврат; КонецЕсли;   ДвоичныеДанные.Записать("c:\server.txt");   Текст = Новый ЧтениеТекста("c:\server.txt"); Пока Истина Цикл Строка = Текст.ПрочитатьСтроку(); Если Строка = Неопределено Тогда Прервать; Иначе Сообщить(Строка); КонецЕсли; КонецЦикла;   КонецПроцедуры   /// Как передать файл с сервера на клиент в 1с 8.3, 8.2   &НаКлиенте Процедура ПередатьФайлССервераНаКлиент(Команда)   Если АдресФайлаВХранилище = "" Тогда Сообщить("Сначала нужно сохранить файл на сервере."); Сообщить("Воспользуйтесь кнопкой 'Передача файла с клиента...'"); Возврат; КонецЕсли;   ОповещениеОЗавершении = Новый ОписаниеОповещения( "ВыполнитьПослеПолученияФайлов", ЭтотОбъект );   ПолучаемыеФайлы = Новый Массив; ПолучаемыеФайлы.Добавить( Новый ОписаниеПередаваемогоФайла( "c:\from_server.txt", // куда сохранять на клиента АдресФайлаВХранилище // адрес в хранилище на сервере ) );   НачатьПолучениеФайлов( ОповещениеОЗавершении, ПолучаемыеФайлы, , Ложь // интерактивно );   КонецПроцедуры   &НаКлиенте Процедура ВыполнитьПослеПолученияФайлов(ПолученныеФайлы, ДополнительныеПараметры) Экспорт   Для Каждого Файл Из ПолученныеФайлы Цикл Сообщить("Получен " + Файл.Имя + " из " + Файл.Хранение); КонецЦикла;   КонецПроцедуры   /// Скачать и выполнить эти примеры на компьютере

Основные linux-команды для новичка / Хабр

Linux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!

Правда, разобраться в нем немного посложнее… Потому что большинство операций выполняется в командной строке. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку… В этой статье я расскажу про типовые операции, которые стоит уметь делать новичку. Ну и плюс пара полезняшек для тестировщиков.

Я дам кратенькое описание основных команд с примерами (примеры я все проверяла на cent os, red hat based системе) + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме». А еще комментарии к статье, там много полезного написали)

Содержание


Где я? Как понять, где находишься


Команда pwd:
pwd --- мы ввели команду /home/test --- ответ системы, мы находимся в домашней директории пользователя test

Очень полезная команда, когда у вас нет ничего, кроме командной строки под рукой. Расшифровывается как Print Working Directory. Запомните ее, пригодится.

Как понять, что находится в папке


Команда ls позволяет просмотреть содержимое каталога:

Хотя лучше использовать команду сразу с флагом «l»:

ls -l

Такая команда выведет более читабельный список, где можно будет сразу увидеть дату создания файла, его размер, автора и выданные файлу права.

У команды есть и другие флаги, но чаще всего вы будете использовать именно «ls – l».

См также:
Команда ls Linux — подробнее о команде и всех ее флагах
Команда ls – просмотр каталога — о команде для новичков (без перечисления всех флагов)

Как перейти в другую директорию


С помощью команды cd:
cd <путь к директории>

Путь может быть абсолютным или относительным.

По абсолютному пути


Либо у вас где-то записан путь, «куда идти», либо вы подсмотрели его в графическом интерфейсе (например, в WinSCP).

Вставляем путь в командную строку после «cd»

cd /home/student/log

Ну вот, мы переместились из домашней директории (обозначается как ~) в /home/student/log.

По относительному пути


Относительный путь — относительно вашей текущей директории, где вы сейчас находитесь. Если я уже нахожусь в /home/student, а мне надо в /home/student/log, команда будут такой:
cd log --- перейди в папку log из той директории, где ты сейчас находишься

Если мне из надо из /home/student/photo в /home/student/photo/city/msk/2017/cat_1, команда будет такой:
cd city/msk/2017/cat_1

Я не пишу /home/student/photo, так как я уже там.

В линуксе можно задавать путь относительно домашней папки текущего пользователя. Домашняя директория обозначается ~/. Заметьте, не ~, а именно ~/. Дальше вы уже можете указывать подпапки:

cd ~/log

Эта команда будет работать отовсюду. И переместит нас в /home/user/log.

Вот пример, где я вошла под пользователем students. Исходно была в директории /var, а попала в /home/students/log:

С автодополнением


Если вы начнете набирать название папки и нажмете Tab, система сама его подставит. Если просто нажмете Tab, ничего не вводя, система начнет перебирать возможные варианты:

(cd tab) Может, ты имел в виду папку 1?
(tab) Нет? Может, папку 2?
(tab) Снова нет? Может, папку 3?
(tab) Снова нет? Может, файл 1 (она перебирает имена всех файлов и директорий, которые есть в той, где вы сейчас находитесь)?
(tab) У меня кончились варианты, поехали сначала. Папка 1?

cd lon(Tab) → cd long-long-long-long-name-folder — начали вводить название папки и система сама подставила имя (из тех, что есть в директории, где мы находимся).

cd (Tab)(Tab)(Tab) — система перебирает все файлы / папки в текущей директории.

Это очень удобно, когда перемещаешься в командной строке. Не надо вспоминать точное название папки, но можно вспомнить первую букву-две, это сократит количество вариантов.

Подняться наверх


Подняться на уровень выше:
cd ..

Если нужно поднять на два уровня выше, то
cd ../..

И так до бесконечности =) Можно использовать файл, лежащий на уровне выше или просто сменить директорию.

Обратите внимание, что команда для линукса отличается от команды для винды — слеш другой. В винде это «cd ..\..», а в линуксе именно «cd ../..».

См также:
Путь к файлу в linux

Как создать директорию


Используйте команду mkdir:
mkdir test --- создает папку с названием «test» там, где вы находитесь

Можно и в другом месте создать папку:
mkdir /home/test --- создает папку «test» в директории /home, даже если вы сейчас не там

Когда это нужно? Например, если вам надо сделать бекап логов. Создаете папку и сохраняете туда нужные логи. Или если вы читаете инструкцию по установке ПО и видите там «создать папку». Через командную строку это делается именно так.

См также:
Как создать каталог в Linux с помощью команды mkdir

Как создать файл


Командой touch:
touch app.log

Такая команда создаст пустой файл с названием «app.log». А потом уже можно открыть файл в редакторе и редактировать.

Как отредактировать файл


Вот честное слово, лучше делать это через графический интерфейс!

Но если такой возможности нет, чтож… Если использовать программы, которые есть везде, то у вас два варианта:

  1. nano — более простая программа, рассчитана на новичков
  2. vim — более сложная, но позволяет сделать кучу всего

Начнем с nano. Указываете имя команды и путь в файлу:
nano test_env.json

Для перемещения по файлу используйте кнопки со стрелками. После того, как закончите редактировать файл, нажмите:
  • Ctrl+O — чтобы сохранить
  • Ctrl+X — для выхода

Самое приятное в nano — это подсказки внизу экрана, что нажать, чтобы выйти.

А вот с vim с этим сложнее. В него легко зайти:

vim test_env.json vi test_env.json (предшественник vim)

Войти вошли, а как выйти то, аааа? Тут начинается легкая паника, потому что ни одна из стандартных комбинаций не срабатывает: Esc, ctrl + x, ctrl + q… Если под рукой есть второй ноутбук или хотя бы телефон / планшет с интернетом, можно прогуглить «как выйти из vim», а если у вас только одно окно с терминалом, которое вы заблокировали редактором?

Делюсь секретом, для выхода надо набрать:

  • :q — закрыть редактор
  • :q! — закрыть редактор без сохранения (если что-то меняли, то просто «:q» не проканает)

Двоеточие запускает командный режим, а там уже вводим команду «q» (quit).

Исходно, когда мы открываем файл через vim, то видим его содежимое, а внизу информацию о файле:

Когда нажимаем двоеточие, оно печатается внизу:

Если не печатается, не паникуем! Тогда попробуйте нажать Esc (вернуться в нормальный режим), потом Enter (подтвердить команду), а потом снова печатайте. Фух, помогло, мы вышли оттуда!!!

На самом деле сейчас всё не так страшно. Даже если вас заслали работать в банк, где нет доступа в интернет, а вы вошли в vi и не знаете как выйти, всегда можно погулить выход с телефона. Слава мобильному интернету! Ну а если вы знаете логин-пароль от сервера, то можно просто закрыть терминал и открыть его снова.

Если нужно выйти, сохранив изменения, используйте команду

:w — сохранить файл; :q — закрыть редактор;

Ну а про возможности редактирования см статьи ниже =)

См также:
Как редактировать файлы в Ubuntu — подробнее о разных способах
Как пользоваться текстовым редактором vim — подробнее о vim и всех его опциях
Как выйти из редактора Vi или Vim? — зачем нажимать Esc

Как перенести / скопировать файл


Допустим, у нас в директории /opt/app/log находится app.log, который мы хотим сохранить в другом месте. Как перенести лог в нужное место, если нет графического интерфейса, только командная строка?

Скопировать файл


Команда:
cp что_копировать куда_копировать

Если мы находимся в директории /opt/app/log:
cp app.log /home/olga

В данном примере мы использовали относительный путь для «что копировать» — мы уже находимся рядом с логом, поэтому просто берем его. А для «куда копировать» используем абсолютный путь — копируем в /home/olga.

Можно сразу переименовать файл:

cp app.log /home/olga/app_test_2020_03_08.log

В этом случае мы взяли app.log и поместили его в папку /home/olga, переименовав при этом в app_test_2020_03_08.log. А то мало ли, сколько логов у вас в этом папке уже лежит, чтобы различать их, можно давать файлу более говорящее имя.

Если в «куда копировать» файл с таким именем уже есть, система не будет ничего спрашивать, просто перезапишет его. Для примера положим в папку log внутри домашней директории файл «app.log», который там уже есть:

Никаких ошибок, система просто выполнила команду.

См также:
Копирование файлов в linux

Скопировать директорию


Команда остается та же, «cp», только используется ключ R — «копировать папку рекурсивно»:
cp -r путь_к_папке путь_к_новому_месту

Например:
cp /opt/app/log /home/olga

Так в директории /home/olga появится папка «log».

Переместить файл


Если надо переместить файл, а не скопировать его, то вместо cp (copy) используем mv (move).
cp app.log /home/olga ↓ mv app.log /home/olga

Можно использовать относительные и абсолютные пути:
mv /opt/app/logs/app.log /home/olga — абсолютные пути указаны, команда сработает из любого места

Можно сразу переименовать файл:
mv app.log /home/olga/app_2020_03_08.log — перенесли лог в /home/olga и переименовали


Переместить директорию


Аналогично перемещению файла, команда mv
mv /opt/app/log/ /home/olga/bakup/

Как удалить файл


С помощью команды rm (remove):
rm test.txt — удалит файл test.txt

Если нужно удалить все файлы в текущей директории (скажем, вычищаем старые логи перед переустановкой приложения), используйте «*»:
rm * — удалит все файлы в текущей директории

Если нужно удалить папку, надо добавить флаг -r (recursive):

rm -r test_folder

Если вы пытаетесь удалить файлы, которые уже используются в программе или доступны только для чтения, система будет переспрашивать:

А теперь представьте, что вы чистите много файлов. И на каждый система переспрашивает, и надо постоянно отвечать «да, да, да...» (y – enter, y – enter, y – enter)… Чтобы удалить все без вопросов, используйте флаг -f (force):

rm -rf test_folder --- просто все удалит без разговоров

Но учтите, что это довольно опасная команда! Вот так надоест подстверждать удаление и введешь «-rf», а директорию неправильно укажешь… Ну и все, прости-прощай нужные файлы. Аккуратнее с этой командой, особенно если у вас есть root-полномочия!

Опция -v показывает имена удаляемых файлов:

rm -rfv test_folder --- удалит папку со всем содержимым, но выведет имена удаляемых файлов

Тут вы хотя бы можете осознать, что натворили )))

См также:
Как удалить каталог Linux

Как изменить владельца файла


Если у вас есть root-доступ, то вы наверняка будете выполнять все действия под ним. Ну или многие… И тогда любой созданный файл, любая папка будут принадлежать root-пользователю.

Это плохо, потому что никто другой с ними работать уже не сможет. Но можно создать файл под root-ом, а потом изменить его владельца с помощью команды chown.

Допустим, что я поднимаю сервис testbase. И он должен иметь доступ к директории user и файлу test.txt в другой директории. Так как никому другому эти файлики не нужны, а создала я их под рутом, то просто меняю владельца:

chown testbase:testbase test.txt — сменить владельца файла chown -R testbase:testbase user — сменить владельца папки

В итоге был владелец root, а стал testbase. То, что надо!

См также:
Команда chown Linux

Как установить приложение


Если вы привыкли к винде, то для вас установка приложения — это скачать некий setup файлик, запустить и до упора тыкать «далее-далее-далее». В линуксе все немного по-другому. Тут приложения ставятся как пакеты. И для каждой системы есть свой менеджер пакетов:
  • yum — red hat, centos
  • dpkg, apt — debian

См также:
5 Best Linux Package Managers for Linux Newbies

Давайте посмотрим на примере, как это работает. В командной строке очень удобно работать с Midnight Commander (mc) — это как FAR на windows. К сожалению, программа далеко не всегда есть в «чистом» дистрибутиве.

И вот вы подняли виртуалку на centos 7, хотите вызвать Midnight Commander, но облом-с.

mc

Ничего страшного, установите это приложение через yum:

yum install mc

Он там будет что-то делать, качать, а потом уточнит, согласны ли вы поставить программу с учетом ее размеров. Если да, печатаем «y»:

И система заканчивает установку.

Вот и все! Никаких тебе унылых «далее-далее-далее», сказал «установи», программа установилась! Теперь, если напечатать «mc» в командной строке, запустится Midnight Commander:

См также:
Как устанавливать программы для Linux
Yum, шпаргалка — всякие опции и плагины

Как запустить приложение


Некоторые приложения запускаются через скрипты. Например, чтобы запустить сервер приложения WildFly, нужно перейти в папку bin и запустить там standalone.sh. Файл с расширением .sh — это скрипт.

Чтобы запустить скрипт, нужно указать полный путь к нему:

/opt/cdi/jboss/bin/standalone.sh — запустили скрипт standalone.sh

Это важно! Даже если вы находитесь в той папке, где и скрипт, он не будет найден, если просто указать название sh-скрипта. Надо написать так:
./standalone.sh — запустили скрипт, если мы в той же директории

Поиск идет только в каталогах, записанных в переменную PATH. Так что если скрипт используется часто, добавляйте путь туда и вызывайте просто по названию:
standalone.sh --- запустили скрипт standalone.sh, путь к которому прописан в PATH

См также:
Запуск скрипта sh в Linux — подробнее о скриптах

Если же приложение запускается как сервис, то все еще проще:

service test start — запустить сервис под названием «test» service test stop — остановить сервис

Чтобы сервис test запускался автоматически при рестарте системы, используйте команду:
chkconfig test on

Она добавит службу в автозапуск.

Как понять, где установлено приложение


Вот, например, для интеграции Jenkins и newman в Jenkins надо прописать полный путь к ньюману в параметре PATH. Но как это сделать, если newman ставился автоматически через команду install? И вы уже забыли, какой путь установки он вывел? Или вообще не вы ставили?

Чтобы узнать, куда приложение установилось, используйте whereis (без пробела):

whereis newman

Как создать архив


Стандартная утилита, которая будет работать даже на «голой» системе — tar. Правда, для ее использования надо запомнить флаги. Для создания архива стандартная комбинация cvzf:
tar -cvzf archive.tar.gz /home/test

В данном примере мы упаковали директорию /home/test, внутри которой было две картинки — 502.jpg и 504.jpg.

Для распаковки меняем флаг «c» на «x» и убираем «z»:

tar -xvf archive.tar.gz

Хотя система пишет, что распаковала «/home/test», на самом деле папка «test» появляется там, где мы сейчас находимся.

Давайте разберемся, что все эти флаги означают:

  • c — создать архив в linux
  • x — извлечь файлы из архива
  • v — показать подробную информацию о процессе работы (без него мы бы не увидели, какие файлики запаковались / распаковались)
  • f — файл для записи архива
  • z — сжатие

Для упаковки используется опция cCreate, а для распаковки x — eXtract.

Если очень хочется использовать rar, то придется изгаляться. Через yum установка не прокатит:

yum install rar yum install unrar

Говорит, нет такого пакета:
No package rar available. Error: Nothing to do

Придется выполнить целую пачку команд! Сначала скачиваем, разархивируем и компилируем:
wget http://rarlabs.com/rar/rarlinux-x64-5.4.0.tar.gz tar xzf rarlinux-x64-5.4.0.tar.gz cd rar make install

Устанавливаем:
mkdir -p /usr/local/bin mkdir -p /usr/local/lib cp rar unrar /usr/local/bin cp rarfiles.lst /etc cp default.sfx /usr/local/lib

И применяем:
unrar x test.rar

См также:
Установка RAR на Linux

Как посмотреть использованные ранее команды


Вот, допустим, вы выполняли какие-то сложные действия. Или даже не вы, а разработчик или админ! У вас что-то сломалось, пришел коллега, вжух-вжух ручками, magic — работает. А что он делал? Интересно же!

Или, может, вы писали длинную команду, а теперь ее надо повторить. Снова набирать ручками? Неохота! Тем более что есть помощники:

↑ (стрелочка «наверх») — показать последнюю команду history — показать последние 1000 команд

Если надо «отмотать» недалеко, проще через стрелочку пролистать команды. Один раз нажали — система показала последнюю команду. Еще раз нажали — предпоследнюю. И так до 1000 раз (потому что именно столько хранится в истории).

Большой бонус в том, что линукс хранит историю даже при перезапуске консоли. Это вам не как в винде — скопировал текст, скопировал другой, а первый уже потерялся. А при перезагрузке системы вообще все потерялось.

Если тыкать в стрелочку не хочется, или команды была давно, можно напечатать «history» и внимательно изучить команды.

См также:
История команд Linux — больше о возможностях history

Как посмотреть свободное место


Сколько места свободно на дисках
df -h

Сколько весит директория
du -sh du -sh * --- с разбиением

Как узнать IP компьютера


Если у вас настроены DNS-имена, вы подключаетесь к linux-машине именно по ним. Ведь так проще запомнить — это testbase, это bugred… Но иногда нужен именно IP. Например, если подключение по DNS работает только внутри рабочей сети, а коллега хочет подключиться из дома, вот и уточняет айпишник.

Чтобы узнать IP машины, используйте команду:

hostname -I

Также можно использовать ifconfig:
ifconfig — выведет кучу инфы, в том числе ваш внешний IP ip a — аналог, просто иногда Ifconfig дает очень много результата, тут поменьше будет

См также:
Displaying private IP addresses

Как узнать версию OS


Сидите вы у Заказчика на линуксовой машине. Пытаетесь что-то установить — не работает. Лезете гуглить, а способы установки разные для разных операционных систем. Но как понять, какая установлена на данной машине?

Используйте команду:

cat /etc/*-release

На этой виртуалке стоит CentOs 7.

Если нужна версия ядра:

uname -a

См также:
Как узнать версию Linux

Как узнать, как работает команда


Если вы не знаете, как работает команда, всегда можно спросить о ней саму систему, используя встроенную команду man:
man ls

Закрыть мануал можно с помощью клавиши q. Для того, кто первый раз в линуксовой консоли, это совсем не очевидно, а подсказки есть не везде.

Команда удобна тем, что не надо даже уходить из командной строки, сразу получаешь всю информацию. К тому же это всегда актуальная информация. А что вы там нагуглите — неизвестно =))

Хотя лично мне проще какую-то команду прогуглить, ведь так я получу русское описание + сначала самые главные флаги (а их может быть много). Но я сама новичок в линуксе, это подход новичка. А лучше сразу учиться прокачивать навык поиска по man-у. Он вам очень пригодится для более сложных задач!

Если man у программы нет, используйте флаг -h (--help):

ls -h

Как создать много тестовых папок и файлов


Допустим, у нас есть некая папка test. Создадим в ней сотню директорий и кучу файликов в каждой:
mkdir -p test/dir--{000..100} touch test/dir--{000..100}/file-{A..Z}

Вот и все, дальше можно играться с ними!

Теперь пояснения:

  • mkdir — создать директорию
  • touch — создать файл (или изменить существующий, но если файла с таким именем нет, то команда создаст новый, пустой)

А выражения в скобках играют роль функции, которая выполняется в цикле и делает ручную работу за вас:
  • {000..100} — пробежится по всем числам от 0 до 100
  • {A..Z} — пробежится по всем буквам английского алфавита от A до Z

Как я пробовала эту команду. Сначала посмотрела, где нахожусь:
$ pwd /home/test

Символ $ при описании команд означает начало строки, куда мы пишем команду. Так мы отделяем то, что ввели сами (pwd) от ответа системы (/home/test).

Ага, в домашней директории. Создам себе песочницу:

mkdir olga

Вот в ней и буду творить!
mkdir -p olga/dir--{000..100} touch olga/dir--{000..100}/file-{A..Z}

А потом можно проверить, что получилось:
cd olga ls -l

Как-то так! Имхо, полезные команды.

Я нашла их в книге «Командная строка Linux. Полное руководство», они используются для того, чтобы создать песочницу для прощупывания команды find. Я, как и автор, восхищаюсь мощью командной строки в данном случае. Всего 2 строчки, а сколько боли бы принесло сделать похожую структуру через графический интерфейс!

И, главное, тестировщику полезно — может пригодиться для тестов.

Как протестировать IOPS на Linux


Это очень полезно делать, если машину вам дает заказчик. Там точно SSD-диски? И они дают хороший iops? Если вы разрабатываете серверное приложение, и от вас требуют выдерживать нагрузку, нужно быть уверенными в том, что диски вам выдали по ТЗ.
Наше приложение активно использует диск. Поэтому, если заказчик хочет видеть хорошие результаты по нагрузке, мы хотим видеть хорошие результаты по производительности самих дисков.

Но верить админам другой стороны на слово нельзя. Если приложение работает медленно, они, разумеется, будут говорить, что у них то все хорошо, это «они» виноваты. Поэтому надо тестировать диски самим.


Я расскажу о том, как мы тестировали диски. Как проверили, сколько IOPS они выдают.

Используем утилиту fio — https://github.com/axboe/fio/releases.

1) Скачиваем последнюю версию, распаковываем, переходим в каталог. В командах ниже нужно заменить «fio-3.19» на актуальную версию из списка

cd /tmp wget https://github.com/axboe/fio/archive/fio-3.19.tar.gz tar xvzf fio-3.19.tar.gz rm fio-3.19.tar.gz cd fio-fio-3.19

2) Должны стоять пакеты для сборки
apt-get install -y gcc make libaio-dev | yum install -y make gcc libaio-devel

3) Собираем
make

4) Тестируем
./fio -readonly -name iops -rw=randread -bs=512 -runtime=20 -iodepth 32 -filename /dev/sda -ioengine libaio -direct=1

Какие должны быть результаты:
  • Средний SSD, выпущенный 2-3 года назад — 50 тысяч IOPS.
  • Свежий Samsung 960 Pro, который стоит на одной из железок у нас в офисе — 350 тысяч IOPS.

Свежесть определяется на момент написания статьи в 2017 году.

Если должно быть 50 тысяч, а диск выдает сильно меньше, то:

— он не SSD;
— есть сетевые задержки;
— неправильно примонтирован;
— с ними что-то еще плохое случилось и стоит поднять алярм.

И это все?


Разумеется, нет =))

Еще полезно изучить команду find и регулярные выражения. Тестировщику как минимум надо уметь «грепать логи» — использовать grep. Но это уже остается на самостоятельный гуглеж.
База, которая всегда нужна — pwd, cp, mv, mkdir, touch. Остальное можно легко гуглить, как только возникает необходимость.

Вот вам еще пара ссылочек от меня:


Для понимания структуры папок рекомендую статью «Структура папок ОС Linux. Какая папка для чего нужна. Что и где лежит в линуксе»

Книги и видео по теме


Видео:
ПО GNU/Linux — видео лекции Георгия Курячего — очень хорошие видео-лекции

Книги:
Командная строка Linux. Уильям Шоттс
Скотт Граннеман. Linux. карманный справочник

Где тренироваться


Можно поднять виртуалку. Правда, тут сначала придется разбираться, как поднимать виртуалку )))

А можно купить облачную машину. Когда мне надо было поиграться с линуксом, я пошла на SimpleCloud (он мне в гугле одним из первых выпал и у него дружелюбный интерфейс. Но можно выбрать любой аналог) и купила самую дешманскую машину — за 150 руб в месяц. Месяца вам за глаза, чтобы «пощупать-потыркать», и этой машины с минимумом памяти тоже.

У меня был когда-то план самой платить эти 150р за то, чтобы дать машину в общий доступ. Но увы. Как я не пыталась ее огородить (закрывала команды типа ssh, ping и прочая), у меня не получилось. Всегда есть люди, которых хлебом не корми, дай испортить чужое. Выложил в общий доступ пароли? На тебе ддос-атаку с твоего сервера. Ну и сервер блокируют. После N-ой блокировки я плюнула на это дело. Кто хочет научиться, найдет 150р.

Чтобы подключиться к машине, используйте инструменты:

  • Putty — командная строка
  • WinSCP — графический интерфейс

См также:

WinSCP — что это и как использовать

Как найти открытые файлы и принудительно закрыть их на файловом сервере Windows | Windows для системных администраторов

Администраторы файловых серверов Windows часто сталкиваются с необходимостью принудительного закрытия файлов, открытых пользователями. Такая задача возникает при одновременной работы с одним файлом нескольких пользователей. Часто при некорректной работе ПО или неправильном завершении сессии пользователем, файлы в сетевой папке оказываются открытыми и заблокированными, и остальные пользователи не могут вносить в него изменения. В этой статье мы покажем, как получить список открытых файлов на файловом сервере, узнать какие пользователи их используют, и способы сброса этих файловых сессий.

Вывести список открытых файлов на файловом сервере Windows

Список открытых пользователями файлов на файловом сервере Windows можно получить с помощью стандартной графической консоли Computer Management (Управление компьютером — compmgmt.msc).

Запустите на файловом сервере консоль Computer Management (или подключитесь к нему удаленно консолью со своего компьютера) и перейдите в секцию System Tools -> Shared Folders -> Open files (Служебные программы -> Общие папки -> Открыты файлы). В правой части окна отображается список файлов сервера, открытых удаленно . Список содержит локальный путь к файлу, имя учетной записи пользователя, количество блокировок и режим, в котором открыт файл (Read или Write+Read).

Этот же список открытых файлов можно получит с помощью встроенной консольной утилиты Openfiles. Например, с помощью следующей команды можно получить id сессии, имя пользователя и полный локальный путь к открытому файлу:

Openfiles /Query /fo csv |more

При удаленном доступе пользователя к папке или файлу в сетевой папке (SMB) на сервере, для пользователя создается новая сессия, определяющая данное подключение. Управление подключениями пользователей осуществляется именно через эти идентификаторы сессий.

Эту же команду можно выполнить удаленно, например, нужен список открытых файлов на файловом сервере mskfs01:

Openfiles /Query /s mskfs01 /fo csv

У команды Openfiles есть еще одна интересная возможность просмотра списка локально открытых файлов. Для ее использования нужно включить опцию Maintain Objects List (Построение списка объектов) командой openfiles /local on и перезагрузить сервер. После этого в список начнут попадать файлы, открытые локальными процессами (этот режим желательно использовать только для отладки, т.к. может негативно сказаться на производительности сервера).

Как определить какой пользователь открыл файл

Чтобы определить пользователя, который открыл (заблокировал) файл cons.adm на сервере, выполните команду:

Openfiles /Query /s mskfs01 /fo csv | find /i "cons.adm"

Ключ /i используется, чтобы выполнялся регистронезависимый поиск

Естественно, можно указать только часть имени файла. К примеру, нам нужно узнать кто открыл xlsx файл, в имени которого есть строка farm, воспользуемся таким конвейером:

Openfiles /Query /s mskfs01 /fo csv | find /i "farm"| find /i "xlsx"

Можно, конечно найти файл и в графической консоли Computer Management, но это менее удобно (консоль не предусматривает возможность поиска).

Как закрыть открытый файл

Чтобы закрыть открытый файл, нужно найти его в списке файлов секции Open File и в контекстном меню выбрать пункт «Close Open File».

Если на файловом сервере сотни открытых файлов, найти их в консоли будет непросто. Удобнее воспользоваться утилитой Openfiles. Как мы уже говорили, она возвращает ID сессии открытого файла. Именно по этому ID сессии, файл можно принудительно закрыть, сбросив подключение. Находим ID нужного файла:

Openfiles /Query /s mskfs01 /fo csv | find /i "farm"| find /i ".xlsx"

Отключаем от него пользователя по полученному идентфикатору:

Openfiles /Disconnect /s mskfs01 /ID 67109098

Как удаленно закрыть открытые файлы с помощью PowerShell

В Windows Server 2012 / Windows 8 в PowerShell появились командлеты для работы с шарами и файлами на SMB сервере. Данные командлеты можно использовать для удаленного сброса подключений к открытому файлу.

Список открытых файлов можно получить с помощью командлетов Get-SMBOpenFile , а закрыть файл (сбросить подключение) с помощью Close-SmbOpenFile.

Итак, подключаемся к удаленному серверу:

$sessn = New-CIMSession –Computername mskfs01

Находим и закрываем открытый файл pubs.docx одной командой:

Get-SMBOpenFile -CIMSession $sessn | where {$_.Path –like "*pubs.docx"} | Close-SMBOpenFile -CIMSession $sessn

Подтверждаем закрытие файла, нажав Y.

Чтобы убрать подтверждение принудительного закрытия файла на сервере, используйте ключ -Force

Эти же команды можно использовать, к примеру, чтобы закрыть все файлы, открытые некоторым пользователем (пользователь ушел домой и не освободил файлы). К примеру, чтобы сбросить все файловые сессии для пользователя ipivanov, выполните

Get-SMBOpenFile -CIMSession $sessn | where {$_.ClientUserName –like "*ipivanov*"}|Close-SMBOpenFile -CIMSession $sessn

Перенос файлов между серверами напрямую по SSH через SCP. Павел А. Сафронов

Как организовать перенос файлов между серверами, когда объемы данных очень велики и нет возможности архивации и промежуточного сохранения?

На работе появилась такая задача: миграция на другой сервер. Мы меняли хостинг-провайдера, т.к. заканчивалось свободное дисковое пространство аккаутов, да и условия сотрудничества уже разонравились.

На момент миграции у нас было 2 аккаунта, каждый по 20Гб дискового пространства, в итоге мы должны были все перенести на 1 аккаунт с объемом дискового пространства равным 60Гб.

По-старинке это выглядело бы примитивно и примерно так: заархивировать небольшой объем информации в ZIP-архив, сохранить с сервера на локальный компьютер, затем с локального компьютера перенести на удаленный сервер по FTP или SFTP. Но не в этот раз... Ведь у нас было достаточно большое количество интернет-проектов, перенос которых изначально становился кропотливым делом, а беря в расчет, что свободного места на каждом из аккаунтов оставалось чуть менее 2Гб, вариант архивации на сервере был невозможен.

Поэтому, недолго думая, я полез в гугл с запросом "ssh copy files from one server to another directly". В итоге решение оказалось довольно простым, единственное условие - наличие SHH на серверах, между которыми будет осуществляться обмен данными.

Итак, для этого понадобится команда 

scp -r /path/to/local/file remote_user@remote_host:/path/to/remote/file

Что она означает:

  • scp - мы сообщаем серверу название утилиты, через которую будут обрабатываться эти команды;
  • -r - параметр, говорящий о том, что копируемая папка (если это папка) должна копироваться рекурсивно, т.е. со всеми вложенными подпапками. Если копируется не папка, можно удалить этот параметр из команды;
  • /path/to/local/file - путь к локальному файлу, в мое случае к файлу сервера, с которого будет осуществлен перенос данных;
  • remote_user@remote_host - данные для подключения к удаленному серверу, которые имеют вид [имя_пользователя]@[адрес_сервера];
  • /path/to/remote/file - путь к конечной папке сервера, куда будут загружены файлы.

Предостерегая вас от двойной работы и вопросов:

  1. пути к копируемым папкам/файлам нужно вводить абсолютные. Это значит, если, допустим, у вас есть аккаунт у хостинг-провайдера и называется он vaspupkin1, вероятней всего, что он находится в папке наряду с остальными аккаунтами пользователей и может иметь полный путь от корня сервера такой: /home/w/vaspupkin1, в то время как файлы сайта могут лежать в папке /home/w/vaspupkin1/public_html . Поэтому, чтобы скопировать папку с сайтом на другой сервер, мы должны в первой части команды scp после параметра -r ввести следующее: /home/w/vaspupkin1/public_html, в то время, когда вы, подключаясь к своему аккаунту по FTP, сразу попадаете в папку /vaspupkin1, что является относительным, а не абсолютным путем.
  2. при копировании папки описанным выше образом на удаленном сервере создается эта же папка. Т.е. когда вы, копируя папку /home/w/vaspupkin1/public_html, вводите конечный адрес типа /var/i/vaspupkin1/http_docs, подразумевая, что структура папки public_html будет скопирована в папку http_docs, то ничего подобного не произойдет, в итоге у вас получится это - /var/i/vaspupkin1/http_docs/public_html, имейте это ввиду.

Если файлы нужно скопировать с удаленного сервера на локальный, тогда исползуем эту же команду, поменяв местами конечный и начальны пути копирования: scp -r remote_user@remote_host:/path/to/remote/file /path/to/local/file. Если копируется не папка, можно удалить параметр -r из команды.

Обновление от 26.06.2019

Одним из способов передать в SCP пароль является использование утилиты sshpass. В зависимости от направления копирования используйте команды, описанные в этой статье ранее. Ниже, в качестве примера, приведена команда для копирования информации с локального сервера (к которому сейчас подключен пользователь) на удаленный сервер, где для удаленного сервера необходимо ввести регистрационные данные.

sshpass -p "password" scp -r /path/to/local/file remote_user@remote_host:/path/to/remote/file

Здесь:

  • -p - параметр для передачи пароля
  • "password" - само значение пароля

Если не хотите "светить" пароль в истории bash-запросов, тогда используйте код ниже.

sshpass -f "/путь/к/файлу-с-паролем" scp -r /path/to/local/file remote_user@remote_host:/path/to/remote/file

Здесь:

  • -f - параметр для указания пути к файлу, который содержит в себе пароль. После выполнения команды файл необходимо удалить из соображений безопасности.

Как установить SSHPASS

Ниже перечислены способы установки SSHPASS для различных ОС:

  • ubuntu/debian
  • centos/fedora
  • mac w/ macports
  • mac w/ brew
    • brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master‌​/Library/Formula/ssh‌​pass.rb

Перенести файлы и папки с сервера на сервер

Чтобы перенести файлы или папки с текущего сервера на новый сервер потребуются:

  • доступы от обоих серверов
  • абсолютные пути к файлу или папке

Инструкция:

  1. Подключаемся к серверу с которого хотим перенести файлы или категории
  2. Вводим следующую команду:

    Для файла:
    scp ПУТЬ_ДО_ФАЙЛА IP_НОВОГО_СЕРВЕРА:НОВЫЙ_ПУТЬ_ДО_ПАПКИ
 
    Для папки:
    scp -r ПУТЬ_ДО_ПАПКИ IP_НОВОГО_СЕРВЕРА:НОВЫЙ_ПУТЬ_ДО_ПАПКИ
 

    где,

    ПУТЬ_ДО_ФАЙЛА - абсолютный путь к объекту переноса (например: /home/file.zip),

    ПУТЬ_ДО_ПАПКИ - абсолютный путь к директории (например: /home/file),

    IP_НОВОГО_СЕРВЕРА - ip нового сервер, (например: 123.12.12.132 ),

    ВНИМАНИЕ! иногда в место IP_НОВОГО_СЕРВЕРА потребуется указывать в формате LOGIN_НОВОГО_СЕРВЕРА@IP_НОВОГО_СЕРВЕРА

    НОВЫЙ_ПУТЬ_ДО_ПАПКИ - абсолютный путь к папке на новом сервере, в нее переместится всё содержимое (например: /file/),

    -r - параметр, указывает что копируемая папка должна копироваться рекурсивно, т.е. со всеми вложенными подпапками.

  3. После этого потребуется ввести логин и пароль от нового сервера

Примеры:

scp /backup/admin.2018-10-22_05-19-30.tar 61.101.21.202:/home/
 
scp -r /backup/file 61.101.21.202:/home/
 
scp -r /www/kakorin/data/www/kakorin.ru/ [email protected]:/home/e/login/
 
Терминал

- Перемещение папки с рабочего стола на сервер?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
.

Как переместить WordPress на новый хост или сервер (без простоев)

Планируете ли вы переместить свой сайт WordPress в новую хостинговую компанию или на другой сервер? Самый большой риск при переключении веб-хостинга или переносе веб-сайта на новый сервер - это потеря данных и простои.

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

В этом пошаговом руководстве мы покажем вам, как безопасно перенести ваш сайт WordPress на новый хост без простоев.

Мы также ответим на наиболее часто задаваемые вопросы о переносе сайта WordPress к новому хостинг-провайдеру, чтобы вы могли избежать некоторых распространенных ошибок.

Важно: Прежде чем мы начнем, мы хотим, чтобы вы знали, что многие хостинговые компании WordPress предлагают бесплатную услугу миграции. Его может не быть в списке на их веб-сайте, поэтому все, что вам нужно сделать, это спросить. Обычно это бесплатно, но некоторые могут взимать небольшую плату.

Сказав это, давайте взглянем на шаги, которые мы рассмотрим, чтобы переместить WordPress на новый хостинг-сервер (без простоев).

  1. Выберите новый хост WordPress
  2. Установите подключаемый модуль Duplicator для упрощения миграции
  3. Импортируйте свой сайт WordPress на новый хост
  4. Измените файл Hosts, чтобы предотвратить простои.
  5. Создайте базу данных MySQL на новом хосте
  6. Запустить скрипт миграции веб-сайта Duplicator
  7. Обновление сервера доменных имен
  8. Часто задаваемые вопросы о переносе WordPress на новый хост

Готовы? Давайте начнем.

Шаг 1. Выберите новый хост WordPress

Если вы застряли на медленном веб-хосте даже после оптимизации скорости и производительности WordPress, то пора переместить ваш сайт WordPress на новый хост, который сможет обрабатывать ваш растущий трафик.

При поиске нового хостинг-провайдера WordPress важно тщательно выбирать, чтобы вам не пришлось переезжать снова в ближайшее время.

Вот кого мы рекомендуем:

  • Для надежного общего хостинга мы рекомендуем использовать Bluehost. Они официально рекомендованы WordPress.org. Используя наш купон Bluehost, пользователи WPBeginner получают скидку 60% и бесплатное доменное имя.
  • Если вы ищете облачного хостинга или провайдеров , ориентированных на местоположение, то мы рекомендуем вам проверить Siteground.У них есть центры обработки данных на 3 разных континентах.
  • Если вы ищете управляемый хостинг WordPress, мы рекомендуем вам попробовать WP Engine. Это лучший и самый известный поставщик в отрасли.

После покупки нового хостинга НЕ устанавливайте WordPress. Мы сделаем это позже.

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

Шаг 2. Настройка дубликатора для упрощения миграции

Первое, что вам нужно сделать, это установить и активировать бесплатный плагин Duplicator на веб-сайте, который вы хотите переместить.Для получения дополнительной информации см. Наше пошаговое руководство по установке плагина WordPress.

Duplicator - это бесплатный плагин, который мы настоятельно рекомендуем. Вы также можете использовать его, чтобы переместить свой сайт на новое доменное имя без потери SEO.

Однако в этой статье мы расскажем, как использовать его для миграции вашего сайта WordPress с одного хоста на другой с нулевым временем простоя.

После установки и активации Duplicator перейдите на страницу Duplicator »Packages в админке WordPress.

Затем вам нужно нажать кнопку «Создать» в правом верхнем углу.

После этого нажмите кнопку «Далее» и следуйте инструкциям по созданию пакета.

Убедитесь, что результаты вашего сканирования проверены (все должно быть написано «Хорошо»), а затем нажмите кнопку Build .

Процесс может занять несколько минут, поэтому оставьте вкладку открытой, пока плагин выполняет свою работу.

По завершении процесса вы увидите варианты загрузки установщика и пакета архива.Вам нужно щелкнуть ссылку «Загрузка в один клик», чтобы загрузить оба файла.

Архивный файл - это полная копия вашего веб-сайта, а установочный файл автоматизирует процесс установки за вас.

Шаг 3. Импортируйте свой сайт WordPress на новый хост

Теперь, когда вы скачали и архив, и файлы установщика, следующим шагом будет их загрузка на новый веб-хост.

Вы можете сделать это, подключившись к новому веб-узлу с помощью FTP.

Если вы никогда не делали этого раньше, ознакомьтесь с нашим руководством для начинающих по загрузке файлов через FTP в WordPress.

Обычно вы вводите доменное имя своего веб-сайта в качестве хоста при подключении FTP-клиента.

Однако, поскольку ваше доменное имя по-прежнему указывает на ваш старый хост, вам нужно будет подключиться, указав IP-адрес или имя хоста вашего сервера. Вы можете найти эту информацию на панели управления cPanel вашей новой учетной записи хостинга.

Если вы не можете найти эту информацию, вы можете обратиться за поддержкой в ​​вашу новую хостинговую компанию, и они вам помогут.

Используя FTP-клиент, вам необходимо загрузить как файл installer.php, так и файл архива .zip в корневой каталог вашего веб-сайта.

Обычно это папка / username / public_html / .

Опять же, если вы не уверены, спросите свою хостинговую компанию.

Убедитесь, что ваш корневой каталог полностью пуст. Некоторые хостинговые компании автоматически устанавливают WordPress при регистрации.

Если у вас установлен WordPress в корневом каталоге, вам нужно сначала удалить WordPress.

После этого вам необходимо загрузить архивный zip-файл и файл installer.php в корневой каталог вашего сайта.

Шаг 4. Измените файл Hosts для предотвращения простоев

После того, как вы загрузили оба файла на новый хост, вам необходимо получить доступ к файлу installer.php в браузере.

Обычно к этому файлу можно получить доступ, используя следующий URL:

http://www.example.com/installer.php

Однако этот URL-адрес приведет вас к вашему старому веб-хосту, и вы получите ошибку 404.Это потому, что ваше доменное имя по-прежнему указывает на ваш старый веб-хостинг.

Обычно другие руководства могут посоветовать вам сменить серверы доменных имен и указать на новую хостинговую компанию, но это неверно.

Если вы сделаете это сейчас, ваши посетители увидят неисправный веб-сайт, когда вы его перенесете.

Мы покажем вам, как вы можете временно получить доступ к своему новому сайту на компьютере, не затрагивая старый сайт.

Это делается с помощью файла hosts на вашем компьютере.

Файл hosts можно использовать для сопоставления доменных имен с определенными IP-адресами. Другими словами, это позволяет обмануть ваш компьютер, думая, что веб-сайт перемещен, хотя это не так.

Давайте посмотрим, как добавить запись для вашего доменного имени в файл hosts, чтобы оно указывало на вашу новую хостинговую компанию.

Внесение этих изменений позволит вам получить доступ к файлам на вашем новом хосте, используя собственное доменное имя, в то время как остальной мир по-прежнему будет получать доступ к вашему сайту со старого хоста.Это обеспечивает 100% работоспособность .

Первое, что вам нужно сделать, это найти IP-адрес вашего нового сервера веб-хостинга. Чтобы найти это, вам нужно войти в свою панель управления cPanel и щелкнуть ссылку развернуть статистику на левой боковой панели. Адрес вашего сервера будет указан как общий IP-адрес.

В некоторых компаниях, предоставляющих услуги веб-хостинга, вы найдете эту информацию под заголовком «Информация об учетной записи».

На следующем этапе пользователям Windows необходимо перейти в Программы »Все программы» Стандартные , щелкнуть правой кнопкой мыши Блокнот и выбрать «Запуск от имени администратора».

Появится запрос Windows UAC, и вам нужно нажать Да, чтобы запустить Блокнот с правами администратора.

На экране Блокнота перейдите к Файл »Открыть , а затем перейдите в папку C: \ Windows \ System32 \ drivers \ etc . В этой папке выберите файл hosts и откройте его.

Если вы используете Mac, вам необходимо открыть приложение «Терминал» и ввести эту команду для редактирования файла hosts:

судо нано / частный / и т.д. / хосты

Для пользователей Windows и Mac в нижней части файла hosts необходимо ввести скопированный IP-адрес, а затем ввести имя своего домена.Как это:

192.168.1.22 www.example.com

Убедитесь, что вы заменили IP-адрес тем, который вы скопировали из cPanel, а example.com - своим собственным доменным именем.

По завершении сохраните изменения.

Теперь вы можете получить доступ к своим файлам на новом хосте, используя свое доменное имя на вашем компьютере.

Важно: Не забудьте отменить изменения, внесенные в файл hosts после завершения миграции (шаг 6).

Шаг 5. Создание базы данных MySQL на новом хосте

Прежде чем мы запустим установщик на новом хосте, вам нужно будет создать базу данных MySQL в вашей новой учетной записи хостинга.Если вы уже создали базу данных MySQL, вы можете перейти к следующему шагу.

Создание базы данных в cPanel

Перейдите в панель управления cPanel вашей новой учетной записи хостинга, прокрутите вниз до раздела «Базы данных» и щелкните значок баз данных MySQL.

Вы увидите поле для создания новой базы данных. Введите имя для своей базы данных и нажмите кнопку «Создать базу данных».

После создания базы данных MySQL необходимо прокрутить вниз до раздела «Пользователи MySQL».

Затем укажите имя пользователя и пароль для нового пользователя и нажмите кнопку «Создать пользователя».

После этого вам необходимо добавить этого пользователя в свою базу данных. Это даст вам только что созданное имя пользователя и все разрешения для работы с этой базой данных.

Вы можете сделать это, прокрутив вниз до раздела «Добавить пользователя в базу данных». Просто выберите пользователя базы данных, которого вы создали, в раскрывающемся меню рядом с пользователем, затем выберите базу данных и нажмите кнопку добавления.

Теперь ваша база данных готова к использованию с WordPress. Обязательно запишите имя базы данных, имя пользователя и пароль. Эта информация понадобится вам на следующем шаге.

Шаг 6. Начните процесс миграции дубликатора

Теперь мы готовы запустить установщик. Перейдите по следующему адресу в окне браузера, заменив example.com своим доменным именем:

http://www.example.com/installer.php

Программа установки выполнит несколько тестов и покажет вам «Пройдено» рядом с архивными и проверочными тестами.

Вам необходимо установить флажок условий и положений и продолжить, нажав кнопку Далее.

Теперь вам будет предложено ввести ваш хост MySQL, имя базы данных, имя пользователя и пароль.

Вашим хостом, скорее всего, будет localhost. После этого вы введете сведения о базе данных, созданной на предыдущем шаге.

Вы можете нажать кнопку «Проверить базу данных», чтобы убедиться, что вы ввели правильную информацию.

Если Duplicator может подключиться, вы увидите строку, начинающуюся с Pass.В противном случае вы увидите сведения об ошибке подключения к базе данных.

Нажмите следующую кнопку, чтобы продолжить.

Duplicator теперь импортирует вашу базу данных WordPress из архива zip в вашу новую базу данных.

Затем он попросит вас обновить URL-адрес сайта или путь. Поскольку вы не меняете доменные имена, вам НЕ нужно здесь ничего менять.

Просто нажмите на кнопку «Далее», чтобы продолжить.

Duplicator выполнит заключительные шаги и покажет вам кнопку входа в систему.

Теперь вы можете войти на свой сайт WordPress на новом хосте, чтобы убедиться, что все работает должным образом.

Шаг 7. Обновите серверы доменных имен (DNS)

На этом этапе вы создали полную копию своей базы данных и файлов WordPress на новом сервере хостинга, но ваш домен по-прежнему указывает на вашу старую учетную запись веб-хостинга.

Чтобы обновить домен, вам необходимо переключить серверы имен DNS. Это гарантирует, что ваши пользователи попадут на новое место вашего веб-сайта, когда они введут ваш домен в свои браузеры.

Если вы зарегистрировали свой домен у своего хостинг-провайдера, лучше всего перенести домен на новый хост. Если вы использовали регистратора доменов, например Domain.com, GoDaddy и т. Д., Вам необходимо обновить свои серверы имен.

Вам понадобится информация о DNS-сервере имен от вашего нового веб-хоста. Обычно это пара URL-адресов, которые выглядят так:

ns1.hostname.com
ns2.hostname.com

В рамках этого руководства мы покажем вам, как изменить DNS-серверы имен с помощью GoDaddy.

В зависимости от регистратора домена или веб-хостинга скриншоты могут выглядеть по-разному. Однако основная концепция остается прежней.

Вам нужно искать область управления доменом, а затем искать серверы имен. Если вам нужна помощь в обновлении серверов имен, вы можете обратиться в свою хостинговую компанию.

Для GoDaddy вам необходимо войти в свою учетную запись GoDaddy и затем нажать «Домены».

После этого вам нужно нажать на кнопку «Управление» рядом с доменным именем, которое вы хотите изменить.

В разделе «Дополнительные настройки» вам нужно будет нажать «Управление DNS», чтобы продолжить.

Затем вам нужно прокрутить вниз до раздела «Серверы имен» и нажать кнопку изменения.

Во-первых, вам нужно переключить раскрывающийся список типа сервера имен с «По умолчанию» на «Пользовательский». После этого вы можете заполнить информацию о вашем новом хостинг-провайдере в разделе «Серверы имен».

Не забудьте нажать кнопку «Сохранить», чтобы сохранить изменения.

Вы успешно сменили серверы имен в своем домене. Распространение изменений DNS для всех пользователей может занять от 4 до 48 часов. .

Поскольку у вас одинаковый контент на старом и новом хостах, ваши пользователи не заметят никакой разницы. Ваша миграция на WordPress будет плавной, без простоев.

На всякий случай мы рекомендуем вам подождать, чтобы удалить старую учетную запись хостинга, до 7 дней после миграции.

Часто задаваемые вопросы

Вот несколько вопросов, которые задают многие наши пользователи при переносе WordPress с одного хоста на другой.

1. Могу ли я подписаться на новую учетную запись хостинга без регистрации доменного имени?

Да, вы можете зарегистрироваться для получения учетной записи хостинга без регистрации доменного имени.

Доменное имя и хостинг - это две разные услуги, и вам не обязательно регистрировать доменное имя при регистрации на новом хосте. Для получения дополнительной информации см. Наше руководство о разнице между доменным именем и веб-хостингом.

Некоторые хостинг-провайдеры попросят вас выбрать доменное имя в качестве первого шага при покупке хостинга.Они также позволят вам ввести доменное имя, если оно у вас уже есть.

2. Нужно ли мне перенести мое доменное имя на новый хост?

Нет, переносить доменное имя на новый хост не нужно. Однако перенос вашего доменного имени на новый хостинг упростит продление и управление с той же панели управления, что и ваша новая учетная запись хостинга.

Для получения дополнительной информации по этой теме см. Наше полное руководство по доменным именам и принципам их работы.

3.Как исправить ошибку при установлении соединения с базой данных в Duplicator?

Если вы видите ошибку подключения к базе данных или ошибку подключения к базе данных в Duplicator, то наиболее вероятной причиной этого является то, что вы ввели неверную информацию для подключения к базе данных.

Убедитесь, что имя вашей базы данных, имя пользователя MySQL и пароль верны. Некоторые веб-хостинговые компании не используют localhost в качестве хоста для своих серверов MySQL. В этом случае вам нужно будет попросить службу поддержки вашего веб-хостинга предоставить вам правильную информацию.

4. Как мне проверить, загружается ли мой сайт с нового хоста?

Существует несколько онлайн-инструментов, которые позволяют узнать, кто размещает веб-сайт. После того, как вы перенесли свой веб-сайт на новый хост, вы можете использовать любой из этих инструментов, и они покажут вам название компании, предоставляющей веб-хостинг, на которой размещен ваш сайт.

Если вы недавно перенесли свой веб-сайт и внесли изменения в свой сервер доменных имен (DNS), скорее всего, ваш сайт все еще может загружаться со старого хоста.Изменения доменного имени вступят в силу в течение 48 часов.

5. Нужно ли мне удалять какие-либо файлы или данные со старого хоста?

При смене хостинг-компании мы рекомендуем оставить старый веб-сайт минимум на неделю. После этого вы можете удалить файлы со своего старого веб-хоста. Если вы закрываете свою учетную запись, ваш провайдер веб-хостинга удалит все ваши данные в соответствии со своей политикой.

6. Как долго я должен поддерживать свою учетную запись на старом хосте?

После того, как вы перенесли свой веб-сайт на новый хост, и если у вас нет других веб-сайтов, размещенных на вашем старом хосте, вы можете аннулировать свою старую учетную запись веб-хостинга.

Однако в некоторых случаях вы могли уже заплатить им за годовой хостинг. Вам следует ознакомиться с их политикой возмещения, чтобы узнать, имеете ли вы право на возмещение при отмене.

7. Как переместить сайт WordPress с SSL / HTTP?

Вам нужно будет установить сертификат SSL на новом хостинг-провайдере. После этого вы можете выполнить те же действия, указанные выше. Просто убедитесь, что вы используете HTTP в URL, например https://example.com

8.Бонус: Бесплатная миграция сайта вашим новым хостом

Если вы хотите сменить веб-хостинг, но описанные выше действия кажутся слишком сложными, вы можете выбрать следующих поставщиков, и они перенесут ваш веб-сайт за вас.

SiteGround, InMotion Hosting и WP Engine предлагают бесплатную миграцию веб-сайтов для пользователей WPBeginner.

Мы надеемся, что это пошаговое руководство помогло вам переместить WordPress на новый хост без каких-либо простоев. Если у вас возникнут какие-либо проблемы с миграцией WordPress, ознакомьтесь с нашим руководством по наиболее распространенным ошибкам WordPress и способам их исправления.

Если вам понравилась эта статья, то подпишитесь на наш канал YouTube для видеоуроков по WordPress. Вы также можете найти нас в Twitter и Facebook.

.

php - Как перенести файл с одного сервера на другой?

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

Как вы загружаете файлы на веб-сервер? - Изучите веб-разработку

В этой статье показано, как опубликовать свой сайт в Интернете с помощью инструментов передачи файлов.

Сводка

Если вы создали простую веб-страницу (см. Пример в разделе «Основы HTML»), вы, вероятно, захотите разместить ее в режиме онлайн на веб-сервере. В этой статье мы обсудим, как это сделать, используя различные доступные параметры, такие как клиенты SFTP, RSync и GitHub.

SFTP

Существует несколько клиентов SFTP.Наша демонстрация охватывает FileZilla, поскольку она бесплатна и доступна для Windows, macOS и Linux. Чтобы установить FileZilla, перейдите на страницу загрузок FileZilla, нажмите большую кнопку «Загрузить», затем выполните установку из установочного файла обычным способом.

Примечание : Конечно, есть много других вариантов. См. Дополнительные сведения в разделе «Инструменты публикации».

Откройте приложение FileZilla; вы должны увидеть что-то вроде этого:

Вход в систему

В этом примере мы предположим, что наш хостинг-провайдер (служба, которая будет размещать наш HTTP-сервер) - это фиктивная компания «Example Hosting Provider», чьи URL-адреса выглядят так: mypersonalwebsite.examplehostingprovider.net .

Мы только что открыли счет и получили от них следующую информацию:

Поздравляем с открытием учетной записи на Example Hosting Provider.

Ваш аккаунт: demozilla

Ваш сайт будет виден по адресу demozilla.examplehostingprovider.net

Для публикации в этой учетной записи подключитесь через SFTP со следующими учетными данными:

  • SFTP-сервер: sftp: // demozilla.examplehostingprovider.net
  • Имя пользователя: demozilla
  • Пароль: quickbrownfox
  • Порт: 5548
  • Для публикации в Интернете поместите свои файлы в каталог Public / htdocs .

Давайте сначала посмотрим на http://demozilla.examplehostingprovider.net/ - как видите, пока там ничего нет:

Примечание : В зависимости от вашего хостинг-провайдера большую часть времени вы увидите страницу, на которой написано что-то вроде «Этот веб-сайт размещен на [Hosting Service]».»При первом переходе на свой веб-адрес.

Чтобы подключить SFTP-клиент к удаленному серверу, выполните следующие действия:

  1. Выберите Файл> Менеджер сайта ... в главном меню.
  2. В окне Site Manager нажмите кнопку New Site , затем введите имя сайта как demozilla в отведенное место.
  3. Введите SFTP-сервер, указанный вашим хостом, в поле Host: .
  4. В раскрывающемся списке Тип входа: выберите Обычный , затем введите предоставленные имя пользователя и пароль в соответствующие поля.
  5. Введите правильный порт и другую информацию.

Ваше окно должно выглядеть примерно так:

Теперь нажмите Connect , чтобы подключиться к серверу SFTP.

Примечание. Убедитесь, что ваш хостинг-провайдер предлагает SFTP (безопасный FTP) подключение к вашему хостинговому пространству. FTP по своей сути небезопасен, и вам не следует его использовать.

Здесь и там: локальный и удаленный просмотр

После подключения ваш экран должен выглядеть примерно так (мы подключились к нашему собственному примеру, чтобы дать вам представление):

Давайте посмотрим, что вы видите:

  • На центральной левой панели вы видите свои локальные файлы.Перейдите в каталог, в котором вы храните свой веб-сайт (например, mdn ).
  • На центральной правой панели вы видите удаленные файлы. Мы вошли в наш удаленный корень FTP (в данном случае пользователя / demozilla )
  • На данный момент вы можете игнорировать нижнюю и верхнюю панели. Соответственно, это журнал сообщений, показывающий состояние соединения между вашим компьютером и сервером SFTP, и журнал в реальном времени каждого взаимодействия между вашим клиентом SFTP и сервером.

Загрузка на сервер

В наших примерах инструкций хоста говорилось: «Чтобы опубликовать в Интернете, поместите свои файлы в каталог Public / htdocs ."Вам нужно перейти в указанный каталог на правой панели. Этот каталог фактически является корнем вашего веб-сайта, где будет находиться ваш файл index.html и другие ресурсы.

После того, как вы нашли правильный удаленный каталог для размещения файлов, чтобы загрузить файлы на сервер, вам нужно перетащить их с левой панели на правую.

Они действительно онлайн?

Пока все хорошо, но действительно ли файлы в сети? Вы можете проверить еще раз, вернувшись на свой сайт (например,грамм. http://demozilla.examplehostingprovider.net/ ) в вашем браузере:

И - вуаля ! Наш сайт работает!

Rsync

Rsync - это инструмент для синхронизации файлов между локальными и удаленными файлами, который обычно доступен в большинстве систем на базе Unix (таких как macOS и Linux), но существуют и версии для Windows.

Он рассматривается как более продвинутый инструмент, чем SFTP, поскольку по умолчанию он используется в командной строке. Базовая команда выглядит так:

 rsync [-options] SOURCE user @ x.x.x.x: DESTINATION 
  • -options - это дефис, за которым следует одна или несколько букв, например -v для подробных сообщений об ошибках и -b для создания резервных копий. Вы можете увидеть полный список на странице руководства rsync (ищите «Сводка параметров»).
  • ИСТОЧНИК - это путь к локальному файлу или каталогу, из которого вы хотите скопировать файлы.
  • user @ - это учетные данные пользователя на удаленном сервере, на который вы хотите скопировать файлы.
  • x.x.x.x - IP-адрес удаленного сервера.
  • НАЗНАЧЕНИЕ - это путь к месту, куда вы хотите скопировать свой каталог или файлы на удаленном сервере.

Вам необходимо получить такие данные у вашего хостинг-провайдера.

Для получения дополнительной информации и дополнительных примеров см. Как использовать Rsync для копирования / синхронизации файлов между серверами.

Конечно, рекомендуется использовать безопасное соединение, например FTP. В случае Rsync вы указываете детали SSH, чтобы установить соединение через SSH, используя опцию -e .Например:

 rsync [-options] -e "ssh [ПОДРОБНОСТИ SSH ЗДЕСЬ]" ИСТОЧНИК [email protected]: НАЗНАЧЕНИЕ 

Вы можете найти более подробную информацию о том, что необходимо, в Как копировать файлы с помощью Rsync через SSH.

Инструменты графического интерфейса Rsync

Для Rsync доступны инструменты с графическим интерфейсом

(для тех, кому неудобно пользоваться командной строкой). Acrosync - один из таких инструментов, доступный для Windows и macOS.

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

GitHub

GitHub позволяет публиковать веб-сайты через страницы GitHub (gh-страницы).

Мы рассмотрели основы использования этого в статье «Публикация вашего веб-сайта» из нашего руководства «Начало работы с Интернетом», поэтому мы не собираемся повторять все это здесь.

Однако стоит знать, что вы также можете разместить веб-сайт на GitHub, но использовать с ним собственный домен. См. Подробное руководство в разделе Использование личного домена со страницами GitHub.

Другие способы загрузки файлов

Протокол FTP - один из хорошо известных методов публикации веб-сайтов, но не единственный.Вот еще несколько возможностей:

  • Веб-интерфейсы . HTML-интерфейс, действующий как интерфейс для службы удаленной загрузки файлов. Предоставляется вашим хостингом.
  • WebDAV . Расширение протокола HTTP для расширенного управления файлами.
.

php move_uploaded_file не перемещает файл на размещенный сервер

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
.

Как переместить файл из одного каталога в другой в рамках одного FTP с помощью jmeter

Переполнение стека
  1. Около
  2. Товары
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант
.

Смотрите также