Команда Echo в Linux с примерами

Стандартные потоки ввода и вывода в Linux являются одним из наиболее распространенных средств для обмена информацией процессов, а перенаправление >, >> и | является одной из самых популярных конструкций командного интерпретатора.

Краткое руководство поechoкоманда, используемая для печати переданного ей аргумента

ВechoКоманда выполняет одно простое задание: выводит на выход переданный ей аргумент.

Этот пример:

echo «hello»

напечатаетhelloк терминалу.

Мы можем добавить результат в файл:

echo «hello» >>

Мы можем интерполировать переменные среды:

echo «The path variable is $PATH«

Помните, что специальные символы нужно экранировать с помощью обратной косой черты.\.$Например:

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

Мы можем повторить файлы в текущей папке:

echo *

Мы можем повторить файлы в текущей папке, которые начинаются с буквыo:

echo o*

Здесь можно использовать любую допустимую команду и функцию Bash (или любую используемую вами оболочку).

Вы можете распечатать путь к домашней папке:

echo ~

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

echo $(ls -al)

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

Вы можете создать список строк, например диапазоны:

echo {1..5}

Вechoкоманда работает в Linux, macOS, WSL и везде, где есть среда UNIX

Скачать мою бесплатнуюСправочник по командам Linux

Больше руководств по cli:

  • Оболочка Bash
  • Введение в сценарии оболочки Bash
  • Раковина рыбы
  • Оболочка, наблюдайте за содержимым файла по мере его заполнения
  • Как выйти из Vim
  • Редакторы UNIX
  • Команды файловой системы UNIX
  • Учебник по оболочкам Unix
  • Как установить псевдоним в оболочке macOS или Linux
  • Практическое руководство по домашнему пиву
  • Как исправить ошибку неверного пути к активному разработчику xcrun в macOS
  • Командная строка для начинающих
  • Введение в Linux
  • Как найти процесс, использующий порт
  • Команды Linux: mkdir
  • Команды Linux: cd
  • Команды Linux: pwd
  • Команды Linux: rmdir
  • Команды Linux: ls
  • Команды Linux: mv
  • Команды Linux: cp
  • Команды Linux: меньше
  • Команды Linux: хвост
  • Команды Linux: коснитесь
  • Команды Linux: cat
  • Команды Linux: найти
  • Команды Linux: ln
  • Команды Linux: ps
  • Команды Linux: echo
  • Команды Linux: вверх
  • Команды Linux: kill
  • Команды Linux: killall
  • Команды Linux: псевдоним
  • Команды Linux: вакансии
  • Команды Linux: bg
  • Команды Linux: fg
  • Команды Linux: введите
  • Команды Linux: какие
  • Команды Linux: whoami
  • Команды Linux: кто
  • Команды Linux: очистить
  • Команды Linux: su
  • Команды Linux: sudo
  • Команды Linux: chown
  • Команды Linux: chmod
  • Команды Linux: passwd
  • Команды Linux: открыть
  • Команды Linux: wc
  • Команды Linux: история
  • Команды Linux: du
  • Команды Linux: umask
  • Команды Linux: grep
  • Команды Linux: man
  • Команды Linux: uname
  • Команды Linux: сортировка
  • Команды Linux: uniq
  • Команды Linux: diff
  • Команды Linux: nohup
  • Команды Linux: df
  • Команды Linux: xargs
  • Команды Linux: gzip
  • Команды Linux: gunzip
  • Команды Linux: ping
  • Команды Linux: traceroute
  • Команды Linux: tar
  • Команды Linux: экспорт
  • Команды Linux: crontab
  • Команды Linux: dirname
  • Команды Linux: базовое имя
  • Команды Linux: printenv
  • Команды Linux: env
  • Краткое руководство по редактору ed
  • Краткое руководство по vim
  • Краткое руководство по emacs
  • Краткое руководство по нано
  • Linux, на устройстве не осталось места
  • Как использовать Netcat

Стандартный ввод

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

EOF вводится нажатием сочетания клавиш Ctrl+D.

Рассмотрим работу со стандартным выводом на примере команды cat (от CONCATENATE, в переводе “связать” или “объединить что-то”).

Cat обычно используется для объединения содержимого двух файлов.

Cat отправляет полученные входные данные на дисплей терминала в качестве стандартного вывода и останавливается после того как получает EOF.

Пример

Введите команду cat без аргументов:

В открывшейся строке введите, например, “1” и нажмите клавишу Enter. На дисплей выводится “1”. Введите “a” и нажмите клавишу Enter. На дисплей выводится “a”.

Дисплей терминала выглядит следующим образом:

[email protected]:~/stream$ cat11aa

Для завершения ввода данных следует нажать сочетание клавиш Ctrl + D.

Команды администрирования

su — смена пользователя. su alex — сменит пользователя на alex. Набрав su без параметров, вы получите права суперпользователя (root), при этом символ подсказки $ сменится на #.

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

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

sudo — позволяет выполнять другие программы с правами суперпользователя, набирается перед другой командой, например

sudo rm file — удалит файл, созданный любым пользователем.

sudo -i или sudo -s — аналоги команды su.

Использовать команду sudo нужно также очень внимательно и только в случае необходимости.

passwd — смена пароля текущего пользователя. passwd alex — смена пароля пользователя alex.

adduser или useradd — добавить нового пользователя. adduser katya — добавит пользователя katya. После набора команды нужно ввести пароль. Для выполнения команды нужно быть суперпользователем.

userdel — удалить пользователя. userdel vasya — удалит пользователя vasya.

groupadd — создание новой группы. groupadd students — создаст группу students.

groupdel — удаление группы. groupdel students — удалит группу students.

chmod — изменить права доступа файла или каталога. chmod 644 file — установит права 644 на файл. chmod +x file — даст файлу права на выполнение.

chown — изменить хозяина файла. chown alex file — в результате выполнения этой команды хозяином файла станет alex.

chgrp — изменение группы файла. chgrp students laba1 — смена группы файла laba1 на students.

История команд

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

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

% history1 9:46 echo $tty 2 9:47 man builtins 3 10:47 echo $term 4 10:54 echo $term 5 10:55 echo $user ; echo $shell ; echo $term ; echo $tty 6 10:59 echo $ignoreoff 7 15:34 ls -a 8 15:34 less .history 9 15:42 history

Количество команд в выводе можно ограничить указанием их числа в качестве аргумента; так, при задании команды в форме

% history 5

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

Буфер команд существует только в течение текущего сеанса оболочки. Однако его содержимое может быть сохранено в специальном файле .history в домашнем каталоге пользователя (это по умолчанию, а вообще имя файла истории, его расположение и количество команд в нём может быть задано при конфигурировании tcsh). В этом случае команда history будет выводить не только команды текущего сеанса, но и всё содержимое файла ~/.history.

Читайте также:  Виртуальная машина: обзор популярных виртуальных машин

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

% history | less

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

% history | grep set

Содержимое файла ~/.history можно просмотреть и непосредственно — это обычный текстовый файл, доступный для обработки стандартными утилитами типа less, grep и тому подобными. В принципе, ничто не препятствует его обработке с помощью неинтерактивных утилит вроде ed или sed, или даже текстового редактора.

Главное назначение буфера истории команд и команды его просмотра — предоставить возможность извлечения ранее исполнявшейся команды из истории и ее повторного исполнения.

Так вот, любая из команд буфера вызывается в командную строку с помощью директивы

где # — порядковый номер команды в списке вывода history. После этого команду из истории можно запустить на исполнение или предварительно отредактировать её точно так же, как и команду, только что введённую с клавиатуры.

Для просмотра буфера истории команд можно использовать также клавиши управления курсором — Up (назад) и Down (вперед), с помощью которых как бы «пролистываются» по одной все ранее введенные команды. Аналогичного результата можно добиться и управляющими комбинациями — Control+P и Control+N или Meta+P и Meta+N, каждая пара из которых является аналогом пары Up и Down соответственно.

Интерактивный просмотр буфера истории в tcsh имеет очень полезную особенность: если в пустой командной строке набрать какой-либо символ и начать просматривать буфер с помощью клавиши Up или комбинации Control+P (Meta+P), то из буфера истории будут извлекаться только команды, имена которых начинаются с этого символа. Введение двух и более начальных символов ещё более сузит круг вывода. С помощью дополнительных настроек это можно реализовать и в bash, но в tcsh этот приём работает, что называется, «из коробки» (хотя здесь его, напротив, можно и запретить в профильных файлах).