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

На некоторых экранах терминалов вы можете увидеть некоторые команды, такие как `ls –la` или даже `rm –rf`, и задаться вопросом: «Что это за слова после дефиса?». Это командные флаги или иначе называемые параметрами или переключателями командной строки, и им обычно предшествует дефис (-) или двойной дефис (-).

ЧТО ТАКОЕ ФЛАГИ?

Флаги командной строки используются для включения или отключения определенных функций, предоставления дополнительной информации или указания параметров команды. Возьмем, к примеру, очень простой пример командного флага:

cp --help

Этот командный флаг `-help` при добавлении к команде `cp` отображает панель инструкций, которая предоставляет подходящую справку о том, как использовать команду `cp`.

Почти каждая команда bash имеет свои ассоциативные флаги, которые выполняют различные функции и добавляют информацию или особенности к выполнению этой команды. Вы можете просмотреть их, просмотрев справочную страницу указанной команды (помните, что использование команды man обсуждалось здесь) или добавив флаг `—help` к команде, чтобы увидеть список всех доступные флаги и что они делают, как они это делают и синтаксис, необходимый для этого.

Существуют различные соглашения о командных флагах:

Короткие флаги: однобуквенные флаги, которым предшествует дефис (-). Вы можете объединить несколько коротких флажков в одну последовательность через дефис.

ls –l #displays detailed information about files and directories
rm –rf #recursively removes files and directories without prompting

Длинные флаги. Это более описательные флаги, которым предшествуют два дефиса (-). Они часто говорят сами за себя и их легче понять, чем короткие флаги.

Хорошим примером является флаг `—help`, который мы использовали.

Булевы флаги. Некоторые флаги, которые мы обычно видим в командах и сценариях оболочки bash, действуют как бинарные переключатели, включающие или отключающие определенную функцию. Обычно они используются без дополнительных аргументов.

curl –L #Follows HTTP redirects
gcc –o output program.c #Specifies the output filename for the compiled program.c code

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

cp –preserve=timestamps file1 file2 #Preserves file timestamps during the copy operation

Объединение флагов. Как упоминалось ранее, вы можете объединить несколько коротких флагов после одного дефиса, если они не ожидают аргументов.

ls –la #lists all files, including hidden ones, in a long format

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

ЗАКЛЮЧЕНИЕ

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

Удачного кодирования😅.