From 7b5656211b0eda8bad5a836fa48c116401c620ea Mon Sep 17 00:00:00 2001 From: Alexander Zhirov Date: Mon, 9 May 2022 17:12:46 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=BE=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=8B=20=D1=81=20scp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++++- c_compilation.md | 20 ++++++++++++++++++++ scp.md | 29 +++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 c_compilation.md diff --git a/README.md b/README.md index 3f24357..84290ab 100644 --- a/README.md +++ b/README.md @@ -12,4 +12,8 @@ ### Язык программирования D -- [Проект dub.json](dub.md) \ No newline at end of file +- [Проект dub.json](dub.md) + +### Язык программирования C + +- [Компиляция C](c_compilation.md) diff --git a/c_compilation.md b/c_compilation.md new file mode 100644 index 0000000..3e6c970 --- /dev/null +++ b/c_compilation.md @@ -0,0 +1,20 @@ +# Компиляция C + +`gcc` - набор компиляторов для различных языков программирования. + +Стандартная компиляция файла с исходным кодом: + +```sh +gcc main.c -o main +``` + +где `main.c` - файл с исходным кодом, а `main` - бинарный файл, который создаётся флагом `-o` после компиляции. + +Компиляция файла в объектный файл (данные и инструкции): + +```sh +gcc -c main.c -o main.o +``` + +где `main.o` - объектный файл. + diff --git a/scp.md b/scp.md index 8e9f808..7833d6e 100644 --- a/scp.md +++ b/scp.md @@ -1,2 +1,31 @@ # Копирование файлов на удалённый сервер через SSH +`scp` - средство безопасной передачи компьютерных файлов между локальным хостом и удаленным хостом или между двумя удаленными хостами. + +```sh +scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2 +``` + +- `[user@]SRC_HOST:]file1` - исходный файл +- `[user@]DEST_HOST:]file2` - конечный файл +- `OPTION` - `scp` опции: + - `-P` - используемый порт подключения (`22` по умолчанию) + - `-p` - сохранять время модицикации файлов + - `-F` - указывает альтернативный файл конфигурации для каждого пользователя для `ssh` + - `-C` - включить сжатие при передаче + - `-r` - рекурсивное копирование директорий + - `-v` - более подробный режим + - `-l` - ограничивает полосу пропускания, указанную в `Кбит/с` + - `-i` - выбирает файл, из которого считывается идентификатор (закрытый ключ) для аутентификации по открытому ключу + +Например, копирование каталога `~/pictures/mypic` с `локального` компьютера на удалённый компьютер `192.168.56.150` в директорию `/home/user` с использованием ключа идентификации `~/.ssh/mykey` по порту `2222`: + +```sh +scp -P 2222 -i ~/.ssh/mykey -r ~/pictures/mypic user@192.168.56.150:/home/user/ +``` + +Либо с удалённого компьютера на локальный компьютер в домашнюю директорию: + +```sh +scp user@192.168.56.150:/home/user/myfile ~/ +```