Существуют ли игры, которые могут научить людей изучать терминальные команды? [закрыто]


98

Мне кажется, что изучение терминала - это обязательное условие для изучения Ubuntu. Поэтому я пытаюсь найти лучший способ учиться. Есть ли там онлайн флеш-карта Quizlet? Лучше?


4
Вы хотя бы пробовали Google?
mdpc

27
Если вам нужен ускоренный курс, «Как вернуть графический интерфейс после того, как я случайно удалил файлы конфигурации настолько плохо, что загрузит только оболочка» - всегда победитель. Имейте в виду, что в случае проигрыша игры возможны штрафы, в том числе покупка серобородого друга на выбор по выбору напитка или переустановка ОС.
Дэн Нили

6
@fluffy: Это даже не сложно rm -- '-rf ~/*'. Для реальной проблемы попробуйте удалить файл, имя которого полностью состоит из непечатных управляющих символов. Бонусные баллы, если просто печать имени испортит ваш терминал.
Ильмари Каронен

3
Это тоже не сложно: просто нажмите «да» и просто ответьте «да», когда найдете нужный файл.
ооо

5
Считается ли "реальная жизнь" игрой?
Джонатан

Ответы:


132

Вы можете добавить следующую строку (команду) в конец вашего ~/.bashrcфайла:

echo "Did you know that:"; whatis $(ls /bin | shuf -n 1)

Каждый раз, когда вы открываете терминал, вы узнаете что-то о случайной команде.


Если вы хотите повеселиться, вы можете использовать cowsay«утилиту». Чтобы установить его, запустите его в терминале:

sudo apt-get install cowsay

Затем добавьте следующую строку в конец вашего ~/.bashrcфайла:

cowsay -f $(ls /usr/share/cowsay/cows | shuf -n 1 | cut -d. -f1) $(whatis $(ls /bin) 2>/dev/null | shuf -n 1)

Или вы можете добавить вышеуказанную строку как псевдоним в ~/.bash_aliases. Я добавил:

alias ?='cowsay -f $(ls /usr/share/cowsay/cows | shuf -n 1 | cut -d. -f1) $(whatis $(ls /bin) 2>/dev/null | shuf -n 1)'

Всякий раз, когда вам скучно, вы можете ввести в терминал: ?(с последующим Enter). Это как играть в кости самостоятельно.

введите описание изображения здесь


2
Это очень круто, но в моем дистрибутиве (Ubuntu 13.04), используя оболочку по умолчанию, я получаю Did you know that: mkdir: nothing appropriate.каждый раз, когда запускаю оболочку (чтобы быть педантично понятным, я не всегда вижу, mkdirно я всегда вижу nothing appropriate). whatisработает, если я поставлю вашу строку кода вверху, ~/.bashrcно не в конце. Не уверен, что это портит, но я думаю, что другие столкнутся с той же проблемой.
snim2

3
@ user606723 Я выбрал только /binпотому, что есть наиболее часто используемые команды. Но вы можете использовать, echo "Did you know that:"; whatis $(ls /usr/share/man/man1 | shuf -n 1 | cut -d. -f1)чтобы выбрать случайную страницу из всех man-страниц.
Раду Рэдяну

1
@ RaduRădeanu не анализировать вывод ls!
heinrich5991

3
@ heinrich5991 Конечно, вы в целом правы, но если в вашем /binназвании есть пробелы или символы новой строки, то у вас больше проблем, чем из-за плохих сценариев ...
evilsoup

1
@ snim2 Я подозреваю, что проблема заключается в псевдониме для lsэтого добавления -Fили некотором другом флаге, который влияет на вывод. Изменить ls /binна /bin/ls /bin.
Жиль

37

Я раньше играл с whatis. Это не совсем игра, но это относительно простой способ изучения.

Например, введите whatis sudo apt-get update и он возвращает:

введите описание изображения здесь

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

Если whatisне предоставит много информации или если мне неясно, я пойду и прочту man.

Например, man sudo.

Google дает вам так много информации здесь, источники внутри Ask Ubuntu и снаружи. Здесь, LMGTFY: лучший способ узнать команды терминала в Ubuntu


1
Я настоятельно рекомендую whatis somethingпрочитать его man somethingДО, используя команду "что-то" ^^. Особенно для некоторых (большинства!) Команд, например, ddнапример ... Человек, например, также объяснит параметр "update" в примере, который вы сами себе предоставляете ... В вашем примере whatis показывает, что такое "apt-get" и затем пытается найти определение команды «обновить», которая не существует (но может иметь и быть чем-то совершенно неактуальным)
Оливье Дюлак

27

Да, Terminus - однажды такая игра, которая поможет. Существует живая версия здесь , а код на GitHub . Это хорошая идея, хотя я бы хотел, чтобы код был более легко расширяемым.


21

Я не знаю ни одной игры, но есть некоторые полезные утилиты командной строки, которые помогают.

Что делает команда?

whatis command
# example:
$ whatis cut
cut (1)              - remove sections from each line of files

Как я?

man -k keyword
# example:
$ man -k "remove empty"
rmdir (1)            - remove empty directories

В качестве альтернативы:

apropos keyword  
# defaults to printing every result with at least one of the keywords supplied
#   use --and to only print results matching multiple keywords.
$ apropos zip --and extract
funzip (1)           - filter for extracting from a ZIP archive in a pipe
unzip (1)            - list, test and extract compressed files in a ZIP archive
unzipsfx (1)         - self-extracting stub for prepending to ZIP archives
uz (1)               - gunzips and extracts a gzip'd tar'd archive

Как я могу использовать?

man command
# example:
man tar
# use '?' key to search, and 'q' to quit.

Или некоторые утилиты поддерживают опцию помощи, такую ​​как:

$ umount --help
Usage: umount -h | -V
   umount -a [-d] [-f] [-r] [-n] [-v] [-t vfstypes] [-O opts]
   umount [-d] [-f] [-r] [-n] [-v] special | node...

Они могут быть в виде command -h, command --help, command -?.

Для информации:

info command
# example:
$ info cat
# shows an information page

Если у вас есть что-то конкретное, что вам нужно сделать, Google ваш друг. В противном случае есть много книг, таких как книга Bash от O'Rielly .


1
Добавить aproposи infoв список. ;)
Йоханнес

3
я бы не использовать <и >вообще, как люди , которые нуждаются в направлении использования manможет не знать об опасности перенаправления. Например: command <something> somethingelseсоздаст somethingelseпустой файл (или обрежет существующий!) В текущем каталоге. Это плохая привычка. Просто использование man commandговорит само за себя. Или man __some__command__или что-нибудь безопасное.
Оливье Дюлак

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

1
Хорошая точка зрения. Просто используется для написания документации в этом формате. (править) Убрал их.
агг

14

Взгляни на командную строку фу

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


climagic - аналогичный сервис, но он ограничивает длину команды, чтобы она подходила для твитов. Следуйте за ними на @climagic .
Томер Коэн


13

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

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

Обратите внимание, что в этом руководстве используется Red Hat (еще один дистрибутив Linux) и приведены ссылки на некоторые каталоги, которые применимы только к студентам Университета Суррея.

Размещено в Проекте документации Linux ( http://www.tldp.org/ ), автор Майк Г

Викибук из Википедии

GNU Bash Справочное руководство

Расширенное руководство по написанию сценариев ( http://linux.die.net/ ), автор Мендель Купер


8

У вас есть тонны игр на http://overthewire.org . Самым простым является Bandit, «нацеленный на абсолютных новичков».


Отличная ссылка. Похоже, там много варгеймов. Banditкажется, игра для начинающих, как я.
Sundeep


2

Memrise Tool имеет раздел командной строки unix и linux. Это отличный инструмент для изучения чего-либо с помощью перфокарты.


Это не совсем то, что я имел в виду, но похоже, что это отличный учебный ресурс, который я буду использовать. Спасибо!
Капитализм преобладает

Есть также курс ShellFu . Хотя Memrise не является игрой как таковой, я все же нахожу ее очень интересной, и она действительно играет на вашей конкурентоспособности.
ThomasH

Я только что получил страницу рекламы от memrise.com :(
Пэдди Ландау

1

Проект документации Linux имеет лучшие и обновляемые источники для изучения BASH.

  1. http://www.tldp.org/LDP/Bash-Beginners-Guide/html/

  2. http://www.tldp.org/LDP/abs/html/

  3. http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html

Сообщество Ubuntu собрало все хорошие ссылки, которые очень полезны для изучения BASH

https://help.ubuntu.com/community/CommandLineResources


1

Есть игра Uplink . Это было довольно весело, и есть довольно хорошее сходство с оболочкой Linux. Но у него есть и свои команды.


1
Хотя Uplink большая игра, это командная строка ограничена cd, dir, deleteи reboot. Совершенно недостаточно. Я помню, что есть еще одна хакерская игра, где вам действительно приходится писать сценарии оболочки, но я забыл название. Вероятно, что-то творческое, как «хакеры»
Тобиас Кинцлер

1

Лучший инструмент, который я нашел для долговременного запоминания и обучения, это Anki

http://www.ankisrs.net/

Я использую создание карт в Anki, которые требуют, чтобы я напечатал ответ, а не просто флеш-карту. Это строит мышечную память. Кроме того, я выполняю 15 минут тренировок каждое утро, и Анки сортирует мои карты по тем, которые мне нужно просмотреть.


Звучит как хороший инструмент , но предоставляет ли он также обучающие данные для команд терминала?
gertvdijk

0

В первые дни UNIX (v6 и v7) (да, до Linux) существовала серия очень упрощенных руководств под командой learn. Должен признаться, я начал там обучение ... там были учебники по командной строке, vi и немного программирования на Си. Он давно исчез. И, конечно же, это было до появления книг на эту тему, большого количества удобного подключения к Интернету, в основном все, что у вас было, - это в основном manстраницы.

Так что теперь это довольно просто, в основном зайдите в Google, либо найдите опубликованную документацию. Или используйте Amazon, чтобы найти подходящую книгу. Амазонка даже имеет рейтинги и обзоры на своих книгах.


0

Ну, большинство основ, которые я изучил, когда Linux все еще был в основном основан на командной строке, а SUSE был одним из немногих Linux с установкой на основе GUI. Я играл с Gentoo в этот раз ... просто установите вашу систему с помощью таких инструментов, как pm-сенсоры и прочее, скоро вы вернетесь в терминал для некоторой конфигурации

Я не знаю, есть ли еще дистрибутив, который устанавливается через командную строку, так как я перестал работать с Linux еще месяц назад, когда я узнал, что они наконец-то сделали шаг к тому, чтобы сделать его основанным на графическом интерфейсе и интересным для пользователей. спасибо всем программистам, которые сделали мои старые компьютеры снова полезными !!!

Глупая MS просто слишком глупа для того, чтобы поддерживать свой лучший продукт дольше ... Windows XP ... компания, которая делает это, конечно же, не рассматривает возможность получить полностью стабильную и безопасную ОС ... и в случае Win 7 они могут получил его очень стабильным и безопасным, но для этого требуется много ресурсов.

Очень нравится Linux в управлении аппаратным обеспечением без огромных компиляторов, интерпретаторов и прочего, как в Windows.

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



0

Не игра, но посмотрите на http://www.stanford.edu/class/cs124/kwc-unix-for-poets.pdf

Он охватывает sed, awk и grep помимо других и показывает, как считать, сортировать, вычислять нграммы и т. Д. В нем есть упражнения и все. Я говорил об этом снова и снова.


0

Не игра, но пригодится, когда вы хотите выучить какую-то команду, а Linux не доступен: rextester


0

Матрица для игрового куба - это то, где я немного (относительно моих предыдущих 13-летних знаний) узнал немного о терминале UNIX. Была мини-игра, в которой вы «взламывали» свой путь в матрицу, чтобы бросить оружие для захвата позже, когда вы играете на этом уровне. На самом деле, бар - одна из моих любимых функций в любой игре.


0

Inx (не X) может использоваться в качестве живого компакт-диска и обучает терминальным вещам в веселой и интерактивной форме


0

Я думаю, что бандит является одним из лучших, чтобы узнать и понять больше о командах Linux и узнать больше о Linux для начинающих Вы можете получить ссылку здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.