Символ в линукс что означает
Символ в линукс что означает
Некоторые символы имеют для редактора особое значение. К ним относятся: «.», «\», «$», «*», «[«, «]», «^», «&». Эти символы обычно называются метасимволами.
В зависимости от контекста символ «.» имеет несколько значений. 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]», это будет означать: «любая цифра». Можно записать и короче: «1». Запись двух символов, разделенных знаком минус, означает задание интервала в
лексикографической последовательности символов. Так, запись «[А-Я]» означает: «прописная русская буква», а запись: «[a-z] [a-z0-9]*» означает последовательность латинских букв и цифр, начинающуюся с буквы.
Указание в начале класса символа «^» означает «ни один из следующих символов». Например: обозначает «любой символ, за исключением цифры».
Примеры. удаление всех цифр в начале каждой строки; поиск первой строки, не начинающейся символом пробела или табуляции.
Внутри класса символов могут присутствовать любые символы и, чтобы избежать путаницы, в квадратных скобках символы принципиально не имеют специального значения. Например, чтобы найти специальные символы, можно использовать команду: Внутри «[. ]» символ «[» не является специальным. Чтобы включить символ «]» в класс символов, нужно указать его первым.
6.16.7. Метасимвол & (амперсенд)
Символ «&» используется в первую очередь для сокращения вводимого текста.
Предположим, имеется строка: и требуется преобразовать ее в строку: конечно, для этого можно воспользоваться командой: однако требование повторно указывать слово «ВРЕМЯ» кажется неразумным. Для того, чтобы избежать этого повторения, используется символ «&». В правой части команды подстановки амперсенд означает «найденный текст», так что можно ввести команду: где «&» будет означать «ВРЕМЯ». Конечно, в данном примере экономия будет незначительной, однако если количество символов велико или представляет собой нечто вроде «.*», которому соответствует большой кусок текста, экономится много вводимых символов. Снижается также вероятность совершения ошибки при вводе заменяющего текста. Например, для того, чтобы заключить в скобки строку, независимо от ее длины, можно использовать команду:
Амперсенд может встречаться в правой части команды несколько раз. Команда: построит строку: а команда: преобразует исходную строку в:
Чтобы получить настоящий символ «&», используется обратная дробная черта для отмены его специального значения. Команда: заменит слово «амперсенд» на символ «&». Обратите внимание на то, что символ «&» является специальным только в правой части команды, в левой части он не имеет специального значения.
15 специальных символов-команд, которых нужно знать для работы Bash Linux
Всем доброго времени суток и других разностей.
, *, | и >) имеют решающее значение.
Сегодня мы расскажем какое и как с ними работать. А то давно что-то ничего не было про линуксы и терминал, да и остальные вкусности.
Что такое специальные символы?
Существует набор символов, которые оболочка Bash обрабатывает двумя различными способами. Когда вы вводите их в оболочку, они действуют как инструкции или команды и сообщают оболочке выполнить определенную функцию. Думайте о них как об односимвольных командах.
Иногда вам просто нужно напечатать символ, и вам не нужно, чтобы он действовал как «магический». Есть способ, которым вы можете использовать символ, чтобы представлять себя, а не его специальную функцию.
Мы покажем вам, какие символы являются «специальными» или «мета-» символами, а также как вы можете использовать их функционально и буквально.
Домашний каталог
) является сокращением для вашего домашнего каталога. Это означает, что вам не нужно вводить полный путь к вашей домашней директории в командах. Где бы вы ни находились в файловой системе, вы можете использовать эту команду для перехода в ваш домашний каталог:
Вы также можете использовать эту команду с относительными путями. Например, если вы находитесь в файловой системе, которая не находится в вашей домашней папке, и хотите перейти в archive каталог в вашем work каталоге, используйте тильду, чтобы сделать это:
. текущая директория
Вы также можете использовать точку в командах для представления пути к вашей текущей директории. Например, если вы хотите запустить скрипт из текущего каталога, вы бы назвали его так:
.. Parent Directory
Двойной период или «двойная точка» (..) представляет родительский каталог вашего текущего. Вы можете использовать это, чтобы перейти на один уровень вверх в дереве каталогов.
Вы также можете использовать эту технику для быстрого перехода к каталогу на том же уровне в дереве каталогов, что и текущий. Вы запрыгиваете на один уровень вверх, а затем обратно в другой каталог.
/ Path Directory Separator
Одна косая черта представляет кратчайший возможный путь к каталогу. Поскольку все в дереве каталогов Linux начинается с корневого каталога, вы можете использовать эту команду для быстрого перехода в корневой каталог:
# Комментарий или «обрезка строк»
Однако он не игнорируется, потому что он добавлен в историю команд.
В этом примере мы присваиваем текст « Dave Geek! » переменной.
«Подстановочный» знак вопроса представляет ровно один символ. Рассмотрим следующий шаблон имени файла:
Это переводится как: «перечислить любой файл с именем, начинающимся с « badge » и сопровождаемым любым отдельным символом перед расширением имени файла».
Это соответствует следующим файлам. Обратите внимание, что у некоторых есть цифры, а у некоторых есть буквы после части имени файла в виде значка. «Подстановочный» знак вопроса будет соответствовать как буквам, так и цифрам.
Этот шаблон имени файла не соответствует значению « badge.txt », поскольку в имени файла нет ни одного символа между «значком» и расширением файла. «Подстановочный» знак вопроса должен совпадать с соответствующим символом в имени файла.
Вы также можете использовать знак вопроса, чтобы найти все файлы с определенным количеством символов в именах файлов. Здесь перечислены все текстовые файлы, которые содержат ровно пять символов в имени файла:
Вы можете использовать «подстановочный» знак звездочка ( * ) для обозначения любой последовательности символов, включая отсутствие символов. Рассмотрим следующий шаблон имени файла:
Это соответствует всем следующим:
Он соответствует « badge.txt », потому что «подстановочный» знак представляет собой любую последовательность символов или не содержит символов.
Эта команда сопоставляет все файлы, называемые «исходными», независимо от расширения файла.
Вы можете сформировать «подстановочный» знак с квадратными скобками ([]) и символами, которые они содержат. Соответствующий символ в имени файла должен соответствовать хотя бы одному из символов в наборе символов подстановки.
Вы можете использовать более одного набора скобок на шаблон имени файла:
Вы также можете включить диапазоны в набор символов. Следующая команда выбирает файлы с номерами от 21 до 25 и от 31 до 35 в имени файла.
В командной строке Вы можете вводить столько команд, сколько Вам нужно, если Вы разделяете каждую из них точкой с запятой ( ; ). Мы сделаем это в следующем примере:
Если Вы хотите остановить последовательность выполнения в случае сбоя одной команды, используйте двойной амперсанд ( && ) вместо точки с запятой:
Однако вы можете запустить приложение как фоновый процесс и продолжать использовать окно терминала. Для этого просто добавьте амперсанд в командную строку:
Bash показывает идентификатор процесса, который был запущен, а затем возвращает вас в командную строку. Затем Вы можете продолжать использовать окно терминала.
Linux принимают файл в качестве параметра и берут свои данные из этого файла. Большинство из этих команд также могут принимать данные из потока. Чтобы создать поток, используйте левую угловую скобку ( ), как показано в следующем примере, чтобы перенаправить файл в команду:
Когда команда перенаправляет ввод в нее, она может вести себя иначе, чем при чтении из именованного файла.
Вот несколько примеров того, как вы можете использовать wc :
> Перенаправление вывода
Вы можете использовать правую угловую скобку ( > ), чтобы перенаправить вывод команды (обычно в файл). Вот пример:
Она же «трубка» объединяет команды. Он принимает выходные данные одной команды и передает их следующей в качестве входных данных. Количество переданных команд (длина цепочки) произвольно.
Мы набрали следующее:
В этой командной строке есть две команды:
Следующая команда повторно запускает предыдущую команду:
В оболочке Bash вы создаете переменные для хранения значений. Некоторые, такие как переменные среды, существуют всегда, и вы можете получить к ним доступ в любое время, когда открываете окно терминала. Они содержат значения, такие как ваше имя пользователя, домашний каталог и путь.
Добавьте фигурные скобки ( <> ) вокруг знака доллара и выполните расширение параметра, чтобы получить значение переменной и разрешить дальнейшие преобразования значения.
Это создает переменную, которая содержит строку символов, как показано ниже:
Используйте следующую команду для вывода строки в окно терминала:
Чтобы вернуть подстроку, начиная с позиции 6 всей строки, используйте следующую команду (смещение нуля, поэтому первая позиция равна нулю):
Если вы хотите отобразить подстроку, которая начинается с нулевой позиции и содержит следующие шесть символов, используйте следующую команду:
Используйте следующую команду, чтобы отобразить подстроку, которая начинается с четвертой позиции и содержит следующие четыре символа:
Цитирование специальных символов
Например, эта команда печатает дату и время:
Если вы заключите текст в одинарные кавычки (‘ … ‘), как показано ниже, он останавливает функцию всех специальных символов:
Вы можете использовать обратную косую черту ( \ ), чтобы не использовать следующий символ в качестве специального символа. Это называется «избегать» персонажа; см. пример ниже:
Послесловие
В общем, просто думайте о специальных символах как об очень коротких командах. Если вы запомните их использование, то это может принести огромную пользу Вашему пониманию оболочки Bash и сценариев (скриптов, команд) других людей (если Вы пользуетесь чьими-то шаблонами).
В двух словах как-то так. Если есть вопросы, мысли, дополнения и всё такое прочее, то добро пожаловать в комментарии к этой записи.
Символ в линукс что означает
Некоторые символы имеют для редактора особое значение. К ним относятся: «.», «\», «$», «*», «[«, «]», «^», «&». Эти символы обычно называются метасимволами.
В зависимости от контекста символ «.» имеет несколько значений. 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]», это будет означать: «любая цифра». Можно записать и короче: «5». Запись двух символов, разделенных знаком минус, означает задание интервала в
лексикографической последовательности символов. Так, запись «[А-Я]» означает: «прописная русская буква», а запись: «[a-z] [a-z0-9]*» означает последовательность латинских букв и цифр, начинающуюся с буквы.
Указание в начале класса символа «^» означает «ни один из следующих символов». Например: обозначает «любой символ, за исключением цифры».
Примеры. удаление всех цифр в начале каждой строки; поиск первой строки, не начинающейся символом пробела или табуляции.
Внутри класса символов могут присутствовать любые символы и, чтобы избежать путаницы, в квадратных скобках символы принципиально не имеют специального значения. Например, чтобы найти специальные символы, можно использовать команду: Внутри «[. ]» символ «[» не является специальным. Чтобы включить символ «]» в класс символов, нужно указать его первым.
6.16.7. Метасимвол & (амперсенд)
Символ «&» используется в первую очередь для сокращения вводимого текста.
Предположим, имеется строка: и требуется преобразовать ее в строку: конечно, для этого можно воспользоваться командой: однако требование повторно указывать слово «ВРЕМЯ» кажется неразумным. Для того, чтобы избежать этого повторения, используется символ «&». В правой части команды подстановки амперсенд означает «найденный текст», так что можно ввести команду: где «&» будет означать «ВРЕМЯ». Конечно, в данном примере экономия будет незначительной, однако если количество символов велико или представляет собой нечто вроде «.*», которому соответствует большой кусок текста, экономится много вводимых символов. Снижается также вероятность совершения ошибки при вводе заменяющего текста. Например, для того, чтобы заключить в скобки строку, независимо от ее длины, можно использовать команду:
Амперсенд может встречаться в правой части команды несколько раз. Команда: построит строку: а команда: преобразует исходную строку в:
Чтобы получить настоящий символ «&», используется обратная дробная черта для отмены его специального значения. Команда: заменит слово «амперсенд» на символ «&». Обратите внимание на то, что символ «&» является специальным только в правой части команды, в левой части он не имеет специального значения.
Простой 9 комментариев
А Linux скрипт это обычно относится к башу. Не стоит настолько придираться к вопросам, а то можно придраться и к ответам =)
1. в Linux нет команд. Linux это ядро.
Переменная PS1 собственно и содержит строку приглашения, которая содержит обычно имя юзера, имя хоста, текущая директория и этот символ.
В общем я добился от автора объяснения, что ему нужно
То о чем ты говоришь, называется не команда, а переменная. Это и сбило всех с толку.
Объяснение очень простое.
Поскольку в баше ОЧЕНЬ нестрогий синтаксис, и любой текст воспринимается как строка без всяких кавычек, то нужен способ отличить переменную от просто строки. Если ты напишешь
При этом для присвоения значения переменной знак доллара не нужен, поскольку система видит по знаку =, что речь идет о присвоении (и видимо поэтому нельзя ставить проблелы вокруг знака =).
Да, нелогично. Но не все в нашей жизни поддается логике