10 основных вопросов и ответов на собеседовании по Linux — часть 4

11.07.2025
10 малоизвестных команд Linux

Продолжаем серию вопросов для собеседования по Linux. Предыдущие части вопросов 12 и 3.

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

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

 

1. Как определить макрос или привязать клавишу к команде в Bash?

Чтобы определить макрос или привязать клавишу к команде в Bash, можно использовать команду bind, которая является встроенной функцией Bash и позволяет назначать пользовательские команды определённым клавишам, по сути создавая сочетания клавиш.

Сначала вам нужно выяснить, какую escape-последовательность отправляет ваш терминал при нажатии клавиши, которую вы хотите привязать. Самый простой способ сделать это — нажать Ctrl + v, а затем клавишу (например, F12), после чего на экране появится что-то вроде ^[[24~, что является escape-кодом для этой клавиши.

Получив escape-последовательность, вы можете привязать клавишу к команде, используя следующий синтаксис:

bind '"\e[24~":"date"'

 

В этом примере нажатие F12 приведет к запуску команды date. Просто имейте в виду, что escape-последовательности могут отличаться в зависимости от вашего эмулятора терминала, поэтому последовательность для F12 в одной системе может отличаться в другой.

 

2. Как вывести список всех доступных команд?

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

Просто введите compgen -c в терминале, и вы увидите полный список всех исполняемых команд, распознаваемых вашей оболочкой, включая встроенные команды, псевдонимы и программы в системной переменной PATH.

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

compgen -c

 

3. Как вывести на печать стек каталогов?

Чтобы просмотреть текущий стек каталогов в Linux, можно использовать команду dirs, которая особенно полезна при навигации по каталогам с помощью pushd и popd, так как она показывает список каталогов, хранящихся в стеке.

При запуске dirs выводятся каталоги в том порядке, в котором они были добавлены, при этом текущий каталог отображается первым. Например, если вы использовали pushd для переключения между каталогами, выполните следующую команду:

dirs

 

может вернуть что-то вроде:

/usr/share/X11

 

Это означает, что /usr/share/X11 в данный момент находится в верхней части стека каталогов.

 

4. Как удалить все фоновые задания без перезагрузки?

Если у вас есть несколько фоновых или приостановленных заданий и вы хотите удалить их, не перезагружая систему, вы можете использовать команду disown -r в Bash, которая указывает оболочке удалить все задания (выполняющиеся или остановленные) из таблицы заданий.

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

disown -r

 

5. Что делает команда hash в Bash?

Команда hash в Bash используется для управления внутренней хэш-таблицей оболочки, в которой хранятся полные пути к выполненным командам. При запуске команды Bash ищет её в этой таблице, а не в каталогах, что ускоряет выполнение команд.

Просто введя hash в терминале, вы можете увидеть, сколько раз была использована каждая команда и какой путь для этого использует Bash. Например, если вы пару раз ввели ls и su, вывод может выглядеть следующим образом:

hits    command
   2    /bin/ls
   2    /bin/su

 

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

 

6. Какая команда Bash используется для целочисленной арифметики?

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

Например, предположим, что вы хотите сложить два числа:

let a=5
let b=10
let c=a+b
echo $c

 

На выходе будет 15, так как значения a и b складываются, а результат сохраняется в c. Вы также можете использовать let с другими операторами, такими как -*/% и т. д.

 

7. Как просматривать большой текстовый файл по одной странице за раз?

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

cat bigfile.txt | more

 

Это работает отлично: текст отображается по одному экрану за раз, и вы можете перемещаться вперёд с помощью нажатия клавиши. Однако более удобный и гибкий вариант — использовать команду less напрямую:

less bigfile.txt

 

Команда less позволяет прокручивать файл как вперёд, так и назад, выполнять поиск внутри файла и перемещаться с помощью клавиш со стрелками или клавиш «вверх» и «вниз». Она широко используется для чтения больших файлов в терминале.

 

8. Кому принадлежит словарь данных в Linux (или в обычной базе данных)?

В MySQL словарь данных управляется самим сервером MySQL, а не конкретным пользователем, как в Oracle. Однако пользователь root (административный пользователь по умолчанию) имеет полный доступ ко всем базам данных, включая системные схемы, содержащие данные, похожие на словарь.

MySQL хранит метаданные и системную информацию во внутренних базах данных, таких как mysqlinformation_schema, и performance_schema. Эти схемы предоставляют информацию о пользователях, разрешениях, конфигурации системы и определениях таблиц, но они контролируются и обслуживаются сервером, а не отдельным пользователем базы данных.

 

9. Как узнать, что делает команда в Linux?

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

Просто используйте команду whatis, которая выводит краткое однострочное описание, взятое непосредственно со страницы руководства по команде.

Например, вы можете запустить:

whatis zcat

 

И вы получите такой результат:

zcat (1) - compress or expand files

 

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

 

10. Как проверить дисковые квоты и количество файлов, используемых каждым пользователем?

Чтобы просмотреть сводную информацию об использовании диска и пользовательских файловых квотах, можно использовать следующую команду. Она просканирует все файловые системы, перечисленные в /etc/mtab, в которых включены квоты, и отобразит количество файлов (индексных дескрипторов) и объём дискового пространства, используемого каждым пользователем, а также установленные для них лимиты

repquota -a command

 

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

 

Заключительные мысли

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала