Linux что значит палочка

Содержание
  1. Linux что значит палочка
  2. 6.16.1. Метасимвол . (точка)
  3. 6.16.2. Метасимвол \ (обратная дробная черта)
  4. 6.16.3. Метасимвол $ (денежный знак)
  5. 6.16.4. Метасимвол ^ (отрицание)
  6. 6.16.5. Метасимвол * (звездочка)
  7. 6.16.6. Метасимволы [] (квадратные скобки)
  8. 6.16.7. Метасимвол & (амперсенд)
  9. unixforum.org
  10. Где клавиша вертикальная черта?
  11. Где клавиша вертикальная черта?
  12. Re: Где клавиша вертикальная черта?
  13. Re: Где клавиша вертикальная черта?
  14. Re: Где клавиша вертикальная черта?
  15. Re: Где клавиша вертикальная черта?
  16. Re: Где клавиша вертикальная черта?
  17. Конвейер (pipe) — перенаправление ввода-вывода в Linux
  18. 15 специальных символов-команд, которых нужно знать для работы Bash Linux
  19. Что такое специальные символы?
  20. Домашний каталог
  21. . текущая директория
  22. .. Parent Directory
  23. / Path Directory Separator
  24. # Комментарий или «обрезка строк»
  25. ? — как знак подстановки символа
  26. * — как «подстановочный» знак последовательности символов
  27. [] — набор символов
  28. ; — разделитель команд оболочки
  29. & — «фоновый процесс»
  30. Linux принимают файл в качестве параметра и берут свои данные из этого файла. Большинство из этих команд также могут принимать данные из потока. Чтобы создать поток, используйте левую угловую скобку ( ), как показано в следующем примере, чтобы перенаправить файл в команду:
  31. > Перенаправление вывода
  32. | — вертикальная черта
  33. ! — логический оператор НЕ и оператор истории
  34. $ — выражения переменных
  35. Цитирование специальных символов
  36. Послесловие

Linux что значит палочка

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

6.16.1. Метасимвол . (точка)

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

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

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

Команда : иллюстрирует все значения символа «.». Первая «.» в команде — это номер текущей строки, вторая «.» это метасимвол, который соответствует любому одному символу данной строки, третья «.» — это настоящая точка в команде замены.

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

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

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

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

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

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

6.16.3. Метасимвол $ (денежный знак)

В зависимости от того, как используется знак денежной единицы ($), он может обозначать конец файла или конец строки. Когда указывается диапазон (от строки 1 до строки $), совершенно ясно, что речь идет о конце файла. «1, $p» вызовет распечатку всего файла. Но запись «s/$/./p» указывает, что точка будет помещена в конце текущей строки.

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

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

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

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

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

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

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

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

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

ed автоматически запоминает слово money, так что строка не будет повторена между первыми двумя ограничителями. Знак «%» говорит ed — использовать последний шаблон для замены (gold).

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

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

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

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

Читайте также:  Чем открыть файл общая библиотека оболочки windows

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

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

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

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

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

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

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

Источник

unixforum.org

Форум для пользователей UNIX-подобных систем

  • Темы без ответов
  • Активные темы
  • Поиск
  • Статус форума

Где клавиша вертикальная черта?

Модератор: Bizdelnick

Где клавиша вертикальная черта?

Сообщение Шпунтик » 15.11.2007 14:20

Re: Где клавиша вертикальная черта?

Re: Где клавиша вертикальная черта?

Сообщение Andrey_Nik » 15.11.2007 14:33

Re: Где клавиша вертикальная черта?

Сообщение uptime » 15.11.2007 14:42

Re: Где клавиша вертикальная черта?

Сообщение Шпунтик » 15.11.2007 15:18

Точно, она там и есть! Но на клавише вторым символом там не вертикальная черта, а вертикальная черта с разрывом посредине, вроде : только вместо точек короткие вертикальные палочки, в Windows именно так и отображается, а в Linux отображается как вертикальная черта | .

Re: Где клавиша вертикальная черта?

Сообщение uptime » 15.11.2007 17:38

Ну, так это она и есть )) Просто разными шрифтами по разному может отображаться.

Источник

Конвейер (pipe) — перенаправление ввода-вывода в Linux

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

Простым примером перенаправления является pipe (конвейер). Обозначается он символом | (прямая палочка, кто не понял 🙂 ). Используется pipe следующим образом:

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

Поясню на примере. Введите команду ls -l / . Вы увидите как на экран будет выведено содержимое корневого каталога.

Теперь давайте перенаправим вывод этой команды на ввод другой команды: grep , которая ищет во входных данных некоторое сочетание символов. Например, используем такую команду: ls -l / | grep tmp .

Объясню поподробнее что это значит: команда ls -l / Выведет содержимое корневого каталога (как мы убедились выше). Дальше данные поступают команде grep tmp , которая произведет поиск по входным данным (полученным из 1 команды). После чего команда grep выведет то, что нашла на экран (разумеется, это дело опять можно перенаправить).

Что очень важно отметить, команды исполняются одновременно, то есть все, что поступает на вывод в первой программе немедленно поступает на вход второй, не дожидаясь завершения 1.

Если проводить ассоциации с реальным миром, то можно представить pipe в виде длинной трубы, распооженной вертикально (что-то мне подсказывает, что разработчики системы преставляли себе это именно также, потому и выбрали такое название и символ |). В эту трубу некто (команда 1) сверху кидает яблоки (данные). Второй некто (команда 2) достает из трубы эти яблоки. Ширина трубы не позволяет яблакам менять порядок, то есть в каком порядке они были отправлены командой 1, в таком порядке они будут приняты командой 2. Скорости работы команд также могут различаться. В случаи, если второй некто замешкается, яблоки будут оставаться в трубе, дожидаясь обработки. Если замешкается первый, то второй будет ждать поступления данных.

Пожалуй, это все, что можно сказать про конвейер в Linux.

Источник

15 специальных символов-команд, которых нужно знать для работы Bash Linux

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

Если вы хотите освоить оболочку Bash в Linux , macOS или другой UNIX -подобной системе, то специальные символы (например,

, *, | и >) имеют решающее значение.

Сегодня мы расскажем какое и как с ними работать. А то давно что-то ничего не было про линуксы и терминал, да и остальные вкусности.

Что такое специальные символы?

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

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

Мы покажем вам, какие символы являются «специальными» или «мета-» символами, а также как вы можете использовать их функционально и буквально.

Домашний каталог

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

Читайте также:  Обновление windows для андроид

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

. текущая директория

Точка (.) Представляет текущий каталог. Вы увидите это в списках каталогов, если используете -a опцию (все) с ls .

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

Это говорит Bash искать script.sh файл в текущем каталоге . Таким образом, он не будет искать каталоги в вашем пути для поиска исполняемого файла или сценария.

.. Parent Directory

Двойной период или «двойная точка» (..) представляет родительский каталог вашего текущего. Вы можете использовать это, чтобы перейти на один уровень вверх в дереве каталогов.

Вы также можете использовать эту команду с относительными путями — например, если вы хотите подняться на один уровень вверх в дереве каталогов, а затем ввести другой каталог на этом уровне.

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

/ Path Directory Separator

Вы можете использовать косую черту (/) — часто называемую косой чертой — для разделения каталогов в имени пути.

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

# Комментарий или «обрезка строк»

Чаще всего вы используете хеш или знак числа (#), чтобы сообщить оболочке, что ниже следует комментарий, и он не должен на него воздействовать. Вы можете использовать его в сценариях оболочки и, — менее полезно, — в командной строке.

Однако он не игнорируется, потому что он добавлен в историю команд.

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

В этом примере мы присваиваем текст « Dave Geek! » переменной.

Эта команда использует echo для печати слова « How-To » в окне терминала. Он извлекает значение, хранящееся в строковой переменной, через расширение параметра . Поскольку мы добавляем хеш и текст « Dave », он обрезает эту часть строки перед тем, как передать её в echo .

Это не меняет значение, хранящееся в строковой переменной; это влияет только на то, что отправлено echo . Мы можем использовать echo для печати значения строковой переменной еще раз и проверить это:

? — как знак подстановки символа

Оболочка Bash поддерживает три символа подстановки, одним из которых является знак вопроса ( ? ). Вы используете «подстановочные» знаки для замены символов в шаблонах имен файлов. Имя файла, которое содержит «подстановочный» знак, формирует шаблон, который соответствует диапазону имен файлов, а не одному.

«Подстановочный» знак вопроса представляет ровно один символ. Рассмотрим следующий шаблон имени файла:

Это переводится как: «перечислить любой файл с именем, начинающимся с « badge » и сопровождаемым любым отдельным символом перед расширением имени файла».

Это соответствует следующим файлам. Обратите внимание, что у некоторых есть цифры, а у некоторых есть буквы после части имени файла в виде значка. «Подстановочный» знак вопроса будет соответствовать как буквам, так и цифрам.

Этот шаблон имени файла не соответствует значению « badge.txt », поскольку в имени файла нет ни одного символа между «значком» и расширением файла. «Подстановочный» знак вопроса должен совпадать с соответствующим символом в имени файла.

Вы также можете использовать знак вопроса, чтобы найти все файлы с определенным количеством символов в именах файлов. Здесь перечислены все текстовые файлы, которые содержат ровно пять символов в имени файла:

* — как «подстановочный» знак последовательности символов

Вы можете использовать «подстановочный» знак звездочка ( * ) для обозначения любой последовательности символов, включая отсутствие символов. Рассмотрим следующий шаблон имени файла:

Это соответствует всем следующим:

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

Эта команда сопоставляет все файлы, называемые «исходными», независимо от расширения файла.

[] — набор символов

Как указано выше, вы используете знак вопроса для обозначения любого отдельного символа, а звездочку — для любой последовательности символов (включая символы).

Вы можете сформировать «подстановочный» знак с квадратными скобками ([]) и символами, которые они содержат. Соответствующий символ в имени файла должен соответствовать хотя бы одному из символов в наборе символов подстановки.

В этом примере команда переводит: «любой файл с» .txt », имя файла , начиная с „badge_0,“ и в котором следующий символ либо 2, 4 или 6.»

Вы можете использовать более одного набора скобок на шаблон имени файла:

Вы также можете включить диапазоны в набор символов. Следующая команда выбирает файлы с номерами от 21 до 25 и от 31 до 35 в имени файла.

; — разделитель команд оболочки

В командной строке Вы можете вводить столько команд, сколько Вам нужно, если Вы разделяете каждую из них точкой с запятой ( ; ). Мы сделаем это в следующем примере:

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

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

& — «фоновый процесс»

После того, как Вы введете команду в окне терминала и она завершится, Вы вернетесь в командную строку. Как правило, — это занимает всего минуту или две. Но если вы запустите другое приложение, например gedit , вы не сможете использовать окно терминала, пока не закроете приложение.

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

Читайте также:  Как установить часу linux mint

Bash показывает идентификатор процесса, который был запущен, а затем возвращает вас в командную строку. Затем Вы можете продолжать использовать окно терминала.

Linux принимают файл в качестве параметра и берут свои данные из этого файла. Большинство из этих команд также могут принимать данные из потока. Чтобы создать поток, используйте левую угловую скобку ( ), как показано в следующем примере, чтобы перенаправить файл в команду:

Когда команда перенаправляет ввод в нее, она может вести себя иначе, чем при чтении из именованного файла.

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

Вот несколько примеров того, как вы можете использовать wc :

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

Вы можете использовать правую угловую скобку ( > ), чтобы перенаправить вывод команды (обычно в файл). Вот пример:

Перенаправление вывода также может перенаправлять сообщения об ошибках, если вы используете цифру ( 2 в нашем примере) с > . Вот как это сделать:

| — вертикальная черта

Она же «трубка» объединяет команды. Он принимает выходные данные одной команды и передает их следующей в качестве входных данных. Количество переданных команд (длина цепочки) произвольно.

Здесь мы будем использовать cat для передачи содержимого файла words.txt grep , которая извлекает любую строку, содержащую « C » в нижнем или верхнем регистре, grep и затем передает эти строки sort . sort использует -r (обратный) вариант, поэтому отсортированные результаты будут отображаться в обратном порядке.

Мы набрали следующее:

! — логический оператор НЕ и оператор истории

Восклицательный знак ( ! ) — это логический оператор, который означает НЕ .

В этой командной строке есть две команды:

  • Первая команда — это текст в квадратных скобках;
  • Вторая команда — это текст, который следует за двойными амперсандами && .

Первая команда использует ! в качестве логического оператора. Квадратные скобки указывают на то, что будет проведено испытание. Опция -d (directory) проверяет наличие каталога с именем backup . Вторая команда создает каталог.

Поскольку двойные амперсанды разделяют две команды, Bash выполнит вторую только в случае успеха первой . Однако это противоположность того, что нам нужно. Если проверка для «резервной» директории прошла успешно, нам не нужно её создавать. И если проверка для каталога « backup » не пройдена, вторая команда не будет выполнена, а отсутствующий каталог не будет создан.

Это где логический оператор ! входит. Он действует как логическое НЕ . Таким образом, если тест пройден успешно (т.е каталог существует ), он ! переходит на «НЕ успешно», что является ошибкой. Итак, вторая команда не активирована.

Если проверка каталога не пройдена (т.е каталог не существует), ! ответ изменяется на «НЕ сбой», что является успехом . Таким образом, команда для создания недостающего каталога будет выполнена.

Чтобы проверить состояние папки резервной копии, вы используете ls команду и параметры -l (длинный список) и -d (каталог), как показано ниже:

Вы также можете запускать команды из истории команд с восклицательным знаком. Команда history выводит список вашей истории команд, а затем Вы набираете номер команды, с которой хотите выполнить ее повторно ! , как показано ниже:

Следующая команда повторно запускает предыдущую команду:

$ — выражения переменных

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

Вы можете использовать, echo, чтобы увидеть значение, которое содержит переменная, — просто перед именем переменной следует знак доллара ( $ ), как показано ниже:

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

Добавьте фигурные скобки ( <> ) вокруг знака доллара и выполните расширение параметра, чтобы получить значение переменной и разрешить дальнейшие преобразования значения.

Это создает переменную, которая содержит строку символов, как показано ниже:

Используйте следующую команду для вывода строки в окно терминала:

Чтобы вернуть подстроку, начиная с позиции 6 всей строки, используйте следующую команду (смещение нуля, поэтому первая позиция равна нулю):

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

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

Цитирование специальных символов

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

Если вы заключите текст в кавычки (« … »), это не позволит Bash воздействовать на большинство специальных символов, а они просто будут печатать. Однако, одним заметным исключением является знак доллара ( $ ). Он по-прежнему действует как символ для выражений переменных, поэтому вы можете включить значения из переменных в свой вывод.

Например, эта команда печатает дату и время:

Если вы заключите текст в одинарные кавычки (‘ … ‘), как показано ниже, он останавливает функцию всех специальных символов:

Вы можете использовать обратную косую черту ( \ ), чтобы не использовать следующий символ в качестве специального символа. Это называется «избегать» персонажа; см. пример ниже:

Послесловие

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

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

Источник

Оцените статью