LXF171:Интерфейс командной строки вашего Raspberry Pi
|
|
|
Содержание |
Raspberry Pi: Освоим команды
Бен Эверард показывает, как освоить интерфейс командной строки вашего Raspberry Pi и высвободить всю его мощь, даже не прикасаясь к мыши.
Как вы, несомненно, уже обнаружили, у Raspbian имеется графический интерфейс, подобный интерфейсу Windows или Mac OS X. В нем вы можете выполнять большую часть своих повседневных задач. Здесь есть менеджер файлов, web-браузер, текстовый редактор и куча других полезных приложений. Однако иногда вам нужен интерфейс, который был бы немного мощнее, и вот тут-то и выходит на сцену Command Line Interface (CLI). Также он известен под названием Terminal [терминал] или Shell [оболочка].
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Это чисто текстовый интерфейс, где вы печатаете команды и получаете ответ на них. Не будем вас обманывать: сначала он кажется несколько запутанным. Но переживать не стоит: как только вы начнете практиковаться, он будет становиться все более понятным, и время, потраченное на его изучение, с лихвой окупится в будущем.
Первым делом надо открыть терминал. Щелкните по LXTerminal на рабочем столе Raspbian.
Тут появится строка примерно такого вида:
pi@raspberrypi ~ $
Это подсказка командной строки. Когда вы ее видите, вы понимаете, что система готова принимать команды.
Введите pwd и нажмите на кнопку Enter. Вы должны увидеть
/home/pi
Если вы изменили свое имя пользователя, то строка будет другой. Кажущаяся тайнописью команда pwd означает Print Working Directory, и система просто выводит директорию, где вы в настоящий момент находитесь. Когда вы запускаете терминал, он перейдет в вашу домашнюю директорию (в разделе Raspbian Storage вы найдете больше информации о том, что означает /home/).
Теперь мы знаем, где мы находимся; следующим логическим шагом будет перемещение по директориям. Это делается с помощью команды cd (change directory). Попробуйте ввести:
cd ..
pwd
Вы должны увидеть, что система вернула /home. Это потому, что мы дали команду изменить директорию (cd) на ‘..’, а две точки всегда указывают на родительскую директорию. Чтобы вернуться назад в домашнюю директорию, можно ввести cd pi. Есть еще один способ сделать это. Знак ~ (тильда) всегда указывает на домашнюю директорию, поэтому где бы вы ни находились в файловой системе, вы можете ввести cd ~ — и попадете к себе «домой».
Теперь наберите ls и нажмите на Enter. Выведется список всех файлов из текущей директории. Одно из огромных преимуществ команд в том, что мы можем сказать им, как именно они должны себя вести. Это делается с помощью флагов — они идут после команды и начинаются с ‘-’. Например, если нужно перечислить все файлы в текущей директории (включая скрытые файлы, которые в системах, основанных на Unix, начинаются с ‘.’), используется флаг -a. Поэтому в терминале введите ls -a.
На сей раз вы должны увидеть больше файлов. Еще один флаг для ls — это -l. Он дает нам больше информации о каждом файле. Попробуйте его, введя ls -l . Вы даже можете комбинировать флаги, как, например, в ls -al.
Учимся выбирать команды
Сейчас вы, вероятно, размышляете о том, откуда вам знать, каким командами и какими флагами надо воспользоваться для решения определенной задачи.. Здесь есть хорошая новость и плохая новость. Хорошая новость в том, что выяснить, какие флаги имеются для команды, обычно не проблема. Большинство из них поддерживают флаги -h или --help, которые дадут вам информацию о флагах, принимаемых командой, и их применении. Например, запустив ls --help, вы увидите длинный список флагов и того, что они делают, в том числе:
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
-a, --all не игнорировать записи, начинающиеся с .
…
-l использовать формат длинного списка
Второй способ получить информацию по команде — набрать man. Это сокращение от manual [руководство]. Он использует один аргумент, то есть слово после команды, перед которым нет дефиса. Затем он отображает информацию по команде, введенной в качестве аргумента. Чтобы посмотреть man по ls, введите man ls. Можете перемещаться по страницам с помощью клавиш со стрелками или клавиш Page Up и Page Down, чтобы прокручивать их быстрее. Чтобы найти в справочнике man слово или фразу, введите /, а затем нужную фразу. Например, /-l найдет все совпадения для -l. Можете использовать клавишу N и Shift+N, чтобы перемещаться вперед и назад по вхождениям -l.
По мере знакомства с большим количеством команд было бы полезно заглядывать в help и в man, чтобы узнать, что они делают. Конечно, вы всегда можете получить информацию по команде в Google, если сочтете текстовую подсказку немного неудобной, однако если вы останетесь в терминале, это поможет вам лучше его освоить.
Как же мне узнать?..
Помните, мы сказали, что есть хорошая новость и плохая новость? Что ж, плохая новость в том, что не зная, как называется нужная команда, найти ее будет весьма хитро. Одной из удобных функций является поиск по ключевому слову man. Он осуществляется с помощью флага -k.
Чтобы найти в вашей системе все программы, относящиеся к ‘browser’, запустите man -k browser. Вы увидите, что в списке будут перечислены не только программы командной строки, но и графические программы. Это потому, что между ними на самом деле нет разницы. Можно запускать окна из терминала и даже управлять ими.
Если у вас есть Iceweasel (ребрендинговая версия Firefox) на вашем Pi (по умолчанию она там не установлена), вы можете открыть TuxRadar.com в новой вкладке в открытом окне Iceweasel с помощью команды iceweasel --new-tab www.tuxradar.com.
Теперь мы быстренько познакомим вас с несколькими полезными командами. rm удаляет (ReMoves) файл. mkdir создает новую директорию. cp копирует файл из одного места в другое. Ему нужно два аргумента: исходный файл и новый файл. cat выводит содержание одного или более текстовых файлов. Он может принять сколько угодно аргументов, каждый для одного текстового файла, и передать их содержимое в терминал.
less — более дружественный способ просмотра текстовых файлов. Он позволяет прокручивать файл вверх-вниз с помощью клавиш со стрелками. Чтобы выйти из программы и вернуться в командную строку, нажмите на Q. Мы будем использовать все эти команды в примерах ниже, так что задерживаться на них не будем.
find — полезная команда для поиска файлов на вашем компьютере. Вы используете ее в формате find <где искать> <флаги>. Например, чтобы найти все файлы на вашем компьютере, которые были изменены за день до этого, запустите
find / -mtime 1
На стр. 59 вы найдете более подробную информацию о том, что это значит, и о разных флагах, которые можно использовать.
Больше мощи
Вы можете подумать: «Все это отлично делается через графический интерфейс, и мне незачем запоминать всякие мутные команды и флаги». И вы будете правы — но лишь потому, что мы пока не познакомили вас с более мощными функциями. Первая из них — шаблоны. Это символы, которые вы можете вставлять и которые соответствуют другим символам. Звучит довольно непонятно, но мы попытаемся пояснить это на примерах.
Во-первых, мы создадим новую директорию, переместимся в нее и создадим несколько пустых файлов (мы используем команду touch, которая создает пустой файл с именем каждого аргумента). Подсказка — вы можете использовать автозаполнение (см. врезку вверху), чтобы не набирать постоянно длинные названия, как, например, во второй строке.
mkdir wildcards
cd wildcards
touch one two three four
touch one.txt two.txt three.txt four.txt
Затем запустим ls, чтобы увидеть, какие файлы есть в новой директории. Вы должны увидеть восемь.
Первый шаблон, который мы будем использовать — *. Он соответствует любой строке от нуля до большего количества символов. В простейшем случае он соответствует любому файлу в директории. Попробуйте запустить:
ls *
Пока это не особо удобно, но мы можем поставить его среди других символов. Как вы думаете, чему будет соответствовать *.txt? Подумайте, а потом запустите:
ls *.txt
чтобы проверить правильность ваших выводов. Как насчет one*? Снова запустите
ls one*
чтобы увидеть, правы ли вы. Шаблоны можно использовать с любой программой командной строки. Особенно они удобны для сортировки файлов. Чтобы скопировать все текстовые файлы в новую директорию, запустите
mkdir text-files
cp *.txt text-files
Затем проверим, правильно ли это сделано, командой
ls text-files/
Шаблон: ?
Второй шаблон, который мы рассмотрим, это ?. Он соответствует любому одиночному символу. Как вы думаете, чему будет соответствовать
ls ???
Попробуйте догадаться, а затем запустите команду, чтобы проверить правильность своей догадки.
Мы также можем сами создавать шаблоны, соответствующие символам, которые нам нужны. [abc] будет соответствовать маленьким буквам А, В и С. Как вы думаете, чему будет соответствовать ls [ot]*? Теперь попробуйте запустить
ls [!ot]*
Что нового внес восклицательный знак? Он должен был вернуть все, что не начинается с маленьких букв О или Т.
Все команды, которые рассмотрели, выводили отображение результата в терминал. По большей части нам именно это и надо, но иногда полезно сделать с ним что-то другое. В Linux можно сделать две других вещи: отправить результат в файл или в другую программу.
Чтобы отправить его в файл, используйте символ >, за которым следует имя файла. Запустите
ls > files
cat files
и вы должны увидеть, что создан новый файл под названием files, и в нем содержится результат команды ls.
Вторая опция, возможность отправить результат в другую программу, являет собой еще одну действительно мощную функцию командной строки Linux, поскольку она позволяет соединить несколько команд в цепочку, сделав из них одну супер-команду.
Есть множество команд, работающих с текстом и предназначенных для работы таким способом. Они не относятся к теме нашего урока, но если вы будете продолжать использовать командную строку, вы обязательно с ними столкнетесь и начнете понимать, как их можно соединить вместе.
Рассмотрим очень простой пример. Если вы запустите find / (но пока что не делайте этого!), вам выведется список всех файлов системы.
У вас получится длиннейший список из файловых имен, которые будут быстро бежать по экрану. Однако вместо того, чтобы выводить его на экран, мы можем отправить его в другую команду, которая сделает результат более удобным для чтения. Мы можем использовать для этого команду less, которую рассматривали ранее. Запустите:
find / | less
Идем дальше
Мы смогли коснуться только основ использования командной строки, но для начала вам этого должно хватить, и будем надеяться, что вы увидите, насколько мощен интерфейс командной строки, когда начнете его понимать.
Если вы хотите узнать больше (а это следует сделать!), вам в помощь есть множество ресурсов, как в печатном виде, так и онлайн. Очень хорошим стартовым пунктом станет www.linuxcommand.org. Их книгу (The Linux Command Line) можно приобрести в книжных магазинах, или найти бесплатно онлайн (www.linuxcommand.org/lc3_learning_the_shell.php).
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Справочник LXF по командам — вырежи и запомни!
Навигация и файлы
» cd Change directory — Смена директории. Например, cd movies переходит в папку movies. cd ~ переходит в домашнюю директорию, cd / переходит в директорию root, а cd .. переходит на одну директорию назад.
» ls List files — Вывод списка файлов. Сама по себе она выводит файлы из текущей директории. ls movies перечисляет файлы в директории movies. ls -a перечисляет все файлы (в том числе скрытые), а ls -l выдает более подробную информацию о каждом файле.
» cp Copy files — Копирование файлов. cp orig-file new-file копирует orig-file в new-file.
» wget Загружает файл из Интернет. Чтобы скачать домашнюю страницу Google в текущую директорию, используйте wget www.google.com.
» df -h Отображает количество свободного места на устройстве.
» pwd Отображает текущую директорию.
Поиск файлов
» find <location> <flags> среди полезных флагов: -mtime
<number> находит файлы, измененные за последние <number> дней. <number> может быть, например, 2 (ровно два дня назад), -2 (менее двух дней назад) или +2 (более двух дней назад).
-name <filename> находит файлы под названием <filename>. -iname <filename> соответствует файлам с именем <filename>, регистр букв (строчные или заглавные) неважен.
-writable находит записываемые файлы. Опций намного больше. Более подробный их список вы найдете в справочнике man. Например, find / -mtime -2 -writable находит все файлы в системе, которые были изменены менее двух дней назад и могут быть записаны текущим пользователем.
Удаленная работа
» ssh Войдите на удаленный компьютер с помощью Secure SHell (SSH протокол). ssh pi@192.168.1.2 войдет в качестве пользователя pi на компьютер с IP-адресом 192.168.1.2. Помните: это будет работать, только если на удаленном компьютере работает сервер SSH.
» scp Secure CoPy. scp file pi@192.168.1.2:/home/pi скопирует файл в директорию home/pi на компьютере с 192.168.1.2. scp pi@192.168.1.2:/home/pi/file скопирует файл home/pi/file с машины 192.168.1.2 в текущую директорию. Помните: это будет работать, только если на удаленной машине работает сервер SSH.
Шаблоны
» * Соответствует любой строке символов, или никакому символу.
» ? Соответствует любому единичному символу.
» [abc] Соответствует a, b или c.
» [!abc] Соответствует любому символу, кроме a, b или c.
» [A-Z] Соответствует любому символу в диапазоне A–Z (т. е. любой заглавной букве).
» [A-z] Соответствует любому символу в диапазоне A–z (т. е. любой заглавной или маленькой букве).
» [one, two] Соответствует словам one и two.
Информация о компьютере
» top Отображает программы, в данный момент потребляющие наибольшее количество тактов CPU и памяти.
» uname Отображает информацию о ядре. uname –m выведет информацию об архитектуре, на которой работает.
» lscpu Выводит информацию о CPU.
» dmesg Отображает сообщения ядра (может пригодиться для обнаружения проблем с оборудованием).
Текcтовые файлы
» head Отображает первые десять строк текстового файла. Замените десять на любое другое число с флагом -n. Например, dmesg | head -n 15 отобразит первые 15 строк журнала сообщений ядра.
» tail Отображает последние десять строк текстового файла. Может использовать флаг -n, как и с head, а также отслеживать изменения в файле с помощью флага -f (follow). Например, tail -n15 -f /var/log/syslog отобразит последние 15 строк файла журнала системы, и продолжит это делать по мере изменения файла.
» less Позволяет проматывать текстовый файл.
» cat выводит содержание текстового файла в терминал.
» nano Дружелюбный к пользователю текстовый редактор командной строки (Ctrl + X позволяет выйти и сохранить изменения).
Специальные клавиши
» Ctrl+C Убивает любую программу, работающую в терминале.
» Ctrl+D Отправляет признак конца файла в любую программу, работающую в терминале.
» Ctrl+Shift+C Копирует выделенный текст в буфер обмена.
» Ctrl+Shift+V Вставляет текст из буфера обмена.
Установка программ
» tar zxvf file.tar.gz
» tar xjf file.tar.bz
» ./configure Когда вы распаковываете исходный код программы, обычно создается новая директория с программой внутри нее. Войдите в эту директорию с помощью сd и запустите ./configure. Ваша система будет проверена на предмет наличия в ней всего необходимого для компиляции программ.
» make Эта команда скомпилирует программу.
» make install (требует sudo) Эта команда переместит вновь скомпилированное ПО в соответствующее место в вашей системе, чтобы вы могли запускать его, как обычную команду.
» apt-get Эту команду можно использовать для установки и удаления программ.
Например, sudo apt-get install iceweasel установит пакет iceweasel (ребрендинговую версию Firefox). sudo apt-get purge iceweasel удалит пакет. apt-get update скачает обновленный список пакетов из репозитория (неплохая идея; всё бы так делалось!). apt-get upgrade обновит все пакеты, у которых есть более новая версия в репозитории.
» apt-cache search <keyword> будет искать в репозитории все пакеты, соответствующие ключевому слову. |