Решил я как-то заняться изучением Linux, потому что слышал, что там терминал — это почти как волшебная палочка Гарри Поттера, только вместо заклинаний — команды. Правда, иногда кажется, что ты не маг, а скорее фокусник-неудачник, который пытается достать кролика из пустой шляпы.
Но со временем начинаешь ловить кайф от этих загадочных символов и строк.
Вот решил поделиться своими заметками, которые пишу для себя — своего рода шпаргалками. Знаете, как студенты на экзамене: если не знаешь ответа — посмотри в шпаргалку! Только у меня шпаргалки для Linux.
И да, они маловаты по объему и раскрывают тему так же полно, как кот раскрывает свои секреты — то есть не полностью. Но зато быстро помогает вспомнить: «А что там с тем алиасом было?»
Начнем с того, что в терминале есть три кита: алиасы, функции и цикл for. Если бы мне кто-то раньше сказал про них — я бы сразу перестал паниковать при виде длинных команд.
Алиасы — это такие милые сокращения для сложных команд. Представьте: вместо того чтобы каждый раз писать «sudo apt-get update && sudo apt-get upgrade», можно завести себе алиас типа «обновись» и всё!
Выглядит примерно так: alias обновись=’sudo apt-get update && sudo apt-get upgrade’. Главное — не забыть записать это в ~/.bashrc или ~/.bash_profile, иначе ваши алиасы исчезнут быстрее, чем пончики на корпоративе.
Функции — это уже уровень выше алиасов. Тут можно передавать параметры и делать разные штуки по сценарию.
Помню, однажды написал функцию для проверки погоды через терминал (да-да, даже такое можно). В итоге коллега спросил: «Ты что теперь метеоролог?» А я ответил: «Нет, просто знаю точно — если дождь пошел — значит пора домой». Вот такие функции делают жизнь веселее.
Ну а цикл for… Ох уж этот цикл for!
Он как вечеринка в терминале: перебирает список дел и выполняет их по очереди. Например, вы хотите переименовать все файлы с расширением .txt в .bak? Цикл for вам поможет!
Это примерно как когда мама говорит: «Принеси яблоки из всех корзин», а вы бегаете по дому и собираете урожай.
Теперь о более серьезных вещах. Подключение к серверу по ssh с помощью публичного ключа — звучит страшно? На самом деле всё просто: генерируешь ключ через ssh-keygen (это как получить пропуск на закрытую вечеринку), кладешь его в файл authorized_keys на сервере (там он охраняется лучше любого бомжа под подъездом), и вот ты уже внутри без пароля! Круто?
Еще бы!
Если же ключи слишком сложны для вас (или вы просто любите вводить пароли вручную), то можно подключаться обычным способом. Главное помнить про процессы в системе — ведь за каждым вашим действием стоит процесс с уникальным PID (process id). Бывают процессы-зомби (Z), которые вроде умерли, но никто им похоронку не принес; или спящие (S) — они отдыхают лучше любого офисного работника после обеда.
Чтобы узнать о процессах побольше — команда ps станет вашим лучшим другом. Можно увидеть кто главный папа-процесс (PPID), кто бегает сейчас (R), а кто вообще забыл зачем запустился.
Ну и конечно нельзя забывать про корневого пользователя root – это такой супергерой системы с хэштегом # вместо доллара $, который может всё!
Чтобы стать этим героем – используем su — или sudo -s. Главное не забывать вовремя возвращаться к жизни обычного юзера – иначе рискуете случайно удалить весь интернет.
Пользователи и группы – тема тоже интересная и порой смешная. Файлы /etc/passwd и /etc/shadow хранят всю инфу про пользователей так же тщательно, как бабушка хранит свои рецепты пирожков под замком от внучат-шалунишек.
Изучение Linux действительно похоже на освоение магии, где терминал становится инструментом для реализации самых разных задач через команды, которые сначала кажутся загадочными. Алиасы, функции и циклы — это основные элементы, которые помогают упростить работу и делают процесс более понятным и приятным, особенно когда сложные команды можно заменить простыми сокращениями. Создание собственных шпаргалок — отличный способ закрепить знания и быстро ориентироваться в терминале, что особенно полезно для начинающих пользователей.