Меню сайта
   Главная   
   Обо мне   
   Статьи   
   Дневник   
   Картинки   
   Файлы   
   Форум   
   Гостевая книга   

Категории раздела
Куклы и игрушки [60]
Личное [116]
Музыка [19]
Общее [304]
Японский язык [12]
ZX Spectrum [71]
Субмарины [98]
Настольные игры [34]
Го (碁) [11]
Книги [16]
Япония [26]
Таро [4]
Запертый шкаф [17]
CSA (КША) [15]
GNU/Linux [134]
Ubuntu [103]
Manjaro Linux [40]
Python [3]
Магнитольное [44]
Commodore64 [15]
Игровые приставки [2]


 
Дневник (2019 » Февраль » 16 в 14:55)
GNU/Linux Да пребудет с тобой Сила консоли!

LINUX
Format
LXF238
Моя публикация в одном из последних выпусков журнала за июль 2018.

Да пребудет с тобой Сила консоли!

Краткий курс начинающих Джедаев в исскустве владения терминалом.


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

Как войти в терминал?

В ubuntu это комбинация клавиш Ctrl+Alt+T , в других дистро F12 или другая. Эмулятор терминала для графической среды всегда можно найти в меню системы или вбить в поиск что-то вроде term, konsole, yakuake , итд.

Эмулятор терминала подерживает копипасту, перетаскивание имён файлов мышью, и запоминает некоторое количество последних введённых вами команд, которые удобно искать по комбинации Ctrl+R или перебором клавишами курсора вверх-вниз. Таким образом наиболее часто используемые команды всегда у вас под рукой за считанные нажатия клавиш.

Она вовсе не страшная!

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

Часто используемые команды вы будете без труда доставать из истории команд, которая хранится в файле ~/.bash_hist

Чем он может быть полезен?

Что же можно делать в консоли не системному администратору или программисту, а простому пользователю рабочей станции?

Ниже мы обсудим такие прикладные задачи, как:
  1. Поиск огромных старых файлов;
  2. Операции над группой файлов по признаку;
  3. Ресайзинг изображений и исправление «ориентации» лежащих на боку фотографий;
  4. Быстрый просмотр прямо в консоли прогноза погоды,
  5. Генерации QRcode, (например чтобы оперативно передать на любой смартфон ссылку),
  6. Калькулятор чисел;
  7. Скачивание видео с youtube или онлайн просмотр без браузера локальным видеоплеером smplayer;
  8. Конвертация регистра (UPPERCASE <> lowercase) текста в буфере обмена;
  9. Запись iso-образа на флешку;
  10. Управление воспроизведением аудиопроигрывателя Clementine;
  11. Удобная работа с конфигами в связке tmux + vim;
  12. Планирование выключения ПК в заданное время (^_^)

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

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

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

Итак, мы начинаем.

* * *

1) Поиск огромных или старых файлов

Чтобы найти все файлы размером от 1Гб в текущем каталоге и во всех вложенных, перейдите в нужный каталог и введите в одну строку:

find . -type f -size +1G -exec ls -lh {} \; | awk '{ print $9 " " $10 ": " $5}'

Команда find осуществляет поиск файлов и выполнение другой команды над найденными. Точка . после команды — путь начала поиска, -type f -size +1G указывает, что ищутся объекты типа файл, размером от гигабайта и выше, значение можно варьировать под ваши нужды. Например в мегабайтах: 900M . После -exec идёт команда или целый конвеер, как в данном случае awk выводит только отдельные колонки вывода ls .

Поиск документов LibreOffice, созданных месяц назад:

find . -type f -atime 30 -name "*.odt" -exec ls -s {} \\;

* * *

2) Операции над группой файлов по признаку

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

find . -type f -name "*.back" -exec rm -f {} \\;
ВНИМАНИЕ! Советую обращаться с этой командой крайне осторожно, чтобы не потерять важные данные! Например, сперва просто найдите все самые огромные ненужные файлы, и убедившись, что важных среди них нет, замените после -exec вывод на удаление, как в примере выше.

* * *

3) Ресайзинг изображений и исправление «ориентации» лежащих на боку фотографий

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

Уменьшить все изображения jpg в текущем каталоге до 1300х1300 пикселей можно так:

time mogrify -path resized -filter Triangle -define filter:support=2 -thumbnail "1300x1300>"
-dither None -quality 75 -define jpeg:fancy-upsampling=off -interlace None *.jpg
Команда time в начале необязательна — она подсчитывает затраченное время на выполнение конструкции после неё. Иногда это может быть полезно. Прочие параметры оптимальны и найдены мною путем проб и ошибок, и чтения документации.

Разберём подробней:

-filter Triangle билинейная интерполяция -define filter:support=2 задать область соседних пикселей -thumbnail 1400 размер картинки -dither None Дизеринг (Dithering) – процесс, который смягчает последствия уменьшения количества цветов, добавляя шума в цветовые наборы, чтобы создать иллюзию большего количества цветов. -quality 82 настройка качества jpg. В итоге я понизил до 75 -define jpeg:fancy-upsampling=off Эту настройку convert игнорирует, использовать mogrify! On - улучшает качество, но увеличивает вес. -interlace none Прорисовывать последовательно, не прогрессивно!

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

jhead -autorot *.jpg
* Предварительно установите эту утилиту в систему.

* * *

4) Просмотр прогноза погоды

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

curl wttr.in/SPb
curl wttr.in/Msk
curl wttr.in/Нью-Йорк

Узнать текущую фазу луны:

curl wttr.in/moon
Чтобы не вводить каждый раз название города, можно добавить в ~/.bashrc алиас для него:

alias wttr="curl wttr.in/CITY_NAME", и вызывать просто wttr .

А ещё с помощью этой команды можно узнать свой внешний IP адрес:

curl ipinfo.io
* * *

5) Генерация QRcode

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

 curl qrenco.de/"Ваш текст"
В консоли будет показан QR-код из символов псевдографики. Для создания QR-кодов сервис qrenco.de использует библиотеку libqrencode.

Если установить эту библиотеку, то можно будет сгенерировать QR-код локально, не отсылая приватную информацию в сеть:
echo "Ваш приватный текст" | qrencode -t UTF8

* * *

6) Калькулятор чисел

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

Самый простой способ, использовать интерпретатор языка програмирования Python, установленного по умолчанию в любом Linux дистрибутиве. Просто введите python и вычисляйте, используя обычные операторы +-*/ и скобки. Для выхода нажать Ctrl+D .

Более сложные, но интересные решения:

Калькулятор в bash без внешних утилит. Но не понимает дробных чисел.

echo $((15+25))

Передача расчётов в точный калькулятор bc:

echo "3.14+(12.56/2)" | bc -l -q
Тоже самое c передачей в python:

echo "print(3.14+(12.56/3))" | python3
Python-вариант без конвейера:

python3 -c "print(3.14+(12.56/3))"
Обращаясь к питону можно производить и более сложные вычисления, например вывести число Пи до 15й цифры после точки:
echo "import math;print(math.pi)"|python3

* * *

7) Скачивание видео с youtube или онлайн просмотр без браузера

Допустим возникло у вас желание скачать видео с ютуба, чтобы просмотреть в офлайне или сохранить от удаления. Для этого обычно идут на какой-либо онлайн сервис или ставят плагин в браузер, например savefrom.net. Но есть и третий linux-метод, если у вас ссылки на ролики списком, то он может быть удобнее, так как не придется ничего кликать. Программа youtube-dl справляется с большими видеофайлами, сама распихивает их по подходящим контейнерам.

Установка для ubuntu требует подключения репозитория (в одну строку):

sudo add-apt-repository ppa:nilarimogard/webupd8
Обновляем базу и устанавливаем:
sudo apt-get update
sudo apt-get install youtube-dl

В Arch и Manjaro Linux не нужно содержать зверинец репозиториев, поскольку все есть в общем пользовательском репозитории AUR. Поэтому установка там проще:
sudo pacman -S youtube-dl
Пример использования. В текущей папке будет сохранено видео по ссылке:

youtube-dl https://youtu.be/TuXjea8Q5wc 

Вот так всё просто.

Или вот другая ситуация. Вы хотите просмотреть видео с ютуба (впрочем почему именно с него, можно выдрав ссылку смотреть вообще с любого сайта) не в браузере а в любимом видеоплеере, если он поддерживает онлайн просмотр. Например mpv или smplayer , который поддерживает сохранение скриншотов и покадровую перемотку. Достаточно в консоли ввести:

smplayer https://youtu.be/TuXjea8Q5wc

Вот так просто. Кстати совершенно без рекламы и инфоблоков, даже если у вас не установлен adblock. Сила в консоли!

* * *

8) Конвертация регистра (UPPERCASE <> lowercase) текста в буфере обмена

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

Punto Switcher в Linux нет, но вы можете преобразовать буквы в строке в строчные или ЗАГЛАВНЫЕ можно используя такие средства, например как: tr, awk, sed, sh, perl, python, ruby. Чтобы не перегружать вас уроком програмирования, мы рассмотрим примеры только на Python. Я приведу решение прикладной задачи, как перевести фрагмент текста в буфере обмена в заглавные или строчные буквы. Введите такую строку:

A=$(xclip -o);echo `print("$A".upper())` |python3 | xclip -sel clip
Почему-то сейчас перестало работать, пришлось менячть экранирование ковычек:
A=$(xclip -o);echo "print('$A'.upper())" |python3| xclip -sel clip

Перед (!) её выполнением, скопируйте в буфер обмена по Ctrl+C какую-либо фразу маленькими буквами и после этого выполните команду.

Попробуйте вставить скопированный текст из буфера обмена CTRL+V — весь фрагмент изменил регистр на заглавные буквы! Теперь его можно наоборот уменьшить, заменив upper на lower:
A=$(xclip -o);echo "print("$A".lower())" |python3 | xclip -sel clip

Да, xclip необходимо предварительно установить:
sudo apt-get install xclip pastebinit # Ubuntu
sudo pacman -S xclip pastebinit # Manjaro, Arch

Теперь при необходимости изменить регистр текста, просто скопируйте его в буфер, и найдите в истории консоли одну из двух команд по CTRL+R по ключевым словам upper и lower. Вот типичный пример магии консоли!

Кстати использовать буфер обмена вовсе необязательно, хоят и очень удобно. Тоже самое можно делать вводя прямо в консоли:
echo "print('ЗАГЛАВНЫЕ'.lower())" |python3
echo "print('строчные'.upper())" |python3

Кстати, а вы ещё не задумывались о том, что уже умеете писать простые программы на языке програмирования Python? (^_^)/

* * *

9) Запись iso-образа на флешку

Наверняка у вас возникала потребность сделать загрузочную флешку из iso-образа.

Сделать это в консоли просто, но нужно соблюдать осторожность, чтобы не записать образ мимо флешки, затерев другое устройство. Просто будьте осторожны. Для этого посмотрите, на какое устройство встала флешка в системе. Есть две команды для этого: lsblk или sudo blkid .

Если для вас это сложновато, то исполните эту команду ДО вставки флешки, и затем ПОСЛЕ. Тогда сразу увидите, кто новенький. Итак допустим, что флешка появилась на /dev/sdf .

Для удобства переходим в папку с образом используя команду cd имя_каталога. Кстати, достаточно вводить только первые буквы имени каталога и нажимать клавишу TAB для автодополнения , чтобы не вводить всё вручную. Это тоже Сила консоли.

Запись image.iso на флешку sdf используя утилиту pv для отображения прогресса в Ubuntu:

sudo pv image.iso | sudo dd oflag=direct of=/dev/sdf bs=1M;sync 

В Manjaro Linux прогресс отображается встроенными средствами dd:
sudo dd bs=4M if=image.iso of=/dev/sdf status=progress && sync 

Главное контролируйте куда у вас указывает of= и все будет хорошо!

* * *

10) Управление воспроизведением аудиопроигрывателя Clementine.

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

Команды очень легко запоминаются:
clementine --play
clementine --pause
clementine --stop
clementine --prev
clementine —next

Эти и другие возможности можно достать через именованные обращения qdbus . Вот пример обращения используя одну из команд воспроизведения: Play, Pause, Pause, Stop, Next, Prev:

qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.Pause

Это конечно сложнее запомнить, чем простые команды самой Clementine, и я привёл их больше для примера. Хотя pause этого метода не только ставит, но и снимает с неё в отличие от метода самой Clementine.

Также qdbus позволяет управлять громкостью звука воспроизведения. Например ставим 50 и 100 процентов громкости:

qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.VolumeSet 50
qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.VolumeSet 100

Также в консоли можно узнать информацию про текущий воспроизводящийся трек (ID3 тэги и расположение файла):
qdbus org.mpris.clementine /Player org.freedesktop.MediaPlayer.GetMetadata

* * *

11) Удобная работа с конфигами в связке tmux + vim

Внутри терминала есть свои текстовые редакторы. Если освоив описанные выше приёмы работы вы захотите улучшить своё консольное кунг-фу, то настоятельно рекомендую отложить в сторону любимый gedit, medit, kate или другой, и овладеть базовыми навыками работы в текстовом редакторе не покидая терминала.

Пожалуй самым простым выбором будет mcedit из пакета mc (Midnight Commander), затем nano, и самый сложный, но и самый интересный это vim, которым так любят пугать на ночь непослушных системных администраторов.

Если вы решитесь попробовать, рекомендую прочитать хабростатью habr.com/post/331600 где подробно описаны основные приёмы работы в vim и nano.

Здесь же кратко отвечу на самый популярный вопрос в google по vim. Выход из редактора осуществляется набором :q! ( двоеточия и буквы «q» с воклицательным знаком и нажатием на Enter ).

Важно запомнить, что vim имеет два режима: бибикать и всё портить командный и модальный. В первом вводятся команды, во втором режиме правится текст. Вход в модальный режим по a ,i . После правки всегда нажимайте Esc , чтобы вернуться в командный режим. Выход из vim с сохранением осуществляется из командного режима (не забудьте про двоеточие и enter!) :wq enter .

На что способен Vim:

  • В Vim заложен огромный потенциал, но вы можете использовать его просто для изменения конфигурационных файлов.

  • С плагинами Vim может использоваться как полноценная интегрированная среда разработки (IDE).

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

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

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

  1. Правка файлов вашего сайта на хостинге и вообще любая работа с удалённым сервером или рабочей станцией по протоколу ssh и scp . Слева ваш локальный каталог, справа удалённый.

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

  3. Изучение работы программы по её мануалу. Например слева man find , а справа пробуете find на практике. Пожалуй для новичка это главный повод использовать tmux .

Установка:

sudo apt-get install tmux # Ubuntu
yaourt -S tmux # Manjaro

После запуска внизу экрана появится зелёная строка с именем сессии, указывающая на то, что tmux запущен. Используйте следующие горячие клавиши для управления:

Ctrl+b % — разделить окно по вертикали Ctrl+b " — разделить окно по горизонтали Ctrl+b и курсор — перемещение между субокнами.

Ctrl+b d — отключиться и выйти в обычный терминал. После этого по команде tmux attach можно вернуться ко всем раннее открытым окнам.

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

Запускаем tmux и бьём экран по вертикали на два: Ctrl+b %

В левом окне создаём файл в редакторе vim: vim test.py

Нажимаем a для входа в модальный режим и вводим нашу программу:

#!/usr/bin/python3
# coding: utf-8
a="ЗАГЛАВНЫЕ БУКВЫ" print(a.lower())

Нажимаем Esc для возврата в командный режим редактора, и сохраняем программу в файл :wENTER (двоеточие, w, энтер!).

Нажимаем Ctrl+b и курсор ВПРАВО для перемещения в правое окно, запускаем наш код: python3 test.py Наслаждаемся результатом.

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

sudo apt-get install inotify-tools # Ubuntu
yaourt -S inotify-tools # Manjaro

После этого в правом окне запускаем следующий скрипт в одну (!) строку:

n="test.py"; while true; do inotifywait -qqe close_write $n; 
pkill -f "python3 $n"; clear;python3 $n;done

Перемещаемся в левое окно по Ctrl+b и курсор ВЛЕВО . Всё ещё находясь в редакторе vim c нашей программой, вновь сохраняем её по :wENTER. В правом окне программа немедленно автоисполняется. И так при каждом сохранении.

Можете теперь изменить её, введя слово маленькими буквами, и заменив имя функции .upper на .lower , и сохранившись, посмотреть на результат.

Прервать бесконечное выполнение кода в правом окне можно по Ctrl+C .

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

* * *

12) планирование выключения ПК в заданное время (^_^)

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

Выключение ПК через промежуток времени с уведомлением:

sudo shutdown -h +15 "Компьютер будет выключен через 15 минут"

Выключение в заданное время:
sudo shutdown -h 23:00

Выключение прямо сейчас:

sudo shutdown now

Но если всё совсем плохо, то воспользуйтесь моментальным аварийным выключение ПК вшитой в ядро комбинацией:

Ctrl+Alt+Print+O (O - латинская)

Заключение

Tерминал — универсальный и мощный инструмент работы в Linux. Вы можете узнать больше полезных команд здесь: commandlinefu.com . А на explainshell.com можно разложить сложную строку на составляющие, чтобы понять её работу.

В качестве послесловия приведём ещё несколько самых разных скриптов, которые могут вам пригодиться:

Полезные команды:

Если вам нравится, чтобы курсор был внизу, его можно переместить на строку 53 в нулевую колонку:
clear;tput cup 53 0

Генерация пароля в 10 символов: 

strings /dev/urandom | grep -o "[[:alnum:]]" | head -n 10 | tr -d "\\n"; echo

или так:

tr -dc a-zA-Z0-9 </dev/urandom | fold -w 10 | head -1

Температура ЦП:
echo $(( $(cat /sys/class/thermal/thermal_zone0/temp)/1000))

Вывод конфига без закоментированных решёткой # строк.
sed "/^[^#]/!d" /etc/ssh/sshd_config

Рекурсивная замена содержимого всех файлов по маске, заменяет слова "было" на "стало":
sed -i "s/было/стало/g" `find . -name "*.txt"` 

Секундомер отсчёт с нуля:
echo "";zero=`date +%s`; echo -n 0; while sleep 1; do echo -ne \\\r; 
expr `date +%s` - $zero | tr -d \\\\n; done

Развлекательные команды:

Смотреть Звёздные Войны в терминале:

telnet towel.blinkenlights.nl

Бессмысленная команда «копировать из неоткуда вникуда». Грузит ЦП и память, как – можно посмотреть в htop под tmux:

cp /dev/urandom /dev/null

Как гарантированно переполнить диск: в фоне непрерывно записывать в file случайные символы из /dev/urandom:

cat /dev/urandom > file &

Генерация квадрата из случайных символов:

tr -dc a-zA-Z0-9 </dev/urandom | fold -w 60 | head -30

Повторить команду N раз:
for n in {1..5}; do echo "Я НЕ БУДУ КАТАТЬСЯ НА СКЕЙТЕ В КОРИДОРАХ"; done

Убить текущий процесс, то есть сам эмулятор терминала:
kill $PPID 

Русская рулетка в терминале:
[ $[ $RANDOM % 6 ] == 0 ] && echo dead || echo live! 

Экранная заставка Матрица (требует установки одноимённого пакета):

cmatrix

P.S. Да пребудет с Вами Сила!


Категория: GNU/Linux | Просмотров: 534 | Добавил: harushima | Рейтинг: 0.0/0 |
Всего комментариев: 0.
В целях защиты от спама, добавлять комментарии могут только зарегистрированные пользователи. Если Вы не хотите регистрироваться под своим именем, войдите под логином: anonymous, паролем: anonymous.   ( Регистрация,   Вход).
Авторизация
Анонимный вход:
anonymous / anonymous

Календарь
«  Февраль 2019  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728

Поиск

Облако тэгов
JGSDF игрушки Брюнетки Кладбище сайты Ярость Дракулы Древний Египет девушки кошки Cthulhu Вампиры Kitsune Ужас Аркхема инструмент комиксы Lovecraft готика Submarine submarine rc toy Hosting игротека Ужас Аркхэма book uboat мобильная связь го Edgar Poe swf Mansions of Madness Nightmares персоны Synergy linux-hardware bash youtube Storages Python Мастер-рукожоп Магнитофоны Entropy Grub2 loglevel WiFi Beeline ОПСОСЫ sharp939 Аудиокассеты Windows linuxwork Хочуны ImageMagick топБарыг C64c Commodore

Статистика
Яндекс.Метрика
Онлайн всего: 2
Гостей: 2
Пользователей: 0

Page QR code


Перепечатка материалов сайта без активной ссылки запрещена. Следить за RSS
(c) hermitlair.ucoz.com 2009-2024
Лучший браузер!
Блокировка рекламы