14 команд cmd, которые должен знать каждый пользователь

С чего начать

В первую очередь необходимо получить ROOT-права на своем гаджете. Только тогда можно будет использовать всем преимущества терминала. Но можно этого и не делать. Опишем инструкцию использования функцией:

Один момент, который хотелось бы отметить особо, существует Android Terminal Emulator увеличение памяти. Есть команда command rm, которая может удалить любые файлы (при наличии ROOT-доступа). Сделать такое не всегда возможно через стандартные средства. Последнее является дополнительным аргументом за получение полного доступа и установки терминала. Кстати есть и другие программы с такими функциями, например, busybox .

Запуск утилиты Fastboot

В зависимости от того что вы выбрали, скачали отдельно утилиту fastboot или выбрали adb run, запуск может отличаться!

Если скачали Отдельно Fastboot

Извлеките следующие файлы:

  1. adb.exe
  2. AdbWinApi.dll
  3. AdbWinUsbApi.dll
  4. fastboot.exe
  5. libwinpthread-1.dll

Переместите их на диск C:\ в папку Windows. Вам удалось установить ADB и Fastboot на ваш компьютер!

После того как Вы скачали и установили FastBoot, откройте на ПК программу «Командная строка».

пример запуска командной строки Windows

Пример установки ADB и Fastboot.

Если скачали ADB RUN

Если ваш выбор пал на фирменную программу ADB RUN, то запустите ее, наберите кнопку A и нажмите Enter.

Файлы которые необходимо прошить желательно разместить в одной папке с утилитой Fastboot.

XAFT не видит телефон

Вы подключили смартфон к ПК, но в программе он не отображается? Такое бывает.

Почему Xiaomi ADB Fastboot Tools не видит телефон:

  1. Windows не хватает системных файлов. Необходимо восстановить их, открыв командную строку от имени администратора. Введите в консоли команду sfc /scannow и нажмите Enter. По завершении процесса восстановления перезагрузите компьютер.
  2. Повреждён кабель USB. Когда кабель перебит, Fastboot Tools может не видеть телефон. Найдите другой кабель подключитесь с его помощью.
  3. Повреждение порта USB. Если замена кабеля не спасла, проверьте исправность порта USB, в который вставлен разъём, подключившись в другому USB-порту.

Суперпользователь root

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

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

Однако такие дистрибутивы как Ubuntu не создают суперпользователя при установке. Войти под пользователем root или использовать su не удастся. Права суперпользователя в этих дистрибутивах можно получить командой sudo
. Ее необходимо писать перед каждой командой, для которой требуются права суперпользователя. Например sudo nano /etc/fstab
. После первой команды sudo необходимо ввести пароль текущего
пользователя. Использовать sudo могут пользователи, состоящие в группе sudo или admin (в зависимости от дистрибутива Linux), что для первого пользователя Ubuntu выполняется автоматически при установке дистрибутива.

Method 2:

  • Launch Minimal ADB & Fastboot by navigating to the folder where it is located.
  • To begin, turn on USB Debugging on your phone and then connect it to your computer.
  • Type the following command into the terminal window and click Enter:

adb devices 

You should see something along the lines of:  xxxxxxxxx device detected.  After that, enter the command that follows after pressing Enter.

adb shell

Then, enter the command below. After inputting the command, press Enter.

recovery –wipe_data.If the command does not work, type and press Enter the following command:

wipe data

  • Your phone should restart and the restoration procedure should begin.
  • You can alternatively boot into recovery mode and complete the reset manually.
  • Enter the following command and click Enter:

adb reboot recovery

Что такое Fastboot Mode

На русском название этого программного инструмента звучит как «режим быстрой загрузки» и в случае с применением на ноутбуках в его задачу входит ускорение запуска операционной системы в обход BIOS и отладка софта. Компонент Fastboot не привязан к конкретной ОС, но чаще встречается именно на Android, и здесь его функционал уже иной. Во многом имеется сходство с более популярным Recovery. Говоря о Fastboot Mode, мы рассмотрим, что это такое на Android, поскольку пользователи чаще сталкиваются с данным режимом именно на смартфонах и планшетах. Инструмент Fastboot Mode является компонентом программного обеспечения, независимым от системы и применяющимся разработчиками для настройки приложений и переустановки ОС. Кроме того, возможности «Фастбут» могут быть использованы специалистами сервисов и опытными пользователями. Fastboot Mode в Android-устройствах реализован на аппаратном уровне. Программный код прописан в чипе памяти, в месте, защищённом от записи и чтения, что означает невозможность его повреждения.

Посредством инструмента обеспечивается доступ к системным элементам смартфонов и планшетов для управления ими с компьютера. Чтобы ПК или ноутбуком устройство, погружённое в данный режим, распознавалось, необходима установка драйверов для выполнения связи между девайсами, соответствующих модели смартфона. Рассматривая, что такое Fastboot Mode на Android, приведём перечень основных возможностей, доступных при активации компонента:

  • Резервное копирование и восстановление системы;
  • Переустановка операционки;
  • Изменение скрытых системных настроек;
  • Устранение неполадок в работе ОС;
  • Получение root-прав;
  • Установка компонентов;
  • Восстановление приложений;
  • Тестирование софта и пр.

Запускается Fastboot Mode раньше прошивки, он отличается автономностью, а это значит, что режим может быть использован даже при невозможности загрузки системы или её некорректной работе при серьёзных сбоях.

Установка ADB

На устройствах под управлением Windows, установите драйвер для вашего Android-устройства.

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

Для MacOS и Linux установка драйверов не требуется.

Далее потребуется установить Android SDK Platform Tools. Если вы используете , скорее всего SDK Platform Tools у вас уже установлен.

Установка ADB в Windows

Скачайте и распакуйте папку platform-tools на диск (рекомендуется в С:\platform-tools).

В системную переменную Path добавьте путь к распакованной папке, для этого:

  • перейдите в Панель управления – Система и безопасность – Система;
  • выберите пункт Дополнительные параметры системы;
  • нажмите кнопку Переменные среды;
  • в поле Системные переменные выберите значение Path и нажмите кнопку Изменить, чтобы добавить новое значение;
  • укажите путь к папке platform-tools содержащую adb;
  • перезагрузите компьютер.

Установка ADB в Linux

Чтобы установить SDK Platform Tools в Ubuntu выполните следующую команду.

apt-get install adb

или

sudo apt-get install android-tools-adb

Либо вручную скачать , распаковать на диск и добавить путь к распакованной папке с platform-tools в переменную среды $PATH.

Установка ADB в MacOS

Самый простой способ установить SDK Platform Tools на MacOS, используя Homebrew.

brew cask install android-platform-tools

Либо установить вручную.

Сперва удалите предыдущую версию android-platform-tools, если такая имеется.

rm -rf ~/.android-sdk-macosx/

Затем скачайте .

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

cd ~/Downloads/ unzip platform-tools_*.zip mkdir ~/.android-sdk-macosx mv platform-tools/ ~/.android-sdk-macosx/platform-tools

Добавить путь к platform-tools в переменную среды $PATH.

echo ‘export PATH=$PATH:~/.android-sdk-macosx/platform-tools/’ >> ~/.bash_profile

Обновите bash профиль или перезапустите терминал.

source ~/.bash_profile

Проверка ADB

Зайдите в консоль и введите следующую команду:

adb version

Если все сделали верно, в ответ в консоль будет выведена информация о версии ADB.

Как пользоваться программой

Вы можете подумать, что это ещё один установщик ADB/Fastboot. На самом деле, программа содержит множество инструментов в одном интерфейсе, которые называются модулями. Xiaomi ADB Flash Tools включает все основные функции традиционных инструментов ADB/Fastboot, только ориентирован на устройства Xiaomi, Redmi, POCO и имеет графический интерфейс.

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

Модули Xiaomi ADB/Fastboot Tools:

  1. App Manager (менеджер приложений) — удаляет, переустанавливает, отключает и включает встроенные приложения и службы. Телефоны Xiaomi обычно поставляются с несколькими приложениями по умолчанию, включая Mi Store, Mi Calculator, Mi Scanner, Mi Remote и т. д. Можно удалить любые из них.
  2. Camera2 — позволяет включать и отключать Android Camera2 API. Вы сможете устанавливать любые приложения камеры с ручным управлением и управлять электронной стабилизацией изображения EIS. Для работы с Camera2 нужно установить рекавери TWRP.
  3. File Explorer (проводник) — управление файлами, хранящимися в памяти телефона. Умеет копировать и вставлять файлы между смартфоном и ПК.
  4. Screen density (плотность экрана) — настройка значения DPI (количество точек на дюйм). Чем выше DPI, тем лучше картинка на экране. Чем он ниже, тем ниже качество изображения, но выше время работы устройства от батареи.
  5. Screen resolution (разрешение экрана) — настройка разрешения экрана путём переопределения значений ширины и высоты.
  6. Device properties (свойства устройства) — статистические данные и информация об устройстве.
  7. Flasher — это главная особенность XAF. Программное обеспечение может прошивать практически всё, что можно прошить через соединение ADB-Fastboot: Recovery ROM, Fastboot ROM и т. д. Эта функция также способна загружать любой образ.
  8. Wiper — очищает кеш или выполняет сброс настроек смартфона до заводских.
  9. OEM Unlocker & Locker — разблокирует загрузчик телефона, но только если он работает под управлением Android One (Mi A1 / Mi A2 / Mi A3). Эта возможность не работает на устройствах Xiaomi с оболочкой MIUI.
  10. ROM Downloader — получает ссылки на новейшие прошивки MIUI Fastboot ROM. Больше не придётся искать обновления вручную, утилита сделает это автоматически. Можно скопировать ссылку или загрузить ПЗУ напрямую.
  11. Rebooter — перезагрузка телефона из интерфейса утилиты без использования кнопок.

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

Если попытка удаления приложения приводит к сбою программы либо приложение не удаляется — это не ошибка программы. Это означает, что ADB не может удалить данное приложение и с этим ничего нельзя сделать.

Аналогичным образом, если процесс удаления не отображает результат (успех или неудача), это означает, что ADB ничего не сообщил, поэтому программа не может отобразить информации о результате удаление приложения.

Установка android tools (ADB,fastboot, QTADB) на Debian/Ubuntu/Linux Mint

Не знаете как установить fastboot на Ubuntu, Debian или Mint? Нужны  android tools для программирования под андроид и не знаете как установить их? То данная статья «Установка android tools (ADB,fastboot, QTADB) на Debian/Ubuntu/Linux Mint» именно для Вас. Я все расскажу и покажу, на готовых примерах  будет наглядно видно что и как нужно делать.

Если у вас есть Android смартфон, то вам нужно рано или поздно использовать некоторыми конкретными инструментами для Android, такими как ADB или fastboot. Эта статья объясняет, простые шаги, необходимые для установки Android инструментов, в том числе последней Android SDK на компьютере Ubuntu.

Для устройств Sony

Проверка подключения устройства Sony, если ответ 0.3 устройство, то тогда подключено:

fastboot.exe -i 0x0fce getvar version

Разблокировка bootloader Sony

fastboot.exe -i 0x0fce oem unlock 0xПолученый_Ключ

Более детальная информация по разблокировке Bootloader Sony — Как разблокировать Bootloader Sony.

Ошибка Waiting for Device

Если у вас долгое время в командном окне горит надпись waiting for device — значит:

  • Не установлен или некорректно установлен драйвер — переустановить или установить
  • Устройство Android не в режиме Bootloader — перевести
  • Некорректное подключение к USB порту — использовать задние порты USB 2.0 компьютера, не использовать USB хабы

Более подробно о данной ошибке «Waiting for Device» читайте в специальной посвященной этому статье Waiting for Device.

Как установить исправленный образ загрузки на устройство MediaTek

  • Установите SP Flash tool на свой ПК и запустите exe файл flash tool.
  • Как только SP Flash Tool загрузится, вы увидите экран с изображением мобильного устройства. Теперь нажмите на меню загрузки (см. Скриншот ниже)
  • Теперь на вкладке загрузки вы найдете опцию Download agent и scatter loading, теперь нажмите на Download Agent и MTK_AllInOneDA.bin (он находится внутри папки SP Flashtool -> SP_MDT)
  • На той же вкладке коснитесь в меню загрузки Scatter и загрузите файл Scatter, который находится в распакованном ZIP-архиве Stock ROM. (Если вы извлекли, вы найдете файл с именем MT6xxx_Android_scatter.txt) — MTxxxx здесь xxxx — это номер процессора MediaTek
  • Теперь загрузите файл MT6xxx_Android_scatter.txt
  • После того, как вы загрузили, убедитесь, что сняли все галочки, кроме bootimg
  • Теперь нажмите кнопку Скачать
  • Теперь, чтобы начать процесс перепрошивки, вы должны извлечь аккумулятор (только если аккумулятор извлекается или выключаться). Вставьте снова, удерживайте клавиши уменьшения громкости и увеличения громкости вместе и подключите телефон к ПК / ноутбуку с помощью кабеля USB (удерживайте громкость и Кнопка увеличения громкости, пока ваш компьютер не обнаружит телефон.)
  • Как только телефон подключится, начнется мигание, подождите несколько минут или две
  • После завершения перепрошивки вы увидите зеленую кнопку
  • Теперь вы можете закрыть SP Flash Tool, а также отключить телефон и перезагрузить компьютер, чтобы проверить, успешно ли рутировано ваше устройство.
  • Это оно! Теперь у вас должно быть рутированное устройство.

В некоторых случаях, если описанный выше метод не работает на вашем устройстве MediaTek, попробуйте метод быстрой загрузки ADB.

  • После извлечения средства быстрой загрузки ADB вы должны переместить исправленный загрузочный образ в ту же папку. Удерживая клавишу SHIFT, щелкните правой кнопкой мыши, чтобы открыть командное окно / PowerShell.
  • Выполните следующую команду в командной строке open.
    • Чтобы установить Magisk и получить root-права на ваше устройство Android, перепрограммируйте «patched_boot.img»: fastboot flash boot patched_boot.img
    • Для устройств с системой разделов A / B используйте следующие команды: fastboot flash boot_a patched_boot.img

      fastboot flash boot_b patched_boot.img

      Пожалуйста, замените с именем загруженного файла образа загрузки, за которым следует расширение .img.

  • Процесс перепрошивки начнется. Как только закончите, запустите fastboot перезагрузите компьютер

Как проверить, есть ли у вашего телефона рут без системы?

  1. Загрузите и установите приложение Magisk Manager APK и запустите его.
  2. Чтобы убедиться, что у вас есть системный root, проверьте верхнюю часть экрана и, если вы видите все опции с Green Tick, что означает, что вы успешно рутировали и обошли SafteyNet.

Итак, это все. Теперь, когда вы рутировали свое устройство MediaTek. Если у вас есть какие-либо вопросы по этому поводу, сообщите нам.

ADB, ADB run и Fastboot

Android Debug Bridge позволяет управлять Андроидом при помощи ПК. Это приложение устанавливается непосредственно на ноутбук или компьютер, который соединяется с мобильным устройством через USB кабель в режиме отладки. Затем после запуска
возможно выполнение специальных команд, позволяющих инициировать какие-либо действия с гаджетом.

Утилита позволяет выполнить такие действия
, как:

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

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

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

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

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

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

Передача данных между экранами

Увеличьте значения счетчиков на главном экране, а затем откройте экран «Share». Вы заметите, что значения экрана «Share» не совпадают со значениями на главном экране.

В MainActivity.kt измените showShareScreen() следующим образом:

С помощью этого кода вы сохраняете состояние DogCount в Intent. Здесь вы используете подход, аналогичный тому, что вы видели в предыдущем разделе. Да, этим вы передадите данные в ShareActivity, но вам все равно нужно добавить логику для их получения.

В ShareActivity.kt добавьте следующий метод:

Этот метод извлекает объект Intent, который запустил это действие, и пытается получить дополнительные данные, которые были переданы с ним. В этом конкретном случае он попытается получить состояние DogCount.

Чтобы завершить логику получения, вызовите этот метод в onCreate() в ShareActivity.kt:

При получении данных из Intent лучше всего это сделать в onCreate(). Таким образом, у вас будет время настроить состояние до того, как действие возобновится и пользователь начнет с ним взаимодействовать.

Супер! Запустите приложение. Увеличьте значения счетчиков и откройте экран «Share». Вы увидите что-то вроде этого:

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

Обратите внимание, как ОС создает ShareActivity сразу после вызова onPause() MainActivity. Как упоминалось ранее, приложение вызывает onStop(), когда активити больше не видна пользователю

После вызова onPause() MainActivity вы можете увидеть серию колбэков жизненного цикла ShareActivity, которые включают чтение intent данных. После возобновления ShareActivity полностью виден пользователю, и может быть вызвана функция MainActivity onStop(), за которой следует onSaveInstanceState().

Изучение жизненного цикла фрагмента

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

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

В предыдущем разделе вы поиграли с двумя активити и увидели, как меняется их жизненный цикл при перемещении между экранами. В этом примере вы реализуете те же экраны с фрагментами. Вы можете найти два фрагмента, которые представляют каждый экран в пакете фрагментов: MainFragment.kt и ShareFragment.kt. Также есть одна активити контейнера и пакет viewmodels. Пока не обращайте внимания на пакет viewmodels. Он понадобится вам в следующем разделе.

Если вы проверите MainFragment.kt, вы заметите много общего с MainActivity.kt. У них одинаковая логика управления состояниями, но MainFragment.kt содержит еще несколько колбэков жизненного цикла.

Перед запуском приложения откройте SplashActivity.kt и обновите startFirstActivity(), чтобы он запускал ActivityWithFragments вместо MainActivity:

Отлично! Теперь соберите и запустите приложение. Затем осмотрите логи.

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

После этого он создает и запускает фрагмент и его просмотр. Наконец, он возобновляет как активити, так и фрагмент.

Далее нажмите назад и снова наблюдайте за логами.

Закрыв приложение, вы запустили процесс уничтожения активити. Как и раньше, события жизненного цикла фрагмента следуют за событиями жизненного цикла активити. И активити, и фрагмент сначала приостанавливаются, затем останавливаются и, наконец, уничтожаются.

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

Заключение

Android Terminal Emulator — одно из лучших приложений в своём роде. Оно имеет небольшой вес и отличную функциональность

Ещё раз обращаем внимание — если вы не до конца осознаёте, что такое командная консоль Linux и для чего она предназначается, лучше займитесь изучением официальной документации

Вас устраивает работа этой прекрасной системной утилиты? Какие команды вы используете в своей работе? Будем благодарны за ваши ценные комментарии.

Name_device:/ $Где Name_device:/ это имя вашего смартфона (планшета)

su
— команда su дает вам права Root, права администратора, то есть можно выполнять с устройством после этой команды все (до этого нет), также вам необходимо получить root на ваше android устройство.

Примечание: До выполнения команды Su вы с правами гостя.Name_device:/ $Символ $ означает что Вы под гостем (т.е. ничего не можете делать)Name_device:/ #Символ # означает что вы RootПримерName_device:/ $ suName_device:/ #

pwd
– показывает текущий каталог, в котором вы находитесь.

ls
– команда показывает что находится в текущей директории, а именно файлы и директории.ПримерName_device:/ # lssystemdatamntbinитп…

ls -a
– команда показывает что находится в текущей директории, а именно файлы и директории, но со скрытыми файлами.Примечание: Скрытые файлы, в отличие от Windows выглядят как.Name (точка и Имя файла)

clear
— очистить экран терминала.

cd
– команда для перехода в какую либо директорию (каталог).ПримерName_device:/ # cd systemName_device:/system #Примечание: Директория или Каталог означает Папкаcd ..
— перейти в директорию уровнем выше

mkdir
— команда создает директорию (папку).ПримерName_device:/sdcard # mkdir androidПримечание: Папка Name и name это две разные папки

rm
– удаляетт файл.

rm -r
удаляет каталог (Примечание: если вы не укажете параметр –r выдаст ошибку о невозможности удалить каталог).ПримерName_device:/sdcard # rm -r dom

rm -rf
– удаляет файл и не выдает сообщения, если такого файла нет или нет прав на запись в него rm -rf – удаляет папки не выдавая сообщений.

cp
– копирует файл.

cp -r
копирует директорию.

mv
– переименовывает файл.ПримерName_device:/sdcard # mv android ANDROID

touch
– создание пустого файла.

cat
– выводит текст находящийся в файле.ПримерName_device:/sdcard # cat skazka

tac
— выводит текст находящийся в файле в обратном порядке (1 строка последняя, последняя первая).ПримерName_device:/sdcard # tac skazkaПримечание: если увидите перед строкой стоит знак # то параметр не обрабатывается

ps
– выводит Ваши текущие активные процессы.

mount
– монтирует (Подсоединяет).

umount
— размонтирует.

date
– выводит текущую дату и время.

cal
– выводит календарь текущего месяца.

uptime
— показывает сколько времени работает операционная система.

df
– показать информацию об использовании дисков.

free
– используемая память и swap.

free -m
— полный объем, использованный объем и объем свободной памяти в Mb.

du
— сколько места занимают ваши данные

halt
— быстрое и корректное выключение системы

chmod
— выставление прав доступа

Терминальные команды актуальны для всех ОС, построенных на базе Linux(Unix), в том числе и для Android.
Чтобы в ОС Android можно было использовать нижеприведенные команды, нужно получить
Root права
, установить
эмулятор терминала
и приложение
busybox
(именно в этом приложении содержатся все нижеприведенные команды).
Для того, чтобы вывести список всех поддерживаемых
busybox
«ом команд, нужно набрать в эмуляторе терминала команду
busybox
. Это и есть shell.

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Союз-Маркет
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: