Най-добрите уроци за 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% от световните сървъри и е в основата на популярната операционна система Android на Google.

Съществуват и много версии на 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 в така наречената среда на „CD на живо“ или дори директно през USB, ако дънната ви платка поддържа зареждане от USB.

За повече факти за Linux, прочетете статията на основателя на freeCodeCamp Куинси Ларсън Linux е на 25 години. Нека празнуваме с 25 зашеметяващи факта за Linux.

Някои от най-добрите уроци за Linux там

Можете да гледате този курс за срив на командния ред, който обхваща много от най-често срещаните команди.

Или урокът на Briana за Bash, който обхваща голямо разнообразие от инструменти и команди от командния ред.

Някои предимства на Linux

Постоянни и ефективни подобрения.

Актуализациите на Linux се случват чрез глобалното сътрудничество на разработчиците. Грешките се документират и решават много по-бързо с този тип поддръжка. Освен това, тъй като разработчиците са и крайните потребители, те имат подходящата мотивация да се уверят, че отговаря на нуждите на потребителя и че е проектиран да работи добре.

По-малко риск.

Софтуерът е толкова добър, колкото и подкрепата, която се предоставя. Представете си това: софтуер е създаден от компанията XYZ и по-късно по пътя те фалират или биват закупени от друга компания, която реши да намали подкрепата си. Софтуерът никога няма да види подобрения или поправки и следователно неговата полезност неизбежно ще ерозира и ще умре.

Linux се притежава и управлява от нито едно предприятие или компания, така че тази ситуация не може да се случи. Повече от това всеки може да го вземе и да допринесе. Рискът от загуба на поддръжка за Linux е много малко вероятен поради огромната му популярност и употреба.

Лек.

Изискванията на Linux за работа в система са много по-ниски от тези на Windows или Mac. С правилната дистрибуция на Linux потребителят може да има скромна настройка и Linux ще даде на системата стойност. Дисковото пространство и размерът на паметта също могат да бъдат по-малки. Някои дистрибуции са подходящи за процесори, произхождащи от семейството на Pentium, други имат изискване за 128MB RAM и около същото количество за дисково пространство!

Силно документиран както за начинаещи, така и за напреднали потребители.

Linux има активна общност от желаещи да споделят своите знания и помощ (подобно на FreeCodeCamp!). В Linux са вградени помощни програми за команден ред, които предоставят документация за команди, библиотеки, стандарти и др. (Man страници и информационни страници), а в Интернет има документация в различни формати, включително Linux Documentation Project, LinuxQuestions, ServerFault и The Arch Wiki.

В допълнение към документацията има много полезни и приветливи общности за новодошлите, които да задават въпроси като Ask Ubuntu и r / linuxquestions на Reddit.

Има самостоятелни сертификати, които могат да бъдат взети, които са признати в ИТ индустрията (тестове Linux + на CompTIA за LPIC и LPI). Въпреки че не се изисква, обучението C дава възможност на потребителя да прегледа кода на Linux, за да види какво работи.

Бизнес подкрепа.

Светът зависи от Linux, поддържащ критични системи, така че търсенето не изчезва. Това е важно не само за онези, които помагат да допринесат за Linux, но и за тези, които го поддържат (Jobs!). Поддръжката на Linux става по-важна в ИТ, но също така наличието на тези знания като разработчик ще ги направи по-закръглени и полезни (т.е. разработчици на пълен стек).

Оперативна съвместимост с други операционни системи.

Linux има поддръжка на драйвери за файлови системи NTFS и HFS + (използвани от Windows и Mac), както и 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 и имат инструменти на командния ред, които могат да се използва вместо GUI.

Персонализира се.

Linux позволява на потребителите да променят дизайна и темите на работния плот, да добавят приспособления и други. Тези промени могат да се извършват с настолни среди. Различните среди имат различен набор от опции. Някои популярни са: KDE, GNOME, XFCE, Pantheon.

Безплатно е.

Трудно е да се победи това!

Първи стъпки с Linux

Избор на разпределение

В днешно време има различни видове дистрибуции на Linux и изборът на такава е основна грижа в света на Linux. Като се вземат предвид лесни за използване операционни системи, най-добрите кучета в тази категория са:

  • Ubuntu - производно на стабилната система Debian, Ubuntu процъфтява в лесната за използване и актуална среда.
  • Монетен двор - Въз основа на Ubuntu и Debian, тази операционна система има страхотни функции като PPA съвместимостта на Ubuntu, мениджъра на подходящи пакети. Основното разпределение на монетен двор напомня на Windows, което може да бъде приятна характеристика за потребителите, идващи от Windows.
  • Trisquel - Дистрибуция, получена от Ubuntu, която се фокусира само върху използването на напълно безплатен софтуер, избягвайки патентования софтуер. Trisquel е одобрен от Фондацията за свободен софтуер (FSF).

Инсталиране

Повечето дистрибуции на Linux са изключително лесни за инсталиране, тъй като цялата информация се показва между всяка стъпка от инсталацията.

Една важна стъпка, за която трябва да внимавате, е когато решавате къде да инсталирате новия си дистрибутор на Linux. За първите потребители е по-добре да изберете опцията “Guided”, тъй като тя ще свърши цялата работа вместо вас.

Не забравяйте да прочетете внимателно всички стъпки и да оставите малко място на твърдия си диск за новия дистрибутор - бих казал, че минимум 30 Gb е хубаво да имате.

Страшният терминал

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

В Debian / Ubuntu и дериватите пряк път за отваряне на CLI (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 : Копирайте файла от източника до местоназначението, запазвайки същия режим.

Това са списъкът с команди, често използвани от adiminstrator. Това не е пълен списък, но е компактен списък от команди, към които да се обърнете, когато е необходимо.

Общи термини, които всеки потребител на Linux трябва да знае.

  • Distro: това е съкратена дума за „разпространение“; и дистрибуция е определена марка операционна система GNU / Linux - като Redhat, Fedora, Ubuntu и Debian.
  • Shell: това е програмата, която чете въведените от вас команди и изпълнява посочените команди. Знакът за долар ("$"), предхождащ курсора, се нарича команден ред; той ви казва, че системата е готова и чака входове под формата на команди.
  • CLI: означава интерфейс на командния ред . Това е простият потребителски интерфейс, който предоставя услугите, необходими на потребителя за взаимодействие с Linux OS, използвайки текстови команди. Той предпазва потребителя от необходимостта да знае сложни хардуерни детайли.
  • GUI: означава графичен потребителски интерфейс. Това е частта от системата Linux, която се състои от прозорци, икони, картинки (графики като цяло), които правят възможни точката и щракването.
  • Терминал: е приложение, което се използва за достъп до черупката на Linux.
  • Ядро: това е ядрото на системата Linux - това, което бихте могли да наречете „мозък“. Ядрото контролира ресурсите на компютъра и определя как те се използват, като взаимодейства директно с хардуера на компютъра.
  • Tux: официалният талисман на Linux. Това е пингвинът, който обикновено се свързва с Linux - ако сте виждали жълто-черния пингвин онлайн, значи сте виждали смокинг.
  • Root: известен също като суперпотребител, е потребителското име по подразбиране за администратора на Linux машина. Обикновено се представя на терминала linux съссимвола “#” .
  • Команди: представляват се въвеждане на текст или инструкции, дадени на машината linux (като ги въведете в терминала), за да му кажете какво да прави (т.е. за необходимия резултат).
  • Хранилище: хранилище (или накратко „репо“) е колекция от софтуерни пакети за дистрибуция, обикновено хоствана онлайн. Софтуерните програми могат да се инсталират както от хранилищата по подразбиране, предоставени от дистрибуцията, така и от тези на трети страни, когато се добавят към мениджъра на пакети.
  • Package Manager: е софтуерна програма, която ви позволява да търсите, инсталирате, актуализирате и премахвате приложения и други функции за управление на приложения. Всяко дистрибуция има графики от крайните мениджъри на пакети (като софтуерния център на Ubuntu) и инструменти за управление на пакети от командния ред, като „apt-get“.
  • Зависимост: зависимостта е софтуерна програма, която програмата, която искате да инсталирате, трябва да стартира. Когато се инсталира програма, тя дава списък със своите зависимости на мениджъра на пакети по подразбиране, за да провери дали те вече са инсталирани и да ги изтегли от хранилище, ако не са.