1.вопервых bash.серьезно и сильно.
все задачи продрочить.
и начать именно с него.3-4 дня хватит.
потом нужно начать делать ЦИ
2.повторить джит.сильно повторить.и кстати освоить какой то ГУИ(желательно под линуксом)
3.Ксен - установить сервера и т д.посмотреть отличия с вебсферой.єто точно непомешает
4.на ксан накатить джитлаб на одном из серверов.пушить туда.разобраться с джитлабом.
посмотреть континюс интегрейшн по гитлаб
5.потом установить бамбу.дженкинс.и тимсити.и разобраться с ними.что они умеют делать а что нет.
6.потом дрон.
7.докер регистри
8.паппет
9.ансибл
10. раченер и мезос
11.форман
12.форман прокси и как он работает
13.консул темплейт
14.р10к
15.хиера
16.сворм докер машин и все приблуды докера
17.логирование:логстеш,реббитмк,еластиксерч
18.система мониторинга:заббикс и т д
19.графит графана и т д.
20.файловые системы:бтрфс,лвм,дрбд,файловые системы локера ауфс оверлейфс и девайс меппинг
21.хапрокси
22.кипалайвд
23.разобраться с виртуазилацией вмварь и ее продуктами
24.по видео конференциям посмотреть"влезая в докер" и т д
25.есцд,апача зукипер
26.дженкинс
27.шиппер
28.аджайл скрам и т д
много чего есть в презентации
попытаться интергрировать на рабочих машинах
насколько это вообще возможно
29.еще нужно выучить про системд
30.закладки по математике в тостер.ру
по башу что выучил и повторять:
команды
гет,лс,wc,cat,pr,write,stty,who,tail,ps,tee,uniq,tr
Команда tr выполняет замену символов во входном файле
Команда tee копирует свой ввод в указанный файл или файлы
прятать команды в фон и nohup,nice,
потом inode,dev устройства в т ч zero null random вывод из и в stty те мне в командную строку
,dd - например копировать мбр,создавать файл 100МБ и забивать его нулями или разными значениями,бекапить сидиромы или флешки,монтировать файл сделаный дд в луп систему и шибфровать его и делать на него mkfs и пользоваться как файловой системой,at,atq,atrm,modprome,lsmod,rmmod,где модули прописываются при загрузке.
потом команды в строке типа очеред команд через ; и в чет отличие & от ; и приоритизация этих операторов с помощю скобок и переменные передаваемые программе $1 $2 $3
$* команда set которая выводит все переменные /etc/profile в которой можно задать переменные
передача значений переменной подоболочке
вывод стдр или вывод стдр в файл
Конструкция 2>имя файла (пробелы между 2 и знаком > недопустимы) стандартнй вывод на ошибка.стардартный ввод - 0 стандартный вывод - 1 ошбики 2
2&>1 - вывод и ерроров и стдаут на один вывод и наоборот
1>&2 - все выводим на еррор
можно проверять количество параметров переданных файлу скрипта
$# - это колво параметров
Таблица 5.1. Встроенные переменные оболочки - в этой таблице все переменные оболочки
$$ - идентификатор процесса
$? статус завершения последней команды
$! - идентификатор процесса для посл команды запущенной c &
$- --параметры переданныые оболочке
ОЧЕНЬ ИНТЕРЕСНЫЙ НЬЮАНС
set `date`
По внешнему виду трудно определить, что делает этот оператор, но, ес
ли выполнить его, все станет очевидным:
$ date
Sat Oct 1 06:05:18 EDT 1983
$ set `date`
$ echo $1
Sat
$ echo $4
06:05:20
$
Команда set встроена в оболочку, и это команда, которая выполняет
очень многие действия. При отсутствии аргументов она отображает
значения переменных окружения, как было показано в главе 3. Оди
ночные аргументы устанавливают значения переменных $1, $2 и т. д.
Таким образом, set `date` устанавливает $1 в день недели, $2 в назва
ние месяца и т. д.
ЕЩЕ ОЧЕНЬ КРУТАЯ УТИЛИТА ТЕСТ
она тестирует что то на что то и выдает тру или фолс
The test utility evaluates the expression and, if it evaluates to true,
returns a zero (true) exit status; otherwise it returns 1 (false). If
there is no expression, test also returns 1 (false).
-b file True if file exists and is a block special file.
-c file True if file exists and is a character special file.
-d file True if file exists and is a directory.
-e file True if file exists (regardless of type).
-f file True if file exists and is a regular file.
-g file True if file exists and its set group ID flag is set.
кароче там много ще параметров
теперь про exit
Встроенная в оболочку функция exit мо
жет быть использована для возврата кода завершения. Если команда не
работает, то возвращается код ошибки – exit 2, если файл не найден –
exit 1, если же найден – exit 0.
Команда : встроена в оболочку, единственное, что она умеет делать –
это оценивать свои аргументы и возвращать «истину». Вместо нее
можно было использовать команду true, которая просто возвращает
код завершения «истина». (Существует и команда false.) Но : более
эффективна, чем true, так как она не выполняет команду из файловой
системы.
Переменная оболочки IFS (internal field separator – внутренний разде
литель полей) – это строка символов, которые разделяют слова на
списки аргументов, такие как обратный апостроф или операторы for.
Обычно IFS содержит пробел, знак табуляции и символ новой строки,
но его можно и изменить, например, оставив только символ новой
строки:
направляет стандартный вывод ошибок в файл
here document в баше(как и в пхп <<ZZZ s;dkfsdlkjfldsk ZZZ)
цикл for in do done
программа tr
фильтры типа grep и тд
uniq
оператор case
case слово in
шаблон) команды ;;
шаблон) команды ;;
...
esac
Встроенные переменные оболочки стр 166
which
if
then
else
fi
while
until
http://rus-linux.net/MyLDP/BOOKS/abs-guide/flat/abs-book.html єто переведенная книга по баш.тоже вроде неплоха
(a=hello; echo $a)
Команды, заключенные в круглые скобки исполняются в дочернем процессе -- subshell-е
те с другим ИД
инициализация массивов.
Array=(element1 element2 element3){xxx,yyy,zzz,...}
Фигурные скобки.
grep Linux file*.{txt,htm*} # Поиск всех вхождений слова "Linux" # в файлах "fileA.txt", "file2.txt", "fileR.html", "file-87.htm", и пр.
а внизу єто фактически анонимная функция
{ local a; a=123; }
Код, заключенный в фигурные скобки, может выполнять перенаправление ввода-вывода
БАШ БИЛДИНС:
когда выполняются внутренние команды не делается форк и не порождается новый шелл.Когда выполняются dytoiybt команды делается форк и порождается новый шел.форк делается в новом окружении.
#!/bin/bash echo "Эта строка выводится внутренней командой \"echo\"." /bin/echo "А эта строка выводится внешней командой the /bin/echo."
- printf
- printf -- команда форматированного вывода, расширенный вариант команды echo
printf "%s %s \n" $Message1 $Message2 - это вывод.даже помоему есть такое в пхп
read
"Читает" значение
переменной с устройства стандартного ввода -- stdin, в интерактивном режиме
это означает клавиатуру. Ключ -a позволяет записывать значения в
массивы
read # Команда 'read' употребляется без указания переменной для ввода, #+ тем не менее... #+ По-умолчанию ввод осуществляется в переменную $REPLY.
read -r var2 # Ключ -r заставляет команду "read" воспринимать "\" # как обычный символ.
Команда read может считывать значения для переменных из файла, перенаправленного на stdin. Если файл содержит не одну строку, то переменной будет присвоена только первая строка. Если команде read будет передано несколько переменных, то первая строка файла будет разбита, по пробелам, на несколько подстрок, каждая из которых будет записана в свою переменную. Будьте осторожны!
pushd, popd, dirsЭтот набор команд является составной частью механизма "закладок" на каталоги и позволяет перемещаться по каталогам вперед и назад в заданном порядке. Для хранения имен каталогов используется стек (LIFO -- "последний вошел, первый вышел").
pushd dir-name -- помещает имя текущего каталога в стек и осуществляет переход в каталог dir-name.
popd -- выталкивает, находящееся на вершине стека, имя каталога и одновременно осуществляет переход в каталог, оказавшийся на врешине стека.
dirs -- выводит содержимое стека каталогов (сравните с переменной $DIRSTACK). В случае успеха, обе команды -- pushd и popd автоматически вызывают dirs.
let
Команда let производит арифметические операции над переменными. В большинстве случаев, ее можно считать упрощенным вариантом команды expr.
eval
eval arg1 [arg2] ... [argN]
Транслирует список аргументов, из списка, в команды.
статью по системд на хабре и смотреть че там у меня
http://help.ubuntu.ru/wiki/%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0_%D0%B0%D0%B2%D1%82%D0%BE%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0
также статья по if-up.d это про то как можно писать и поднимать свои скрипты
https://www.opennet.ru/base/sys/run_services_tips.txt.html тут про инитд
https://wiki.ubuntu.com/systemd вот еще про системд
у теперь нужно понимать что еще есть систем5 и на смену ему приходит системд при этом они взаимозаменяемы
http://www.tecmint.com/systemd-replaces-init-in-linux/
https://www.opennet.ru/opennews/art.shtml?num=30412
до 15 был систем5 инит счас системд.systemctl stop sshd.service стоппится ссхд,НО.если сессия у тебя висит то ты будешь там.но новую сессию не получиться создать.
можно посмотреть статус systemctl status sshd.service
также логи
по идее если автоматом не стартует то нужно делать это
systemctl enable sshd
что повторяю в порядке очереди:
джит
линукс убунту:есть,апт-гет,сислог,сервисы
вирт машины
паппет
ансибл
баш,баш перемещение по строке,файлы конфигурации баш