Pull to refresh
  • by relevance
  • by date
  • by rating

nushell — современный shell, сочетающий Unix-конвейеры и объекты в духе PowerShell

Флант corporate blog Open source *System administration **nix *Shells *
На днях был представлен проект nushell (краткое название — Nu). Он появился благодаря идеям из «философии классических конвейеров в Unix, подхода со структурированными данными из PowerShell, функционального программирования, системного программирования и так далее». На GitHub проект лаконично описан как «современный shell эры GitHub, написанный на Rust».

Читать дальше →
Total votes 27: ↑25 and ↓2 +23
Views 6.9K
Comments 14

Новые скриншоты Cairo Shell

Development for Windows *


Я очень заинтересован в проекте, который находится в стадии девелопмента, и только через 6 недель выйдет в альфа версию, Cairo Shell.

Напомню, ребята пишут шелл для винды — делают и рабочий стол, и свой эксплорер (много содрано из мака). Например реализуют аналог Leopard Spaces. Старенький скрин.

Эксплорер кстати выглядет примерно так.

Многие считают что проект их никогда не будет завершен (некоторые скрины вовсе не скрины, а концепты). Что ж, на это есть основания — сроки выпуска версия не предоставлены, все посты на новостной странице.

Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Views 792
Comments 22

Shell — секретное оружие Unix :)

Lumber room
Как я уже написал как-то:
если не хотите знать про коммандную строку, то в линуксе вам делать нечего. Будет вам та же винда, только вместо одних проблем получите другие…
--comment605950


С другой стороны, как раз в shell заключается одно из кардинальных отличий Unix-систем, то, что делает эти системы открытыми

В чем же основные особенности Unix shell, которых нет в Windows?
  1. Весь процесс конфигурации и администрирования Unix построен на работе с текстовыми файлами. Shell — это полноценный язык программирования, заточенный для манипуляции строками и работы с тектсовыми файлами. К тому же, именно как расширение возможностей shell по обработке строк и возник Великий язык PERL!.
  2. Благодаря п.1 shell — это отличный инструмент для постепенного изучения самой операционной системы.
  3. Наличие shell способствует реализации важного принципа создания любых программ:
    Если это простая программа, которая предназначена для выполнения ограниченного числа операций, ее нужно реализовывать как набор команд, родных для платформы, на которой она работает (как правило, платформой является ОС). Если же имеем дело со сложной интерактивной программой с потенциально неограниченным набором операций — ее нужно реализовывать как язык опять же на родном для платформы носителе (сейчас наиболее родным и удобным носителем при взаимодействии с компьютерами все же является текст, а не звук, графика или что-либо еще).
    Примерами 1-го и 2-го подхода могу служить tcpdump, реализованный полностью в текстовом режиме, над котором не представляет труда надстроить интерфейс (по сути, Ethereal — и есть подобный интерфейс), и emacs — самый расширяемый текстовый редактор.
    В этом проявляется основное отличие философии Unix и Windows: в Win интерфейс програм по умолчанию делается на графическом языке, из-за чего программы практически невозможно сопрягать или строить на их основе новые. Потому что для этого нет поддержки на уровне ОС. И для того, чтобы сделать программы расширяемыми, все равно приходится использовать текст (пример — тот же VBA в Word и Excel).
  4. Автодополнение команд и, что самое главное, путей. Трудно даже представить, сколько времени и сил экономит эта небольшая возможность!
  5. Полный набор утилит для всех возможных задач администрирования.


Стоит также перечислить утилиты shell, которые обязательно нужно использовать в повседневной работе с системой:
  • man — это справка по ОС, которая включает не только описание работы всех команд, но также и что должно быть в большинстве из конфигурационных файлов, а также много другой полезной информации;
  • less — просмотр текстовых файлов;
  • grep (программистов, не знающих о grep, не берут на работу в Amazon.com :);
  • locate — быстрый поиск файлов.


а еще можно вспомнить группы утилит, использование которых намного удобнее и эффективнее их графических аналогов:
  • настройки сети (позаимствованные Windows);
  • управления пакетами;
  • управления пользователями;
  • монтирования томов...


Можно только повториться, что для тех, кто не хочет работать в shell, Linux или другая Unix-based ОС — во многом такая же неудобная и непонятная система, как и Windows. Но стоит все-таки попробовать разобраться с shell — хотя бы для того, чтобы посмотреть, как правильно администрируются информационные системы.
Total votes 25: ↑20 and ↓5 +15
Views 1.3K
Comments 31

kiosk-type windows shell или как окружить сотрудников заботой и пониманием

Lumber room
Не так давно один мой хороший знакомый попросил заблокировать на своих рабочих компьютерах все программы, кроме одной и это был не эксплорер :).

Попробавал заблокировать запуск всех программ кроме нужной через политики — но explorer по горячим клавишам все равно запускался, а ведь с его помощью можно много чего натворить при желании.

Попробовал заменить windows shell — поставил запуск той нужной программы вместо explorer.exe. Но выяснилось, что во-первых нужная программа работает в графическом режиме, и direct-x, похоже, не успевал инициализироваться и программа жаловалась на его отсутствие. Также, при выходе из программы, пользовательская сессия не заканчивалась.

Я все еще надеялся решить задачу подручными средствами.

Следующим этапом был бат файл с запуском нужной программы и logoff.exe после — для того, чтобы при выходе из программы сессия закрывалась. Все вроде бы как ничего — но во-первых, программа продолжала жаловаться на отсутствие директ икса (хотя потом запускалась), во-вторых, даже запустив батник в минимизированном состоянии, его окно было видно — можно его прервать, т.е. пользователь мог при желании поучаствовать в процессе и создать проблемы, что в общем-то недопустимо.

Попробовал вижауал бейсиковый скрипт — но для его запуска нужно запускать эксплорер со всеми вытекающими обстоятельствами (возможно можно как-то без эксплорера, но я не нашел как).

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

В качестве орудия написания скачал последнюю с++ экспресс вижуал студию, сваял програмку.

Выяснилось, что если сразу сходу запускать графическую программу, она также жалуется на отсутствие direct-x, а вот если запускать ее из меню — она запускалась молча и с удовольствием.

Понес ставить этот shell на компы — обнаружил, что код скомпилирован под .net — а ставить его только для моей микро программы я посчитал кощунством. Прийдя домой и порывшись в настройках вижуал студии я понял, что получить чистый win32 код я не смогу — я ж жеж вообще php программер и особого влечения к программирования толстых решений для мелкомягкой платформы просто нету.

Не особо расстраиваясь я решил сделать то-же самое на win32 api с помощью старой доброй вижуал студии 6.0. Заодно решил добавить немного удобств для себя, любимого — например, конфигурирование списка разрешенных программ через реестр (файл защитить от изменений сложнее), т.е. все настройки этого шелла хранятся в глобальном разделе реестра, недоступном для изменения для простых смертных. Также думаю повесить хук на запуск программ (если какой продвинутый пользователь запустит игру в карты через окно диалога открытия или сохранения файла) и либо прерывать неразрешенные процессы либо не давать им запускаться вовсе — еще не разбирался, как правильней/проще сделать). Еще думаю разобраться с копированием файлов через диалог открытия или сохранения файла — блокировать их тоже, в общем. Также нужно по идее запретить монтировать устройства простому пользователю.

В общем закат солнца вручную :)

Может кто уже решал подобные задачи? вот чувтвую, что решается в три пинка, а я тут развел бог весть что уже.
Total votes 17: ↑13 and ↓4 +9
Views 668
Comments 28

Бекапим сервер

Lumber room
Нередкая это задача, но делается довольно просто!

Приступим:

1) бэкап мускула

Для этого есть очень хорошая утилитка “mysqldump”, она входит в состав мускула. (если вы юзаете lampp то она лежит в “/opt/lampp/bin/mysqldump”)

Вобщем набиваем в консоли примерно следующее:
mysqldump –all-databases > /mysql.12.12.2008.dump


эта команда забекапит все базы данных в файл “mysql.12.12.2008.dump” в корне! на самом деле пишем любой удобный путь! Если вы не рут то нужно указать логин/пароль с помощю –user логин –password пароль

Приготовьтесь, это может занять серьёзное количество времени если бд приличного размера.

Фишка может не работать, если в какой-нибудь из бд есть ошибки…

Кстати говоря можно подойти к проблеме немного подругому и не бекапить все базы, а каждую отдельно, плюс если в какойто из них есть ошибки то мы узнаем в какой, делается так:
Читать дальше →
Total votes 17: ↑11 and ↓6 +5
Views 798
Comments 19

Несколько буферов обмена в Linux

Lumber room
Захотелось сделать так, чтобы можно было сохранять хоткеями выделенный текст в несколько разных буферов обмена. А потом также хоткеями вставлять текст оттуда..
Читать дальше..
Total votes 65535: ↑32767.5 and ↓32767.5 0
Views 808
Comments 6

Практикум Silverlight: Начинаем работать с Composite Application Library

.NET *

Для кого эта статья



Данный пост будет интересен для вас если:

  1. Вы нацелены на развитие
  2. Вы работаете с RIA средой, такой как Silverlight (так же WPF)
  3. Если вы уже где-то слышали такие слова как Composite Application Guidance, Composite Application Library
  4. Вы заинтересовались статьей Павла ИвченковаСоздание приложения на WPF с использованием принципов TDD 
  5. Вам было интересно прочитать статью AcervUse Case Driven Development и Composite UI Application Block

Читать дальше →
Total votes 33: ↑22 and ↓11 +11
Views 1.6K
Comments 13

Twit. Продолжение.

Social networks and communities
Начало.
Исправляю предыдущий вариант скрипта. Теперь буду проверять ответ от сервера твиттера, чтобы убедиться в доставке сообщения. Само сообщение будет приниматься из stdin.
Читать дальше →
Total votes 1: ↑0 and ↓1 -1
Views 163
Comments 4

alias hint

Configuring Linux *
Хочу поделиться простым, но очень полезным хинтом для ваших aliases, который я заметил у gark87

Задача:
Сделать, чтобы во всех ваших оболочках были одни и те же aliases, и чтобы при добавлении нового не пришлось править пачку файлов.

Решение:
1. Выносим все alias в файл ~/.alias
2. В ~/.bashrc, ~/.zshrc и т.п. пишем: . $HOME/.alias # перед $HOME стоит точка и пробел
Total votes 25: ↑17 and ↓8 +9
Views 2.4K
Comments 17

Хакерский квест

Entertaining tasks
image

Недавно обнаружил в сети очередную убивалку времени. На этот раз вашему вниманию предлагается интересный хакерский квест, сделанный с юмором. В рунете упоминания о нем практически не встречаются. Состоит из 5 «разгревочных» уровней и 50 посложнее, для прохождения которых придется применить знания из самых разных областей.

После решения первых 5 уровней предоставляется возможность зарегистрироваться и получить в качестве приятного бонуса shell аккаунт на сервере с Debian Lenny. Дисковая квота до 2 Гб, подробнее про сервер можно узнать тут.

Желаю удачи :)
Total votes 59: ↑54 and ↓5 +49
Views 5.2K
Comments 339

Использование bash completion в командной строке, собственных скриптах и приложениях. Часть 1

System administration *
Часть 2

Системный администратор — человек ленивый. Обычно он старается сделать максимум работы, приложив минимум усилий, а для этого зачастую требуется автоматизировать многие рутинные процедуры. Например — набор полных имен хостов при создании ssh-соединения, или же длинных аргументов некоторых команд :)

Сегодня я попробую рассказать про использование такого функционала шелла как bash completion.
вам интересно?
Total votes 58: ↑54 and ↓4 +50
Views 42K
Comments 43

grep в Windows? Легко!

System administration *

grep


Многим любителям шела нравится чудная команда grep.
К сожалению, windows нативно не имеет такой команды, по этому некоторые ставят себе наборы различных консольных утилит в *nix стиле, включая grep.

Мне, как любителю посидеть в консоли Windows очень мешало отсутствие грепа, по этому мои скрипты под Win всегда были не так хороши, как могли бы быть. Но мои скрипты должны работать на любой (ну, или почти на любой) Windows, так как же быть?
Читать дальше →
Total votes 72: ↑58 and ↓14 +44
Views 129K
Comments 85

Cairo shell теперь OpenSource

Lumber room
Буквально 12 часов назад, в официальном блоге Cairo shell, было объявлено о переходе проекта в статус OpenSource. Был открыт git репозитарий на github.com.
Для тех кто незнает, отмечу, что Cairo Shell является альтернативной оболочкой для ОС Windows Vista и Windows 7. Windows XP официально не поддерживается и на ней не проводятся тесты.

В настоящий момент, можно скачать публичную альфа версию Milestone 1.9 от 22 сентября. К сожалению, в ней нету основных «киллер» фич, таких как: динамический рабочий стол и несколько рабочих столов. В альфа версии присутсвует красивая панелька, трей, а также таскбар и поддержка тем (которых пока нет).

Ссылки:
Официальный сайт
Новость в блоге
Обсуждение в форуме
Проект на github'е
Total votes 16: ↑16 and ↓0 +16
Views 640
Comments 18

bpython

Python *
image bpython — это красивый и функциональный интерфейс к стандартному интерпретатору Python для *nix. Он распространяется под Лицензией MIT и обладает следующими интересными возможностями:



  • In-line подсветка синстаксиса
  • Автодополнение кода с предложениями
  • Автовыравнивание кода
  • Pastebin
  • Сохранение введённого кода в файл
  • Восстановление удалённой строки («Rewind»)
  • Предложение параметров для функций

Читать дальше →
Total votes 50: ↑45 and ↓5 +40
Views 11K
Comments 40

Synergy — одна клава-мышь на все компьютеры

Lumber room
Есть замечательная программа synergy. Позволяет использовать один комплект клава-мышь несколькими компьютерами. Она кроссплатформенна, работает в системах MS — как Windows, так и NT, в Mac OS X. Ну, и конечно — в X11.

О synergy здесь уже говорили, я немножко добавлю.

Windows и OS X касаться не буду, уделю внимание лишь X11.

Компьютер, к которому подключены клава и мышь выступает в роли сервера, на нём запускается synergys. Прочие компьютеры — клиенты — на них работает synergyc, который подключается к synergys. По TCP, конечно. Все настройки делаются на стороне сервера. В конфиге описываются расположение экранов сервера и клиентов относительно друг друга — справа, слева, сверху, снизу.
Читать дальше →
Total votes 15: ↑12 and ↓3 +9
Views 1K
Comments 13

Сверлим вместе с Shell

Hewlett Packard Enterprise corporate blog
Бурение нефтяной скважины23-его февраля я стал гордым обладателем чудесного перфоратора. От души посверлив все, что так давно должно было быть просверлено дома, я начал думать: «Что бы еще подырявить...» Знакомо?

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

Именно поэтому нефтегазодобывающий гигант Shell решил сотрудничать с HP, чтобы разработать самую чувствительную систему сейсморазведки. Новая сенсорная технология HP должна поднять качество карт земных недр на новый уровень.
Читать дальше →
Total votes 22: ↑14 and ↓8 +6
Views 5.4K
Comments 19

Парсим RSS LostFilm'a с помощью grep и передаем на закачку через wget

Decentralized networks
Tutorial
RSS
Однажды мне надоело вручную просматривать LostFilm на наличие новых вышедших серий и я решил автоматизировать этот процесс. Дело в том, что многие BitTorrent клиенты имеют в своих настройках так называемые папки слежения (wach directory). Как только в этой папке появляется новый torrent файл BitTorrent клиент сразу же начинает его загрузку. Обычной практикой, к примеру, является создание такой папки и открытие к ней доступа на запись по FTP. Теперь, все что нам требуется, это автоматизировать скачивание torrent файла по выходу нового эпизода в указанную папку для их дальнейшей автоматической загрузки. Как сделать именно это я сейчас и покажу.
Читать дальше →
Total votes 61: ↑53 and ↓8 +45
Views 19K
Comments 75

Продолжаем парсить RSS теперь уже kinozal'a используя grep, wget/curl

Decentralized networks
Tutorial
RSS
В моем предыдущем посте про автоматизацию загрузок новых эпизодов с RSS ленты LostFilm'а хабраюзер AmoN поднял правильный вопрос о невозможности описанным мною способом загрузки раздач, прямых ссылок на torrent файл которых в RSS ленте не содержится. В качестве примера был приведен трекер кинозал.тв. Именно решению этого вопроса посвящен сей пост ;)
Читать дальше →
Total votes 37: ↑31 and ↓6 +25
Views 11K
Comments 24