Найкращі підручники для Linux

Linux - це ім'я, яке в цілому позначає сімейство дистрибутивів операційної системи з вільним програмним забезпеченням з відкритим кодом, побудованих навколо ядра Linux.

Ядро Linux, ядро ​​операційної системи, яке використовують усі дистрибутиви Linux, було вперше випущено 17 вересня 1991 р. Linux Torvalds.

Багато дистрибутивів Linux використовують в назві слово “Linux”. Фонд вільного програмного забезпечення використовує назву GNU / Linux для позначення сімейства операційних систем, а також конкретних дистрибутивів, щоб підкреслити, що більшість дистрибутивів Linux - це не просто ядро ​​Linux, і що вони мають спільне не тільки ядро, але і численні утиліти та бібліотеки, значна частина яких - за проектом GNU.

Розробка Linux є одним з найвидатніших прикладів вільної та відкритої програмної співпраці. Базовий вихідний код може використовувати, модифікувати та розповсюджувати комерційно чи некомерційно будь-хто на умовах відповідних ліцензій, таких як Загальна публічна ліцензія GNU.

Linux вперше був запущений як клон операційної системи MINIX. Співавтори з відкритим кодом додали ядро ​​та розширили його апаратну сумісність. Підтримка обладнання та безкоштовне ліцензування Linux зробили Linux популярним вибором для настільних та серверних обчислень у середині 90-х. Сьогодні Linux - найпопулярніша операційна система у світі. Він забезпечує 90% світових серверів і є основою популярної операційної системи Google від Android.

Існує також багато версій Linux, призначених для запуску на персональних комп’ютерах, таких як Debian або Ubuntu. Що ще важливіше, ці різні версії Linux (так звані дистрибутиви) дозволяють користувачеві різного ступеня персоналізації та контролю операційної системи. Це означає, що користувачі можуть вибирати свої дистрибутиви Linux, виходячи зі своїх бажань та потреб.

Існує також Kali Linux, який використовується для розширеного тестування на проникнення та аудиту. Він має понад 700 інструментів, і щоб мати змогу ефективно використовувати його, вам потрібно буде знати, як використовувати командний рядок. Не рекомендується для початківців.

Популярні дистрибутиви Linux включають:

  • Ubuntu
  • Linux Mint
  • CentOS
  • RHEL
  • Arch Linux

Типи пакетів розподілені між дистрибутивами вищого рівня, причому Debian (.deb) та Red Hat (.rpm) є двома найбільш часто використовуваними. Однак є й інші, включаючи Pacman (використовується для Arch Linux) та PetGet (Puppy Linux).

Дистрибутиви Linux також мають будь-яку форму і розмір, і більшість, якщо не всі, пропонують можливість безпосереднього запуску через CD / DVD у тому, що називається середовищем "Live CD", або навіть безпосередньо через USB, якщо ваша материнська плата підтримує завантаження з USB.

Щоб дізнатись більше про Linux, прочитайте статтю засновника FreeCodeCamp Квінсі Ларсона Linux - це 25 років. Давайте відзначимо 25 вражаючими фактами про Linux.

Деякі з найкращих підручників для Linux

Ви можете переглянути цей курс збоїв у командному рядку, який охоплює багато найпоширеніших команд.

Або підручник Briana's Bash, який охоплює широкий спектр інструментів командного рядка та команд.

Деякі переваги Linux

Постійні та ефективні вдосконалення.

Оновлення Linux відбуваються завдяки глобальній співпраці розробників. Помилки документуються та вирішуються набагато швидше за допомогою цього типу підтримки. Крім того, оскільки розробники також є кінцевими користувачами, вони мають належну мотивацію, щоб переконатися, що вона відповідає потребам користувача та що вона розроблена для хорошої роботи.

Менший ризик.

Програмне забезпечення настільки добре, наскільки підтримується. Уявіть собі: програмне забезпечення створюється компанією XYZ, а згодом вони згодом збанкрутують або купуються іншою компанією, яка вирішить скоротити свою підтримку. Програмне забезпечення ніколи не побачить удосконалень чи виправлень, а тому його корисність неминуче погіршиться та загине.

Linux не належить і не управляється жодною організацією чи компанією, тому така ситуація не може статися. Більше того, хтось може вільно взяти його та внести свій внесок. Ризик втратити підтримку Linux дуже малоймовірний через надзвичайну популярність та використання.

Легкий.

Вимоги Linux до роботи в системі набагато нижчі, ніж у Windows або Mac. При правильному розподілі Linux користувач може мати скромні налаштування, і Linux надасть системі значення. Місце на диску та обсяг пам'яті також можуть бути меншими. Деякі дистрибутиви підходять для процесорів, що належать до сімейства Pentium, інші вимагають лише 128 МБ оперативної пам'яті і приблизно стільки ж місця на диску!

Значно документально підтверджено як для початківців, так і для досвідчених користувачів.

Linux має активну спільноту охочих поділитися своїми знаннями та допомогою (подібно до FreeCodeCamp!). У Linux вбудовані утиліти командного рядка, які забезпечують документацію щодо команд, бібліотек, стандартів тощо (сторінки користувача та Інформаційні сторінки), а в Інтернеті є документація, доступна у різних форматах, включаючи проект документації Linux, LinuxQuestions, ServerFault та The Arch Wiki.

На додаток до документації, є багато корисних та вітаючих спільнот для новачків, які можуть задати питання, такі як Ask Ubuntu та Reddit's r / linuxquestions.

Існують самостійні сертифікати, які можна отримати, визнані в ІТ-галузі (тести Linux + CompTIA та LPIC LPI). Хоча це не потрібно, вивчення C дає можливість користувачеві переглянути код Linux, щоб побачити, що вони використовують.

Підтримка бізнесу.

Світ залежить від Linux, що підтримує критичні системи, тому попит не зникає. Це важливо не лише для тих, хто допомагає внести свій внесок у Linux, а й для тих, хто підтримує його (Jobs!). Підтримка Linux стає більш важливою в ІТ, але також наявність цих знань як розробника зробить їх більш округлими та корисними (тобто розробники повного стеку).

Взаємодія з іншими операційними системами.

Linux має підтримку драйверів для файлових систем NTFS та HFS + (використовуються Windows та Macs), а також Samba для підтримки файлів / служб друку на машинах Windows.

Покращена апаратна підтримка.

Для інших ОС зазвичай користувачеві доведеться зайти на веб-сайт виробника, щоб отримати підтримку драйверів для різних типів обладнання. Ядро Linux автоматично підтримує більшість апаратних засобів за допомогою plug-and-play (здебільшого через спільноту з відкритим кодом). Деякі виробники також розробляють версії Linux своїх власних драйверів, які можна легко встановити через сховище програмного забезпечення дистрибутива або вручну встановивши надані двійкові файли.

Доступність / сумісність програмного забезпечення.

Linux має багатий набір доступних програм. Він має офісні програми, веб-браузери (Google Chrome та Mozilla Firefox), медіаплеєри, обробку зображень / відео тощо. Для відеоігор Steam працює на Linux, який має багато підтримуваних ігор. Програми Windows також можуть працювати в Linux (докладніше див. Wine).

Побудований для розвитку.

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

Він має потужну оболонку, яку можна використовувати для різноманітних завдань програмування та адміністрування (Bash - найпопулярніший вибір за замовчуванням для Linux).

Незважаючи на те, що Linux має «блокнот», еквівалентний gedit, він також надає більш потужні та настроювані текстові редактори, такі як Vim та Emacs (рекомендується, щоб користувачі Linux знали принаймні один із цих редакторів).

Для веб-розробки доступні також IDE, такі як Atom, Aptana / Eclipse, Sublime, KomodoIDE, щоб назвати декілька. Linux також може використовувати програмне забезпечення, таке як Apache, для налаштування локального веб-сервера для тестування, Git для контролю версій та інших інструментів / мов, таких як Node.js / Ruby / SaSS / Heroku, всі вони мають підтримку в Linux і мають інструменти командного рядка, які можуть використовувати замість графічного інтерфейсу користувача.

Настроюється.

Linux дозволяє користувачам змінювати дизайн та теми робочого столу, додавати віджети тощо. Ці зміни можна зробити в середовищі робочого столу. Різні середовища мають різний набір опцій. Деякі популярні: KDE, GNOME, XFCE, Pantheon.

Це безкоштовно.

Важко перемогти це!

Початок роботи з Linux

Вибір розподілу

На сьогоднішній день можна вибрати різні типи дистрибутивів Linux, і вибір одного з них є основною проблемою у світі Linux. Беручи до уваги прості у використанні ОС, найкращими собаками в цій категорії є:

  • Ubuntu - похідне стабільної системи Debian, Ubuntu процвітає в простому у використанні та сучасному середовищі.
  • Монетний двір - Заснована на Ubuntu та Debian, ця ОС має чудові функції, такі як сумісність PPA Ubuntu, менеджер пакетів apt. Базовий розподіл монетного двору нагадує вам про Windows, що може бути приємною характеристикою для користувачів, що походять з Windows.
  • Trisquel - розподіл, отриманий від Ubuntu, який зосереджується лише на використанні повністю безкоштовного програмного забезпечення, уникаючи власного програмного забезпечення. Trisquel схвалений Фондом вільного програмного забезпечення (FSF).

Встановлення

Більшість дистрибутивів Linux надзвичайно прості в установці, оскільки вся інформація відображається між кожним кроком інсталяції.

Важливим кроком, на який слід звернути увагу, є рішення про те, де встановити новий дистрибутив Linux. Для перших користувачів краще вибрати опцію “Guided”, оскільки це зробить всю роботу за вас.

Не забудьте уважно прочитати всі кроки та залишити трохи місця на жорсткому диску для нового дистрибутива - я б сказав, що приємно мати близько 30 Гб.

Страшний термінал

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

У Debian / Ubuntu та його похідних комбінація клавіш для відкриття інтерфейсу командного рядка (Comman Line Interface) - це «Ctrl + Alt + T». Давайте відкриємо термінал і спробуємо кілька команд.

cd (Change Directory) - команда cd - одна з команд, яку ви будете використовувати найбільше в командному рядку в Linux. Це дозволяє змінити робочий каталог. Ви використовуєте його для переміщення в межах ієрархії вашої файлової системи.

cd

Одне лише використання команди cd змінить поточний каталог на домашній каталог користувача, який знаходиться в “/ home / username”, як у “/ home / mark”.

ls (Список) - Ця команда відображає вміст поточного каталогу. Він також може використовуватися для переліку інформації про файл.

ls

Тепер ми можемо бачити наші каталоги в нашому домі.

10 простих та корисних команд Linux

Команди, перелічені тут, є основними та допоможуть швидко розпочати роботу. Але вони також потужні, і вони й надалі будуть корисними у міру розширення вашого досвіду роботи з Linux.

  1. manПоказує інструкцію з команди, яка слідує за нею. Це дуже корисно при спробі з'ясувати, як працює незнайома команда. Наприклад, введіть man lsвсе, що вам потрібно знати про lsкоманду. Введіть qдля виходу.
  2. echoЦе передає текст, який ви йому надаєте, і відправляє його кудись - назад на екран, у файл або в іншу команду. Приклад:echo "hello!"
  3. catЩоб відобразити вміст текстового файлу, просто введіть cat myfile.
  4. findВін робить те, що говорить, і це добре в ньому. Використовуйте його, щоб знаходити файли за шляхом, розміром, датою, власником та купою інших корисних фільтрів. Приклад: find . -type f -mtime -1h # List files in this directory modified in the past hour.
  5. dateПросто введіть дату, коли хочете знати, скільки часу. Приклад: date "+It's %l:%m%p on %A". Використовуйте його у сценарії, щоб називати файли відповідно до поточної дати.
  6. lsЩо в цьому каталозі? Поєднуйте lsз деякими корисними прапорами для відображення та сортування вмісту каталогу за датою та розміром. Це також надає вам безліч варіантів форматування виводу.
  7. pwdДе я? Linux може бути невблаганним, особливо коли ви щось видаляєте. Переконайтесь, що ви знаєте, де ви знаходитесь, перш ніж видавати свої команди.
  8. rmЦя команда видаляє файли, а не каталоги. rm file.txtвидалить файл із назвою "file.txt", доки він існує та знаходиться в поточному каталозі.
  9. mvВикористовуйте цю команду для переміщення файлів за допомогою командного рядка. Ви також можете використовувати mvкоманду для перейменування файлу. Наприклад, якщо ви хочете перейменувати файл "текст" на "новий", просто запустіть mv text new.
  10. mailПоштова програма Linux погано виглядає, але може бути дуже корисною. Ви можете створити повідомлення та додати текст, одержувачів та вкладення - однією командою. Приклад:echo "We're having a great time." | mail -s "Wish you were here!" -A postcard.png -t [email protected]
  11. cutКоли у вас є рядок із роздільниками, використовуйте cutдля фільтрування певних полів. Приклад:echo "this, that, and the other" | cut -d, -f2 # "that"
  12. grepЩоб знайти рядки тексту, що містять певний рядок, використовуйте grep. Приклад:grep 'root' /etc/passwd # root:x:0:0:root:/root:/bin/bash
  13. sedВикористовуйте sedдля пошуку та зміни підрядка в фрагменті тексту. Приклад:echo "this, that, and the other" | sed 's/that/those/' # "this, those, and the other"
  14. shutdownВикористовуйте вимкнення системи та вимкнення живлення. Приклад: shutdown -h nowнегайно вимикає систему. shutdown -h +5вимикає систему через п’ять хвилин.
  15. lessВикористовуйте less [filename]для перегляду вмісту файлу та навігації по ним. За замовчуванням lessбуде проходити по файлу сторінку за сторінкою.

Використовуйте ці команди в сценаріях та в командному рядку. Всі вони є дуже потужними командами, і головна сторінка Linux містить набагато більше інформації про кожну.

Також важливими командами, які використовуються для системних адміністраторів, є:

  1. uptime : показує, скільки часу працює ваша система, і кількість користувачів, які наразі ввійшли в систему. Також відображається середнє навантаження через інтервали 1,5 та 15 хвилин.
  2. w: відображає користувачів, які зараз ввійшли в систему, та їх процес, а також середні показники навантаження. Також відображається ім'я для входу, ім'я tty, віддалений хост, час входу, час простою, JCPU, PCPU, команда та процеси.
  3. users: відображає поточно зареєстрованих користувачів. Ця команда не має інших параметрів, крім довідки та версії.
  4. who: просто повертає ім'я користувача, дату, час та інформацію про хост. Команда who схожа на команду w. На відміну від w, хто не друкує те, що роблять користувачі.
  5. whoami: друкує ім'я поточного користувача. Ви також можете використовувати “хто я” для відображення поточного користувача. Якщо ви ввійшли до системи як root, використання команди sudo “whoami” повертає root як поточного користувача. Використовуйте “хто я”, якщо ви хочете знати точного користувача, який увійшов у систему.
  6. ls : відображає список файлів у зручному для читання форматі.
  7. crontab : перераховує заплановані завдання для поточного користувача за допомогою команди crontab та опції -l.
  8. less: дозволяє швидко переглядати файл. Ви можете перегортати сторінки вгору та вниз. Натисніть 'q', щоб вийти з вікна менше.
  9. more: дозволяє швидко переглядати файл та відображати деталі у відсотках. Ви можете перегортати сторінки вгору та вниз. Натисніть 'q', щоб вийти з іншого вікна.
  10. cp : Копіювати файл з джерела до місця призначення, зберігаючи той самий режим.

Це перелік команд, які часто використовуються адміністратором. Це не повний перелік, але це компактний перелік команд, на які можна посилатись у разі потреби.

Загальні терміни, які повинен знати кожен користувач Linux.

  • Distro: це скорочене слово для «розподілу»; а дистрибутив - це конкретна марка операційної системи GNU / Linux - як Redhat, Fedora, Ubuntu та Debian.
  • Оболонка: це програма, яка читає введені вами команди та виконує вказані команди. Знак долара (`$ '), що передує курсору, називається підказкою оболонки; він повідомляє вам, що система готова і чекає на введення у вигляді команд.
  • CLI: розшифровується як інтерфейс командного рядка . Це простий користувальницький інтерфейс, який надає послуги, необхідні користувачеві для взаємодії з ОС Linux за допомогою текстових команд. Це захищає користувача від необхідності знати складні деталі обладнання.
  • GUI: означає графічний інтерфейс користувача. Це частина системи Linux, яка включає вікна, піктограми, картинки (графіку в цілому), які роблять можливим націлювання та клацання.
  • Термінал: це програма, яка використовується для доступу до оболонки Linux.
  • Ядро: це ядро ​​системи Linux - те, що ви могли б назвати "мозком". Ядро контролює ресурси комп’ютера та визначає, як вони використовуються, безпосередньо взаємодіючи з апаратним забезпеченням комп’ютера.
  • Tux: офіційний талісман Linux. Це пінгвін, який зазвичай асоціюється з Linux - якщо ви бачили жовто-чорного пінгвіна в Інтернеті, то ви бачили смокинг.
  • Root: також відомий як суперкористувач, є іменем користувача за промовчанням для адміністратора машини Linux. Зазвичай він представлений на терміналі Linuxсимволом «#» .
  • Команди: це введення тексту або вказівки, що даються машині Linux (вводячи їх у термінал), щоб сказати, що робити (тобто для необхідного результату).
  • Сховище: сховище (або коротше “репо”) - це сукупність програмних пакетів для дистрибутива, який зазвичай розміщується в Інтернеті. Програмні програми можна встановлювати як зі сховищ за замовчуванням, що надаються дистрибутивом, так і від сторонніх, коли вони додаються до менеджера пакетів.
  • Package Manager: це програма, яка дозволяє шукати, встановлювати, оновлювати та видаляти програми та інші функції управління програмами. Кожен дистрибутив має графіку від менеджерів кінцевих пакетів (наприклад, Центр програмного забезпечення Ubuntu) та інструменти управління пакетами командного рядка, такі як „apt-get“.
  • Залежність: залежність - це програмне забезпечення, яке потрібно запустити програмі, яку ви хочете встановити. Коли програма інсталюється, вона видає список залежностей менеджеру пакетів за замовчуванням, щоб перевірити, чи вони вже встановлені, і завантажити їх із сховища, якщо вони не встановлені.