Разное

Учебник linux: Подборка книг для изучения Linux

Содержание

Подборка материала для начинающего linux-сисадмина / Песочница / Хабр

Добрый день.

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

Кто заинтересовался — прошу под кат.

Linux/Unix:

Книги:

DNS и BIND — толстая книга про DNS и днс-сервер BIND.
Из этих двух книг каждый выбирают сам, в принципе они взаимозаменяемые:
Компьютерные сети Э. Таненбаум — крутая книга по сетям.
Компьютерные сети Олиферы — также крутая книга по сетям.
LPIC-1 Study Guide Second Edition — книга для подготовки к сдаче экзамена LPIC-1.
Postfix Полное руководство — книга о почтовом сервере postfix.
Операционная система UNIX — добротная книга по устройству unix’ов.
Основы Linux от основателя Gentoo — очень крутая книга.
Тайм-менеджмент для системных администраторов — управляй своим временем.
Unix и Linux. Руководство системного администратора — книга мне понравилась, хотя в принципе сборник man’ов.
Rute User’s Tutorial and Exposition — старая, но хорошо написанная книга о GNU/Linux.
Red Hat Linux Essentials — подготовка к курсу RH033.
Самоучитель системного администратора — если честно, то книга так себе, но можно ознакомиться.
Linux. Необходимый код и команды. Карманный справочник — крутой маленький справочник, держу под рукой.
Linux. Полное руководство — добротная книга, хоть и старая. MUST HAVE.
Энциклопедия Linux. Наиболее полное и подробное руководство — опять таки добротная книга, хоть и старая.
Linux. Системное программирование — все о системных вызовах в Linux.
Системное и сетевое администрирование. Практическое руководство — очень крутая книга, правда не о настройках того или иного софта.
Основы программирования в Linux — мега крутая книга, правда описывается C/C++/Bash.
Ссылки:

habrahabr.ru — разнообразные статьи и новости на IT и около-IT тематику.
www.opennet.ru — огромный сборник манов, вики, статей, советов, новостей и прочего на тему Linux, Unix.
www.linux.org.ru — русская информация об ОС Linux.
xgu.ru/wiki — точка обмена знаниями по UNIX/Linux-системам, системам с открытым исходных кодом, сетям и другим родственным вещам.
www.ibm.com/developerworks/ru/linux — крутые статьи от IBM.
syslog.tv — говорят, что бывают полезные статьи, но сам лично не читал.
www.cyberciti.biz — различные how-to и советы.
events.yandex.ru/events/kit — Курсы Информационных технология от Яндекса (видео), очень советую, крутые доклады.
course.secsem.ru/lections — Лекции по курсу «Практические аспекты сетевой безопасности» (видео, аудио, текст).
www.howtoforge.com — большая подборка How-to.
workaround.org — несколько полезных статей и руководств по Linux.
highload.com.ua — масштабирование и производительность, высокие нагрузки, PHP, MySQL.
find.unixpin.com/ru — построитель команды find.
www.grymoire.com/Unix — отличные учебники по sed, awk и полезные статьи.
kernelnewbies.org/KernelHacking — как же работает ядро?
forum.ru-board.com/forum.cgi?forum=8 — раздел форума для сисадминов.
sysadminblog.ru — блоги сисадминов про cisco, ip телефонию, linux, openldap и другое.
wiki.dieg.info — довольно много полезных советов по Linux.
www.sysadminwiki.ru/wiki — неплохая вики.
olemskoi.ru — блог системного администратора Linux.
debian.pro — блок для пользователя и администратора Debian.
interface31.ru/tech_it/index.html — технический блог со статьями по администрированию.
antizlo.blogspot.ru — опять таки неплохой блог.
howitmake.ru — очередной блог.
vds-admin.ru — linux-мануалы, how-to.
wiki.enchtex.info — ряд полезных статей и how-to по администрированию ubuntu и gentoo.
rfc2.ru — русские переводы RFC.
handynotes.ru — есть довольно хорошие статьи.
xtips.ru — шпаргалка для системных администраторов.
vim-adventures.com — игра-туториал для пользователей Vim.
nixsrv.com — Learn Linux The Hard Way — довольно интересные задачки для новичка.
www.linuxfromscratch.org/lfs — Linux From Scratch — соберем свой собственный линукс дистрибутив с блэкджеком и девушками.

Bash:

Книги:

Advanced Bash-Scripting Guide — по моему самый полный гайд по bash.
Bash Guide — добротный гайд по bash.

Ссылки:

ss64.com — отличный справочник консольных команд bash, cmd, powershel и т.д.
cb.vu/unixtoolbox.xhtml — описание shell-команд и примеры.

Perl:

Книги:

Perl Best Practices — как писать хороший код на perl.
Extreme programming in Perl — методология Экстремального Программирования на Perl.
Modern Perl — современные подходы к программированию на Perl.
Perl & LWP — добротная книга о перле и вебе.
Perl. Сборник рецептов. Для профессионалов — сборник крутых рецептов из реальной практики.
CGI programming with Perl — как писать CGI на perl.
Perl для системного администрирования — рассказывает о том, как можно применить Perl для администрирования.
Разработка сетевых программ на Perl — все ясно из названия, но описывается как разрабатывать на ООП Perl.
Learning Perl — отличная книга, начинал с нее.
Программирование на Perl — добротно, от создателя языка.
Освой самостоятельно Perl за 24 часа — крутая книга по Perl, CGI.
Perl. Изучаем глубже — продолжение Learning Perl.
Ссылки:

www.cpan.org — окало 120 тысяч модулей к Perl.

Python:

Книги:

Изучаем Python — добротная книга по питону.
Python в системном администрировании Unix и Linux — не самая лучшая, но и не самая худшая книга, стоит потраченного времени.
Программирование на Python. Том 1 — крутая книга, порог вхождения средний.
Программирование на Python. Том 2 — продолжение крутой книги 🙂
Программирование на Python 3. Подробное руководство — автор не разжевывает абсолютно все, но указывает, что необходимо запомнить. Советую.
Ссылки:

docs.python.org/2 — официальная документация по Python 2.7.3.
docs.python.org/3 — официальная документация по Python 3.3.0.

С:

Книги:

Язык программирования С — лучшая книга по Си, но довольно высокий порог вхождения.
Как программировать на С — мне очень понравилась книга манерой изложения и доступностью, по сравнению с первой книгой.
Программирование на языке С — очень хорошо изложен материал.

C++:

Книги:

Язык программирования С++ — опять таки одна из лучших книг по С++, но порог вхождения опять таки велик.
Как программировать на С++ — аналогично книге по Си, очень доступно.

Регулярные выражения:

Книги:

Регулярные выражения — наверное лучшая книга по регексам.
Ссылки:

regex.learncodethehardway.org/book — Learn Regex The Hard Way

Базы данных:

Книги:

MySQL Руководство по изучению языка — неплохая книга по MySQL.
Изучаем SQL — очень нравится, но пока не осилил целиком, достойная книга.
Ссылки:

habrahabr.ru/post/105954 — MySQL шпаргалки

PHP:

Книги:

PHP в примерах — несколько человек мне посоветовали эту книгу, но честно говоря показалась не очень полезной.
PHP 5 в подлиннике — начал читать, довольно хорошо написано простым языком, обо всем.

Книги старался добавлять только те, которые прочел/начал читать/не дочитал.
Так же буду очень рад любым замечаниям.

За ссылки огромное спасибо автору этого поста и всем его комментаторам.

Основные linux-команды для новичка / Хабр

Linux — это операционная система. Как винда (windows), только более защищенная. В винде легко подхватить вирус, в линуксе это практически невозможно. А еще линукс бесплатный, и ты сам себе хозяин: никаких тебе неотключаемых автообновлений системы!

Правда, разобраться в нем немного посложнее… Потому что большинство операций выполняется в командной строке. И если вы видите в вакансии «знание linux» — от вас ожидают как раз умение выполнять простейшие операции — перейти в другую директорию, скопировать файл, создать папочку… В этой статье я расскажу про типовые операции, которые стоит уметь делать новичку. Ну и плюс пара полезняшек для тестировщиков.

Я дам кратенькое описание основных команд с примерами (примеры я все проверяла на cent os, red hat based системе) + ссылки на статьи, где можно почитать подробнее. Если же хочется копнуть еще глубже, то см раздел «Книги и видео по теме». А еще комментарии к статье, там много полезного написали)

Содержание


Где я? Как понять, где находишься


Команда pwd:
pwd   --- мы ввели команду
/home/test   --- ответ системы, мы находимся в домашней директории пользователя test

Очень полезная команда, когда у вас нет ничего, кроме командной строки под рукой. Расшифровывается как Print Working Directory. Запомните ее, пригодится.

Как понять, что находится в папке


Команда ls позволяет просмотреть содержимое каталога:

Хотя лучше использовать команду сразу с флагом «l»:

ls -l

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

У команды есть и другие флаги, но чаще всего вы будете использовать именно «ls – l».

См также:
Команда ls Linux — подробнее о команде и всех ее флагах
Команда ls – просмотр каталога — о команде для новичков (без перечисления всех флагов)

Как перейти в другую директорию


С помощью команды cd:
cd <путь к директории>

Путь может быть абсолютным или относительным.

По абсолютному пути


Либо у вас где-то записан путь, «куда идти», либо вы подсмотрели его в графическом интерфейсе (например, в WinSCP).

Вставляем путь в командную строку после «cd»

cd /home/student/log

Ну вот, мы переместились из домашней директории (обозначается как ~) в /home/student/log.

По относительному пути


Относительный путь — относительно вашей текущей директории, где вы сейчас находитесь. Если я уже нахожусь в /home/student, а мне надо в /home/student/log, команда будут такой:
cd log --- перейди в папку log из той директории, где ты сейчас находишься

Если мне из надо из /home/student/photo в /home/student/photo/city/msk/2017/cat_1, команда будет такой:
cd city/msk/2017/cat_1

Я не пишу /home/student/photo, так как я уже там.

В линуксе можно задавать путь относительно домашней папки текущего пользователя. Домашняя директория обозначается ~/. Заметьте, не ~, а именно ~/. Дальше вы уже можете указывать подпапки:

cd  ~/log

Эта команда будет работать отовсюду. И переместит нас в /home/user/log.

Вот пример, где я вошла под пользователем students. Исходно была в директории /var, а попала в /home/students/log:

С автодополнением


Если вы начнете набирать название папки и нажмете Tab, система сама его подставит. Если просто нажмете Tab, ничего не вводя, система начнет перебирать возможные варианты:

(cd tab) Может, ты имел в виду папку 1?

(tab) Нет? Может, папку 2?
(tab) Снова нет? Может, папку 3?
(tab) Снова нет? Может, файл 1 (она перебирает имена всех файлов и директорий, которые есть в той, где вы сейчас находитесь)?
(tab) У меня кончились варианты, поехали сначала. Папка 1?

cd lon(Tab) → cd long-long-long-long-name-folder — начали вводить название папки и система сама подставила имя (из тех, что есть в директории, где мы находимся).

cd (Tab)(Tab)(Tab) — система перебирает все файлы / папки в текущей директории.

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

Подняться наверх


Подняться на уровень выше:
cd ..

Если нужно поднять на два уровня выше, то
cd ../..

И так до бесконечности =) Можно использовать файл, лежащий на уровне выше или просто сменить директорию.

Обратите внимание, что команда для линукса отличается от команды для винды — слеш другой. В винде это «cd ..\..», а в линуксе именно «cd ../..».

См также:
Путь к файлу в linux

Как создать директорию


Используйте команду mkdir:
mkdir test  --- создает папку с названием «test» там, где вы находитесь

Можно и в другом месте создать папку:
mkdir /home/test   --- создает папку «test» в директории /home, даже если вы 
сейчас не там

Когда это нужно? Например, если вам надо сделать бекап логов. Создаете папку и сохраняете туда нужные логи. Или если вы читаете инструкцию по установке ПО и видите там «создать папку». Через командную строку это делается именно так.

См также:
Как создать каталог в Linux с помощью команды mkdir

Как создать файл


Командой touch:
touch app.log

Такая команда создаст пустой файл с названием «app.log». А потом уже можно открыть файл в редакторе и редактировать.

Как отредактировать файл


Вот честное слово, лучше делать это через графический интерфейс!

Но если такой возможности нет, чтож… Если использовать программы, которые есть везде, то у вас два варианта:

  1. nano — более простая программа, рассчитана на новичков
  2. vim — более сложная, но позволяет сделать кучу всего

Начнем с nano. Указываете имя команды и путь в файлу:
nano test_env.json

Для перемещения по файлу используйте кнопки со стрелками. После того, как закончите редактировать файл, нажмите:
  • Ctrl+O — чтобы сохранить
  • Ctrl+X — для выхода

Самое приятное в nano — это подсказки внизу экрана, что нажать, чтобы выйти.

А вот с vim с этим сложнее. В него легко зайти:

vim test_env.json
vi test_env.json     (предшественник vim)

Войти вошли, а как выйти то, аааа? Тут начинается легкая паника, потому что ни одна из стандартных комбинаций не срабатывает:
Esc, ctrl + x, ctrl + q
… Если под рукой есть второй ноутбук или хотя бы телефон / планшет с интернетом, можно прогуглить «как выйти из vim», а если у вас только одно окно с терминалом, которое вы заблокировали редактором?

Делюсь секретом, для выхода надо набрать:

  • :q — закрыть редактор
  • :q! — закрыть редактор без сохранения (если что-то меняли, то просто «:q» не проканает)

Двоеточие запускает командный режим, а там уже вводим команду «q» (quit).

Исходно, когда мы открываем файл через vim, то видим его содежимое, а внизу информацию о файле:

Когда нажимаем двоеточие, оно печатается внизу:

Если не печатается, не паникуем! Тогда попробуйте нажать Esc (вернуться в нормальный режим), потом Enter (подтвердить команду), а потом снова печатайте. Фух, помогло, мы вышли оттуда!!!

На самом деле сейчас всё не так страшно. Даже если вас заслали работать в банк, где нет доступа в интернет, а вы вошли в vi и не знаете как выйти, всегда можно погулить выход с телефона. Слава мобильному интернету! Ну а если вы знаете логин-пароль от сервера, то можно просто закрыть терминал и открыть его снова.

Если нужно выйти, сохранив изменения, используйте команду

:w — сохранить файл;
:q — закрыть редактор;

Ну а про возможности редактирования см статьи ниже =)

См также:
Как редактировать файлы в Ubuntu — подробнее о разных способах
Как пользоваться текстовым редактором vim — подробнее о vim и всех его опциях
Как выйти из редактора Vi или Vim? — зачем нажимать Esc

Как перенести / скопировать файл


Допустим, у нас в директории /opt/app/log находится app.log, который мы хотим сохранить в другом месте. Как перенести лог в нужное место, если нет графического интерфейса, только командная строка?

Скопировать файл


Команда:
cp что_копировать куда_копировать

Если мы находимся в директории /opt/app/log:
cp app.log /home/olga

В данном примере мы использовали относительный путь для «что копировать» — мы уже находимся рядом с логом, поэтому просто берем его. А для «куда копировать» используем абсолютный путь — копируем в /home/olga.

Можно сразу переименовать файл:

cp app.log /home/olga/app_test_2020_03_08.log

В этом случае мы взяли app.log и поместили его в папку /home/olga, переименовав при этом в app_test_2020_03_08.log. А то мало ли, сколько логов у вас в этом папке уже лежит, чтобы различать их, можно давать файлу более говорящее имя.

Если в «куда копировать» файл с таким именем уже есть, система не будет ничего спрашивать, просто перезапишет его. Для примера положим в папку log внутри домашней директории файл «app.log», который там уже есть:

Никаких ошибок, система просто выполнила команду.

См также:
Копирование файлов в linux

Скопировать директорию


Команда остается та же, «cp», только используется ключ R — «копировать папку рекурсивно»:
cp -r  путь_к_папке  путь_к_новому_месту

Например:
cp /opt/app/log /home/olga

Так в директории /home/olga появится папка «log».

Переместить файл


Если надо переместить файл, а не скопировать его, то вместо cp (copy) используем mv (move).
cp app.log /home/olga
↓
mv app.log /home/olga

Можно использовать относительные и абсолютные пути:
mv /opt/app/logs/app.log /home/olga — абсолютные пути указаны, команда сработает из любого места

Можно сразу переименовать файл:
mv app.log /home/olga/app_2020_03_08.log — перенесли лог в /home/olga и переименовали


Переместить директорию


Аналогично перемещению файла, команда mv
mv /opt/app/log/  /home/olga/bakup/

Как удалить файл


С помощью команды rm (remove):
rm test.txt  — удалит файл test.txt

Если нужно удалить все файлы в текущей директории (скажем, вычищаем старые логи перед переустановкой приложения), используйте «*»:
rm *  — удалит все файлы в текущей директории

Если нужно удалить папку, надо добавить флаг -r (recursive):

rm -r test_folder

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

А теперь представьте, что вы чистите много файлов. И на каждый система переспрашивает, и надо постоянно отвечать «да, да, да…» (y – enter, y – enter, y – enter)… Чтобы удалить все без вопросов, используйте флаг -f (force):

rm -rf test_folder    --- просто все удалит без разговоров

Но учтите, что это довольно опасная команда! Вот так надоест подстверждать удаление и введешь «-rf», а директорию неправильно укажешь… Ну и все, прости-прощай нужные файлы. Аккуратнее с этой командой, особенно если у вас есть root-полномочия!

Опция -v показывает имена удаляемых файлов:

rm -rfv test_folder   --- удалит папку со всем содержимым, но выведет имена удаляемых файлов

Тут вы хотя бы можете осознать, что натворили )))

См также:
Как удалить каталог Linux

Как изменить владельца файла


Если у вас есть root-доступ, то вы наверняка будете выполнять все действия под ним. Ну или многие… И тогда любой созданный файл, любая папка будут принадлежать root-пользователю.

Это плохо, потому что никто другой с ними работать уже не сможет. Но можно создать файл под root-ом, а потом изменить его владельца с помощью команды chown.

Допустим, что я поднимаю сервис testbase. И он должен иметь доступ к директории user и файлу test.txt в другой директории. Так как никому другому эти файлики не нужны, а создала я их под рутом, то просто меняю владельца:

chown testbase:testbase test.txt — сменить владельца файла
chown -R testbase:testbase user     — сменить владельца папки

В итоге был владелец root, а стал testbase. То, что надо!

См также:
Команда chown Linux

Как установить приложение


Если вы привыкли к винде, то для вас установка приложения — это скачать некий setup файлик, запустить и до упора тыкать «далее-далее-далее». В линуксе все немного по-другому. Тут приложения ставятся как пакеты. И для каждой системы есть свой менеджер пакетов:
  • yum — red hat, centos
  • dpkg, apt — debian

См также:
5 Best Linux Package Managers for Linux Newbies

Давайте посмотрим на примере, как это работает. В командной строке очень удобно работать с Midnight Commander (mc) — это как FAR на windows. К сожалению, программа далеко не всегда есть в «чистом» дистрибутиве.

И вот вы подняли виртуалку на centos 7, хотите вызвать Midnight Commander, но облом-с.

mc

Ничего страшного, установите это приложение через yum:

yum install mc

Он там будет что-то делать, качать, а потом уточнит, согласны ли вы поставить программу с учетом ее размеров. Если да, печатаем «y»:

И система заканчивает установку.

Вот и все! Никаких тебе унылых «далее-далее-далее», сказал «установи», программа установилась! Теперь, если напечатать «mc» в командной строке, запустится Midnight Commander:

См также:
Как устанавливать программы для Linux
Yum, шпаргалка — всякие опции и плагины

Как запустить приложение


Некоторые приложения запускаются через скрипты. Например, чтобы запустить сервер приложения WildFly, нужно перейти в папку bin и запустить там standalone.sh. Файл с расширением .sh — это скрипт.

Чтобы запустить скрипт, нужно указать полный путь к нему:

/opt/cdi/jboss/bin/standalone.sh — запустили скрипт standalone.sh

Это важно! Даже если вы находитесь в той папке, где и скрипт, он не будет найден, если просто указать название sh-скрипта. Надо написать так:
./standalone.sh — запустили скрипт, если мы в той же директории

Поиск идет только в каталогах, записанных в переменную PATH. Так что если скрипт используется часто, добавляйте путь туда и вызывайте просто по названию:
standalone.sh --- запустили скрипт standalone.sh, путь к которому прописан в PATH

См также:
Запуск скрипта sh в Linux — подробнее о скриптах

Если же приложение запускается как сервис, то все еще проще:

service test start — запустить сервис под названием «test»
service test stop — остановить сервис

Чтобы сервис test запускался автоматически при рестарте системы, используйте команду:
chkconfig test on

Она добавит службу в автозапуск.

Как понять, где установлено приложение


Вот, например, для интеграции Jenkins и newman в Jenkins надо прописать полный путь к ньюману в параметре PATH. Но как это сделать, если newman ставился автоматически через команду install? И вы уже забыли, какой путь установки он вывел? Или вообще не вы ставили?

Чтобы узнать, куда приложение установилось, используйте whereis (без пробела):

whereis newman

Как создать архив


Стандартная утилита, которая будет работать даже на «голой» системе — tar. Правда, для ее использования надо запомнить флаги. Для создания архива стандартная комбинация cvzf:
tar -cvzf archive.tar.gz /home/test

В данном примере мы упаковали директорию /home/test, внутри которой было две картинки — 502.jpg и 504.jpg.

Для распаковки меняем флаг «c» на «x» и убираем «z»:

tar -xvf archive.tar.gz

Хотя система пишет, что распаковала «/home/test», на самом деле папка «test» появляется там, где мы сейчас находимся.

Давайте разберемся, что все эти флаги означают:

  • c — создать архив в linux
  • x — извлечь файлы из архива
  • v — показать подробную информацию о процессе работы (без него мы бы не увидели, какие файлики запаковались / распаковались)
  • f — файл для записи архива
  • z — сжатие

Для упаковки используется опция cCreate, а для распаковки x — eXtract.

Если очень хочется использовать rar, то придется изгаляться. Через yum установка не прокатит:

yum install rar
yum install unrar

Говорит, нет такого пакета:
No package rar available.
Error: Nothing to do

Придется выполнить целую пачку команд! Сначала скачиваем, разархивируем и компилируем:
wget http://rarlabs.com/rar/rarlinux-x64-5.4.0.tar.gz
tar xzf rarlinux-x64-5.4.0.tar.gz
cd rar
make install

Устанавливаем:
mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib

И применяем:
unrar x test.rar

См также:
Установка RAR на Linux

Как посмотреть использованные ранее команды


Вот, допустим, вы выполняли какие-то сложные действия. Или даже не вы, а разработчик или админ! У вас что-то сломалось, пришел коллега, вжух-вжух ручками, magic — работает. А что он делал? Интересно же!

Или, может, вы писали длинную команду, а теперь ее надо повторить. Снова набирать ручками? Неохота! Тем более что есть помощники:

↑  (стрелочка «наверх») — показать последнюю команду
history — показать последние 1000 команд

Если надо «отмотать» недалеко, проще через стрелочку пролистать команды. Один раз нажали — система показала последнюю команду. Еще раз нажали — предпоследнюю. И так до 1000 раз (потому что именно столько хранится в истории).

Большой бонус в том, что линукс хранит историю даже при перезапуске консоли. Это вам не как в винде — скопировал текст, скопировал другой, а первый уже потерялся. А при перезагрузке системы вообще все потерялось.

Если тыкать в стрелочку не хочется, или команды была давно, можно напечатать «history» и внимательно изучить команды.

См также:
История команд Linux — больше о возможностях history

Как посмотреть свободное место


Сколько места свободно на дисках
df -h

Сколько весит директория
du -sh
du -sh *  --- с разбиением

Как узнать IP компьютера


Если у вас настроены DNS-имена, вы подключаетесь к linux-машине именно по ним. Ведь так проще запомнить — это testbase, это bugred… Но иногда нужен именно IP. Например, если подключение по DNS работает только внутри рабочей сети, а коллега хочет подключиться из дома, вот и уточняет айпишник.

Чтобы узнать IP машины, используйте команду:

hostname -I

Также можно использовать ifconfig:
ifconfig — выведет кучу инфы, в том числе ваш внешний IP
ip a — аналог, просто иногда Ifconfig дает очень много результата, тут поменьше будет

См также:
Displaying private IP addresses

Как узнать версию OS


Сидите вы у Заказчика на линуксовой машине. Пытаетесь что-то установить — не работает. Лезете гуглить, а способы установки разные для разных операционных систем. Но как понять, какая установлена на данной машине?

Используйте команду:

cat /etc/*-release

На этой виртуалке стоит CentOs 7.

Если нужна версия ядра:

uname -a

См также:
Как узнать версию Linux

Как узнать, как работает команда


Если вы не знаете, как работает команда, всегда можно спросить о ней саму систему, используя встроенную команду man:
man ls

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

Команда удобна тем, что не надо даже уходить из командной строки, сразу получаешь всю информацию. К тому же это всегда актуальная информация. А что вы там нагуглите — неизвестно =))

Хотя лично мне проще какую-то команду прогуглить, ведь так я получу русское описание + сначала самые главные флаги (а их может быть много). Но я сама новичок в линуксе, это подход новичка. А лучше сразу учиться прокачивать навык поиска по man-у. Он вам очень пригодится для более сложных задач!

Если man у программы нет, используйте флаг -h (—help):

ls -h

Как создать много тестовых папок и файлов


Допустим, у нас есть некая папка test. Создадим в ней сотню директорий и кучу файликов в каждой:
mkdir -p test/dir--{000..100}
touch test/dir--{000..100}/file-{A..Z}

Вот и все, дальше можно играться с ними!

Теперь пояснения:

  • mkdir — создать директорию
  • touch — создать файл (или изменить существующий, но если файла с таким именем нет, то команда создаст новый, пустой)

А выражения в скобках играют роль функции, которая выполняется в цикле и делает ручную работу за вас:
  • {000..100} — пробежится по всем числам от 0 до 100
  • {A..Z} — пробежится по всем буквам английского алфавита от A до Z

Как я пробовала эту команду. Сначала посмотрела, где нахожусь:
$ pwd
/home/test

Символ $ при описании команд означает начало строки, куда мы пишем команду. Так мы отделяем то, что ввели сами (pwd) от ответа системы (/home/test).

Ага, в домашней директории. Создам себе песочницу:

mkdir olga

Вот в ней и буду творить!
mkdir -p olga/dir--{000..100}
touch olga/dir--{000..100}/file-{A..Z}

А потом можно проверить, что получилось:
cd olga
ls -l

Как-то так! Имхо, полезные команды.

Я нашла их в книге «Командная строка Linux. Полное руководство», они используются для того, чтобы создать песочницу для прощупывания команды find. Я, как и автор, восхищаюсь мощью командной строки в данном случае. Всего 2 строчки, а сколько боли бы принесло сделать похожую структуру через графический интерфейс!

И, главное, тестировщику полезно — может пригодиться для тестов.

Как протестировать IOPS на Linux


Это очень полезно делать, если машину вам дает заказчик. Там точно SSD-диски? И они дают хороший iops? Если вы разрабатываете серверное приложение, и от вас требуют выдерживать нагрузку, нужно быть уверенными в том, что диски вам выдали по ТЗ.
Наше приложение активно использует диск. Поэтому, если заказчик хочет видеть хорошие результаты по нагрузке, мы хотим видеть хорошие результаты по производительности самих дисков.

Но верить админам другой стороны на слово нельзя. Если приложение работает медленно, они, разумеется, будут говорить, что у них то все хорошо, это «они» виноваты. Поэтому надо тестировать диски самим.


Я расскажу о том, как мы тестировали диски. Как проверили, сколько IOPS они выдают.

Используем утилиту fio — https://github.com/axboe/fio/releases.

1) Скачиваем последнюю версию, распаковываем, переходим в каталог. В командах ниже нужно заменить «fio-3.19» на актуальную версию из списка

cd /tmp
wget https://github.com/axboe/fio/archive/fio-3.19.tar.gz
tar xvzf fio-3.19.tar.gz
rm fio-3.19.tar.gz
cd fio-fio-3.19

2) Должны стоять пакеты для сборки
apt-get install -y gcc make libaio-dev | yum install -y make gcc libaio-devel

3) Собираем
make

4) Тестируем
./fio -readonly -name iops -rw=randread -bs=512 -runtime=20 -iodepth 32 -filename /dev/sda -ioengine libaio -direct=1

Какие должны быть результаты:
  • Средний SSD, выпущенный 2-3 года назад — 50 тысяч IOPS.
  • Свежий Samsung 960 Pro, который стоит на одной из железок у нас в офисе — 350 тысяч IOPS.

Свежесть определяется на момент написания статьи в 2017 году.

Если должно быть 50 тысяч, а диск выдает сильно меньше, то:

— он не SSD;
— есть сетевые задержки;
— неправильно примонтирован;
— с ними что-то еще плохое случилось и стоит поднять алярм.

И это все?


Разумеется, нет =))

Еще полезно изучить команду find и регулярные выражения. Тестировщику как минимум надо уметь «грепать логи» — использовать grep. Но это уже остается на самостоятельный гуглеж.
База, которая всегда нужна — pwd, cp, mv, mkdir, touch. Остальное можно легко гуглить, как только возникает необходимость.

Вот вам еще пара ссылочек от меня:


Для понимания структуры папок рекомендую статью «Структура папок ОС Linux. Какая папка для чего нужна. Что и где лежит в линуксе»

Книги и видео по теме


Видео:
ПО GNU/Linux — видео лекции Георгия Курячего — очень хорошие видео-лекции

Книги:
Командная строка Linux. Уильям Шоттс
Скотт Граннеман. Linux. карманный справочник

Где тренироваться


Можно поднять виртуалку. Правда, тут сначала придется разбираться, как поднимать виртуалку )))

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

У меня был когда-то план самой платить эти 150р за то, чтобы дать машину в общий доступ. Но увы. Как я не пыталась ее огородить (закрывала команды типа ssh, ping и прочая), у меня не получилось. Всегда есть люди, которых хлебом не корми, дай испортить чужое. Выложил в общий доступ пароли? На тебе ддос-атаку с твоего сервера. Ну и сервер блокируют. После N-ой блокировки я плюнула на это дело. Кто хочет научиться, найдет 150р.

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

  • Putty — командная строка
  • WinSCP — графический интерфейс

См также:

WinSCP — что это и как использовать

7 книг по UNIX/Linux

Подборка книг для тех, кто хочет знать историю и устройство UNIX-подобных операционных систем и желает научиться их администрированию и разработке ПО для Linux-платформы.

 Линус Торвальдс, вопреки распространенным представлениям, не изобрел open source. Но именно он открыл возможности этого принципа, превзошедшие все мыслимые ожидания. Начав с написания собственной программы эмуляции терминала, он, в конце концов, создал полноценную операционную систему — и по сей день самую популярную в мире. Остальное сделало комьюнити, с энтузиазмом принявшееся дорабатывать и совершенствовать исходники, предоставленные Линусом в открытый доступ всему миру.

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

«Just for Fun» — смесь биографии Линуса с рассуждениями о технологиях и путях их развития, написанная очаровательным, легким языком. Ценителям биографических трудов подобного формата она способна доставить не меньшее удовольствие, чем самый знаменитый представитель юмористически-биографического жанра с научно-техническим уклоном — «Вы, должно быть, шутите, Мистер Фейнман!», покоривший миллионы сердец. Это книга, не способная устареть или надоесть.

Хотя Линус с удовольствием гоняет на своем блестящем новом «BMW», он никогда не гнался за славой и богатством. Тем не менее и то и другое пришло к нему, когда Линус Торвальдс радикально изменил мир технологий по одной эгоистической причине: ради собственного удовольствия.

Одно из лучших руководств по Linux. Новое, переработанное издание 2016 подойдет как новичкам, так и опытным администраторам Ubuntu/Debian/Mint.

Эта книга — удобный и обширный справочник по дистрибутивам, основанным на Debian: от инсталляции системы до гибкой конфигурации узкоспециализированных утилит и сервисов. Много полезного найдут для себя сисадмины (инструкция по внедрению системы на различные сервера и десктопы, настройка различных служб), пользователи других дистрибутивов (возможность быстро сориентироваться в тонкостях нового дистрибутива), а также опытные пользователи Debian, желающие приблизиться к вступлению в сообщество разработчиков.

Книга Брайана Уорда мгновенно стала бестселлером. Она описывает все тонкости работы с ОС Linux: системное администрирование, глубокие механизмы, обеспечивающие низкоуровневый функционал Linux, основы работы с ядром и принципы правильной эксплуатации компьютерных сетей.

В книге также затрагиваются темы программирования низкоуровневых сценариев на языке С, защиты информации и виртуализации.

Первый в России ежемесячный журнал на русском языке, целиком посвященный операционной системе Linux. Редакционная политика — своевременное и полноценное информирование читательской аудитории о современном состоянии индустрии программного обеспечения с открытым кодом, публикация обзоров о технологических новинках и обучающих программах, новости и интервью.

Информационное наполнение журнала будет интересным и полезным всем пользователям ПК, как специалистам по программированию и системному администрированию, так и тем, кто только начинает свой путь в быстро изменяющемся мире open source.

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

Основные темы:

  • Масштабируемость, веб-приложения, веб-сервисы и микросервисы
  • Серверная виртуализация, Docker
  • Автоматизирование серверного деплоймента и работа с системами развертки
  • Контроль версий и организация работы с исходным кодом

и многое другое.

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

Данная книга представляет собой прекрасно организованный пошаговый гайд по совершенствованию навыков владения командной строкой и ее основными командами. Для опытных же пользователей легко будет быстро найти ответ на внезапно возникший вопрос.

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

Целевая аудитория этого издания — системные администраторы, имеющие глубокое понимание и некоторый опыт работы с машинами на Linux. Это люди, желающие лучше понять, как функционируют компьютерные сети, как их настраивать и поддерживать, а также обеспечивать их безопасность. Для чтения этой книги необходимо уметь устанавливать Linux Server и дополнительное ПО для него.

Терминал Linux: видеокурс по работе на примере Ubuntu

6 лучших книг о Linux для глубокого понимания системы

Подборка из 6 лучших книг о Linux, которые подойдут и новичку, и опытному линуксоиду, чтобы понять ядро и процесс разработки под Linux.

Наша подборка книг о Linux

Книга, рассказывающая о низкоуровневом функционале Linux, тонкостях работы с системой и системном администрировании в целом. Автор расскажет про устройство ядра Linux, затронет особенности написания системных сценариев на C и вопросы защиты информации, поделится опытом правильного эксплуатирования компьютерных сетей.

В семействе Linux существует множество дистрибутивов, каждый из которых чем-то выделяется. Автор постарался рассказать о Linux-системах без привязки к конкретному дистрибутиву. В этой книге речь пойдет о проектах Gnome и KDE, виртуализации, устройстве файловой системы, ядре и его модулях, и еще о множестве вещей, связанных с Linux.

Автор рассказывает об основах работы в командной строке Linux и о тонкой настройке системы с помощью утилит, не имеющих графического интерфейса. Подробно разбираются команды Linux, основы файловой системы, рассматривается работа загрузчиков GRUB и GRUB2.

Роберт Лав – автор книг о Linux, одна из ключевых фигур, участвовавших в разработке ядра Linux и среды Gnome. Эта книга может стать настольной для системных программистов: она рассказывает как писать быстрый и умный код, и содержит справочную информацию о системных вызовах. Книга содержит не только теорию, но и практические материалы.

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

Для уверенной работы с Unix-системами, будь то семейство Linux или даже MacOS, необходимо уметь работать с Bash. Автор рассматривает как вопросы синтаксиса языка, так и ограничения оболочки, и сопроцессоры.

Настольные книги по Linux на русском языке

Внимание! Некоторые книги лежат на Ozon. Если у вас нет доступа к данному сайту, включите VPN.

Linux от новичка к профессионалу

Авторы: Колисниченко Денис Николаевич

Ссылка на книгу

Новичкам бывает трудно понять, с какого дистрибутива начинать знакомство с Линукс. Эта книга станет отличным помощником. Автор описывает особенности популярных систем и разбирает вопросы, с которыми пользователь сталкивается, независимо от первого выбора.

Рассматриваемые темы:

  1. Описание и установка популярных дистрибутивов (Fedora, openSUSE, CentOS, Ubuntu).
  2. Работа с файлами через командную строку. Введение в Bash.
  3. Управление пользователями и группами.
  4. Настройка WiFi и VPN.
  5. Управление ядром.
  6. Работа с VirtualBox.

Ubuntu Linux с нуля

Авторы: Волох Сергей

Ссылка на книгу

Если решили сосредоточиться на Ubuntu, вам подойдет это исчерпывающее руководство. Автор буквально за руку проводит читателя по системе, подробно и с иллюстрациями объясняя принцип работы.

Рассматриваемые темы:

  1. Установка и первый запуск.
  2. Всё про файлы и файловую систему.
  3. Работа с консолью. Полезные команды терминала.
  4. Драйверы и стороннее оборудование.
  5. Установка ПО, запуск Windows-приложений.
  6. Службы, сервисы и демоны. Управление процессами.
  7. Подключение к удаленному рабочему столу.
  8. Виртуальные машины.

Kali Linux от разработчиков

Авторы: Херцог Р., Горман Д., Ахарони М.

Ссылка на книгу

Kali Linux – важный инструмент системных администраторов и белых хакеров. Если Линукс интересует как инструмент для хакинга, стоит обратить внимание именно на этот дистрибутив. Книга покрывает базовые пункты и концентрируется на описании системы для новичков. Инструментарий пентестера в ней практически не затрагивается.

Рассматриваемые темы:

  1. Основы работы с консолью.
  2. Установка и конфигурация Kali Linux, в том числе для корпоративных сетей.
  3. Безопасность.
  4. Ядро системы. Создание собственного образа ISO.

Тестирование на проникновение с помощью Kali Linix 2.0 (2015)

Авторы: Алексей Милосердов, Данил Гриднев

Ссылка на книгу

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

В процессе чтения не забывайте, что даже шуточный взлом чужого приложения без письменного разрешения – уголовное преступление.

Рассматриваемые темы:

  1. Встроенные инструменты Kali и базы эксплойтов.
  2. Пентестинг сетей, сниффинг, перехват данных, дополнительный инструментарий.
  3. Стресс-тесты систем.
  4. Поиск уязвимостей веб-приложений, Metasploit, WPscanner.
  5. Взлом ОС.
  6. Взлом паролей. Брутфорс и атаки по словарю.

Linux глазами Хакера

Автор: Фленов Михаил Евгеньевич

Ссылка на книгу

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

Рассматриваемые темы:

  1. Управление доступом, конфигурация firewall.
  2. Шифрование и протокол SSH.
  3. Конфигурация веб-сервера, электронной почты и интернет шлюза.
  4. Безопасная передача данных и резервное копирование.
  5. Мониторинг работы.

С каких книг вы начинали знакомство с Linux и какой дистрибутив предпочитаете?

Лучшие книги о Linux

Всем нам нужно откуда-то черпать знания. Это могут быть собственные эксперименты, статьи из интернета, форумы. Но самый надежный и проверенный источник — книги. Если вы хотите повысить свой уровень знаний Linux до уровня системного администратора вам обязательно понадобятся лучшие книги о Linux. На данный момент уже существует большое количество книг об операционной системе Linux, Unix, сетям и программированию, но большинство из них распространяются за деньги и не все доступны на русском.

В этой статье я собрал 18 лучших книг о Linux. Они затрагивают различные области: администрирование, программирование, философию открытого ПО, обучение новичков. Не все из них переведены на русский. Да, да пользователи Linux должны знать английский. В описании каждой книги я напишу на каком языке она распространяется и ее цену. Тем не менее большинство из этих книг о Linux можно найти бесплатно на просторах интернета. Здесь есть как лучшие книги о linux для начинающих, так и книги по linux для опытных пользователей и профессионалов.

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

Линус Торвальдс, Дэвид Даймонд — Just for fun

Книга, несомненно, Must Have! Для каждого уважающего себя линуксоида. Она написана создателем ядра Linux — Линусом Торвальдсом. В ней он рассказывает свою биографию, описывает с чего все началось, процесс создания и разработки ядра и операционной системы Linux. В книге отражено виденье Линусом концепции свободного программного обеспечения, дальнейшего развития Linux и компьютерной индустрии. Лучшая книга по Linux и истории его создания.

Языки: оригинал — финский и шведский, переведена на множество языков мира, в том числе и русский.

Год выпуска: 2002

Цена: Бесплатно

Ю. Вахалия — UNIX изнутри

Это книга не совсем о Linux, она о ядре Unix. Здесь рассказывается обо всех аспектах ядра Unix, с точки зрения разработчика. Описано внутреннее устройство ядра, его структуры и их реализация. Книга явно не для начинающих и может быть использована в качестве пособия по изучению ядра UNIX в ВУЗах.

Язык: Русский, Английский

Год выпуска: 2003

Цена: $7

Андрей Робачевский — Операционная система UNIX

Еще одна книга о ядре UNIX, только на этот раз от российского автора. По своей концепции похожа на предыдущую книгу. Рассматривается внутренняя архитектура ядра, подсистемы ввода/вывода, управление памятью и процессами, системные вызовы и библиотеки. Немного затронуты протоколы сети TCP/IP, сетевые подсистемы и сокеты.

Язык: Русский

Год выпуска: 2010

Цена: $26

Д. Н. Колиснеченко, В. Аллен — LINUX Полное Руководство

Это один из наиболее полных справочников о Linux, предоставляющих наиболее полное представление об операционной системе. В книге высветлены три аспекта: Linux для пользователя, Linux для системного и сетевого администратора и программирование в Linux. Здесь охвачено все — от простой установки программного обеспечения, до серьезных настроек и внутренних процессов системы. В основном описываются дистрибутивы Red Hat, Fedora и Mandriva. Это лучшая книга о linux для начинающих, так и уже опытных пользователей.

Язык: Русский

Год выпуска: 2007

Цена: $5

Эви Немет, Гарт Снайдер, Трент Р. Хейн — Руководство администратора Linux

Это книга, написанная профессионалами, наиболее полное руководство по установке настройки и развертыванию большинства популярных дистрибутивов Linux: Red Hat, Fedora, Suse Linux, Debian, Ubuntu и другие. Здесь рассматривается все — от базовых задач администрирования, до более сложных проблем — настройки сети и производительности системы.

Язык: Русский

Год выпуска: 2007

Цена бумажной книги: $31

Дэвид Тейнсли — Linux и UNIX: программирование в shell. Руководство разработчика

Это практическое руководство по программированию в интерпретаторе команд Unix — Bourme shell, который полностью совместим с интерпретатором Linux BASH. Книга подойдет как новичкам, так и более опытным пользователям. Вы научитесь создавать скрипты для решения большинства возникающих задач.

Язык: Русский

Год выпуска: 2001

Джеймс Армстронг — Секреты Unix

Эта книга выделяется среди других публикаций, посвященных UNIX. Есть книги по linux для начинающих пользователей, описывающие основы также есть много книг для экспертов, эта же книга ориентирована на обычных опытных пользователей. Здесь описываются не просто команды Unix, а внутренние процессы, происходящие в системе. Книга научит вас использовать правильные средства для решения своих задач и объединять команды, чтобы достичь лучшего результата. Здесь есть все от основ, до разработки собственных программ.

Язык: Русский, Английский

Год выпуска: 2001

Стивен Спейнауэр, Эллен Сивер — Linux. Справочник

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

Язык: Русский, Английский

Год выпуска: 2001

Брайн Керниган, Роб Пайк — UNIX. Программное окружение

В книге описывается UNIX через призму языка программирования Си. Она будет полезна тем, кто хочет научится программировать с помощью поставляемых с системой инструментов. Здесь описан ввод, работа с файлами, переменные окружения, системные сигналы и вызовы. После прочтения книги вы сможете работать с системой еще более эффективно.

Язык: Русский

Год выпуска: 2003

Скотт Манн — Linux. Администрирование сетей TCP/IP

Это книга о наиболее популярном на данный момент протоколе — протоколе сетевого взаимодействия между компьютерами — TCP/IP. Начинается описание от основ TCP и модели OSI и завершается подробным обзором каждого уровня OSI с примерами реализации в Linux.

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

Язык: Русский

Год выпуска: 2008

Эви Немет — UNIX. Руководство Системного Администратора

Книга предназначена для системных администраторов, работающих в среде UNIX. Она будет полезна как профессионалам, так и новичкам, только постигающим это трудное и очень интересное занятие. Здесь описаны много используемых опытными администраторами приемов: настройка, повышение производительности, администрирование сети, настройка обмена почтой, подключение устройств. Относительно новая и лучшая книга по linux для системных администраторов.

В книге есть большое количество примеров, для популярнейших версий UNIX — FreeBSD и Red Hat.

Язык: Русский

Год выпуска: 2012

Д. Бендел , Р. Нейпер — Использование Linux

В книге linux представлены практические аспекты работы с Linux как для начинающих, так и более опытных пользователей. Есть описание настройки системы, рабочих столов KDE, Gnome, описана внутренняя архитектура системы. Книга ориентирована на Calculera, Red Hat и Debain Linux. Это отличная книга про linux для новых пользователей, несмотря на то, что написана довольно давно.

Язык: Русский

Год выпуска: 2005

Эндрю Таненбаум — Современные операционные системы

Эта книга поможет понять общую картину современных операционных систем и их функционирования. Здесь представлено описание не только работы Linux, но и Windows 8, а также Android. Книга также затрагивает мультиядерные системы и облачные вычисления.

Язык: Русский

Год выпуска: 2015

Даниэл Дж. Баррет — Linux. Основные команды. Карманный справочник

Еще один справочник команд для Linux. Подойдет как новичкам в качестве учебного пособия, так и опытным пользователям. Команды разделены по категориям, описано местоположение команды на диске и принадлежность ее к пакету. Для некоторых команд есть примеры работы с ними.

Язык: Русский

Год выпуска: 2007

Мэтт Уэлш, Маттиас Калле Далхаймер, Терри Доусон, Лар Кауфман — Запускаем Linux

Это одно из лучших руководств по Linux для начинающих. Здесь рассказано все что необходимо для понимания, установки и начала работы с этой операционной системой. Авторы рассказывают о возможных трудностях и предлагают их решение, что облегчит вашу работу с Linux. Рассматриваются вопросы настройки, с которыми чаще всего возникают проблемы.

Язык: Русский

Год выпуска: 2004

Марк Митчелл, Джеффри Оулдем, Алекс Самьюэл — Программирование для Linux. Профессиональный подход

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

Язык: Русский

Год выпуска: 2003

Дэниэль Роббинс — Основы Linux от основателя Gentoo

Книга для новичков, в которой Дэниэль Роббинс, Крис Хайзер и Арон Грифитс рассказывают об основах Linux. Охвачены такие темы, как Bash, основные команды Linux, работа с файлами, эффективная работа в терминале и много другое.

Язык: Английский, но часть переведена на Русский.

Год выпуска: 2010

Цена: Бесплатно

Освой самостоятельно Unix в течение 24 часов

Если вам нужна книга о UNIX с нуля — то это то что нужно. Книга разделена на 24 урока, каждый из которых позволит изучить определенный аспект UNIX и включает практические задачи.

Язык: Английский

Год выпуска: 2001

Цена: $21

Выводы

На этом статья подходит к концу. Но это определенно не все хорошие книги линукс, их существует еще очень много. Какие книги о Linux/Unix вы посоветовали бы прочитать начинающим и опытным пользователям? Напишите в комментариях.

Учебное пособие по

Linux — 4. Научитесь использовать страницы руководства

страниц руководства!

Ваша ссылка на Linux.

Введение

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

Так что именно?

Справочные страницы — это набор страниц, которые объясняют каждую команду, доступную в вашей системе, включая то, что они делают, особенности того, как вы их запускаете, и какие аргументы командной строки они принимают. Некоторые из них немного сложны для понимания, но они довольно последовательны по своей структуре, так что, как только вы освоитесь, все не так уж плохо.Вы вызываете страницы руководства с помощью следующей команды:

man <команда искать>

  1. человек ls
  2. Имя
  3. ls — просмотреть содержимое каталога
  4. Краткое описание
  5. ls [опция] … [файл] …
  6. Описание
  7. Вывести информацию о ФАЙЛАХ (по умолчанию текущий каталог). Сортировать записи в алфавитном порядке, если не указаны ни -cftuvSUX, ни —sort.
  8. Обязательные аргументы для длинных опций также являются обязательными для коротких опций.
  9. -a, —всего
  10. не игнорировать записи, начинающиеся с.
  11. -A, — почти все
  12. не перечислить подразумевается. и ..

Давайте разберемся:

  • Строка 3 сообщает нам фактическую команду, за которой следует простое однострочное описание ее функции.
  • Строки 6 — это так называемый синопсис. На самом деле это всего лишь краткий обзор того, как следует запускать команду. Квадратные скобки ([]) указывают на то, что что-то не обязательно. (параметр в этой строке относится к параметрам командной строки, перечисленным под описанием)
  • Строка 9 представляет нам более подробное описание команды.
  • Строка 11 и далее Ниже описания всегда будет список всех параметров командной строки, доступных для команды.

Чтобы выйти из страниц руководства, нажмите «q» для выхода.

В поисках

Можно выполнить поиск по ключевым словам на страницах руководства. Это может быть полезно, если вы не совсем уверены, какую команду можете использовать, но знаете, чего хотите достичь. Чтобы этот подход был эффективным, вам может потребоваться несколько приемов. Нередко можно встретить определенное слово на многих страницах руководства.

man -k <поисковый запрос>

Если вы хотите выполнить поиск по странице руководства, это также возможно.Чтобы сделать это, пока вы находитесь на конкретной странице руководства, на которой вы хотите выполнить поиск, нажмите косую черту ‘/’, за которой следует термин, который вы хотите найти, и нажмите ‘Enter’. Если термин появляется несколько раз, вы можете циклически просматривать их, нажав кнопку «n» для следующего.

Подробнее о выполнении команд

Многие люди, разбирающиеся в Linux, знают, какие параметры командной строки мы должны использовать, чтобы изменить поведение наших команд в соответствии с нашими потребностями.Многие из них имеют как длинную, так и короткую версию. например. Выше вы заметите, что для вывода списка всех записей каталога (включая скрытые файлы) мы можем использовать параметр -a или —all (помните из последнего раздела, какие файлы и каталоги начинаются с.?). Длинная рука — это просто более удобочитаемая форма. Вы можете использовать любой из них, они оба делают одно и то же. Одним из преимуществ использования длинной руки является то, что вам легче запомнить, что делают ваши команды. Одним из преимуществ использования сокращений является то, что вы можете легко связать несколько слов вместе.

  1. pwd
  2. / главная / райан
  3. ls -a
  4. ls — все
  5. ls -alh

Найдите на странице руководства ls , что делает последняя команда.

Как видите, длинные параметры командной строки начинаются с двух тире (-), а сокращенные — с одного тире (-). Когда мы используем одно тире, мы можем вызвать несколько вариантов, поместив все буквы, представляющие эти варианты, вместе после тире.(Есть несколько случаев, когда для определенной опции требуется аргумент, и эти опции обычно должны быть размещены отдельно вместе с соответствующими аргументами. Однако пока не слишком беспокойтесь об этих особых случаях. Мы укажем их, когда мы с ними сталкиваемся.)

Сводка

человек <команда>
Найдите страницу руководства для конкретной команды.
man -k <поисковый запрос>
Выполните поиск по ключевым словам для всех страниц руководства, содержащих данный поисковый запрос.
/ <срок>
На странице руководства выполните поиск по запросу
n
После выполнения поиска на странице руководства выберите следующий найденный элемент.

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

Мероприятия

Хорошо, теперь давайте применим это на практике.Попробуйте следующее:

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

Linux — освоение командной строки

Командная строка!

Твое окно в компьютер.

Введение

Linux имеет графический пользовательский интерфейс и работает почти так же, как графический интерфейс в других системах, с которыми вы знакомы, таких как Windows и OSX. В этом уроке мы не будем фокусироваться на них, поскольку я думаю, вы, вероятно, сможете понять эту часть самостоятельно.В этом руководстве мы сосредоточимся на командной строке (также известной как терминал), в которой запущен Bash.

Командная строка — это интересный зверь, и если вы не использовали ее раньше, она может показаться немного сложной. Не волнуйтесь, немного попрактиковавшись, вы скоро увидите в нем своего друга. Не думайте об этом как о том, чтобы оставить графический интерфейс позади, а не как о добавлении к нему. Хотя вы можете полностью оставить графический интерфейс, большинство людей открывают интерфейс командной строки так же, как еще одно окно на своем рабочем столе (на самом деле вы можете открыть столько окон, сколько захотите).Это также является нашим преимуществом, поскольку мы можем открыть несколько командных строк и одновременно выполнять разные задачи в каждой. Мы также можем легко вернуться к графическому интерфейсу пользователя, когда он нам подходит. Поэкспериментируйте, пока не найдете наиболее подходящий вариант. В качестве примера я обычно открываю 3 терминала: 1, в котором я работаю, другой для вывода дополнительных данных и последний для просмотра страниц руководства (подробнее об этом позже).

Так что именно?

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

В командной строке обычно отображается подсказка. По мере ввода он будет отображаться после приглашения. Большую часть времени вы будете отдавать команды. Вот пример:

  1. LS-L / домашний / Райан
  2. всего 3
  3. drwxr-xr-x 2 ryan users 4096 23 марта 13:34 bin
  4. drwxr-xr-x 18 ryan users 4096 17 февраля, 09:12 Документы
  5. drwxr-xr-x 2 пользователя ryan 4096 05 мая 17:25 public_html

Давайте разберемся:

  • Строка 1 представляет нам подсказку (user @ bash).После этого мы ввели команду (ls). Обычно первое, что вы вводите, — это команда. После этого у нас есть так называемые аргументы командной строки (-l / home / ryan). Важно отметить, что они разделены пробелами (также должен быть пробел между командой и первым аргументом командной строки). Первый аргумент командной строки (-l) также упоминается как опция. Параметры обычно используются для изменения поведения команды. Параметры обычно указываются перед другими аргументами и обычно начинаются с тире (-).
  • Строки 2–5 выводятся при выполнении команды. Большинство команд производят вывод, и он будет указан сразу после выдачи команды. Другие команды просто выполняют свою задачу и не отображают никакой информации, если только не произошла ошибка.
  • Строка 6 снова представляет нам подсказку. После того, как команда будет запущена и терминал будет готов для ввода другой команды, отобразится приглашение. Если приглашение не отображается, команда все еще может выполняться (позже вы узнаете, как с этим справиться).
  • На вашем терминале, вероятно, не будет номеров строк. Я просто включил их сюда, чтобы было легче ссылаться на разные части материала.

Открытие терминала

Открыть терминал довольно просто. Я не могу точно сказать, как это сделать, поскольку все системы разные, но вот несколько мест, с которых стоит начать поиски.

  • Если у вас Mac, вы найдете программу Terminal в разделе Applications -> Utilities .Легкий способ добраться до него — это комбинация клавиш «команда + пробел», которая вызовет Spotlight, затем начните вводить Terminal, и он скоро появится.
  • Если в Linux вы, вероятно, найдете его в Applications -> System или Applications -> Utilities . В качестве альтернативы вы можете «щелкнуть правой кнопкой мыши» на рабочем столе, и там может быть опция «Открыть в терминале».
  • Если вы работаете в Windows и собираетесь удаленно войти в систему на другом компьютере, вам понадобится клиент SSH.Довольно неплохо — Putty (бесплатно).

Ракушка, Баш

Внутри терминала у вас есть так называемая оболочка. Это часть операционной системы, которая определяет поведение терминала и следит за выполнением (или выполнением) команд за вас. Доступны различные оболочки, но наиболее распространенная из них называется bash , что означает оболочка Bourne Again. В этом руководстве предполагается, что вы используете bash в качестве оболочки.

Если вы хотите

IBM Developer: лучшие руководства по Linux

  • Файловые системы Linux следующего поколения: NiLFS (2) и exofs

    Linux® — постоянная инновация чемпион в области файловых систем.Откройте для себя преимущества двух новых файловых систем, которые становятся часть возможностей Linux: файловая система NiLFS (2) с лог-структурой файловая система и объектно-ориентированная система хранения exofs.

  • Bash на примере, часть 2

    Получите максимум от своего существующий опыт UNIX® с этими первоклассными основы программирования на bash: создание циклов конструкции, арифметика оболочки и часто используемые условные (если-то) утверждения — и откройте почему иногда полезно ссылаться на все аргументы командной строки сразу.(См. Больше в серии Bash.)

  • Общие темы: Awk на примере, Часть 1

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

  • Bash, например, Часть 1

    Для вас больше bash. Часть 1 устанавливает сцену для части 2, представив bash и его среду переменные и обработка строк. Есть отличный мини-семинар по оператору if и статья демистифицирует использование кавычек в языке. (Подробнее см. Серия Баш.)

  • Общая резьба: Sed by example, Part 2

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

  • Внутри Linux процесс загрузки

    Вы начинаете с начальной загрузите и изучите до самого начала ваше первое пользовательское приложение. Откройте для себя другие Linux темы процесса загрузки, такие как загрузчики, ядро декомпрессия и начальный RAM-диск. Приходите посмотреть почему процесс загрузки системы Linux замечательно похоже, загружаете ли вы стандартный рабочий стол x86 или глубоко встроенная цель PowerPC®.

  • Совет по Linux: Bash функции тестирования и сравнения

    Подробнее о bash. Летать через лабиринт вариантов тестирования и сравнения в оболочку bash, и вы демистифицируете различные типы файловые, арифметические и строковые тесты, получившие знания, чтобы знать, когда использовать тест , [] , [[]] , (()) или if-then-else конструкции.(Подробнее см. серия bash; посмотреть все советы по Linux на developerWorks.)

  • Начальная оперативная память Linux обзор диска (initrd)

    Начальная оперативная память Linux disk — это временная корневая файловая система, смонтированная во время загрузка системы для поддержки процесса загрузки с двумя состояниями. Раскройте анатомию initrd, узнайте, как он создается, и посмотрите, как это лучше всего использовать в процессе загрузки Linux.(Видеть больше в Серия «Анатомия …».)

  • Построить встроенный Дистрибутив Linux с нуля

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

  • Подготовка к экзамену LPI 101, Тема 102: Установка и пакет для Linux management

    Узнайте, как Linux использует разделы диска, как загружается Linux, как устанавливать и управлять программные пакеты.(См. Больше экзамен LPI

  • Подготовка к экзамену LPI 101, Тема 103: Команды GNU и UNIX

    Получите введение в общие команды GNU и UNIX. Посредством В конце этого урока вы узнаете, как использовать команды в оболочке bash, в том числе как использовать текст обработка команд и фильтров, как искать файлы и каталоги, и как управлять процессами.

  • Добавить комментарий

    Ваш адрес email не будет опубликован.