символ в линукс что означает

Символ в линукс что означает

Некоторые символы имеют для редактора особое значение. К ним относятся: «.», «\», «$», «*», «[«, «]», «^», «&». Эти символы обычно называются метасимволами.

В зависимости от контекста символ «.» имеет несколько значений. lin В левой части команды подстановки и при поиске с помощью конструкции «/. /» символ «.» означает любой одиночный символ. Таким образом, в результате поиска будут найдены строки текста, содержащие символы «x» и «y», между которыми находится любой символ, например:

Символ «.», используемый для указания номера строки обозначает текущую строку.

Примеры. замена символа «a» на символ «,» в строке, следующей за текущей. Символ «.», записанный в правой части команды замены «s», не имеет специального значения; замена символа «,» на символ «.» в строках с 1-й по 5-ю включительно.

Такая команда, примененная, например к строке: дает результат:

6.16.2. Метасимвол \ (обратная дробная черта)

Обратная дробная черта (или обратный слэш) отменяет специальное значение, которое может иметь следующий за ней символ, в частности, «\.» означает точку, а не «любой символ». Примеры. замена символа «.» на символ «?»; поиск строк, содержащих «.pp»; поиск символа «\»; поиск символа «/»; удаление в текущей строке последовательности символов «.».

Для разделения полей в команде «s» может использоваться любой символ, а не только дробная черта (однако для контекстного поиска требуется использовать дробную черту). Например, если строка уже содержит много символов дробной черты, как в строке: то можно использовать в качестве разделителей символ «:» (двоеточие). Удалить все символы дробной черты можно с помощью команды:

Если для стирания символов и удаления строк используются клавиши «#» и «@», их нужно вводить в виде «\#» и «\@» (это относится не только к работе с ed).

Если текст вводится с помощью одной из команд: «a», «i» или «c», то символ обратной дробной черты не является специальным, и требуется нажимать эту клавишу только один раз для каждой обратной дробной черты.

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

6.16.4. Метасимвол ^ (отрицание)

Метасимвол «^» применяется так же, как метасимвол «$», за исключением того, что он указывает начало строки, а не конец.

Примеры. поиск строки, начинающейся со слова «время»; поместить пробел в начало текущей строки.

Метасимволы можно объединять. Например, для того, чтобы найти строку, содержащую только символы «pp» можно использовать команду: /^.pp$/

6.16.5. Метасимвол * (звездочка)

Метасимвол «*» означает, что символ, за которым он следует, может повторяться произвольное число раз.

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

Если скомбинировать точку и *, то можно сопоставить все символы. С помощью этой комбинации можно, например, заменить все символы в последней части строки: ed автоматически запоминает последнюю строку символов в шаблоне поиска или замененный текст. Однако вы должны подсказать ed, что нужно повторить замену, используя знак «%». Знак «%» позволяет вам сделать одинаковую замену во многих строках, не используя глобальной замены. Например, заменим слово money на слово gold, повторим последнюю замену в строках от 1 до 3:

6.16.6. Метасимволы [] (квадратные скобки)

Метасимволы «[]» позволяют определить подмножество символов, которые необходимо распознавать при выполнении операции поиска или подстановки. Запись группы символов, заключенных в квадратные скобки, означает: «любой одиночный символ из указанных». Например, если «[0123456789]», это будет означать: «любая цифра». Можно записать и короче: «9». Запись двух символов, разделенных знаком минус, означает задание интервала в

лексикографической последовательности символов. Так, запись «[А-Я]» означает: «прописная русская буква», а запись: «[a-z] [a-z0-9]*» означает последовательность латинских букв и цифр, начинающуюся с буквы.

Указание в начале класса символа «^» означает «ни один из следующих символов». Например: обозначает «любой символ, за исключением цифры».

Примеры. удаление всех цифр в начале каждой строки; поиск первой строки, не начинающейся символом пробела или табуляции.

Внутри класса символов могут присутствовать любые символы и, чтобы избежать путаницы, в квадратных скобках символы принципиально не имеют специального значения. Например, чтобы найти специальные символы, можно использовать команду: Внутри «[. ]» символ «[» не является специальным. Чтобы включить символ «]» в класс символов, нужно указать его первым.

6.16.7. Метасимвол & (амперсенд)

Символ «&» используется в первую очередь для сокращения вводимого текста.

Предположим, имеется строка: и требуется преобразовать ее в строку: конечно, для этого можно воспользоваться командой: однако требование повторно указывать слово «ВРЕМЯ» кажется неразумным. Для того, чтобы избежать этого повторения, используется символ «&». В правой части команды подстановки амперсенд означает «найденный текст», так что можно ввести команду: где «&» будет означать «ВРЕМЯ». Конечно, в данном примере экономия будет незначительной, однако если количество символов велико или представляет собой нечто вроде «.*», которому соответствует большой кусок текста, экономится много вводимых символов. Снижается также вероятность совершения ошибки при вводе заменяющего текста. Например, для того, чтобы заключить в скобки строку, независимо от ее длины, можно использовать команду:

Амперсенд может встречаться в правой части команды несколько раз. Команда: построит строку: а команда: преобразует исходную строку в:

Чтобы получить настоящий символ «&», используется обратная дробная черта для отмены его специального значения. Команда: заменит слово «амперсенд» на символ «&». Обратите внимание на то, что символ «&» является специальным только в правой части команды, в левой части он не имеет специального значения.

Источник

Русские Блоги

Специальные символы оболочки Linux

Специальные символы оболочки Linux

Подстановочный знак

Соответствовать любому персонажу
try * c // match: try1.c try.c try.basic

Соответствует любому одиночному символу

Соответствует любому определенному в круглых скобкахХарактер

[Mm] akefile // Соответствие Makefile makefile

file 1 // соответствие file1 file2 file3 file4 file5

* file 7 // соответствие file1 file2 *

Если он заключен в квадратные скобки, это означает, что он не соответствует ни одному символу, указанному в скобках.

кавычки

Перенаправление ввода

H O M E e c h o » role=»presentation» style=»position: relative;»> H O M E e c h o PATH

Используйте команду env для отображения всех переменных среды
Используйте команду set для отображения всех локально определенных переменных оболочки (локальных переменных)
Используйте команду readonly для установки переменных только для чтения
Изменить переменные среды

Локальная переменная

Определено, изменено или удалено пользователем.

Правила именования

Формат такой же, как у языка C

Присвоение переменной
Ссылочная переменная
Просмотреть все команды набора переменных
Команда очистки переменных-unset
Описание

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

Переменная местоположения

Если в сценарии более 9 параметров, используйте команду shift, чтобы использовать более 9 параметров.

Формат:
shift [n] n представляет количество бит для сдвига;
Если значение n не указано, по умолчанию n равно 1

Источник

Что такое метасимволы Linux и как вы их используете?

символ в линукс что означает

Метасимвол — это любой символ, имеющий особое значение, например, карат (^), знак доллара ($) или звездочка (*). В Linux имеется достаточное количество этих метасимволов, и их значения различаются в зависимости от того, какую команду Linux вы используете.

Полная Остановка как Метасимвол (.)

Например, следующая команда находит все файлы MP3 в текущей папке и ее подпапках.

Если вы выполните эту команду в текущем рабочем каталоге (pwd), вы увидите возвращенные результаты, при условии, что вы храните файлы MP3 в музыкальной папке в вашей домашней папке.

Теперь посмотрите на эту команду:

Команда ps выводит список всех запущенных процессов на вашем компьютере. Команда grep принимает строки ввода и ищет шаблон.

символ в линукс что означает

Если Firefox запущен, вы получите совпадение. Аналогично, если запущена программа с именем fonefox или freefox, они также возвращаются.

Звездочка как метасимвол (*)

Звездочка ( * ) является общеизвестным метасимволом. Это означает ноль или более любого символа при поиске шаблона. Например:

символ в линукс что означает

Это немного отличается, потому что звездочка означает ноль или более, поэтому, помимо поиска Firefox, Facefox и Fonefox, она также находит Flutefox, Ferretfox и Fefox.

символ в линукс что означает

Карат как метасимвол (^)

Карат ( ^ ) используется для обозначения начала строки или строки. Так как это используется?

Команда ls выводит список файлов в папке следующим образом:

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

Здесь перечислены файлы, которые начинаются с gnome. Если вы хотите, чтобы файлы с gnome были где-то в имени файла, используйте звездочку.

символ в линукс что означает

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

Символ доллара как метасимвол ($)

Символ доллара ( $ ) имеет несколько значений в качестве метасимвола в Linux. Когда используется для сопоставления с образцами, это означает противоположность карат и обозначает любой образец, который заканчивается определенной строкой. Например:

В этом списке перечислены все файлы, заканчивающиеся на png.

Символ доллара также используется для доступа к переменным среды в оболочке bash. Например:

символ в линукс что означает

Спасающиеся метасимволы (\\)

Теперь посмотрите на следующую команду:

Как вы думаете, что возвращается? И f.refox, и firefox возвращаются, потому что оба соответствуют шаблону.

символ в линукс что означает

Чтобы вернуть только f.refox, экранируйте точку полной остановки, чтобы фактически означать точку полной остановки следующим образом:

Скобки как метасимвол ([])

Вы можете использовать скобки ( [] ) при поиске шаблонов. Квадратные скобки указывают конкретные буквы для соответствия в любом месте шаблона. Например:

В этом списке перечислены все файлы, содержащие буквы a, b или c.

символ в линукс что означает

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

Для поиска диапазона букв используйте дефис (-). Например, ls [ah] * возвращает файлы, которые начинаются с любой буквы от a до h.

Метасимвол Акцента Могила

В приведенных выше примерах метасимвол канала отправляет результаты одной команды (например, команды ls) другой команде (например, команде grep).

Альтернативный способ сделать это — использовать обратную кавычку, также известную как accent grave ( ` ), чтобы вставить результаты одной команды в другую команду. Для этого сохраните результат одной команды в переменной. Например:

символ в линукс что означает

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

Источник

Простой 9 комментариев

символ в линукс что означает

символ в линукс что означает

А Linux скрипт это обычно относится к башу. Не стоит настолько придираться к вопросам, а то можно придраться и к ответам =)

символ в линукс что означает

символ в линукс что означает

символ в линукс что означает

1. в Linux нет команд. Linux это ядро.

символ в линукс что означает

символ в линукс что означает

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

символ в линукс что означает

В общем я добился от автора объяснения, что ему нужно

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

Объяснение очень простое.
Поскольку в баше ОЧЕНЬ нестрогий синтаксис, и любой текст воспринимается как строка без всяких кавычек, то нужен способ отличить переменную от просто строки. Если ты напишешь

При этом для присвоения значения переменной знак доллара не нужен, поскольку система видит по знаку =, что речь идет о присвоении (и видимо поэтому нельзя ставить проблелы вокруг знака =).
Да, нелогично. Но не все в нашей жизни поддается логике

Источник

Служебные символы

Служебные символы используемые в shell скриптах

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

Экранируется символ #, символом \.

выведет следующие результаты:

Практически все команды в операционных системах unix, возвращают «0» в случае успешного завершения работы.

Возможны следующие варианты использования.
Бесконечный цикл:

Символ заполнитель в условном операторе if/then.

Символ заполнитель в операциях, предполагающих наличие двух операндов.

Символ заполнитель в конструкциях вложенный документ.

В операциях с подстановкой параметров.

В операциях замены подстроки с подстановкой переменных.

В сочетании с операторами перенаправления вывода

При использовании с оператором >, обнуляет содержимое файла, если файла не существует, он создается:

В сочетании с оператором >> перенаправление с добавлением в конец файла и изменением времени последнего доступа.

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

Два предыдущих варианта неприменимы к символическим ссылкам, конвейерам и другим специальным файлам.

Кроме перечисленного, символ двоеточие можно использовать для создания комментариев, но это не рекомендуется, поскольку при использовании символа #, интерпретатор не проверяет данную строку на предмет ошибок, при использовании двоеточия это не так:

Так-же символ двоеточие используется в качестве разделителя полей в файле /etc/passwd и переменной окружения $PATH.

Восклицательный знак является зарезервированным словом оболочки bash.

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

В следующем варианте выведет файлы с любым именем, но только с расширением tar

В регулярном выражении, означает 0 или больше, любых символов.

При использовании в конструкциях с двойными скобками, ведет себя как тернарный оператор языка C ( и многих других языков ).

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

Установка символа $ перед именем переменной, означает что будет получено значение данной переменной.

Другой вариант использования конструкции с одинарными скобками, инициализация массивов.

и выводит найденные варианты

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

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

Перенаправление ввода/вывода из вложенного блока:

в результате выполнения этого сценария, будут выведены две первые строки файла /etc/fstab

Сохранить результат работы вложенного блока в файл

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

Обратите внимание что символ точка с запятой, завершающий опцию —ezec, команды find, должен быть экранирован, что-бы избежать его интерпретации.

При работе с массивами, в квадратных скобках указывается индекс элемента к которому нужно обратиться.

При использовании в регулярных выражения, в квадратных скобках, пишутся так называемые классы символов или диапазоны.

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

так-же можно использовать тернарные операторы, упомянутые ранее:

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

Операция подстановки процесса, передает вывод одного процесса на ввод другого.

между символами и круглой скобкой не должно быть пробела.

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

на выходе получим следующее:

Символ-ограничитель, в нашем примере End-of-message, не должен повторяться в теле самого встроенного документа.
— Посимвольное ASCII-сравнение Сравниваются ASCII коды символов

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

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

Все символы, вывода команды ls, будет преобразован в верхний регистр.

Stdout каждого процесса в конвейере, должен читаться в stdin другого процесса, иначе конвейер оборвется:

Конвейер выполняется в отдельном процессе, поэтому не может получить доступ к переменным сценария.

этот небольшой сценарий выведет true, поскольку второе условие вернет true, то и вся проверка вернет true.

Вышеприведенное условие можно записать в следующей форме:

Оператор ||, не может использоваться в одинарных квадратных скобках.

При использовании в сценариях, в фоновом режиме можно выполнять не только команды, но и циклы, например так:

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

выведет такой результат:

как видите, результат выполнения команды ls, отсутствует.
Что-бы исправить поведение сценария, достаточно использовать оператор wait, который приостанавливает выполнение сценария, до тех пока, пока не будут завершены все фоновые задания. Приводим сценарий к следующему виду:

теперь мы получим ожидаемый вывод:

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

Перенаправление из/в stdin или stdout

Пример перемещения дерева каталогов и файлов с помощью архиватора tar:

что делает данный сценарий

В таком контексте ( дефис ), скорее не отдельный оператор bash, а опция, распознаваемая Unix утилитами ( tar, cat и т.д. ), выводящими результаты в stdout.

Если предполагается имя файла, , перенаправляет вывод в stdout или принимает ввод с stdin.

При запуске программы file без параметров, будет выдано сообщение об ошибке:

если передать в качестве параметра ( дефис ), file будет ожидать пользовательского ввода:

как видите, программа file проанализировала стандартный поток ввода stdin и определила тип его содержимого.

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

на выходе получаем файл text.txt.new, содержащий все предыдущие данные, плюс первую строку «this is first line».

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

Оператор перенаправления может конфликтовать с именами файлов, начинающихся с дефиса -filename, что-бы этого избежать, в сценариях необходимо проверять имена файлов и предварять их префиксом пути, например: ./-filename или $PWD/-filename.
Кроме того не забывайте о значениях переменных, простой пример:

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

В арифметических выражениях, означает операцию вычитания.

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

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

— Домашний каталог ( тильда ) Соответствует переменной окружения $HOME, содержащей путь к домашнему каталогу текущего пользователя.

Управляющий символ

В качестве управляющего символа, управляет выводом текста или поведением терминала. Набирается на клавиатуре как сочетание Ctrl+клавиша.

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

Переменная $IFS содержит разделитель полей, используемый некоторыми программами, по-молчанию, пробел.

Источник

Добавить комментарий

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