«Обучение» Linux [закрыто]

10

Я давно интересовался компьютерами и много занимался с Linux. Я начал с Red Hat, когда был молод (около 13 лет) и потерял все данные, преобразовав диск FAT32 во что-то другое. Позже это был Knoppix, который действительно помог в восстановлении и тому подобное. Тогда это была Ubuntu. Кроме того, я некоторое время возился с Арчем, но он слишком часто ломается по моему вкусу (возможно, мне следовало быть более осторожным).

Во всяком случае, в настоящее время я использую Ubuntu 9.04. Я хочу углубиться в мир Linux сейчас. Я хочу узнать, как все работает, и больше использовать терминал. Я тоже программист, так что это очень поможет.

Итак, я хотел спросить:

  • Хорошие книги для изучения и понимания Linux

  • Хорошие привычки использовать Linux более эффективно.

  • Хорошие инструменты, о которых я должен знать.

  • Количество времени, которое вы выделяете, чтобы узнавать о новых вещах каждый день.

  • Как программист, как эффективно настроить и использовать Linux.

Длинный перечень. Буду благодарен ответчикам.

Strider
источник

Ответы:

9

Для меня то, что, как я думал, научило меня больше всего в Linux, - это установка Gentoo.

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

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

Документация и поддержка форумов были первоклассными, когда я его использовал.

Бри
источник
2
Моя 1-я и 5-я установки Gentoo - это когда я действительно изучил внутреннюю работу Linux и дистрибутивов.
RateControl
Слышу, слышу! Gentoo отлично подходит для энтузиастов! +1
wzzrd
5
  1. Журналы типа "Linux Format" и "Linux Journal". Их можно купить в книжных магазинах, подписаться или найти в Интернете. Старые выпуски Linux Format находятся по адресу http://www.linuxformat.com/modules.php?op=modload&name=NewArchives&listpdfs=1 , а старые выпуски Linux Journal - по адресу http://www.linuxjournal.com/magazine .

  2. Получите Linux Journal / Tux Radar «Linux Starter Pack». Это 130 страниц чистого выигрыша. Он охватывает практически все, что может захотеть знать мигрирующий пользователь Windows. Он доступен по адресу http://www.tuxradar.com/linuxstarterpack .

  3. Присоединяйтесь к форуму. Поскольку вы используете Ubuntu, я бы рекомендовал начать с http://ubuntuforums.org/ . Другой известный форум - www.LinuxQuestions.org. ServerFault тоже работает. ;)

  4. Прочитайте Руководство по руте. Это поможет вам с командной строкой, а также познакомит вас с другими концепциями Linux. http://rute.2038bug.com/

  5. Такие команды, как «man program-name» и «info program-name», неоценимы.

  6. И, конечно же, всегда смело задавайте вопросы. Наличие кого-то, кто поможет вам изучить ОС, всегда облегчает процесс, поэтому, если можете, найдите наставника.

andrewd18
источник
5

Возможно, начните с Проекта документации Linux .

Раздел Руководства содержит несколько очень интересных книг:

  • Введение в Linux - практическое руководство
  • Linux с нуля
  • Руководство системного администратора Linux

В HowTo секции обеспечивает некоторую предметно-конкретную помощь.

p.campbell
источник
3

Узнайте, как пройти в терминале. Это означает, что вы должны научиться работать с программами навигации, трубопроводов и Unix, такими как grep и sed. Ubuntu и другие дистрибутивы делают Linux все более удобным для пользователя, но, в конце концов, самое большое благо для обучения лежит в его корнях CLI.

На этом сайте есть несколько хороших учебных пособий по оболочке.

Эван Мигер
источник
Какие-нибудь книги, которые будут полезны?
Strider
2

Я настоятельно рекомендую Расширенное программирование в среде UNIX. Это блестящая книга по общему системному программированию для UNIX.

Игорь Кривокон
источник
2

Использование Не повторяйте философию. С терминалом выполняйте общие задачи: копируйте, создавайте, перемещайте, удаляйте файлы, ищите информацию внутри них (используйте grep), ищите файлы (находите) и так далее. Попробуйте объединить все эти команды друг с другом плюс сценарии bash и awk. Это приведет вас к хорошей практике, и вы почувствуете мощь Linux :-).

Например, если вам нужно удалить некоторые файлы, имена файлов которых соответствуют любому шаблону, вы можете выполнить поиск в каждой папке и удалить их вручную. Здесь приходит DRY - просто объедините find и rm, и вы сделаете это одной терминальной линией.

Также, как кто-то писал ранее, настройте домашний сервер. Предоставьте доступ к Интернету через него, запустите веб-сервер, настройте сетевой принтер и т. Д.

Pawka
источник
2

ls / bin, / usr / bin, / sbin и / usr / sbin. Затем отсканируйте / прочитайте справочные страницы для каждой команды, которую вы видите. Вы не будете помнить все это, если вы не какой-то вундеркинд. Однако он покажет вам большинство команд в вашей системе, и вы будете иметь смутное представление о том, что они делают. Затем, когда вам нужно что-то сделать, вы, вероятно, будете помнить команды, которые могут иметь отношение к делу.

Вы также захотите в конце концов прочитать другие справочные страницы, которые вы найдете там, где когда-либо указали ваши ПУЗЫ, но я бы сначала начал с команд.

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

Джейсон Тан
источник
2

Небольшая подсказка на боковой панели, но я использую Mnemosyne (apt-get install mnemosyne) для создания флэш-карт с полезными командами Linux и советами, с которыми я сталкиваюсь. Пару раз в неделю я пролистываю несколько флеш-карт и стараюсь держать их в памяти.

Ваш пробег может отличаться, но я нашел, что это хороший способ сохранить команды, которые я не могу использовать ежедневно, чтобы я мог быстро вызывать их, когда они мне нужны (или, по крайней мере, знать, какие man-страницы следует просматривать) ,

Я делаю это и для других вещей, таких как нажатия клавиш Vim, API-интерфейсы Python и т. Д.

Джо Холлоуэй
источник
2

Хороший способ попасть в Linux - это использовать его.

Сила Linux заключается в командной строке. Когда вы много используете Linux, вы, вероятно, довольно скоро попадете в командную строку. Выполнение повторяющихся задач в графическом интерфейсе заставляет задуматься, может ли быть лучший способ сделать что-то. Таким образом, вы постепенно получаете больше комфорта, используя интерфейс командной строки.

Когда я преподавал C в школе, мы писали программы на Emacs и компилировали их в командной строке. Мне стало удобнее работать в командной строке, и я научился новым трюкам по мере продвижения. Также, если вы изучите C, вы сможете глубоко понять, как построен Linux и как он работает, как написано в основном на C.

Peter Mortensen
источник
1

Хорошая общая книга «Искусство программирования Unix». Unix и Linux разделяют одну и ту же философию, хотя они немного отличаются.

Кроме этого, я бы рекомендовал изучить оболочку (например, bash) и изучить язык сценариев, такой как Perl или Python. Чтобы изучить оболочку, я бы начал со страниц руководства и, возможно, взял книгу (книги О'Рейли хороши).

Энди Уайт
источник
1

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

Алан Хаггай Алави
источник
1

Вы спрашивали об эффективном использовании Linux в качестве программиста - в этом случае я бы подумал, что сценарии оболочки будут важны (будь то знание того, как передавать или выводить параметры, или избегать написания кода для выполнения того, что уже может быть сделано существующими commamnds). Попробуйте ссылку O'Reilly "Классические сценарии оболочки".

DBMarcos99
источник
1

Пользователь Linux

Программист найдет много полезных инструментов командной строки Linux. Вот некоторые из них:

  • ls -lrt
  • найти - слишком долго читать все это. Используйте в качестве ссылки.
  • xargs
  • Bash - слишком долго, чтобы прочитать все это. Используйте в качестве ссылки.
  • Туалет
  • кронтаб

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

  • Сначала вы берете курс или читаете книгу для начинающих. Никакой GUI не должен изучаться в процессе.
  • Практика необходима на следующем шаге. Используйте свой компьютер или сервер и просмотрите руководства для команд, которые необходимы для выполнения повседневных задач. Если вы не знаете, какая команда делает то, что вам нужно, спросите своего компетентного друга или сообщество.
  • Третье - это сценарии оболочки. Это не только дает хорошую возможность автоматизировать ежедневные задачи, но и дает опыт, необходимый для эффективного использования интерактивной оболочки.

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

Basilevs
источник
1

Я начал с SuSE, когда был молодым. Позже это был Knoppix для меня. Тогда это была Ubuntu, и сейчас я использую Ubuntu 9.04.

Я узнал почти все, что я знаю о Linux из Интернета и от друзей.

Единственная книга, которая помогла мне лучше узнать и понять Linux, - « Современные операционные системы» Эндрю С. Таненбаумса .

Людвиг Вайнцерль
источник
1

Хороший способ познакомиться с Linux - это поработать с ним. Вы можете попробовать установить Linux-систему на вашем интернет-соединении дома или на виртуальной машине.

Попробуйте настроить несколько серверных приложений:

  • веб-сервер (например, Apache)
  • система управления контентом (например, drupal)
  • база данных (например, MySQL)
  • почтовый сервер (например, курьер) с фильтром спама (например, spamassassin)

Это поможет вам ознакомиться с общими инструментами и практиками Linux.

p.campbell
источник
0

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

Unix - странный зверь, вы можете попросить 10 администраторов Unix выполнить действие, и вы, вероятно, получите 10 разных ответов. Возможно, ни один из ответов не будет неправильным, это потому, что инструмент настолько гибок, что может делать вещи более чем одним способом.

это определенно не «единый микрософт» способ делать вещи :-)

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

Уникс Дворник
источник