Linux: базовые навыки
Если вы только начинаете знакомство с Linux и хотите понять, зачем вообще нужен этот «пингвин» в мире IT — эта статья для вас. Linux — это операционная система, на которой работают сервера, сайты и даже банкоматы. Она бесплатна, надёжна и активно используется в компаниях по всему миру.
В этой статье я разберу пошагово тест на базовые знания Linux. Каждому вопросу будет дано понятное объяснение, даже если вы раньше не работали в терминале. Объясню, что значит «chmod», зачем нужны команды вроде ps и как узнать, что тормозит сервер.
Такие базовые знания особенно пригодятся тем, кто хочет начать карьеру в IT: системным администратором, DevOps-инженером, техническим специалистом поддержки или просто грамотным пользователем, уверенно чувствующим себя в Linux-среде.
Вопрос 1:
Вы работаете в терминале и хотите увидеть, в каком каталоге находитесь сейчас. Какую команду нужно использовать?
Варианты:
a) hostname
b) ls
c) cd
d) echo $PATH
e) pwd
Обоснование:
Команда pwd (print working directory) показывает путь к текущему рабочему каталогу. Это именно то, что требуется в вопросе. Остальные команды:
- hostname — показывает имя хоста (компьютера),
- ls — список файлов в каталоге,
- cd — смена каталога,
- echo $PATH — выводит переменную окружения PATH, не связана с текущим каталогом.
Вопрос 2:
Вы находитесь в каталоге /home/user/docs/reports. Какой командой можно перейти в директорию /home/user/docs?
Варианты:
a) cd /
b) cd ..
c) cd root
d) cd ./docs
e) cd ~
Обоснование:
Команда cd .. используется для перехода на один уровень вверх в иерархии каталогов.
Находясь в /home/user/docs/reports, команда cd .. переместит пользователя в /home/user/docs.
- cd / — переместит в корень файловой системы (/), не подходит.
- cd root — ищет подкаталог root в текущем каталоге, а не /root.
- cd ./docs — от текущего пути /home/user/docs/reports ищет подкаталог docs, которого нет.
- cd ~ — отправляет в домашнюю директорию, обычно /home/user.
Вопрос 3:
Какая команда НЕ используется для работы с файлами и каталогами как объектами файловой системы?
Варианты:
a) grep
b) cp
c) rm
d) mkdir
e) mv
- grep — используется для поиска текста по шаблону в содержимом файлов. Она не работает с файлами как объектами, а только с их содержимым.
- cp — копирует файлы и каталоги.
- rm — удаляет файлы и каталоги.
- mkdir — создаёт директории.
- mv — перемещает или переименовывает файлы и каталоги.
Следовательно, grep — это правильный ответ, так как она не управляет файлами как объектами файловой системы.
Вопрос 4:
Вы подготовили файл summary.txt и хотите создать резервную копию этого файла в каталоге /home/user/backups. Какую команду используете?
Варианты:
a) mkdir /home/user/backups/summary.txt
b) mv summary.txt /home/user/backups/
c) copy summary.txt /home/user/backups/
d) cp summary.txt /home/user/backups/
e) rm summary.txt && touch /home/user/backups/summary.txt
- cp — это команда копирования файлов. Именно она используется для создания резервной копии, не удаляя оригинал.
- mv переместит файл, а не скопирует — неподходящий вариант.
- copy — не существует как отдельная команда в Linux.
- mkdir — создает каталоги, а не файлы.
- rm ... && touch ... — удалит файл и создаст пустой — данные будут потеряны.
Правильный способ сохранить копию в другом каталоге: cp summary.txt /home/user/backups/.
Выбранныйответ: d) cp summary.txt /home/user/backups/
Вопрос 5:
Вы находитесь в домашнем каталоге пользователя и хотите найти файл report.txt. Какую команду следует использовать?
Варианты:
a) Использовать grep по пути . для поиска имени файла
b) Выполнить cat на каждый каталог
c) Применить ps aux | grep report.txt
d) Применить команду locate без обновления базы
e) Использовать find . -name "report.txt"
Обоснование:
Команда find . -name "report.txt" — это стандартный способ поиска файла по имени в текущем каталоге (.) и его подкаталогах. Она работает без необходимости обновления базы, в отличие от locate, и подходит для поиска по файловой системе в реальном времени.
- grep ищет по содержимому файлов, а не по именам файлов.
- cat выводит содержимое файлов, а не подходит для каталогов — вызовет ошибку.
- ps aux | grep ищет процессы, а не файлы.
- locate работает только с уже обновлённой базой файловой системы и может не увидеть недавно созданные файлы.
Выбранный ответ: e) Использовать find . -name "report.txt"
Вопрос 6:
Вы хотите найти все строки, содержащие слово "ERROR", в файлах с расширением .log, находящихся в текущем каталоге и его подкаталогах. Какаякомандаподойдётлучшевсего?
Варианты:
a) grep "ERROR" *.log
b) find . -name "*.log" | grep "ERROR"
c) grep -r "ERROR" --include="*.log"
d) cat *.log | grep "ERROR"
e) locate "*.log" | grep "ERROR"
Обоснование:
Команда grep -r "ERROR" --include="*.log" делает именно то, что нужно:
- -r — рекурсивный поиск по всем подкаталогам,
- --include="*.log" — ограничивает поиск только файлами с расширением .log,
- "ERROR" — шаблон, который нужно найти.
- a) grep "ERROR" *.log — ищет только в файлах .log текущей директории, не рекурсивно.
- b) find . -name "*.log" | grep "ERROR" — ищет имена файлов, содержащие "ERROR", а не содержимое файлов.
- d) cat *.log | grep "ERROR" — только в текущей директории, не охватывает подкаталоги.
- e) locate "*.log" | grep "ERROR" — locate ищет пути, не читает содержимое файлов.
Выбранныйответ: c) grep -r "ERROR" --include="*.log"
Вопрос 7:
Чем отличается оператор >> от оператора > в командной строке Linux?
Варианты:
a) >> выводит только ошибки, а > — обычный вывод
b) >> добавляет вывод в конец файла, а > перезаписывает файл
c) >> используется только в пайплайнах
d) >> создаёт файл, а > записывает в уже существующий
e) >> работает только с текстовыми файлами
- > — перезаписывает файл: если файл уже существует, его содержимое удаляется и заменяется новым.
- >> — добавляет (append) вывод в конец существующего файла, не удаляя текущие данные.
- a) Неверно, для ошибок используется 2> и 2>>.
- c) Не соответствует реальности, оба оператора могут использоваться вне пайплайнов.
- d) Оба оператора могут создать файл, если он не существует.
- e) Оба работают с любыми файлами, не только текстовыми.
Выбранный ответ: b) >> добавляет вывод в конец файла, а > перезаписывает файл
Вопрос 8:
Вам нужно сохранить список всех видимых файлов и папок в текущем каталоге в файл list.txt для дальнейшего анализа. Какую команду нужно ввести?
Варианты:
a) ls list.txt
b) cat list.txt > ls
c) ls > list.txt
d) ls -a > list.txt
e) echo list.txt > ls
- Команда ls > list.txt выведет все видимые (не скрытые) файлы и папки в текущем каталоге и запишет их в файл list.txt.
- Именно это и требуется по условию — "все видимые файлы и папки".
- ls list.txt — попытается показать файл list.txt, не выводит список всех файлов.
- cat list.txt > ls — читает файл и перезаписывает системную команду ls, потенциально опасная ошибка.
- ls -a > list.txt — включает скрытые файлы (начинающиеся с точки), не соответствует условию.
- echo list.txt > ls — создаёт файл ls с текстом list.txt, бессмысленно и вредно.
Выбранный ответ: c) ls > list.txt
Вопрос 9:
Как называется учётная запись в Linux, которая обладает полным доступом ко всем файлам и операциям в системе?
Варианты:
a) manager
b) sudo
c) root
d) admin
e) owner
- root — это суперпользователь в Linux, обладающий неограниченными правами доступа. Он может выполнять любые действия в системе: изменять файлы, управлять пользователями, устанавливать ПО и т.д.
- sudo — команда, а не имя пользователя. Она позволяет обычному пользователю выполнять команды от имени root.
- manager, admin, owner — это просто названия, которые могут быть именами пользователей или ролями, но не являются встроенной системной учётной записью в Linux.
Вопрос 10:
Вы создали группу analytics и теперь хотите добавить пользователя olga в эту группу, не убирая его из текущих групп. Какую команду нужно использовать?
Варианты:
a) usergroup add olga analytics
b) chmod +g analytics olga
c) groupadd olga analytics
d) usermod -g analytics olga
e) usermod -aG analytics olga
- a) usergroup add — не существует такой команды.
- b) chmod +g — используется для изменения прав доступа к файлам, не работает с группами пользователей.
- c) groupadd olga analytics — создаёт группу, но не добавляет пользователя в неё.
- d) usermod -g — назначает основную группу, и удаляет из всех остальных.
Правильный и безопасный способ добавить пользователя в дополнительную группу — usermod -aG.
Выбранный ответ: e) usermod -aG analytics olga
Пройдя тест и изучив разбор, вы научитесь ориентироваться в командной строке, управлять файлами, правами доступа и базовыми процессами. Эти знания станут отличной опорой, чтобы двигаться дальше — к более продвинутым задачам и уверенной работе в реальных проектах. Даже с базовым уровнем Linux вы уже заметно выделяетесь среди новичков.