44 команды Linux которые вы должны знать
Во всех операционных системах, в том числе и в Linux, термин ‘команда’ означает либо утилиту командной строки, либо определённую возможность, встроенную в командную оболочку системы. Тем не менее, для самих пользователей это различие не имеет особого значения. В конце концов, и те и другие команды терминала Linux вызываются одинаково. Вы вводите слово в вашем эмуляторе терминала и получаете результат выполнения команды.
Я уже писал о командах терминала Linux, но тогда затронул лишь несколько самых интересных, самых полезных команд, рассчитывая на то, что пользователь уже достаточно знаком с возможностями терминала. Но нужно сделать ещё одну статью, рассчитанную на новичков, тех, кто только делает свои первые шаги в освоении Linux.
И вот она. Её цель — собрать основные простые и сложные команды Linux, которые должен знать каждый пользователь, чтобы наиболее эффективно управлять своей системой. Для удобности запоминания опций команд я в скобках добавил слова, от которых они произошли — так намного проще, на себе проверено.
Это не значит, что я перечислю все команды, все перечислены тут — я постараюсь охватить всё самое полезное, то, что может пригодиться в повседневной жизни. Чтобы было удобнее читать, разделим этот список на категории команд по назначению. Большинство рассмотренных здесь утилит не требуют дополнительной установки, они будут предустановлены в любом дистрибутиве Linux, а если не будут, то их несложно найти в официальных репозиториях.
Содержание статьи:
Команды Linux для управления файлами
1. ls
Утилита для просмотра содержимого каталогов. По умолчанию показывает текущий каталог. Если в параметрах указать путь, то она перечислит содержимое конечного каталога. Полезные опции -l (List) и -a (All). Первая форматирует вывод в виде списка с более подробной информацией, а вторая включает показ скрытых файлов. Подробнее здесь.
2. cat
Печатает содержимое файла, переданного в параметре, в стандартный вывод. Если передать несколько файлов, команда склеит их. Также можно перенаправить вывод в ещё один файл с помощью символа ‘>’. Если нужно вывести только определенное количество строк, используйте опцию -n (Number). Подробнее тут.
3. cd
Позволяет перейти из текущего каталога в указанный. Если запустить без параметров — возвращает в домашний каталог. Вызов с двумя точками возвращает на уровень вверх относительно текущего каталога. Вызов с тире (cd -) возвращает к предыдущему каталогу. Более детально здесь.
4. pwd
Печатает на экран текущий каталог. Это может быть полезно, если ваша командная строка Linux не выводит такую информацию. Эта команда будет востребована в Bash программировании, где для получения ссылки на каталог выполняется скрипт. Более подробно в отдельной статье.
5. mkdir
Создание новых каталогов. Наиболее удобная опция -p (Parents), позволяет создать всю структуру подкаталогов одной командой, даже если они ещё не существуют. Подробнее о том как создать папку читайте в отдельной статье.
6. file
Команда file показывает тип файла. В Linux файлы не обязаны всегда иметь расширения для того, чтобы с ними работать. Поэтому пользователю иногда трудно определить, что за файл перед ним. Эта маленькая утилита решает проблему.
7. cp
Копирование файлов и каталогов. Она не копирует каталоги по умолчанию рекурсивно (то есть все поддиректории и все файлы в поддиректориях), поэтому не забудьте добавить опцию -r (Recursive) или -a (Archive). Последняя включает режим сохранения атрибутов, владельца и временного штампа в дополнение к рекурсивному копированию.
8. mv
Перемещение или переименование файлов и каталогов. Примечательно, что в Linux это одна и та же операция. Переименование — это перемещение файла в ту же папку с другим именем. Подробнее — здесь.
9. rm
Удаляет файлы и папки. Очень полезная команда Linux: с её помощью вы можете убрать весь беспорядок. Если нужно рекурсивное удаление, используйте опцию -r. Однако будьте осторожны: конечно, для того чтобы повредить систему вам нужно будет серьёзно постараться, однако можно удалить собственные важные файлы. Rm удаляет файлы не в корзину, из которой потом всё можно будет восстановить, а полностью стирает. Действия оператора rm необратимы. Поверьте, ваши оправдания в духе «rm съела мою курсовую» никому не будут интересны. Подробнее в этой статье.
10. ln
Создает жёсткие или символические ссылки на файлы. Символические или программные ссылки — это что-то похожее на ярлыки в Windows. Они предоставляют удобный способ доступа к определённому файлу. Символические ссылки указывают на файл, но не имеют никаких метаданных. Жёсткие ссылки, в отличие от символических, указывают на физический адрес области диска, где хранятся данные файла.
11. chmod
Изменяет права доступа к файлу. Это чтение, запись и выполнение. Каждый пользователь может изменять права для своих файлов.
12. chown
Изменяет владельца файла. Только суперпользователь может изменять владельцев. Для рекурсивного изменения используйте опцию -R.
13. find
Поиск в файловой системе, файлах и папках. Это очень гибкая и мощная команда Linux не только из-за своих способностей ищейки, но и благодаря возможности выполнять произвольные команды для найденных файлов.
14. locate
В отличие от find, команда locate ведёт поиск в базе данных updatedb для шаблонов имён файлов. Эта база данных содержит снимок файловой системы, что позволяет искать очень быстро. Но этот поиск ненадёжен, потому что вы не можете быть уверены, что ничего не изменилось с момента последнего снимка. Подробнее — тут.
15. du
Показывает размер файла или каталога. Самые полезные опций: -h (Human), которая преобразует размеры файлов в легко читаемый формат, -s (Summarize), которая выводит минимум данных, и -d (Depth), устанавливающая глубину рекурсии по каталогам.
16. df
Анализатор дискового пространства. По умолчанию вывод достаточно подробный: перечислены все файловые системы, их размер, количество использованного и свободного пространства. Для удобства есть опция -h, делающая размеры легко читаемыми.
17. dd
Как сказано в официальном руководстве, это команда терминала для копирования и преобразования файлов. Не очень понятное описание, но это всё, что делает dd. Вы передаёте ей файл-источник, пункт назначения и пару дополнительных опций. Затем она делает копию одного файла в другой. Вы можете задать точный размер данных, которые нужно записать или скопировать. Работает утилита со всеми устройствами. Например, если вы хотите перезаписать жёсткий диск нулями из /dev/zero, можете сделать это. Также она часто используется для создания LiveUSB или гибридных ISO образов.
18 mount / umount
Это команды консоли Linux для подключения и отключения файловых систем Linux. Можно подключать всё: от USB накопителей, до ISO образов. И только у суперпользователя есть права для этого.
Linux команды консоли для работы с текстом
19. more / less
Это две простенькие команды терминала для просмотра длинных текстов, которые не вмещаются на одном экране. Представьте себе очень длинный вывод команды. Или вы вызвали cat для просмотра файла, и вашему эмулятору терминала потребовалось несколько секунд, чтобы прокрутить весь текст. Если ваш терминал не поддерживает прокрутки, вы можете сделать это с помощью less. Less новее, чем more и поддерживает больше опций, поэтому использовать more нет причин.
20. head / tail
Ещё одна пара, но здесь у каждой команды своя область применения. Утилита head выводит несколько первых строк из файла (голова), а tail выдает несколько последних строк (хвост). По умолчанию каждая утилита выводит десять строк. Но это можно изменить с помощью опции -n. Ещё один полезный параметр -f, это сокращение от follow (следовать). Утилита постоянно выводит изменения в файле на экран. Например, если вы хотите следить за лог файлом, вместо того, чтобы постоянно открывать и закрывать его, используйте команду tail -nf.
21. grep
Grep, как и другие инструменты Linux, делает одно действие, но делает его хорошо: она ищет текст по шаблону. По умолчанию она принимает стандартный ввод, но вы можете искать в файлах. Шаблон может быть строкой или регулярным выражением. Она может вывести как совпадающие, так и не совпадающие строки и их контекст. Каждый раз, когда вы выполняете команду, которая выдает очень много информации, не нужно анализировать всё вручную — пусть grep делает свою магию.
22. sort
Сортировка строк текста по различным критериям. Наиболее полезные опции: -n (Numeric), по числовому значению, и -r (Reverse), которая переворачивает вывод. Это может быть полезно для сортировки вывода du. Например, если хотите отсортировать файлы по размеру, просто соедините эти команды.
23. wc
Утилита командной строки Linux для подсчёта количества слов, строк, байт и символов. Подробнее тут.
24. diff
Показывает различия между двумя файлами в построчном сравнении. Причём выводятся только строки, в которых обнаружены отличия. Измененные строки отмечаются символом «с», удалнные — «d», а новые — «а». Подробнее — здесь.
Кстати, я подготовил ещё одну подробную статью, в которой описан именно просмотр содержимого текстового файла в Linux c помощью терминала.
Команды Linux для управления процессами
25. kill / xkill / pkill / killall
Служат для завершения процессов. Но они принимают различные параметры для идентификации процессов. Kill нужен PID процесса, xkill — достаточно кликнуть по окну, чтобы закрыть его, killall и pkill принимают имя процесса. Используйте ту, которая удобна в определенной ситуации.
26. ps / pgrep
Как уже говорилось, чтобы уничтожить процесс, нужен его идентификатор. Один из способов получить его, это утилита ps, которая печатает информацию о запущенных процессах. По умолчанию вывод очень длинный, поэтому используйте опцию -e, чтобы увидеть информацию об определённом процессе. Это только снимок состояния на момент вызова, и информация не будет обновляться. Команда ps с ключом aux выводит полную информацию о процессах. Pgrep работает следующим образом: вы задаете имя процесса, а утилита показывает его идентификатор. Подробнее о команде ps описано тут.
27. top / htop
Обе команды похожи, обе отображают процессы и могут быть использованы как консольные системные мониторы. Я рекомендую установить htop, если в вашем дистрибутиве он не поставляется по умолчанию, так как это улучшенная версия top. Вы сможете не только просматривать, но и контролировать процессы через его интерактивный интерфейс.
28. time
Время выполнения процесса. Это секундомер для выполнения программы. Полезно, если вам интересно, насколько сильно ваша реализация алгоритма отстает от стандартной. Но, несмотря на такое название, она не сообщит вам текущее время, используйте для этого команду date.
Команды Linux окружения пользователя
29. su / sudo
Su и sudo — это два способа выполнить одну и ту же задачу: запустить программу от имени другого пользователя. В зависимости от вашего дистрибутива вы, наверное, используете одну или другую. Но работают обе. Разница в том, что su переключает вас на другого пользователя, а sudo только выполняет команду от его имени. Поэтому использование sudo будет наиболее безопасным вариантом работы. Я писал про права суперпользователя в этой статье.
30. date
В отличие от time, делает именно то, чего вы от неё и ожидаете: выводит дату и время в стандартный вывод. Его можно форматировать в зависимости от ваших потребностей: вывести год, месяц, день, установить 12-ти или 24-ти часовой формат, получить наносекунды или номер недели. Например, date +»%j %V», выведет день в году и номер недели в формате ISO.
31. alias
Команда создаёт синонимы для других команд Linux. То есть вы можете делать новые команды или группы команд, а также переименовывать существующие. Это очень удобно для сокращения длинных команд, которые вы часто используете, или создания более понятных имен для команд, которые вы используете нечасто и не можете запомнить. Здесь собрано несколько полезных алиасов.
32. uname
Выводит некую основную информацию о системе. Без параметров она не покажет ничего полезного, кроме строчки Linux, но, если задать параметр -a (All), можно получить информацию о ядре, имени хоста и узнать архитектуру процессора.
33. uptime
Сообщает вам время работы системы. Не очень существенная информация, но может быть полезна для случайных вычислений или просто ради интереса, чтобы узнать, как давно был перезагружен сервер.
34. sleep
Вам, наверное, интересно как же её можно использовать. Даже не учитывая Bash-скриптинг, у неё есть свои преимущества. Например, если вы хотите выключить компьютер через определенный промежуток времени или использовать в качестве импровизированной тревоги.
Команды Linux для управления пользователями
35. useradd / userdel / usermod
Эти команды консоли Linux позволяют вам добавлять, удалять и изменять учетные записи пользователей. Скорее всего, вы не будете использовать их очень часто. Особенно если это домашний компьютер, и вы являетесь единственным пользователем. Управлять пользователями можно и с помощью графического интерфейса, но лучше знать об этих командах на всякий случай.
36. passwd
Эта команда позволяет изменить пароль учетной записи пользователя. Как суперпользователь вы можете сбросить пароли всех пользователей, даже несмотря на то, что не можете их увидеть. Хорошая практика безопасности — менять пароль почаще.
Linux команды для просмотра документации
37. man / whatis
Команда man открывает руководство по определённой команде. Для всех основных команд Linux есть man страницы. Whatis показывает, какие разделы руководств есть для данной команды.
38. whereis
Показывает полный путь к исполняемому файлу программы. Также может показать путь к исходникам, если они есть в системе.
Команды Linux для управления сетью
39. ip
Если список команд Linux для управления сетью вам кажется слишком коротким, скорее всего вы не знакомы с утилитой ip. В пакете net-tools содержится множество других утилит: ipconfig, netstat и прочие устаревшие, вроде iproute2. Всё это заменяет одна утилита — ip. Вы можете рассматривать её как швейцарский армейский нож для работы с сетью или как непонятную массу, но в любом случае за ней будущее. Просто смиритесь с этим.
40. ping
Ping — это ICMP ECHO_REQUEST дейтаграммы, но на самом деле это неважно. Важно то, что утилита ping может быть очень полезным диагностическим инструментом. Она поможет быстро проверить, подключены ли вы к маршрутизатору или к интернету, и дает кое-какое представление о качестве этой связи.
41. nethogs
Если у вас медленный интернет, то вам, наверное, было бы интересно знать, сколько трафика использует какая-либо программа в Linux или какая программа потребляет всю скорость. Теперь это можно сделать с помощью утилиты nethogs. Для того чтобы задать сетевой интерфейс используйте опцию -i.
42. traceroute
Это усовершенствованная версия ping. Мы можем увидеть не только полный маршрут сетевых пакетов, но и доступность узла, а также время доставки этих пакетов на каждый из узлов. Подробнее — тут.
Выводы
Мы рассмотрели основные команды Linux, которые могут пригодиться вам при повседневном использовании системы. Если вы считаете, что есть другие команды, которые нужно добавить в этот список, напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
20 полезных команд в Linux, которые должен знать каждый
Вы новичок в Linux и хотите быстро его изучить? Сегодня мы изучим команды в консоли Linux, которые необходимо знать каждому. В Linux консольных команд очень много. Мы отобрали самые важные, с которыми пользователи встречаются чаще всего.
cat
Команда cat (сокращенно от concatenate) в консоли отображает содержимое файла. Это быстрее, чем открывать его в редакторе. И нет опасности, что вы его нечаянно отредактируете. Например, чтобы прочитать файл jenkins.log, вам нужно ввести:
cat jenkins.log
cd Эта команда вам хорошо знакома по Windows. С помощью ее можно перейти в папку.
Например, если ввести
cd kv
Мы переходим в папку kv.
Чтобы быстро вернуться в домашний каталог, наберите:
cd ~
curl
Команда позволяет скачивать файл через URL. curl может быть не установлена на вашем компьютере. Для установки воспользуйтесь командой
sudo apt-get install curl
Допустим, мы хотим скачать картинку с определенного сайта. Для этого возьмите адрес и добавьте в него ключ -o:
curl https://www.nvidia.com/content/dam/en-zz/Solutions/geforce/16-series/new/[email protected] -o nvidia.jpg
С помощью этой команды мы скачиваем картинку с сайта и сохраняем ее под названием nvidia.jpg
chmod
chmod позволяет установить атрибуты доступа на файл или папку.
Есть три основных вида прав:
r — чтение;
w — запись;
x — выполнение;
Они устанавливаются на файлы и папки. Вот пример из файлового менеджера:
Второй способ записи прав – восьмеричный формат. Для этого используются цифры. Вот таблица для его использования.
0 — никаких прав;
1 — только выполнение;
2 — только запись;
3 — выполнение и запись;
4 — только чтение;
5 — чтение и выполнение;
6 — чтение и запись;
7 — чтение запись и выполнение.
Например:
764 — все для владельца, чтение и запись для группы, и только чтение для остальных.
Пример команды:
chmod 764 sample.txt
echo
Команда знакома многим если не всем. В Linux она тоже работает (как и в Windows). Она выводит строку текста в окно терминала.
echo This is a text
Echo может работать с системными переменными. Например:
echo $user echo $home
find
Команда find может помочь найти файл. Как ее использовать? Образец запроса:
find . -name *win*
В этом примере мы ищем файл с текстом *win* в названии в текущей папке.
finger
finger предоставляет некоторую информацию о пользователе. Когда он последний раз вошел в систему, его имя.
free
free предоставляет информацию о свободной оперативной памяти на компьютере. По умолчанию информация выводится в байтах. Чтобы увидеть цифры в гигабайтах наберите:
free –h
grep
Эта команда может быть полезна для поиска определенного текста в файлах. Она показывает строки, где есть искомое слово. В примере ниже мы ищем слово Minsk в файлах txt в папке.
grep Minsk *.txt
history
Если вы забыли какие команды ранее набирали – попробуйте history. Она выведет всю историю команд. В нашем примере получилось более 500 команд (!). Да, мы умеем развлекаться в Linux.
history
Чтобы повторить конкретную команду из списка, достаточно набрать восклицательный знак и номер строки:
!557
kill
Самая «жестокая» команда в Linux. Думаем, не сложно догадаться, что она делает. Она завершает конкретный процесс (kill=убивать). Для этого нужно знать его PID или номер. Наберите ps –e. И вы увидите все процессы, запущенные на компьютере. Выберите номер и наберите:
kill 3221
В нашем случае мы завершим Firefox.
ls
Одна из самых популярных команд Linux. Она выводит список файлов и папок в текущей директории.
С помощью аргумента:
ls –l
можно вывести подробную информацию о папке – размер, дату создания, права.
mv
С помощью этой команды можно перемещать файлы. Первым аргументом у нее идет путь к перемещаемому файлу, вторым – куда необходимо его переместить. Например:
mv ~/kv/sample.txt .
Эта команда переместит файл sample.txt в текущую папку.
mkdir
Создает новую папку. Необходимо указать имя папки.
mkdir newfolder
Если хотите создать папку внутри папки, можно написать так:
mkdir newfolder/first
ps
Эту команду мы уже видели. Она может выводить список процессов. Чтобы увидеть список процессов у конкретного пользователя, нужно набрать:
ps –u exodus
Если нужно увидеть все процессы, печатаем:
ps –e
pwd
Красивая и простая команда – она отображает текущую рабочую директорию.
pwd
sudo
sudo необходима, когда вы нужно использовать root-права. Например, для установки дополнительных пакетов:
sudo apt-get install nmap
Вы будете часто сталкиваться с ней во время работы в Linux.
ssh
ssh позволяет подключиться к удаленному Linux-компьютеру. Для этого вам необходимо указать пользователя и IP-адрес.
ssh [email protected]
После этого вам необходимо будет ввести пароль. Чтобы выйти из сессии, нужно набрать exit.
top
Команда top выводит информацию в реальном времени о состоянии вашей Linux-машины.
top
Первая строчка (top) дает нам общее представление о загрузке системы. Здесь указано:
текущее время
up — продолжительность работы системы с момента запуска
user — текущее количество пользователей системыload average — средняя загруженность системы
Далее можно увидеть таблицу. Расшифруем ее.
Первые два столбца — номер процесса (PID) и имя пользователя, его запустившего (USER).
Следующие 2 столбца показывают, какой приоритет имеет процесс в данный момент (PR) и приоритет, присвоенный ему командой NICE (NI).
Информация, содержащаяся в других колонках, характеризует непосредственно уровень потребления ресурсов. Расшифровываются они так:
VIRT — виртуальная память, которую использует процесс
RES — физическая память, занятая данным процессом
SHR — общий объем памяти, которую данный процесс делит с другими
S — текущий статус процесса: R — running; S — sleeping, Z — zombie
%CPU — процент используемого времени центрального процессора
%MEM — процент ОЗУ, используемой процессом
TIME+ — продолжительность работы процесса с момента запуска
COMMAND — название команды (программы), которая инициировала процесс.
Команда top полезна, чтобы понимать, насколько загружен ваш сервер.
uname
uname покажет информацию о машине, за которой вы работаете, версию Linux, название сборки, ее версию.
uname –a
Если вам негде практиковать Linux – помните, что Android на вашем смартфоне это и есть Linux. Поэтому скачиваем приложение Termux и начинаем практиковаться.
Что такое команды 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 —
-
--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. Однако, если он не установлен по умолчанию, выполните следующие действия:
- Получите доступ к SSH через VPS и войдите в систему, используя учетную запись sudo .
- Обновите текущую систему, введя эту команду:
sudo apt-get update
- Установите пакет sed, введя следующую команду:
sudo apt-get install sed
- Проверьте версию, выполнив следующую команду:
sed --version
Примеры команд sed
В следующих разделах мы представим десять примеров sed, чтобы понять основы использования потокового редактора sed.
Как заменить строку с помощью команды sed
Команда sed обычно используется для замены текста. Он будет искать указанный шаблон в файле и заменять его нужной строкой.
Для этого используйте команду замены s и разделители для разделения полей. Замените значение «old_string» исходным именем и «new_string» предпочтительным текстом:
sed ‘s/old_string/new_string/’ samplefile.txt
Например, чтобы заменить слово «images» на «photos» в файле scenery.txt , введите следующее:
sed 's/images/photos/' scenery.txt
How для замены 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
Например, чтобы заменить слово «телефоны» на «планшеты» в файле gadgets.036 gadgets.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.txtHow to Печать только замененных строк с помощью команды sed
По умолчанию sed отображает все содержимое файла и замещающий его текст в выходных данных. Добавьте в команду необходимые атрибуты, если у вас много текста и вы хотите выделить измененные строки.
Параметр -n отключает автоматическую печать, а параметр 9Команда 0035 p указывает sed отображать строки, в которых происходит замена.
Вот общий синтаксис:
sed -n 's/old_string/new_string/p' samplefile.txtНапример, чтобы заменить третий экземпляр «зеленый» на «синий » в строку внутри файла 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 обеспечивает лучшую читаемость.