Сисадминим: Знакомство.

Сисадминим: Знакомство.

Здравствуйте.

Хотели бы Вы научиться управлять Вашим VPS сервером используя терминал (консоль) а не панель управления? Хотите разобраться в куче непонятных команд, которые творят чудеса с сервером и заставляют его повиноваться Вам словно джина из бутылки? Тогда поехали.

Администрирование Линукс

Этим постом я открываю цикл публикаций по системному администрированию. По легкому и доступному системному администрированию всем без исключения.

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

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

Мне бы не хотелось рассказывать о том, что такое ssh клиент и как им пользоваться. В сети предостаточно материалов на эту тему. Далее, предполагается, что Вы уже поняли что такое ssh клиент, например putty и уже его настроили и подключились к Вашему серверу. Я пользуюсь мультипротокольным xshell-ом при работе под windows и стандартным терминалом при работе под Linux.

Итак, Вы скачали и настроили любой понравившийся Вам ssh клиент, авторизовались на Вашем сервере и теперь можно смело начинать администрировать Ваш сервер.

Примечание: Я не рекомендую Вам делать какие-либо работы под учетной записью root, до того момента, пока не будет четкого понимания, что Вы делаете. В любом случае, не рекомендуется проводить какие-либо краткосрочные работы на сервере под рутом. Используйте любого другого пользователя с привилегиями выполнять команды от root.

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

Обычно приглашение выглядит примерно так:

[user@servername ~]$ - где user это имя пользователя, а servername это имя сервера заданное в настройках. На каждом сервере, это может выглядеть по разному и первое, что мы сделаем - узнаем под каким пользователем мы авторизованы. Для этого нужно просто спросить "кто я", только по английский:

$ whoami на эту команду, сервер покажет логин под которым Вы авторизовались.

Далее предлагаю немного отвлечься и посмотреть старое и очень забавное видео о сисадмине и его тяжелой работе.

Домашний каталог пользователя

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

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

$ cd

Данная команда, без указания ключа переместит Вас в домашний каталог. Что такое ключи к командам, будет написано ниже.

Давайте теперь создадим каталог и файл в домашнем каталоге. Хотелось бы отметить, что в Linux понятие расширения файлов не так актуально как в windows. Системе все равно, она может и текстовый файл попытаться запустить как бинарный файл. Отвлеклись. Итак, чтобы создать файл, достаточно просто написать команду создания файла и указать имя создаваемого файла.

$ touch my_file

Давайте, не отходя от кассы, сразу создадим каталог:

$ mkdir my_folder

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

$ pwd

/home/clewesi

Как видите, pwd показало где я нахожусь. Далее посмотрим, что же есть в каталоге, в котором мы находимся:

$ ls my_file my_folder

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

$ ls - l total 2

-rw-r--r-- 1 clewesi clewesi 0 Feb 20 17:51 my_file drwxr-xr-x 2 clewesi clewesi 512 Feb 20 17:51 my_folder

Итак, команда ls с ключем l предоставила нам более детальную информацию. Показала сколько в каталоге вообще объектов и указала что является файлом, а что является директорией. У директорий, в самом начале стоит атрибут d, а у файла такого нет. Существует еще несколько атрибутов, которые мы рассмотрим позже. На данный момент нужно понять, что атрибут d относится только к директориям, все остальное, это файлы. Символы, следующие после атрибута, это права присвоенные файлу.

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

$ ls - la total 12 drwx------ 4 clewesi clewesi 512 Feb 20 17:51 .

Drwxr-xr-x 36 clewesi clewesi 1024 Dec 30 18:11 ..

-rw------- 1 clewesi clewesi 886 Feb 18 08:31 .bash_history

-rw------- 1 clewesi clewesi 41 Jan 30 16:44 .lesshst drwx------ 3 clewesi clewesi 512 Feb 18 08:31 .mc

-rw-r--r-- 1 clewesi clewesi 0 Feb 20 17:51 my_file drwxr-xr-x 2 clewesi clewesi 512 Feb 20 17:51 my_folder

Перемещение по каталогам

Следующим шагом в изучении системного администрирования, давайте рассмотрим перемещение по каталогам. Это тоже самое, если бы Вы перемещались по каталогам используя обозреватель в windows. Итак, для перемещения по каталогам, нам потребуется ввести команду, о которой говорилось ранее. Команда cd. Как мы уже знаем, без использования ключа, команда возвращает на в домашний каталог. Чтобы перейти в какой-либо каталог, нам нужно указать абсолютный или относительный путь к каталогу.

$ cd my_folder - указали относительный путь.

$ cd /home/clewesi/my_folder/ - указали абсолютный путь от корня сервера

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

$ cd.. - это означает перейти на уровень выше.

Кто нибудь догадался, как еще можно перейти туда, откуда только что пришли? Подсказываю. Если мы пришли в каталог my_folder с домашнего каталога, то можно просто ввести команду cd и перейти в домашний каталог.

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

$ cd../..

Еще пример. Если требуется войти в каталог, которые находится двумя уровнями выше, то пищем команду так:

$ cd../../some_folder

Забавно, не правда ли? Есть еще вариации, например если писать абсолютный путь от корня сервера. Поэкспериментируйте с этим.

Удаление каталогов и файлов

После того, как Вы вдоволь наигрались с созданием файлов и каталогов, самое время их удалить. Все довольно просто. Файл удаляем командой rm, а смешанные файлы командой rm - rf

$ rm my_file - удаляем только файл или множество файлов.

$ rm - rf my_folder - удаляем каталог

$ rm - rf my_folder my_file - или смешанный тип данных

Прощаемся с сервером

После того, как Вы навели порядок, удалив все нужные и не нужные файлы с сервера, самое время покинуть сервер разорвав с ним соединение до следующего свидания. Это делается вводом команды exit, либо сочетанием клавиш ctrl +d

На десерт, я дам последнюю команду на сегодняшний день, которая поможет приоткрыть занавес системного администрирования. Вероятно, Вы встречали на различных форумах, как завсегдатаи форума, отправляют новичка задавшего вопрос читать документацию или маны. Так и говорят - "иди читай маны, а потом спрашивай". К чему я это? А к тому, что у каждой команды есть справка, чтобы ее вызвать, нужно вызвать команду man и указать ей имя команды, которая Вас интересует.

$ man ls

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

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


Карта сайта


Информационный сайт Webavtocat.ru