Линукс команды терминала: Основные команды Linux терминала с примерами использования

Содержание

Полезные команды Linux (Линукс) — все о базовых и системных командах, которые могут понадобиться в работе

Операционная Система Linux – наиболее популярная среди пользователей виртуального хостинга и облачных сервисов.

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

Команды в Linux вводятся в командную строку, каждая запущенная команда – отдельный процесс. Поэтому любому администратору необходимо знать определенный набор команд для успешной работы с сервером и управления файлами.

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

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

Базовые команды Linux

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

man — manual, получение справки

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

Выйти из режима справки можно, нажав клавишу Q.

Если по каким-то причинам команда man не работает, то используйте help

Так как не весь список команд Linux имеет полноценную инструкцию, то можно запросить краткую справку по команде с помощью help.

clear — команда очищает всю информацию, которая была выведена в консоль.

history — с ее помощью показываются ранее введенные команды. По умолчанию показывает 10 последних операций, если после команды поставить число, например, history 20, то будут выведены последние двадцать произведенных действий.

Системные команды для терминала Linux

ping — команда для определения работоспособности ресурса, с ее помощью можно узнать активен или нет определенный ресурс. Указывать можно имя домена или IP-адрес.

Пример команды: ping nic.ru

Для остановки команды нажмите ctrl+c.

traceroure

Команда ping позволяет определить наличие проблемы, если она есть. Чтобы узнать, где обрывается соединение используют команду traceroure. Суть данной команды состоит в том, что поток данных разбивается на небольшие пакеты и передается на целевой узел, а там собирается обратно в единый поток. Каждый пакет проходит определенное количество узлов, пока достигнет своей цели. У каждого пакет свое время жизни, которое и отображается в выводе команды.

Например, traceroute nic.ru

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

top — команда для отображения запущенных процессов и информации о них. Чтобы остановить выполнение команды нажмите клавишу q. Во время выполнения команды top можно использовать встроенные команды, например:

M — сортировать по используемой памяти,

P — сортировать по загрузке процессора,

1 — показать статистику по ядрам процессора.

ssh – команда для работы по SSH из терминала. Пример команды для перезагрузки веб сервера httpd: ssh user@server «service httpd restart»

Удаленный юзер и сервер в тексте всегда обозначаются как user@server, а по отдельности как и .

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

id – команда для отображения системного идентификатора (номер, идентифицирующий пользователя) указанного пользователя. Когда информация определена, то система покажет следующие данные:

  • Имя и идентификатор пользователя
  • Имя и идентификатор основной группы пользователя
  • Имена и идентификаторы дополнительных групп пользователя, если они есть.

Пример: id olga

Результат будет иметь вид: uid=2988(olga) gid=1(staff) В этом примере идентификатор пользователя olga — 2988, имя ее основной группы — staff, идентификатор группы — 1.

host позволяет делать отправку запросов серверам доменных имен. При использовании host пользователь может указать имя сервера доменных имен, который должен обработать запрос. Утилита может осуществлять обратное разрешение доменных имен, например, получать список доменных имен, связанных с заданным IP-адресом. Данная команда схожа по функционалу с утилитой dig.

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

host [параметры] имя-домена-или-ip-адрес [имя-сервера-доменных-имен]

Например, host nic.ru

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

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

dig [@имя-сервера-доменных-имен] [параметры] имя-домена-или-IP-адрес

whois – команда для получения информации о домене.

Например, whois nic.ru

Список команд Linux для работы с файлами и директориями

find – команда для поиска файлов. После нее вводится название файла, который требуется найти. Также с ее помощью можно искать файлы по определенным параметрам, например, find /usr/bin -type f -atime +100 команда означает, что требуется найти все файлы в папке ‘/usr/bin’, со временем последнего обращения к которым прошло более 100 дней.

ls – команда для отображения содержимого директории, в которой вы находитесь. Введите адрес конкретной папки после команды, и вам отобразится ее содержимое. Добавленный аргумент -R показывает файлы из поддиректорий.

Команда ls -la покажет список файлов в текущей директории с учетом скрытых файлов

cd — команда сменить директорию (change directory). С ее помощью происходит перемещение между папками. Например, cd /buh/q1/feb/27. Чтобы переместиться в предыдущую директорию наберите cd- , команда без дополнений cd означает переход в домашнюю папку.

file — с помощью этого запроса вы сможете узнать что перед вами: изображение, директория или текстовый документ, также сможете получить информацию о них (например, для изображений это информация EXIF).

mv — данной командой можно перемещать файлы из одной папки в другую. Например, для переноса файла info.txt на рабочий стол команда выглядит следующим образом: mv info.txt /home/имя учетной записи/Desktop. Чтобы изменить название файла выполняем эту команду с указанием нового названия документа: mv info.txt info2.txt

cp — для создания копии файла в другой директории. В теле команды необходимо путь до файла, который копируем и адрес, куда размещаем скопированный файл: cp info.txt /home/user1/Desktop

Поскольку info. txt находится в текущей директории, до него можно не писать полный путь.

Чтобы скопировать каталог добавляем -r: cp -r Untitled /home/Username/Desktop

Команда: cp -r Untitled test_dir скопирует папку Untitled в test_dir

dd — утилита используется для работы с разделами. Она позволяет делать копии разделов, перемещать их или удалять.

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

Чтобы удалить файл выполните команду rm -f file1, где file1 — файл, требующий удаления.

rmdir dir1 – удалит директорию (папку) с именем dir1

mkdir — команда создает новую директорию (папку). Если вам необходимо создать папку на рабочем столе под новое задание, то наберите команду: mkdir ~/Desktop/Newtask.

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

Если файл большой, то используйте сочетание клавиш (для приостановки) и (для продолжения), чтобы вся информация не промелькнула слишком быстро. +q>+s>

grep – команда для поиска текста в указанном файле. Например, grep 750.desktop +q>+s>

head — команда также показывает содержимое файлов, но только первые 10 строк. Количество строк можно изменить, указав параметр -n. +q>+s>

Например, команда: head -n 20 ~/Desktop/info.txt покажет первые двадцать строк документа info. +q>+s>

zip — команда для упаковки файлов в архив в формате .zip. +q>+s>

Команда zip file1.zip file1 создаст сжатый zip-архив. +q>+s>

Команда zip -r file1.zip file1 file2 dir1 — создаст сжатый zip-архив и включит в него нескольких файлов и/или директорий. +q>+s>

Команда unzip file1.zip распакует zip-архив. в терминале Linux означает Ctrl) сохраняем файл и выходим из редактора – Ctrl+X. +q>+s>

Помимо nano можно с помощью команды vi вызвать другой редактор текста — vim. На первый взгляд он кажется сложнее, но если один раз в нем разобраться, то работа с vi, вероятно, покажется вам более удобной. +q>+s>

du – отображает использование диска для данного файла или каталога и каждого из его подкаталогов в байтах. При выполнении без какой-либо опции du отображает использование диска для данного файла или каталога и каждого из его подкаталогов в байтах. +q>+s>

chmod — команда для изменения прав доступа к файлам и директориям. Например, команда может выглядеть так: +q>+s>

chmod u=rwx,g=rx,o=r file2 +q>+s>

Она устанавливает следующие разрешения для файла file2: +q>+s>

  • пользователь (user) может читать (read), писать (write) и выполнять (xecute) его; +q>+s>
  • члены группы (group) могут прочитать (read) и выполнить (xecute) его; +q>+s>
  • а также другие (others) могут только читать (read) его. +q>+s>

chown – команда для изменения владельца файлов или директорий. +q>+s>

Пример команды: chown [параметры] <имя владельца:имя группы владельцев> <имя файла или директории> +q>+s>

Назначим пользователя pavel владельцем файла picture.jpg: chown pavel picture.jpg +q>+s>

Команды консоли линукс по управлению пользователями +q>+s>

groupadd – команда для создания группы пользователей +q>+s>

Введите в консоли groupadd group_name для создания новой группы с названием group_name +q>+s>

Для удаления группы group_name введите: groupdel group_name +q>+s>

Чтобы переименовать группу потребуется команда: groupmod -n new_group_name old_group_name +q>+s>

useradd – команда для создания нового пользователя. +q>+s>

Например, useradd user2. +q>+s>

useradd -p user2 — задать пароль пользователя user2. +q>+s>

Для удаления пользователя и его домашнего каталога: userdel -r user2 +q>+s>

Чтобы создать пользователя user2, назначить ему домашний каталог /home/user2, включить в группу admin и оставить комментарий Nome Cognome, введите команду: useradd -c «Nome Cognome» -g admin -d /home/user2 -s /bin/bash user2 +q>+s>

passwd — команда для смены пароля. Сменить пароль root пользователю user2: passwd user2 chage -E 2023-12-01 user2 — установить дату окончания действия учётной записи пользователя user2. +q>+s>

whoami — команда для вывода имени текущего пользователя, находящегося в текущий момент а системе. Используется без дополнительных аргументов. +q>+s>

w — команда, которая покажет пользователей, залогинившихся в данный момент в системе. Кроме этого выдаётся информация: длительность подключения, адрес с которого произошло было выполнено подключение, команде, которую выполняет пользователь. +q>+s>

su — команда для подключения к системе с правами суперпользователя (root). Перед началом работы с полным правами потребуется ввод пароля. Для выхода необходимо выполнить команду logout ищи закрывать терминал. +q>+s>

sudo — в отличие от предыдущей команды, команда sudo даёт выполнение только одной команды с правами суперпользователя. Перед началом выполнением также потребуется пароль, но текущего пользователя. +q>+s>

Заключение +q>+s>

Существует огромное количество команд для работы с терминалом Linux. Мы рассмотрели наиболее часто используемые у пользователей. У начинающих администраторов сразу могут возникнуть сложности с запоминанием команд, но постоянная практика поможет это исправить. +q>+s>

Основные команды Linux | Cloud4Y


Возможно, вы уже видели нашу статью «23 команды для Git». А в этой статье вы познакомитесь с основными командами для Linux-терминала. С их помощью вы научитесь ориентироваться в пространстве, управлять директориями и файлами, обновляться и работать с пользователями. Готовы? Тогда приступаем!

Базовые команды


1.     Команда pwd (Print Working Directory) очень полезна, если у вас нет ничего, кроме командной строки под рукой. Ответ системы на эту команду помогает понять, где вы находитесь, в какой директории.


2.     Команда ls нужна, чтобы понять, что расположено в директории. Но правильнее использовать её более конкретную версию, ls -l. В этом случае консоль выведет хорошо детализированный  список, где указаны дата создания файла, его размер, автор и выданные файлу права.


3.     Команда man и её разновидность help используется, чтобы получить полную справочную информацию по конкретной команде или общую информацию об имеющихся возможностях. Допустим, если ввести man bash, то система выдаст руководство по терминалу.


4.     Для автозавершения команды можно дважды нажать клавишу Tab. Тогда командная строка Linux предложит вам доступные варианты завершения команды. Это ускоряет и упрощает процесс ввода команд.


5.     Команда clearочищает всю информацию, которая ранее была выведена на консоль.


6.       Команда historyнаоборот, показывает 10 последних команд, которые вводились. Запрос можно конкретизировать, написав history 14, например. Тогда в консоли отобразится 14 последних команд.


7.       С помощью команды cd: можно перейти в другую директорию по абсолютному (cd /home/work/log) или относительному пути (cd log — команда перейти в /home/work/log из директории /home/work, например). Относительный — это значит относительно вашей текущей директории, где вы сейчас находитесь.


8.       Команда cd .. позволяет подняться наверх на один уровень, cd ../.. — на два и так далее.


Получить консультацию об облачных сервисахЗаказать звонок

Работа с директориями и файлами


Теперь поговорим о работе с папками и файлами в Linux.



9.     При помощи команды mkdir: можно создать новый каталог в системе. Например, mkdir: Cloud4Y — это команда на создание папки с названием Cloud4Y.А если написать mkdir: /work/Cloud4Y, то папка создастся в директории /work.


10. Команда touch: используется для создания файла. Например, touch: back.log создаёт пустой файл с названием «back.log», который можно позднее открыть и редактировать.


11.   Для копирования файлов используется команда cp что_копировать куда_копировать. Например, cp back.log /home/work/later — указав относительный путь, мы копируем файл в директорию /home/work/later. Но будьте осторожны, если в папке «куда копировать» файл с таким именем уже есть, система не будет ничего спрашивать, а перезапишет его. 


12.   Копировать можно и директорию целиком. Для этого в команду вводится ключ R. Например, cp -r путь_к_копируемой_папке новое_место_хранения. Это выглядит следующим образом: cp /opt/dev/log /home/work/later.


13.   Используйте вместо cp (copy) команду mv (move), чтобы не копировать, а сразу переместить файл. Например, mv back.log /home/work/later. Чтобы переместить файл, находясь в любом другом месте, используйте абсолютный путь: mv /opt/ dev/log/back.log /home/work/later.


14.   При желании можно переименовать файл в момент переноса. Это выглядит примерно так mv back.log /home/work/later/todo2023_02_08.log


15.   Для переименования директории используется примерно такой же принцип: mv /opt/ dev/log/ /home/work/later/.


16.   Команда  rm (remove) позволяет удалять файлы. Например, rm Wazzup.txt удалит файл Wazzup.txt, а rm * сотрёт все файлы в текущей директории. Для удаления папки нужно добавить флаг -r. Вот так, например: rm -r Cloud4Y_folder.


17.   При удалении некоторых файлов система может уточнить, действительно ли вы хотите это сделать. Ответить один-два раза можно, но когда удаляется под сотню таких файлов, лучше воспользоваться командой rm -rf Cloud4Y_folder, благодаря которой всё удалится без лишних вопросов.


18.   Очень хорошая команда для создания архива, способная работать даже в пустой системе: tar (в комбинации с флагом cvzf для создания стандартного архива). Например, команда tar -cvzf myarchive.tar.gz /home/work/later делает архив папки /home/work/later.


19.   Для распаковки нужно поменять флаг «c» на «x» и удалить «z»: tar -xvf myarchive.tar.gz.

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


На Windows установка приложения — это запуск exe-файла типа Setup с тыканием «Далее» до победного конца. В Linux процесс выглядит иначе. Есть менеджер пакетов (приложений), который вызывается для установки конкретного приложения. Менеджер yum используется на red hat, centos, а dpkg, apt на debian, например.


20.   Для установки достаточно написать в консоли команду yum install имя_пакета или apt install имя_пакета. Удаление осуществляется похожим способом: apt remove имя_пакета (или yum remove).


21.   Проверить наличие свободного места на диске можно при помощи команды df -h. Отдельно вес папки вы узнаете, если напишете в консоли du –sh или du -sh *, чтобы увидеть вес всех папок.

Управление пользователями


22.   Команда useradd создаёт новую учетную запись. Например useradd Cloud4Y_user. Но свежесозданному аккаунту нужен не только логин, но и пароль. Его можно задать следующей командой.


23.   passwd — задаёт пароль для учётной записи. Сразу после создания аккаунта нужно написать passwd Cloud4Y_user, чтобы система предложила задать пароль для этого пользователя. Учтите, при наборе пароля вы не увидите даже звёздочек, но система учтёт каждую нажатую клавишу.


24.   Команда userdel удаляет выбранную учётную запись. Например, так: userdel Cloud4Y_user.


25.   Отдельно стоит упомянуть команду выключения Linux, shutdown. Её можно дополнить следующим образом: shutdown время сообщения. Например, shutdown 10:10 reset_terminal.


Итак, команды, которые вам точно надо знать, это pwd, cp, mv, mkdir, touch. Другие перечисленные тоже важны, но для полного погружения в мир консольных команд для Linux рекомендуем обратиться к официальной документации.



cloud server

Что такое команды Curl в Linux? Полное руководство с примерами.

ВПС

10 марта 2023 г.

Edward S.

4min Read

Команда cURL — важный инструмент Linux, обычно используемый для передачи данных и устранения неполадок с подключением. cURL поддерживается libcurl, бесплатной библиотекой для передачи URL-адресов на стороне клиента.

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

Что такое команда cURL?

cURL (клиентский URL) — это инструмент командной строки, который позволяет передавать данные на сервер или с сервера без взаимодействия с пользователем, используя поддерживаемую библиотеку libcurl. cURL также можно использовать для устранения проблем с подключением.

Проверить версию cURL

Как и с любой командой Linux, прежде чем мы начнем работать с cURL, нам нужно войти в наш VPS. Если вам нужна помощь, ознакомьтесь с этим руководством по SSH.

Во-первых, давайте проверим, какая версия cURL доступна, с помощью следующей команды:

 curl --version 

Вывод покажет версию cURL и список поддерживаемых протоколов. Теперь мы можем посмотреть на некоторые примеры команд cURL

Базовый синтаксис команд cURL

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

 curl [ОПЦИИ] [URL] 

Самое простое использование cURL — отображение содержимого страницы. В приведенном ниже примере отображается домашняя веб-страница testdomain.com .

 curl testdomain.com 

Будет отображен полный исходный код домашней страницы домена. Если протокол не указан, curl интерпретирует это как HTTP.

Параметры командного файла cURL

Команды cURL могут загружать файлы из удаленного расположения. Вы можете сделать это двумя способами:

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

Пример этого показан ниже:

 curl -O http://testdomain.com/testfile.tar.gz 

Приведенная выше команда сохранит это как testfile.tar.gz .

 curl -o newtestfile.tar.gz http://testdomain.com/testfile.tar.gz 

Приведенная выше команда сохранит это как newtestfile.tar.gz .

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

 curl -C - -O  http://testdomain.com/testfile.tar.gz 

Используя cURL, мы также можем загрузить несколько файлов, как показано ниже:

 curl - O http://testdomain.com/testfile.tar.gz -O http://mydomain.com/myfile.tar.gz 

Если вы хотите загрузить несколько файлов с нескольких URL-адресов, перечислите их все в файле. Команды cURL можно комбинировать с xargs для загрузки различных URL-адресов.

Например, если у нас есть файл allUrls.txt , который содержит список всех URL-адресов для загрузки, то приведенный ниже пример можно использовать для загрузки всех файлов.

 xargs –n 1 curl -O < allUrls.txt 

cURL Команды для HTTP

cURL также можно использовать при наличии прокси-сервера. Если вы находитесь за прокси-сервером, прослушивающим порт 8090 на сайте sampleproxy.com, загрузите файлы, как показано ниже:

 curl -x  sampleproxy.com:8090 -U имя пользователя:пароль -O http://testdomain.com/testfile. tar.gz 

В приведенном выше примере можно пропустить -U имя пользователя:пароль , если прокси-сервер не требует метода аутентификации.

Типичный запрос HTTP всегда будет содержать заголовок. Заголовок HTTP отправляет дополнительную информацию об удаленном веб-сервере вместе с фактическим запросом. Хотя с помощью инструментов разработчика браузера вы можете проверить информацию заголовка, вы можете проверить ее с помощью команды cURL.

Ниже приведен пример получения информации заголовка с веб-сайта.

 curl -I www.testdomain.com 

Используя cURL, вы можете сделать запрос GET и POST . Запрос GET будет выглядеть следующим образом:

 curl http://mydomain.com 

Пример запроса POST будет таким, как показано ниже:

 curl –data «text=Hello» https:// myDomain.com/firstPage.jsp 

Здесь text=Hello — это параметр запроса POST. Это поведение будет похоже на HTML-формы.

Вы также можете указать несколько методов HTTP в одной команде cURL. Сделайте это с помощью – следующий вариант , например:

 curl –data «text=Hello» https://myDomain.com/firstPage.jsp --next https://myDomain.com/displayResult.jsp 

Содержит POST запрос, за которым следует запрос GET.

Каждый HTTP-запрос будет иметь пользовательский агент, который отправляется как часть запроса. Это указывает на детали веб-браузера клиента. По умолчанию запрос cURL содержит curl и номер версии в качестве сведений об агенте пользователя. Пример вывода показан ниже:

 «GET / HTTP/1.1» 200 «_» «curl/7/29/0» 

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

 curl -I http://mydomain.com -- user-agent «Мой новый браузер» 

Теперь измененный вывод будет:

 «GET / HTTP/1.1» 200 «_» «Мой новый браузер» 

cURL для файлов cookie

команды cURL можно использовать для проверки того, что файлы cookie загружаются по любому URL-адресу. Итак, если вы обращаетесь к https://www.samplewebsite.com , то вы можете вывести в файл, сохранить куки и получить к ним доступ с помощью cat или редактора VIM.

Ниже приведен пример такой команды:

 curl --cookie-jar Mycookies.txt https://www.samplewebsite.com /index.html -O 

Аналогично, если у вас есть файлы cookie в файле, то Вы можете отправить его на сайт. Пример такой команды показан ниже:

 curl --cookie Mycookies.txt https://www. samplewebsite.com 

cURL для FTP

Команда cURL поддерживает FTP! Вы можете использовать их для загрузки файлов с удаленного сервера.

 curl -u имя пользователя:пароль -O ftp://sampleftpserver/testfile.tar.gz 

В приведенной выше команде ftp://sampleftpserver — это FTP-сервер, который принимает соединения. Имя пользователя и пароль можно не указывать для анонимных FTP-соединений. Введите команду и наблюдайте, как заполняется индикатор выполнения.

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

 curl -u имя пользователя:пароль -T testfile.tar.gz ftp://sampleftpserver 

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

Ограничение выхода cURL

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

Приведенная ниже команда ограничивает пропускную способность до 100 КБ:

 curl --limit-rate 100 КБ http://testdomain.com/samplefile.tar.gz -O 

Заключение

cURL — мощная и широко используемая команда. Это полезно, когда вы зависите от командной строки. Он имеет несколько опций и поддерживает несколько протоколов. Это отличная причина выучить эту команду!

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

 man curl 

Мы надеемся, что это руководство дало вам хорошую отправную точку для использования cURL! Как вы будете использовать эту команду? Дайте нам знать об этом в комментариях!

Откройте для себя другие команды Linux для управления сервером

Как проверить место на диске в Linux
Как рассчитать выполнение процесса с помощью команды Time
Как передать файлы с помощью команды Scp
Как отслеживать изменения с помощью команды Watch
Как выключить и перезапустить сервер
Как передать и синхронизировать данные с помощью Rsync

Эдвард — редактор контента с многолетним опытом написания статей в области ИТ, маркетинга и системного администрирования Linux. Его цель — побудить читателей создать впечатляющее присутствие в Интернете. Еще он очень любит собак, гитары и все, что связано с космосом.

Другие работы Эдварда С.

Как установить и использовать Sed Command в Linux

ВПС

22 декабря 2022 г.

Laura Z. & Noviantika G.

7min Read

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

Команда Linux sed чаще всего используется для замены текста. Он ищет указанный шаблон в файле и заменяет его нужной строкой.

Кроме того, он изменяет файлы построчно, все из командной строки. Все изменения, сделанные на вашем виртуальном частном сервере (VPS) с помощью команд sed, являются временными, сохраняя исходный файл неизменным.

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

Синтаксис команды sed

Вот как выглядит общий синтаксис команды sed:

 sed options... [script] [input_file...] 

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

  • -b или --binary — открывает входные файлы в двоичном режиме, чтобы строки заканчивались переводом строки.
  • --debug — переключается в режим отладки, чтобы отобразить ввод в канонической форме и аннотировать выполнение программы.
  • --follow-symlinks — редактирует конечный пункт назначения символической ссылки. Однако это работает только в сочетании с опцией -i.
  • --help — выводит информацию об использовании, адрес для сообщения об ошибках и вариант выхода.
  • -i или --in-place [=SUFFIX] — выполняет редактирование на месте, перезаписывая исходный файл.
  • --posix — отключает все расширения POSIX sed и упрощает написание переносимых скриптов.
  • --version — выводит текущую версию программы sed.
  • -Э, -р, или --regexp-extended – использует расширенное регулярное выражение.
  • -e script или --expression=script — добавляет указанный скрипт для запуска при обработке ввода.
  • -f файл-скрипта — добавляет содержимое определенного файла скрипта для запуска с командой при обработке ввода.
  • -l N или --line-length=N — указывает желаемую длину переноса строки для команды -l. Его значение по умолчанию — 70 .
  • -n , --quiet, или --silent – отключает печать вывода, если пользователь не использует команду -p.
  • -s или --separate – считает указанные файлы отдельными, а не единым непрерывным длинным потоком.
  • --sandbox — гарантирует, что команда sed работает только с входными файлами в командной строке и отключает внешние программы.
  • -u или --unbuffered – минимизирует выходной и входной буфер.
  • -z , --null-data или --zero-terminated – входные данные рассматриваются как набор строк, заканчивающихся нулевым байтом.

Приведенные ниже подкоманды относятся к GNU sed. Некоторые из них являются стандартными POSIX, а другие являются расширениями GNU sed:

  • a \ text — помещает переменную text в вывод перед переходом к следующей строке.
  • e – выполняет команду и отправляет результаты в выходной поток.
  • d – удаляет пространство шаблона и сразу запускает следующий цикл.
  • D — удаляет текст из пространства шаблона до первой новой строки. Перезапускает цикл с результирующим пространством шаблонов без чтения текущей строки или ввода.
  • g или G – заменяет содержимое пространства шаблонов на содержимое пространства удержания.
  • l – печатает пространство шаблонов в однозначном виде.
  • q [код выхода] — прекращает обработку ввода, затем sed завершает работу.
  • s command или s/regexp/replacement/[flags] — сопоставляет пространство шаблонов с предоставленным regexp. Если найдено, программа заменит совпавшую строку заменой.
  • n или N – печатает пространство шаблона и заменяет его следующей строкой. Если ввода больше нет, он выйдет из sed без обработки скрипта.
  • v — заставляет sed обнуляться, если он не поддерживает расширения GNU.
  • z – очищает содержимое пространства шаблонов.
  • x – меняет местами содержимое трюма и шаблона.
  • = — печатает текущий номер строки ввода.
  • : — указывает расположение меток для команд ветвления, таких как b, t и T.

Как установить команду sed

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

  1. Получите доступ к SSH через VPS и войдите в систему, используя учетную запись sudo .
  2. Обновите текущую систему, введя эту команду:
 sudo apt-get update 
  1. Установите пакет sed, введя следующую команду:
 sudo apt-get install sed 
  1. Проверьте версию, выполнив следующую команду:
 sed --version 

Примеры команд sed

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

Как заменить строку с помощью команды sed

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

Для этого используйте команду замены s и разделители для разделения полей. Замените значение «old_string» исходным именем и «new_string» предпочтительным текстом:

 sed ‘s/old_string/new_string/’ samplefile.txt 

Например, заменить слово «изображения» с «Фото для замены n-го вхождения шаблона в строке с помощью команды sed

Вставьте соответствующий символ, косую черту ( / ) или вертикальную черту ( | ) , и замените символ решетки ( # ) на желаемое число для замены n-го вхождения шаблона в строке. Вот основной синтаксис:

 sed 's/old_string/new_string/#' samplefile.txt 

Например, чтобы заменить первое вхождение слова «музыка» на «песня» в строке внутри файла playlist. txt , введите:

 sed 's/music/song/1' playlist.txt 

Как заменить все вхождения шаблона в строке с помощью команды sed

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

Чтобы заменить все вхождения шаблона в одной строке, добавьте флаг замены /g для глобальной замены. Вот сценарий sed:

 sed 's/old_string/new_string/g' samplefile.txt 

Например, чтобы заменить все вхождения, содержащие «орел» , на «сокол» в строке внутри animals.txt , запустите:

 sed 's/eagle/falcon/g' animals.txt 

Как заменить и вхождение с n-го на все вхождения в строке с помощью команды sed

Чтобы заменить все шаблоны от n до всех вхождений в одной строке, объедините /# и /g .

Вот скрипт sed:

 sed 's/old_string/new_string/#g' samplefile. txt 

Например, приведенная ниже команда заменяет слово «рыбы» на «водолей» из второго, третьего и четвертое вхождение до последнего вхождения в файле astrology.txt .

 sed ‘s/pisces/aquarius/2g’ astrology.txt 

Как заключать в скобки первый символ каждого слова с помощью команды sed

Вот пример команды sed для печати первого символа каждого слова в скобках:

 echo «желаемое_предложение» | sed 's/\(\b[A-Z]\)/\(\1\)/g' 

Например, чтобы отобразить первый символ «Пример команды sed» в скобках, введите:

 echo "Пример команды sed" | sed ‘s/\(\b[A-Z]\)/\(\1\)/g’ 

Как заменить строку в определенном номере строки с помощью команды Sed

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

 sed '#s/old_string/new_string/' samplefile.txt 

Например, чтобы заменить слово «торт» на «хлеб» во второй строке food. txt , введите:

 sed '2 s/cake/bread/' food.txt 

Как дублировать замененную строку с флагом /p с помощью команды sed

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

Вот общий синтаксис:

 sed 's/old_string/new_string/p' samplefile.txt 

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

 sed 's/phones/tablets/p' gadgets.txt 

Как заменить строку в диапазоне строк с помощью команды sed

Добавьте номера строк в команду sed, чтобы заменить несколько строк в определенном диапазоне. Замените первый # на начальный текстовый номер, а второй # на последнюю строку, которую вы хотите включить.

Вот основной синтаксис:

 sed '#,# s/old_string/new_string/'0036, расположенный в третьей, четвертой и пятой строке файла  country.txt , со словом  «france»  : 

 sed '3,5 s/germany/france/' country.txt 

How to Печать только замененных строк с помощью команды sed

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

Параметр -n отключает автоматическую печать, а параметр 9Команда 0035 p указывает sed отображать строки, в которых происходит замена.

Вот общий синтаксис:

 sed -n 's/old_string/new_string/p' samplefile.txt 

Например, чтобы заменить третий экземпляр «зеленый» на «синий » 9003 6 в строку внутри файла colors.txt и распечатайте измененный текст в окне терминала, введите:

 sed -n 's/green/blue/3p' colors. txt 

Как удалить строки из определенного файла с помощью Сед Команда

Команда удаления удаляет строки из текущего входного файла, не открывая содержимое. Доступно пять сценариев sed:

Удаление определенной строки ввода с помощью подкоманды d :

 sed '#d' , выполните следующее: 

 sed '1d' city.txt 

Удаление нескольких строк в определенном диапазоне:

 sed '#,#d' samplefile.txt 

Замените символы # на начало и конец диапазона строк. Например, чтобы удалить первую, вторую и третью строку из файла cars.txt , введите следующее:

 sed '1,3d' cars.txt 

Удаление последней строки содержимого файла:

 sed ' $d' samplefile.txt 

Например, чтобы удалить последнюю строку из файла computers.txt , выполните следующее:

 sed '$d' computer.txt 

Удаление с n-й до последней строки:

 sed 'nth,$d' samplefile. txt 

Например, чтобы удалить предпоследнюю строку ввода из файла books.txt , введите:

 sed '2,$d' books.txt 

Удаление строки соответствия шаблону:

 sed '/pattern/d' /оабо /d' filestrings.txt 

Заключение

sed — это редактор текстового потока, встроенный в системы Unix и оболочки командной строки для выполнения фундаментальных преобразований текста во входном потоке. Это позволяет вам выбирать, заменять, дублировать, добавлять, удалять и изменять текст, не открывая файл.

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

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

Команда Linux sed: часто задаваемые вопросы

В этом разделе приведены ответы на наиболее часто задаваемые вопросы о команде sed.

Чем sed отличается от grep?

Как sed, так и grep являются инструментами обработки текста в Linux. Помимо редактирования строки, первый предлагает дополнительные команды преобразования текста, такие как замена, которые grep не поддерживает.

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

Как используется sed в сценарии Bash?

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

Как вызвать переменную в команде sed?

Переменная — это символ, которому мы присваиваем значение, и добавление его в команду sed обеспечивает лучшую читаемость.