По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В данной статье мы рассмотрим такие вопросы как, копирование, перенос и удаление файлов. Копирование нескольких файлов и папок в том числе рекурсивно. Удаление файлов и папок в том числе рекурсивно. Использование групповых символов. Отбор файлов по типу, размеру, дате и.т.д. Утилиты tar, cpio и dd. Исходя из обозначенных выше вопросов будем разбираться со следующим списком команд: cp, find, mkdir, mv, ls, rm, rmdir, touch, tar, cpio, dd, file, gzip, gunzip, bzip2, xz, file globbing. А также захватим основные виды архиваторов и посмотрим, как с ними работать. Команда touch Данная команда меняет отметки времени файла. При помощи этой команды мы можем создавать новые файлы и менять время доступа к файлу. Например, мы можем посмотреть, что в текущей директории нет текстовых фалов. Убедится мы можем командой ls, а посмотреть в какой директории pwd. Соответственно вводим touch 123.txt и файл появляется. Есть так же другая команда для создания директорий mkdir. Описание можно по ней посмотреть, через ввод команды man mkdir. Данная команда создает директорию, например, mkdir folder1 создаст нам директорию folder1. Для просмотра используем команду ls. По данной команде мы тоже можем посмотреть мануал man ls. В описании написано, что показывает содержимое папки. Мы так же ее можем использовать с ключем –l, листинг, т.е в виде списка. В таком формате мы можем увидеть, кто владелец папки или файла, группу права на папку или файл. Достаточно информативно получается использование данной команды. Создадим еще один файл 456.txt и файл 1.txt в папке folder1 touch 456.txt touch folder1/1.txt и групповое создание файлов touch folder1/{2,3}.txt, а так же мы можем посмотреть, что у нас получилось в папке folder1. Команда cp Команда предназначена для копирования файлов и директорий. Самый простой пример сделать копию: cp 123.txt copy123.txt. Можно скопировать директорию cp folder1 folder2. И команда откажется выполнятся, потому, что по умолчанию рекурсивно не работает. В папке folder1 находятся файлы. И если мы хотим это осуществить то используем ключ –r или –R. Данная команда очень важна, т.к приходится использовать ее достаточно часто, например при настройке, какого–нибудь важного демона. Прежде чем вносить правки в файл конфигурации данного демона, оригинальный конфигурационный файл лучше всего скопировать. Команда mv Данная команда позволяет перенести файлы или папки, или переименовать (перенести данные из одного имени в другое). Для примера, скажем файл 456.txt перенести в файл something.txt, т.е mv 456.txt something.txt. Как мы видим файл 456 исчез, а появился something.txt Данная команда можем переносить так же в другую папку, например, глубже mv something.txt folder1/ Вот так будет выглядеть команда. А также можно вернуть его обратно, командой: mv folder1/something.txt . В конце знак точки выполняет функцию обозначения текущей папки. Аналогичные действия мы можем производить с папками. С помощью команд mv и cp. Команда rm Данная команда предназначена для удаления папок и файлов. rm 123.txt - удаление файла rm folder1 – удаление каталога, но команда выдает ошибку. Это происходит потому, что в папке находится файл. Если мы хотим удалить рекурсивно, то необходимо добавить ключ –r, а если без предупреждений и принудительно , то еще ключик –f. Итоговая команда будет выглядеть следующим образом. rm –rf folder1 Есть еще одна команда которая удаляет непосредственно папки, называется она rmdir. Мануал посмотреть вы можете по ней командой man rmdir. Данная команда удаляет непосредственно пустые директории. Работает достаточно близко по функционалу к rm. Команда file Команда определяет тип файла. Перейдем в папку Folder. cd folder Попробуем определить тип файла file yandex.url, как мы можем убедится команда выдает, что данный файл является текстовым. Если мы наберем, например, File *, то команда применится ко всем файлам в текущей директории и определит все типы файлов. Важной частью работы с файлами и папками являются Групповые Символы. * - все что угодно (заменяет любое количество символов) ? – любой символ (одиночный символ, ?? – два символа) ! – не (отрицание) [ac] – a или с [a-c] – a,b,c Создал несколько новых файлов: touch bag.txt touch bat.txt touch cat.txt touch sat.txt ls * - дает занимательную картинку, где видны файлы и папки. Команда ls *.* нам покажет только те файлы которые имеют расширения. Первая звездочка, означает любое имя, вторая звездочка указывает на любое расширение. Мы можем указать на конкретное количество символов обозначив их знаками “?”. Например, ls *.??? – это означает, что подходят любые файлы, у которых расширение из 3-х любых символов. Знаки вопросов и звездочек, можно использовать с сочетаниями букв и других символов. Можно сказать, покажи нам все файлы, которые начинаются с букв a или b, команда ls [ab]*. Также можно использовать конструкцию ls [a-m]*. Следовательно, работают все конструкции с групповыми символами. Команда find Данная команда будет осуществлять поиск файлов по иерархической структуре папок. Попробуем найти в директории все файлы: find * . Получим вот такой ответ на данную команду. У данной команды очень много ключей. Можем для примера взять такую конструкцию find . –name “In*” . Данная конструкция обозначает поиск в текущей папке, по имени, которое начинается с In и имеет в имени любое количество символов. Данную команду можно использовать для поиска файлов например по размеру: find . –size +5M . Следовательно, данным запросом мы ищем все файлы в текущем каталоге с размером более 5 MB. Команда cpio Работа с архивами очень важная часть операций с файлами. Для того, чтобы разобраться в данном вопросе рассмотрим следующую команду. Данная команда позволяет копировать файлы в архивы и из архивов. Данная команда позволяет работать с архивами, грубо говоря это двоичный архиватор. Смотрим, что есть в директории ls. Далее даем вот такую команду: ls | cpio –o > ../test.cpio В результате получили файл Пояснения, что мы сделали. Мы взяли вывод команды ls по конвейеру передали на вход команды cpio с ключем –o, который создает архив и то, что должно получится мы указали папку .. т.е родительская директория и файл test.cpio. Команда выполнилась и вывела число блоков, сколько обработалось. И переместившись на уровень выше, в родительскую директорию мы можем увидеть, что файл появился. А можем сделать следующую вещь: find . –name ”*.txt” | cpio –o > test2.cpio. Т.е мы можем выполнит поиск всех текстовых файлов в текущей директории и заархивировать, причем положить в текущую директорию. Создадим папку mkdir extract. И перейдем в нее cd /root/extract. Теперь мы попробуем разархивировать cpio –id < .. / test2.cpio Как мы видим все текстовые файлы появились. По сути, что мы сделали. Мы сказали команде cpio подняться на уровень выше взять test2.cpio и разархивировать в текущий каталог. Как видите там же попался каталог folder2, а попался т.к в нем тоже есть текстовые файлы. Напоминаю, что команда find работает так же со вложенными файлами, поэтому данный каталог и попал в архив. Команда dd Еще немного про архивы. Конвертирует и копирует файлы. Данная команда умеет копировать, не части файловой системы, как файлы или папки, а умеет копировать блочные устройства или его части, например, диск. Для того, чтобы показать, как это работает я примонтировал еще один раздел на 5 ГБ. Далее пишем следующее, находясь в директории cd /root/extract. dd if=/dev/sdc of=drive.img dd - сама команда if (Input файл) - диск of (Output файл) - путь куда положить. Мы видим, что команда столько-то получила, столько-то отправила данных в файл. Как можно увидеть, команда отработала. Следовательно, команда dd может сделать целиком резервную копию блочного устройства. Команда gzip Переходим непосредственно к архиваторам. Утилита, которая позволяет разжимать и упаковывать файлы. gzip drive.img Получаем в итоге, что вместо drive.img гигантского, получился более компактный drive.img.gz т.е команда gzip не просто создает архив , но и убивает оригинальный файл. Соответственно если мы хотим его отзиповать, то используем команду gunzip drive.img.gz Все архиваторы различаются по типу сжатия. Команда bzip2 Данный архиватор уже работает с блоками. Если его запустить аналогичным образом предыдущему архиватору, то получим файл немного меньшего размера. Это значить, что данный архиватор работает более эффективно с данным типами файлов. Разархивация осуществляется так же аналогично. Команда tar Теперь посмотрим легендарный архиватор tar Наиболее часто использующийся архиватор. С множеством функций и ключей. Пример использования. tar cvf archive.tar folder2 Синтаксис простой, команда с – создать , v - показывать процесс, f - файл, archive.tar - путь к месту где создастся архив, folder2 папка которую архивируем. Теперь мы можем подключить сжатие архиватора gzip, в опции надо добавить ключ “z” и выходной файл надо назвать archive.tar.gz. Для разархивации мы указываем ключи xvf и путь до архива.
img
Потренируйтесь в ответах на популярные вопросы по SQL на собеседованиях. В данной статье приведен список типовых вопросов по SQL, с которыми можно столкнуться на настоящем собеседовании, и даны ответы. Чтобы получить максимум из прочитанного, постарайтесь сначала отвечать на вопросы самостоятельно. Удачи! 1. Что такое SQL? SQL расшифровывается как Structured Query Language – язык структурированных запросов. Это язык программирования для взаимодействия с данными, которые хранятся в системе управления реляционными базами данных. Синтаксис SQL схож с английским языком, поэтому его легко читать, писать и интерпретировать. Он позволяет вам писать запросы, определяющие подмножество данных, которые вы ищите. Эти запросы можно сохранять, уточнять, обмениваться ими и запускать в различных базах данных. 2. Что такое база данных? База данных (БД) – это набор данных, хранимых на компьютере. При этом сами данные структурированы таким образом, что их можно было легко получить. 3. Что такое реляционная база данных? Реляционная база данных – это разновидность базы данных. В ней используется структура, которая позволяет нам идентифицировать и обращаться к данным в привязке к другим частям данных из БД. Данные в реляционной БД часто организованы в виде таблиц. 4. Что такое РСУБД? Система управления реляционными базами данных (РСУБД) – это программа, позволяющая вам создавать, обновлять и администрировать реляционную базу данных. Для доступа к базам данных большинство РСУБД использует язык SQL. Самой популярной РСУБД считается MySQL. К другим системам относятся PostgreSQL, Oracle DB, SQL Server и SQLite. 5. Что такое таблица? Таблица – это набор данных, распределенных по строкам и столбцам. Иногда их называют «связями». В таблицах могут быть сотни, тысячи и иногда даже миллионы строк данных. 6. Что такое строка и столбец в таблице? Строка – это одна запись данных в таблице. Столбец – это набор значений данных определенного типа. 7. Что такое тип данных? Тип данных – это атрибут, который определяет тип данных в столбце. В каждом столбце БД есть тип данных. Несколько часто используемых типов данных: INTEGER, TEXT, DATE, REAL. 8. Что такое первичный и внешний ключ? Первичный ключ (primary key) – это столбец, который однозначно определяет каждую строку в таблице. Первичные ключи должны соответствовать следующим требованиям: ни одно значение не может быть пустым (NULL), каждое значение должно быть уникальным и в таблице не может быть более одного столбца с первичным ключом. Например, в таблице customers первичным ключом будет customer_id. Внешний ключ (foreign key) – это первичный ключ для одной таблицы, который присутствует и в другой таблице. Например, есть дополнительная таблица orders. В каждом заказе может храниться информация о клиенте. Поэтому внешним ключом будет столбец customer_id. 9. В чем отличие ALTER от UPDATE? Оператор ALTER используется для добавления нового столбца в таблицу. Он изменяет структуру таблицы. Оператор UPDATE используется для редактирования строки в таблице. Он изменяет существующие записи в таблице. 10. Что такое запрос? Запрос (query) – это оператор SQL для получения информации, хранимой в базе данных. Запросы позволяют нам «общаться» с базой данных, задавая вопросы и возвращая результирующий набор подходящих данных. 11. Что такое подзапрос? Подзапрос (subquery) – это внутренний запрос, вложенный во внешний. Запросы можно вложить через операторы SELECT, INSERT, UPDATE или DELETE. Если есть подзапрос, то он будет выполняться до запуска внешнего оператора. 12. Что такое ограничения? Ограничения (constraints) – это набор правил, через которых базе данных сообщается об ограничении типа данных, хранимых в столбцах. Они предписывают базе данных отклонять введенные данные, если они не соответствуют ограничению. Ограничения добавляют информацию о том, как может использоваться столбец, и вызываются после типа данных для столбца. Несколько примеров ограничений: PRIMARY KEY: однозначно определяет каждую строку и требует уникальности каждого значения. UNIQUE: каждое значение в столбце должно отличаться. NOT NULL: в столбцах обязательно должны быть значения. DEFAULT: дополнительный аргумент, который подставляется в качестве предполагаемого значения для каждой новой строки, если в ней не указано значение для этого столбца. 13. Что такое оператор? Оператор (statement) – это текст, который база данных распознает как допустимую команду. Операторами можно пользоваться для выполнения таких задач, как изменение структуры таблицы, обновление данных или извлечение данных из БД. Структура операторов может варьировать, но каждый из них должен заканчиваться точкой с запятой (;). Количество строк в операторе неважно. Оператор можно записать в одну строку или разделить на несколько (для лучшей читабельности). 14. Как вы проверите, есть ли в поле значение или нет? Если в поле отсутствует значение, оно обозначается как NULL. Чтобы проверить поля на пустые значения, можно прописать в качестве условия IS NULL: WHERE [столбец] IS NULL. Чтобы найти поля со значением, добавьте в условие IS NOT NULL: WHERE [столбец] IS NOT NULL. 15. Чем отличаются DISTINCT и UNIQUE? DISTINCT – это ключевое слово, которым мы пользуемся, если хотим вернуть уникальные значения на выводе. Оно отсеивает все повторяющиеся значения в конкретном столбце. UNIQUE – это ограничение, которым пользуются, чтобы все значения столбца отличались. Оно похоже на PRIMARY KEY, с той лишь разницей, что в таблице может быть множество разных столбцов с UNIQUE. 16. Для чего используются агрегатные функции? Агрегатные функции используются для выполнения вычислений на одном или нескольких значениях и возвращают одиночное значение с осмысленной информацией. Несколько примеров агрегатных функций: COUNT(), SUM(), MAX(), MIN(), AVG() и ROUND(). 17. Что такое соединение (JOIN)? JOIN – это способ объединения строк из двух и более таблиц посредством общего столбца. 18. В чем отличие INNER JOIN от LEFT JOIN? INNER JOIN используется для объединения строк из двух таблиц, которые соответствуют условию ON. В конечный результат не попадают строки, не соответствующие условию ON. LEFT JOIN сохраняет все строки из первой таблицы, вне зависимости от того, есть ли для них совпадающая по условию ON строка во второй таблице. 19. Для чего нужны оконные функции? Оконные функции (windows functions) нужны в случаях, когда вы хотите сохранить значения своей исходной таблицы и параллельно отобразить сгруппированную или суммарную информацию. Они похожи на агрегатные функции, но не сокращают количество строк в результате, а объединяют и группируют их в несколько результатов. 20. Что такое индексы и для чего они нужны? Индексы – это мощный инструмент, который используется в фоновом режиме БД для ускорения запросов и выступает в роли справочной таблицы для данных. Они нужны для эффективного хранения данных и быстрого их получения, что может быть критически важным для успеха крупных технологических компаний, которые обрабатывают петабайты данных каждый день.
img
К декабрю 2015 года пользователям интернета был представлен «стабильный» в работе дистрибутив FreePBX 13. Новый интерфейс должен был наконец-то принять приятный, с точки зрения визуального восприятия вид в соответствии с требованиями фреймворка Bootstrap. Что изменилось и какие новинки ждут пользователей попытаемся рассказать в статье. . Основные изменения Как мы сказали ранее, большая часть изменений коснулась дизайна нового FreePBX 13. С точки зрения юзабилити, новые стили повысили удобство пользования администратором. Помимо прочего, новый интерфейс имеет адаптивную верстку, что позволяет компактно отображать его на мобильный устройствах, например на iPhone или iPad: Кнопки действий, такие как Submit, Reset, Duplicate и Delete были вынесены в плавающий при «скроллинге» страницы отдельный блок. Пользователи прошлой версии FreePBX оценят это преимущество, так как порой приходилось листать всю страницу чтобы сохранить настройки. Изменена навигация согласно требованиям bootnav. Пользователи оценят возможность поиска в «хедере» навигации интерфейса. Это удобно, например, когда в хотите быстро перейти в настройки внутренних номеров, набрав в строке поиска «Exten» - поисковик сам предложит вам возможные опции настройки Новые функции Новый функционал представлен в модулях Backup, Core, Paging, Framework и Time Conditions. Разберемся, что нового в каждом из этих модулей: Модуль Backup Появился автоматический мастер по созданию «бэкапов». Это позволяет быстро формировать задачи для создания резервного копирования FreePBX 13. Модуль Core Ускоренное создание внутренних номеров в режиме пошагового мастера. Модуль Paging Добавлен мультикастовый (multicast) paging. Это означает, что теперь сообщения можно отправлять напрямую на телефоны, без участия функционала пейджинга на IP – АТС. Телефоны слушают специальный широковещательный адрес, который может быть сконфигурирован в настройках EndPoint Manager . Безусловным преимуществом этого обновления является то, что пейджинг, по факту, теперь не является конференц – звонком, а является единичным SIP – вызовом. В организациях, где в paging группах находится большое количество телефонов, это значительно снижает нагрузку на PBX. Модуль Time Conditions Добавлена поддержка временных зон. Модуль Framework Консоль командной строки CLI ("fwconsole" – PHP приложение) заменена на "amportal", который является смесью PHP и bash. При ошибках, теперь вместо белого экрана система показывает ошибки библиотеки whoops. Все сегменты FreePBX поддерживают кодировку UTF - 8. Когда модули обновляются или выключены вручную, при попытке работы с таким модулем система покажет соответствующую информационную 404 ошибку. Полная локализация FreePBX включая java- скрипты. Измененный функционал Функционал следующих модулей был изменен: Модуль Usermanager Появилась возможность синхронизации учетных записей через LDAP Модуль Fax Настройка факса теперь внутри модуля управления пользователями (Admin –> User Management) Модуль Voicemail Из цикла настройки голосовой почты теперь исключены подключаемые файлы vm_email.inc и vm_general.inc (inc – include file). Теперь вся конфигурация объединена в файле voicemail.conf. Модуль Music on Hold Воспроизведение аудио – файлов в браузере согласно языку структурирования и разметки пятой версии – HTML5. Модуль Call Recording Reports Воспроизведение аудио в рамках HTML5 Модуль Find Me/Follow Me Настройка правил «фоллоу ми» теперь располагается не в отдельном пункте меню, а в настройка конкретного внутреннего номера. Модуль Framework Выполнение команды fwconsole chown вместо amportal chown при изменении владельца файла Ускоренное применение новой конфигурации, другими слова, скорость нажатия на кнопку Apply changes. Согласно тестам производительности, добавление 1000 внутренних номеров и применение конфигурации раньше занимало в среднем 6 минут, а сейчас 96 секунд. Модуль Sysadmin В 13 версии FreePBX для работы данного модуля требуется активация. Модуль System Recordings Модуль стал корректно работать с различными языками. Появилась возможность записывать аудио прямо в интернет - браузере Воспроизведение аудио по стандарту HTML5 Новые модули в FreePBX 13 В тринадцатой версии графического интерфейса FreePBX появились следующие новые модули: Sound Language - управление системными аудио – файлами. В модуле предусмотрена озвучка на русском языке. Например, теперь, если на SIP - транке есть какие либо проблемы, система озвучит это рядовому пользователю в понятной форме. VPN Configuration module (Beta) - настройка VPN сервера на IP – АТС. Bulk handler - модуль массового добавления внутренних номеров. Объединил в себе старые модули Bulk Extensions и Bulk DIDs. CEL Reports module - отчетность в рамках системы Channel event logging Устаревшие и неподдерживаемые модули Как было сказано ранее, модули Bulk Extensions и Bulk DIDs более не существуют и объединены в модуле Bulk handler. Помимо этого, функционал Camp On, отвечающий за автоматические звонки более не существует.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59