Приглашаем авторов

Вы пользуетесь Ubuntu и желаете поделиться секретами преодоления тех трудностей, с которыми вам пришлось столкнуться в процессе работы? Или же просто изложить алгоритм установки драйвера или настройки специфической программы, чтобы с легкостью найти в будущем? А быть может размещаете подобное в собственном блоге, но не находите благодарного читателя из-за специфики темы?

Предлагаем вам войти в команду Блога Ubuntu в Сумах, который поможет вам реализовать упомянутые выше интересы.

Узнать больше

пятница, 21 мая 2010 г.

10 забавных и/или полезных вещей, которые можно сделать в командной строке Ubuntu

Keir Thomas, "10 fun and/or useful things to do at Ubuntu’s command-line"
Перевод АКбара (C) akbara13(@)gmail(.)com 

Ах, командная строка! Прибежище негодяя, испытательный полигон для эксперта, инструмент, выбранный продвинутым пользователем.

Следующие 10 советов объясняют, как делать классные и интересные вещи в командной строке. Они не специфичны для Ubuntu, но были написаны с расчётом на него и не протестированы в других дистрибутивах. Однако всё должно работать в большинстве версий Linux и даже в Unix.


Использовать мышь в виртуальной консоли

Это аккуратный хак, благодаря которому в виртуальной консоли появится прямоугольный курсор, так что текст можно легко копировать и вставлять. Просто используйте Synaptic, чтобы установить gpm. Установив утилиту, откройте окно терминала и напечатайте "sudo /etc/init.d/gpm", чтобы запустить программу. В будущем gpm будет стартовать автоматически при загрузке. 
Затем переключитесь в виртуальную консоль, чтобы увидеть плоды своего труда. Сейчас у вас должен быть прямоугольный курсор, который движется по всему экрану. Вы можете выделять текст обычным способом. Чтобы вставить его, щёлкните средней кнопкой мыши (в большинстве мышей это колесо прокрутки; если у вашей мыши всего две кнопки, нажатие на правую вставит текст).

Некоторое ПО, которое предлагает текстовые меню, также откликается на такие нажатия мыши (к примеру, текстовый веб-браузер Lynx, см.ниже). Проверьте в справке по команде, нужна ли специальная опция для поддержки gpm.



Видеть календарь

Вы, вероятно, уже поняли, что нажатие на панель с часами в правом верхнем углу рабочего стола Ubuntu покажет календарь. Чтобы увидеть эту же штучку в командной строке, напечатайте cal. Безо всяких аргументов команды, она покажет текущий месяц. Если вы хотите, перевернуть ось календаря (чтобы дни показывались вертикально, а не горизонтально), напечатайте ncal. Чтобы увидеть текущий месяц и предыдущий со следующим, напечатайте cal -3 (по некоторым причинам, эта опция не работает с ncal).

Чтобы посмотреть календарь на весь год, напишите год сразу после команды: cal 2010. Чтобы увидеть календарь на декабрь любого года, напишите cal dec и год (вы можете писать jan, mar и т.д.).

Обе команды (cal и ncal) могут использоваться для поиска исторических дат. Для поиска дня подписания Декларации независимости напечатайте cal july 1776. Если вам серьёзно надо узнать точные даты, уходящие вглубь тысячелетий, то у вас могут быть проблемы с переключением между Юлианским и Григорианским календарями; за подробностями обращайтесь к странице руководства по cal.



Создать текстовые баннеры

Запустите Synaptic, поищите и установите figlet. После этого напечатайте в терминале следующее:

figlet "Ubuntu Kung Fu"
Вывод состоит из символов, букв и других знаков. Доступны даже разные шрифты (см. /usr/share/figlet). Файл с расширением .flf содержит шрифт. Для использования другого шрифта, просто укажите его имя после опции -f в командной строке (без расширения файла):
figlet -f lean "Ubuntu Kung Fu"
Хотите верьте, хотите нет, но figlet использовался очень серьёзно (ну, в действительности, его старший брат под названием banner). Во времена сетевых матричных принтеров и листовой бумаги команда использовалась для того, чтобы чётко определить, кто какой документ прислал на печать. Текстовый баннер появлялся в начале каждого напечатанного документа, так что становилось понятно, где нужно было отрывать лист.

Я люблю добавлять команду figlet в конец моего файла .bashrc, так что программа запускается каждый раз, когда я вхожу в виртуальную консоль или открываю окно терминала. Просто напечатайте "gedit ~/.bashrc", чтобы открыть файл в Gedit и добавьте в новой строке команду целиком. Если вы хотите, чтобы появилось предложение, а не одно слово, убедитесь, что взяли это предложение в кавычки (вот так: figlet -f small "Greetings Professor Falken").

Может, вы захотите взглянуть на другую утилиту, неудачно названную toilet, которая делает точно то же самое, но в ней можно изменять цвет. Установив её, попробуйте следующее:
toilet -f mono12 -F gay "Ubuntu Kung Fu"


Визуальное представление файлов/директорий

Если вы не знакомы (а даже если и хорошо знакомы), можете легко потеряться во время просмотра файловой системы. Можно использовать pwd для быстрого напоминания текущей директории, но можно использовать команду tree. Для начала вы должны установить её, используя Synaptic -- поищите и установите tree. Затем просто напечатайте "tree" в приглашении командной строки. Вот что я увидел в своей тестовой системе, когда ввёл эту команду в домашней директории:
.
|-- Desktop
| |-- gnome-terminal.desktop
| `-- synaptic.desktop
|-- Documents
| |-- accounts08.ods
| `-- brochure.pdf
|-- Examples -> /usr/share/example-content
|-- Music
| `-- tom gold-magic.mp3
|-- Pictures
| |-- barbecue.jpg
| `-- disneyland.jpg
|-- Public
|-- Templates
`-- Videos

Должно быть очевидным, что здесь находится. Директории (Desktop, Documents, Music и т.д.) представлены как ветки виртуального дерева и файлы (или поддиректории) -- как ветки второго уровня. Здесь этого не видно, однако очень полезным является то, что всё раскрашено в цвета, использующиеся в стандартной консоли. Так, директории светло-синие, файлы с изображениями и mp3-файлы зелёные и т.д. Чтобы просмотреть только директории без файлов в них (возможно, это более полезно), используйте опцию -d: tree -d. Чтобы отфильтровать результаты для определённых типов файлов или файлов с определённым названием, используйте опцию -P. К примеру, для поиска .doc файлов вам надо напечатать следующее:
tree -P *.doc
Или чтобы искать файлы, которые содержат в своём имени "disneyland", вам надо напечатать следующее:
tree -P *disneyland*
И так как всего этого недостаточно, у tree есть козырь в рукаве: она может выводить всё как html-файл. Это может оказаться полезным, если вам надо быстро создать вывод директории с файлами в сети. Предположим, у вас есть веб-сайт под названием http://www.example.com и локальная директория, которая содержит локальную копию сайта, -- /home/keir/website. Следующая команда выведет файл под названием index.html, который содержит визуальное дерево представления файлов, из которых состоит сайт, включая гиперссылки на сами файлы:
$ tree -H http://www.example.com -T "Click a file to download" /home/keir/website/ > index.html
В первую очередь мы обеспечиваем URL, которым будут предваряться ссылки. Это может быть часть пути на сервере (например, www.example.com/files; отметьте, что вы не должны включать концевой слэш). Затем мы с опцией -T указываем заголовок страницы -- он может быть каким угодно, но держитесь подальше от символов типа "!", которые имеют специфичные для командной строки функции. После этого мы указываем местонахождение файлов. И в конце концов мы перенаправляем вывод в файл index.html.


Просматривать PDF в командной строке

Если вы хотите просмотреть PDF, просто используйте программу Evince: evince filename.pdf -- так вы запустите программу-просмотрщик PDF. Если вы действительно хотите просмотреть PDF в окне терминала (или, возможно, в виртуальной консоли), для начала вам понадобится сконвертировать его в текст. Чтобы сделать это, используйте программу pdftotext: pdftotext filename.pdf -- эта команда создаст файл .txt с содержимым PDF. Для его показа используйте команду less: less filename.txt. Чтобы извлечь изображения из PDF, используйте команду pdfimages. Вам нужно указать имена файлов для изображений и использовать опцию -j, чтобы убедиться, что фотоизображения будут выведены как JPEG. К примеру, вот это:
pdfimages -j filename-pdf pictures
извлечёт изображения как JPEG и даст им имена, начинающиеся с "pictures". Так что первое будет называться pictures-001.jpg, второе -- puctures-002.jpg и т.д


Отражать команды и вывод на разных окнах терминала

Для того чтобы получить содержимое одного терминала в другом, для начала запустите сессию screen в нём. Screen позволяет вам создавать сессию командной строки, независимую от любого другого существующего терминала или виртуальных консолей (так что если окно закроется, сессия будет всё ещё работать в фоне).

Чтобы запустить его, просто напечатайте screen. Затем откройте новое окно терминала и добавьте его к текущей сессии, напечатав "screen -x". Теперь попробуйте что-нибудь напечатать, чтобы увидеть, каков эффект. Чтобы отсоединиться от сессии (в одном или обоих терминалах), нажмите Ctrl+A и затем d. Запомните, что если вы отсоедините оба терминала, сессия screen всё ещё будет работать в фоне. Чтобы завершить её, вам надо переподключиться к screen(напечатать "screen -r") и затем нажать Ctrl+d (или просто напечатать "exit" в приглашении).

Эта хитрость работает и в виртуальной консоли: вы можете запустить сессию screen в терминале, и она "отзеркалится" в приглашении виртуальной консоли, после того как вы присоедините её, используя команду screen -x.

Комбинируя этот приём с удалённым соединением по SSH, вы можете не только создавать сессию (используя screen), которая сохранится на удалённом компьютере, даже если SSH-соединение потеряется (это полезно, если вы запускаете команды, которым нужно некоторое время для выполнения задачи, или если у вас неустойчивое соединение), но вы также можете создавать схему, посредством которой всё, что вы вводите, будет отражено в окне терминала удалённого компьютера (просто попросите пользователя, сидящего за удалённым компьютером, открыть терминал и напечатать screen -x, после того как вы запустите screen в сессии SSH). Это превосходная возможность для дистанционного обучения. 

Поместить вывод консоли и файлы в буфер обмена

Было бы очень полезно быстро отправить конфигурационный файл или вывод консольной команды в буфер обмена для вставки его на страницу веб-форума или для чего-то подобного, не так ли? В общем, это то, для чего сделана утилита xclip. Она может быть установлена с помощью Synaptic. После установки вы можете перенаправлять файлы в xclip, так что они станут содержимым буфера обмена. Команда
xclip < /etc/fstab
добавит содержимое конфигурационного файла /etc/fstab в буфер обмена. Или вы можете подать вывод команды на конвейер:
dmesg | xclip
поместит вывод команды dmesg в буфер обмена (dmesg показывает вывод системного лога и может быть полезным при диагностировании проблем). Есть одна оговорка. Файлы, переданные по конвейеру, помещаются в буфер выбора, который отличается от стандартного буфера обмена ("вырезать и вставить") из меню "Правка" большинства приложений. Содержимое xclip можно вставить, поместив курсор в соответствующее место и нажав на среднюю кнопку мыши (что означает нажатие на колесо прокрутки, если в вашей мыши оно есть, если его нет, нажмите одновременно левую и правую кнопки). Теоретически использование опции xclip -selection должно бы позволить пользователю добавлять новые данные к первоначальному буферу обмена, но не похоже, что это работает -- возможно, из-за того, как настроен рабочий стол в Ubuntu. Если честно, я считаю это больше особенностью, а не багом: xclip оставит любой существующий буфер обмена нетронутым.


Пусть Ubuntu говорит с вами

В Ubuntu есть встроенный синтезатор речи под названием espeak. Он работает в связке с программой для чтения экрана Orca, что обеспечивает поддержку для тех, кто плохо видит. Может быть вызван из командной строки, как в следующем случае:
espeak "Ubuntu Kung Fu"
Как говорят, это не самый совершенный в мире синтезатор речи (такое чувство, что "Speak & Spell" как раз об этом), но поиграть с ним может быть забавно. Просто печатайте "espeak", нажимайте "Ввод" -- и всё, что вы напишете после этого, будет произнесено. Чтобы выйти, нажмите Ctrl+d. Для переключения голосов используйте опцию -v. Но для начала вам нужно найти доступные голоса, сделать это можно напечатав "espeak --voices=en" (отметьте, что перед "voices" два дефиса). К примеру, чтобы фразу "How about a nice game of chess?" произнёс ямайский голос, напечатайте это:

espeak -s 140 -v en-westindies "How about a nice game of chess?"

В этом примере я также добавил опцию -s, с помощью которой вы можете определить скорость речи, выраженную в количестве слов в минуту. Значение по умолчанию равно 170 словам в минуту, что немного быстро, особенно для длинных предложений.


Избавьтесь от юридических шаблонов в виртуальной консоли

Когда бы вы ни входили в виртуальную консоль, вы увидите несколько абзацев юридической информации, напоминающих вам, что Ubuntu является свободным ПО и поставляется без гарантии. Однажды прочитав это, вы вряд ли забудете, так что прекратить появление этой информации при запуске каждой сессии можно напечатав в терминале следующее:
sudo rm /etc/motd
sudo touch /etc/motd
что удалит содержимое файла "совета дня" (message of the day, motd -- прим.пер), который отвечает за это сообщение.
Конечно, вместо того чтобы удалять содержимое файла, вы могли бы заменить текст в нём на что-нибудь другое -- это простой текстовый файл. Откройте его в Gedit, напечатав "gksu gedit /etc/motd", и измените содержимое на что вам угодно.


Смотреть интернет-сайты из командной строки

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

Существуют два конкурирующих текстовых браузера -- links и lynx. Links, пожалуй, лучший из них, потому что он понимает фреймы, и поэтому шаблон страниц немного правильней, но оба они всего лишь в загрузке через Synaptic от тебя (a download away, как в расхожей фразе "a step away" ("в шаге от...", то есть очень близко) -- прим.пер.).

После запуска любой из программ нажмите g, чтобы ввести URL (в lynx вам также понадобится писать http://, если адрес не начинается с www.). Когда страница загрузится, используйте клавиши Page Up и Page Down для прокрутки. Используйте клавиши курсора "вверх"/"вниз", чтобы проходить по ссылкам, пока не найдёте желаемую, а затем нажмите "Ввод", для перехода по ней. Чтобы вернуться на страницу назад, нажмите клавишу курсора "влево". Чтобы загрузить файл, на который есть ссылка, выделите её и нажмите d. Вы можете искать слова на странице, используя слэш (/), так же, как и в страницах руководства по Linux.

Нажатие Ecs в links вызовет элементарное меню; используйте клавиши курсора для навигации по нему и нажимайте "Ввод" для выбора опции. Закончив работу, нажмите q для выхода из программы. Если links запущен в окне терминала, вы сможете использовать мышь для нажатия на ссылки.
Если gpm установлен (см.выше), у вас будет возможность простенького управления мышью в браузере, и вы сможете щёлкать по ссылкам в виртуальной консоли.

От автора перевода: буду благодарна за помощь в исправлении ошибок.
*Данный текст является переводом оригинальной статьи и не является официальным. Ссылки работоспособны на момент публикации.
_____________________________________
Копирование материала разрешено только при наличии ссылки на источник:

неофициальный проект GNU/Linux ХМАО-Югра www.oslinux.ru

1 комментарий:

  1. Кирилл Немоляев
    почему links сразу транслитерирует сайты ???

    ОтветитьУдалить

Примечание. Отправлять комментарии могут только участники этого блога.

Облако тегов

10.04 10.10 11.04 11.10 12.04 12.10 1C 32-bit 3D 64-bit 9.04 9.10 адресная строка анализ аплет апплет аудио батарея библиотеки блог браузер брошюра буфер обмена видео вывод горячие клавиши даунгрейд дистрибутив драйвер журнал загрузка захват звук ИБП игра интернет интерфейс кириллица клавиатура книга книжка кнопки кодеки командная строка комбинации клавиш коммерция компиляция конзоль копирование латинница локаль маршрутизация монтирование мультиплеер назначение клавиш настройка обновление образ объединение окно опрос оптимизация офис переименование печать плеер подкачка поиск потоковое аудио принтер проблема радио разделы разрезка раскладка клавиатуры рейтинг репозиторий русский сборка сеть скачать статистика Сумы темы терминал торрент транслит Украина установка файлы фильтр цитата эмуляция ядро ac3 adobe adventure air alsa AMD amd64 android apt ATI audio Avant Avenue avidemux boot camera Canon canonical capture cat Catalyst cdemu cdrom cgroups chrome 9 clipboard commodore compiz console cuneiform cups deadbeaf deadbeef deb debian deluge desura djvu document foundation downgrade dpkg driver dvd error ethernet firefox flac flash foobar2000 ftp game games GDM gecko getlibs Gimp git gnash gnome gnome shell go-oo grep grub gscan2pdf h.264 hdmi Homenet hotkeys hp html5 ice icq ifconfig intel internet ipwatchd iso jabber kde kernel keyboard layout knoppix koffice lame lexmark libreoffice lightdm lightspark Linux livecd lossless lts Lubuntu lucid LXDE MacOS mencoder microsoft mint mobile mozilla mp3 mplayer natty narwhal nautilus netbook network notebook Nvidia ocr ogg Oneiric Ocelot openoffice Opera oracle pdf peppermint phaser 3010 phaser 3040 php picture pidgin player polipo postscript Powercom ppa pppoe PPTP proxy pulseaudio python QR radiotray ru_UA russian Sauerbraten scan server shipit. shooter skype sound split squeeze stable streaming sun super os survival horror svn swap Telesweet tesseract theme thunar thunderbird tor torrent transcode translit ualinux Ubuntu ubuntu one Ubuntu Software Center ukrainian unity update-manager UPS usb usb-to-serial usb. com uTorrent vfat via video VLC VPN wavpack web-сервер Windows Wine Writer X-window x264 xerox xfce xmpp xonar dg xrandr xubuntu xvid zbar zend µTorrent