Отчет за практикум №3. Справка по командe paste
Команда paste — команда, которая позволяет объединять строки файлов по горизонтали. Данная команда выводит строки, состоящие из последовательно соответствующих строк каждого файла, указанного в качестве аргумента, разделенных табуляцией. Если рассмотреть общий синтаксис команды, то он будет выглядеть следующим образом:
paste [OPTION]... [FILE]... |
Примеры
Допустим, что у нас есть два файла: file1 и file2 (максимально логичные названия)
В каждом файле имеется какое-то количество строк (для создания новых файлов использовалась команда touch, для создания строк в файле и последующего просмотра содержимого файла echo "something" >> и cat, соответственно)
file1
Life |
is |
beautiful |
do you agree? |
file2
It is |
like |
the blue moon |
amazing |
При вызове paste без параметра будут считаны все файлы, заданные в качестве аргументов, и будут объединены по горизонтали соответствующие строки файлов. Строки при этом будут разделены табуляцией:
paste file1 file2 |
Life It is |
is like |
beautiful the blue moon |
do you agree? amazing |
Вместо отображения вывода на экран, можно перенаправить его в файл, используя >>
paste file1 file2 >> file3 |
А если нам надо прочитать данные из стандартного ввода? (На момент получения данного задания, темы, связанные с потоками ввода/вывода еще не были пройдены, однако в ведомости был задан подобный вопрос и мне стало интересно )
Итак, если мы хотим прочитать файл из стандартного ввода с помощью paste, нам необходимо использовать тире вместе имени файла. Дальнейший алгоритм по просмотру содержимого не изменяется (можно вновь использовать cat). Выглядеть это будет следующим образом:
cat file2 | paste file1 - |
Результат при этом остается прежним:
Life It is |
is like |
beautiful the blue moon |
do you agree? amazing |
Опции
Опция -d (-delimiters) позволяет указать список символов, которые будут использоваться в качестве разделителей вместо разделителя по умолчанию TAB. Чтобы использовать какой-то символ (например, "%" ) в качестве разделителя вместо TAB, надо набрать:
paste -d '%' file1 file2 |
Life%It is |
is%like |
beautiful%the blue moon |
do you agree?%amazing |
Опция -s (-serial) заставляет paste отображать строки одного файла за раз вместо одной строки из каждого файла. Команда объединит все строки из данного файла в отдельные строки:
paste -s file1 file2 |
Life is beautiful do you agree? |
It is like the blue moon amazing |
Вывод
Команда paste используется для объединения соответствующих строк заданных файлов
Сетевой протокол SMTP
SMTP (Simple Mail Transfer Protocol) — протокол передачи почты. Он был представлен еще в 1982 году, но все еще используется и до сих пор не теряет своей актуальности.
У протокола две главные задачи:
1) Проверка корректности настроек системы и предоставление «разрешения» на отправку email-сообщения для определенного устройства
2) Отправка исходящего сообщения на заданный адрес электронной почты и подтверждение успешной доставки. Если сообщение доставить не удается, отправитель получает соответствующее извещение
- Сообщение электронной почты всегда состоит из трех элементов:
1) Так называемый конверт
2) Заголовок
3) Тело письма
- Конверт применяется для передачи сообщений электронной почты от клиенту к серверу и обратно. При этом как клиент, так и сервер взаимодействуют друг с другом в обычном формате «запрос-ответ». В ходе взаимодействия между ними передаются текстовые строки.
Что касается заголовка и тела письма, то их параметры прописаны в отдельном документе — RFC2822.
Команды
- Все они состоят из четырех символов. Никакой мистики здесь нет, просто в самом начале разработчики договорились, что длина будет именно такой. Ниже — основные команды SMTP. Есть и другие, но они используются реже:
1) Команда Helo применяется для установки соединения. Эта операция будет выполнена только в том случае, если клиент указал свой домен и собственный почтовый адрес
2) Команда Mail применяется для задания адреса отправителя
3) Команда RCPT используется исключительно для того, чтобы прописать адрес получателя. Электронное сообщение можно передать сразу нескольким получателям, для чего требуется использовать команду RCPT несколько раз подряд
4) Команда DATA нужна для уведомления принимающего сервера о завершении конверта, после чего идет само письмо
5) Команда QUIT применяется для разрыва соединения с сервером сразу после завершения приема сообщения
Небольшой Update от 05.10:
Изначально данной записи не планировалось, так как ощущения от выполнения 3 практикума были вполне спокойными и в какой-то мере "медитативными" (задание по перемещению и копированию файлов было довольно однообразным), зато после 30.09 эмоций было "выше крыши". Все же, крайне печально обнаружить уже после восстановления доступа и домашних папок отсутствие некоторых необходимых файлов у себя. К счастью, навыки полученные до этого позволили быстро все вернуть на свои места, и, надеюсь, вернуть правильным образом