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

Содержание

71 команда Linux на все случаи жизни. Ну почти

20 апреля 2018

Ликбез

Технологии

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

Команды Linux для навигации в терминале

  1. &&. Строго говоря, это не команда. Если вы хотите выполнить сразу несколько команд, поставьте между ними двойной амперсанд вот так: первая_команда && вторая_команда. Терминал выполнит команды по порядку. Вы можете ввести столько команд, сколько захотите.
  2. alias. Присваивает созданные вами названия длинным командам, которые вы не можете запомнить. Введите alias длинная_команда короткая_команда.
  3. cd. Изменяет текущую терминальную папку. Когда вы запускаете терминал, он использует вашу домашнюю папку. Введите cd адрес_папки, и терминал будет работать с файлами, которые там находятся.
  4. clear. Очищает окно терминала от всех сообщений.
  5. history. Отображает все недавно введённые вами команды. Кроме того, вы можете переключаться между недавними командами с помощью клавиш «Вверх» и «Вниз». Если вы не хотите, чтобы введённая вами команда была записана, поставьте перед ней пробел так: ваша_команда.
  6. man. Отображает руководство по программам и командам Linux. Введите man имя_пакетаили man ваша_команда.
  7. whatis. Отображает краткое описание какой-либо программы. Введите команду и название программы whatis имя_пакета.

Команды Linux для получения прав суперпользователя

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

  1. sudo. Эта команда даст вам права суперпользователя. Введите sudo перед нужной командой (например,sudo apt upgrade), чтобы выполнить её от имени администратора. Система спросит у вас пароль.
  2. sudo su. После этой команды все введённые вами команды будут исполняться от имени суперпользователя, пока вы не закроете терминал. Используйте её, если вам нужно выполнить много команд с правами администратора.
  3. sudo gksudo. Команда для запуска с правами администратора приложения с графическим интерфейсом. Например, если вы хотите переместить или изменить системные файлы, введите sudo gksudo nautilus (укажите тот файловый менеджер, которым пользуетесь).
  4. sudo !!. Эта команда запустит ранее введённую команду с правами администратора. Полезно, если вы набрали команду без sudo.

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

Команды Linux для управления пакетным менеджером

Установку и удаление приложений в Linux выполняют пакетные менеджеры. В Ubuntu и Debian пакетный менеджер называется apt, в Fedora — dnf, в Arch и Manjaro — pacman. Они загружают приложения из сетевых репозитариев, источников пакетов. Давать им команды следует с правами суперпользователя.

apt (Debian/Ubuntu/Mint)

  1. sudo apt install имя_пакета. Установить нужный пакет.
  2. sudo apt-add-repository адрес_репозитария. Добавить сторонний репозитарий.
  3. sudo apt update. Обновить сведения о пакетах.
  4. sudo apt upgrade . Обновить все пакеты до самых свежих (выполнять после apt update).
  5. sudo apt remove имя_пакета . Удалить ненужный пакет.
  6. sudo apt purge имя_пакета . Удалить ненужный пакет со всеми зависимостями, если хотите освободить больше места.
  7. sudo apt autoremove . Удалить все ненужные зависимости, бесхозные пакеты и прочий мусор.

dnf (Red Hat/Fedora/CentOS)

  1. sudo dnf install имя_пакета. Установить нужный пакет.
  2. sudo dnf config-manager --add-repo адрес_репозитария. Добавить сторонний репозитарий.
  3. sudo dnf upgrade. Обновить все пакеты до самых свежих.
  4. sudo dnf remove имя_пакета. Удалить ненужный пакет.
  5. sudo dnf autoremove. Удалить все ненужные зависимости.

pacman (Arch/Manjaro)

  1. sudo pacman -S имя_пакета. Установить нужный пакет.
  2. sudo yaourt -S имя_пакета. Установить пакет из AUR, если его нет в основном репозитарии.
  3. sudo pacman -Sy. Обновить сведения о пакетах.
  4. sudo pacman -Syu. Обновить все пакеты до самых свежих.
  5. sudo pacman -R имя_пакета. Удалить ненужный пакет.
  6. sudo pacman -Rs имя_пакета. Удалить ненужный пакет со всеми зависимостями.

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

sudo apt install firefox clementine vlc

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

Команды Linux для управления процессами

  1. kill. Эта команда служит для принудительного завершения процессов. Нужно ввести kill PID_процесса. PID процесса можно узнать, введя top.
  2. xkill. Ещё одна команда для завершения процессов. Введите её, затем щёлкните по тому окну, которое нужно закрыть.
  3. killall. Убивает процессы c определённым именем. К примеру, killall firefox.
  4. top. Отображает перечень запущенных процессов, сортируя в зависимости от потребления ресурсов CPU. Своего рода терминальный «Системный монитор».

Команды Linux для управления файлами

Просмотр и изменение файлов

  1. cat. Когда команда используется с одним текстовым файлом (вот так: cat путь_к_файлу), она отображает его содержимое в окне терминала. Если указать два и больше файлов, cat путь_к_файлу_1 путь_к_файлу_2, она склеит их. Если ввести cat путь_к_файлу_1 > новый_файл, она объединит содержимое указанных файлов в новый файл.
  2. chmod. Позволяет изменять права доступа к файлу. Может пригодиться, если вы хотите внести изменения в системный файл.
  3. chown. Изменяет владельца файла. Следует выполнять с правами суперпользователя.
  4. file. Выводит информацию об указанном файле.
  5. nano. Открывает простой текстовый редактор. Можно создать новый текстовый файл или открыть существующий: nano путь_к_файлу.
  6. rename. Переименовывает файл или несколько файлов. Команду можно использовать и для массового переименования файлов по маске.
  7. touch. Изменяет дату последнего открытия или модификации указанного файла.
  8. wget. Загружает файлы из интернета в терминальную папку.
  9. zip. Распаковывает и сжимает архивы.

Создание и удаление файлов и папок

  1. mkdir. Создаёт новую папку в текущей терминальной папке или в указанной папке: mkdir путь_к_папке.
  2. rmdir. Удаляет указанную папку.
  3. rm. Удаляет файлы. Может удалить как отдельный файл, так и группу, соответствующую определённым признакам.

Копирование и перемещение файлов

  1. cp. Создаёт копию указанного файла в папке терминала: cp путь_к_файлу. Или вы можете указать назначение cp путь_к_файлу путь_для_копии.
  2. mv. Перемещает файл из одной папки в другую. Вы можете указать имя для перемещаемого файла. Забавно, но в Linux эта команда может использоваться и для переименования файлов. Просто укажите ту же папку, где находится файл, и другое имя.

Поиск файлов

  1. find. Поиск файлов по определённым критериям, таким как имя, тип, размер, владелец, дата создания и модификации.
  2. grep. Поиск текстовых файлов, содержащих определённые строки. Критерии очень гибко настраиваются.
  3. locate. Поиск файлов и папок, чьи названия подходят запросу, и отображение их путей в файловой системе.

Команды Linux для работы с разделами

  1. lsblk. Эта команда демонстрирует, какие диски есть в вашей системе и на какие разделы они поделены. Также команда отображает имена ваших разделов и накопителей, в формате sda1, sda2 и так далее.
  2. mount. Монтирует накопители, устройства или файловые системы Linux, чтобы вы могли с ними работать. Обычно устройства подключаются автоматически, как только вы щёлкнете по ним в файловом менеджере. Но иногда может понадобиться примонтировать что-то вручную. Вы можете подключать что угодно: диски, внешние накопители, разделы и даже ISO-образы. Эту команду нужно выполнять с правами суперпользователя. Чтобы примонтировать имеющийся диск или раздел, введите mount sdX.
  3. umount. Демонтирует файловые системы. Команда umount sdX отключит файловую систему внешнего носителя, чтобы вы могли извлечь его.
  4. dd. Эта команда копирует и преобразовывает файлы и разделы. У неё множество различных применений. Например, dd if=/dev/sda of=/dev/sdb сделает точную копию раздела sda на разделе sdb. dd if=/dev/zero of=/dev/sdX затрёт содержимое указанного носителя нулями, чтобы информацию было невозможно восстановить. А dd if=~/Downloads/ubuntu.iso of=/dev/sdX bs=4M сделает загрузочный носитель из скачанного вами образа с дистрибутивом.

Команды Linux для управления системой

  1. df. Отображает объём вашего диска, и сколько на нём осталось свободного места.
  2. free. Отображает объём доступной и занятой оперативной памяти.
  3. uname. Отображает сведения о системе Если ввести uname, терминал сообщит только Linux. Но команда uname -a выводит сведения об имени компьютера и версии ядра.
  4. uptime. Сообщает, как долго запущена ваша система.
  5. whereis. Отображает расположение исполняемого файла нужной программы.
  6. whoami. Называет имя пользователя.

Команды Linux для управления пользователями

  1. useradd. Регистрирует нового пользователя. Введите useradd имя_пользователя, и пользователь будет создан.
  2. userdel. Удаляет учётную запись и файлы пользователя.
  3. usermod. Изменяет учётную запись пользователя. Может переместить домашнюю папку пользователя или назначить дату, когда учётная запись будет заблокирована.
  4. passwd. Изменяет пароли учётных записей. Обычный пользователь может изменить пароль только своей учётной записи, суперпользователь может изменить пароль любой учётной записи.

Команды Linux для управления сетью

  1. ip. Многофункциональная команда для работы с сетью. Команда ip address show выводит сведения о сетевых адресах, ip route управляет маршрутизацией и так далее. Давая команды ip link set ethX up, ip link set ethX down, можно включать и выключать соединения. У команды ip много применений, так что перед её использованием лучше ознакомиться с руководством или ввести ip --help
  2. ping. Показывает, подключены ли вы к сети, и помогает определить качество связи.

И ещё кое-что

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

  1. cowsay что_угодно. Корова произнесёт то, что вы ей скажете.
  2. fortune | cowsay. Корова выдаст умную (или не очень) мысль или цитату.
  3. cowsay -l. Выводит список всех животных, которые могут быть отображены в терминале. Если вы вдруг не любите коров.
  4. fortune | cowsay -f животное_из_списка. Животное на ваш выбор начинает сыпать цитатами, иногда уместными.
  5. sudo apt-get install fortunes fortune-mod fortunes-min fortunes-ru. Заставит весь зоопарк говорить по-русски. Без этого животные цитируют Твена и Уайльда в оригинале.

Это далеко не все команды Linux. Если вам нужно узнать в деталях параметры и способы применения команд Linux, вы можете воспользоваться встроенным руководством. Наберите man ваша_команда или ваша_команда --help.

Основные команды для WSL | Microsoft Learn


  • Статья

  • Чтение занимает 6 мин

Далее приведены команды WSL в формате, поддерживаемом PowerShell или командной строкой Windows. Чтобы выполнить эти команды из командной строки дистрибутива Bash или Linux, измените wsl на wsl. exe. Чтобы получить полный список команд, выполните команду wsl --help.

Установка

wsl --install

Установите WSL и дистрибутив Ubuntu по умолчанию для Linux. Подробнее. Эту команду также можно использовать для установки дополнительных дистрибутивов Linux, выполнив команду wsl --install <Distribution Name>. Чтобы получить допустимый список имен дистрибутивов, выполните команду wsl --list --online.

Возможны следующие значения.

  • --distribution: укажите дистрибутив Linux для установки. Доступные дистрибутивы можно найти, выполнив команду wsl --list --online.
  • --no-launch: установите дистрибутив Linux, но не запускайте его автоматически.
  • --web-download: установка из интернет-источника вместо использования Майкрософт Store.

Если WSL не установлен, доступны следующие параметры:

  • --inbox: устанавливает WSL с помощью компонента Windows вместо Майкрософт Store. (Обновления WSL будут получаться через обновления Windows, а не отправляться по мере доступности через магазин).
  • --enable-wsl1: включает WSL 1 во время установки версии WSL Майкрософт Store, также включив дополнительный компонент «подсистема Windows для Linux».
  • --no-distribution: не устанавливайте дистрибутив при установке WSL.

Список доступных дистрибутивов Linux

wsl --list --online

Выводит список дистрибутивов Linux, доступных в интернет-магазине. Эту команду можно также указать так: wsl -l -o.

Список установленных дистрибутивов Linux

wsl --list --verbose

Выводит список дистрибутивов Linux, установленных на компьютере под управлением Windows, в том числе состояние (независимо от того, запущен дистрибутив или остановлен) и версию WSL, в которой работает дистрибутив (WSL 1 или WSL 2). Применяется в WSL 1 и WSL 2. Эту команду можно также указать так: wsl -l -v. Дополнительные параметры, которые можно использовать с командой list: --all — для перечисления всех дистрибутивов, --running — для вывода списка только тех дистрибутивов, которые запущены в данный момент, --quiet — для отображения только имен дистрибутивов.

Указание версии WSL (1 или 2)

wsl --set-version <distribution name> <versionNumber>

Чтобы указать версию WSL (1 или 2), в которой работает дистрибутив Linux, измените <distribution name> на имя дистрибутива, а <versionNumber> — на число 1 или 2. Применяется в WSL 1 и WSL 2.

Указание версии WSL по умолчанию

wsl --set-default-version <Version>

Чтобы задать WSL 1 или WSL 2 как версию по умолчанию, измените <Version> на число 1 или 2, чтобы указать версию WSL, которая будет использоваться по умолчанию для установки новых дистрибутивов Linux. Например, wsl --set-default-version 2. Применяется в WSL 1 и WSL 2.

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

wsl --set-default <Distribution Name>

Чтобы задать дистрибутив Linux по умолчанию, который команды WSL будут использовать для запуска, измените <Distribution Name> на имя предпочитаемого дистрибутива Linux.

Изменение каталога на домашний

wsl ~

Команду ~ можно использовать с WSL для запуска в домашнем каталоге пользователя. Чтобы в командной строке WSL вернуться в домашний каталог из другого, можно использовать команду cd ~.

Запуск определенного дистрибутива Linux из PowerShell или CMD

wsl --distribution <Distribution Name> --user <User Name>

Чтобы запустить определенный дистрибутив Linux от имени конкретного пользователя, измените <Distribution Name> на имя предпочитаемого дистрибутива Linux (например, Debian), а <User Name> — на имя существующего пользователя (например, root). Если указанный пользователь не существует в дистрибутиве WSL, появится сообщение об ошибке. Чтобы ввести имя текущего пользователя, выполните команду whoami.

Обновление WSL

wsl --update

Обновите версию WSL до последней версии. Возможны следующие значения.

  • --web-download: скачайте последнее обновление из GitHub, а не из магазина Майкрософт.
wsl --status

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

Проверка версии WSL

wsl --version

Проверьте сведения о версии WSL и его компонентах.

Команда help

wsl --help

Отображает список параметров и команд, доступных в WSL.

Выполнение от имени определенного пользователя

wsl -u <Username>`, `wsl --user <Username>

Чтобы запустить WSL в качестве указанного пользователя, замените <Username> именем пользователя, который существует в распределении WSL.

Изменение пользователя по умолчанию для распределения

<DistributionName> config --default-user <Username>

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

Например, ubuntu config --default-user johndoe изменит пользователя по умолчанию для распределения Ubuntu на пользователя «johndoe».

Примечание

Если вам не удается определить имя распределения, используйте команду wsl -l.

Предупреждение

Эта команда не будет работать для импортированных дистрибутивов, так как у них нет исполняемого средства запуска. Вместо этого можно изменить пользователя по умолчанию для импортированных дистрибутивов с помощью файла /etc/wsl.conf. См. раздел «Параметры автоматического подключения» в документе Настройка дополнительных параметров.

Shutdown

wsl --shutdown

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

Завершение

wsl --terminate <Distribution Name>

Чтобы завершить работу определенного дистрибутива или остановить его выполнение, замените <Distribution Name> именем нужного дистрибутива.

Импорт и экспорт дистрибутива

wsl --export <Distribution Name> <FileName>
wsl --import <Distribution Name> <InstallLocation> <FileName>

Импортирует и экспортирует указанный tar-файл в качестве нового дистрибутива. Именем файла может быть «-» для стандартного ввода. Возможны следующие значения.

  • --vhd: указывает, что дистрибутив импорта и экспорта должен быть VHDX-файлом, а не TAR-файлом.
  • --version: только для импорта указывает, следует ли импортировать дистрибутив в виде дистрибутива WSL 1 или WSL 2.

Импорт дистрибутива на месте

wsl --import-in-place <Distribution Name> <FileName>

Импортирует указанный VHDX-файл в качестве нового дистрибутива. Виртуальный жесткий диск должен быть отформатирован в формате ext4.

Отмена регистрации или удаление дистрибутива Linux

Хотя распределения Linux можно устанавливать из Microsoft Store, через Store их удалить невозможно.

Чтобы отменить регистрацию и удалить распределение WSL, выполните следующие действия:

wsl --unregister <DistributionName>

При замене <DistributionName> именем целевого распределения Linux регистрация этого распределения в WSL будет отменена, чтобы его можно было переустановить или очистить. Внимание. После отмены регистрации все данные, параметры и программное обеспечение, связанные с этим распределением, будут безвозвратно утеряны. При переустановке из Store будет установлена чистая копия дистрибутива. Например, wsl --unregister Ubuntu удалит Ubuntu из распределений, доступных в WSL. После запуска wsl --list раскроет, что он больше не в списке.

Вы также можете удалить приложение дистрибутива Linux на компьютере под управлением Windows так же, как и любое другое приложение из Store. Чтобы переустановить его, найдите это распределение в Microsoft Store и нажмите «Запустить».

Подключение диска или устройства

wsl --mount <DiskPath>

Позволяет подключить физический диск во всех дистрибутивах WSL 2, изменив <DiskPath> на путь к каталогу или файлу, где расположен диск. См. статью Подключение диска Linux в WSL 2. Возможны следующие значения.

  • --vhd: указывает, что <Disk> относится к виртуальному жесткому диску.
  • --name: подключите диск, используя пользовательское имя для точки подключения.
  • --bare: подключение диска к WSL 2 без подключения к файловой системе.
  • --type <Filesystem>: тип файловой системы, используемой при подключении диска, если не указано значение по умолчанию (ext4). Эту команду можно также указать так: wsl --mount -t <Filesystem>. Тип файловой системы можно определить с помощью команды blkid <BlockDevice>, например: blkid <dev/sdb1>.
  • --partition <Partition Number>: номер раздела для подключения согласно индексу, если не указан вариант по умолчанию (весь диск).
  • --options <MountOptions>. Некоторые параметры, относящиеся к файловой системе, можно добавить при подключении диска. Например, параметры подключения к ext4: wsl --mount -o "data-ordered" или wsl --mount -o "data=writeback. Но сейчас поддерживаются только параметры, относящиеся к файловой системе. Общие параметры, такие как ro, rw или noatime, не поддерживаются.

Примечание

Если для доступа к wsl.exe (64-разрядному средству) используется 32-разрядный процесс, вам может потребоваться выполнить указанную выше команду следующим образом: C:\Windows\Sysnative\wsl. exe --command.

Отключение дисков

wsl --unmount <DiskPath>

Отключите диск, указанный по пути к диску. Если путь к диску не указан, эта команда отключит и отсоединит все подключенные диски.

Нерекомендуемые команды WSL

wslconfig.exe [Argument] [Options]
bash [Options]
lxrun /[Argument]

Эти команды с исходным синтаксисом WSL использовались для настройки дистрибутивов Linux, установленных с помощью WSL, но были заменены командами с синтаксисом wsl или wsl.exe.

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

ВПС

12 декабря 2022 г.

Laura Z. & Noviantika G.

7min Read

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

Линукс 9Команда 0011 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 и упрощает написание переносимых скриптов.
  • --version – выводит текущую версию программы sed.
  • -E, -r, или --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 команда или 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-получить обновление 
  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 

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

 sed 's/images/photos/' scenery.txt 

Как заменить n-е вхождение шаблона в строку с помощью команды sed символ с желаемым номером, чтобы заменить n-е вхождение шаблона в строке. Вот основной синтаксис:

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

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

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

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

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

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

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

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

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

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

Замена всех шаблонов с n-го на все вхождения в одну строку соедините /# и .

Вот скрипт 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

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

 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.tx2t gadgets.tx2t и продублируйте результаты в окне терминала, запустите:

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

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

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

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

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

Например, приведенная ниже команда заменяет последние три экземпляра и пятая строка в файле country.txt со словом «france» :

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

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

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

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

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

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

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

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

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

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

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

 sed '#d' samplefile. txt 

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

 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' samplefile. txt 

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

 sed '/oabo/d' filestrings.txt 

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

sed быстрее, чем grep?

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

Лаура — опытный руководитель по производству контента. Обладая более чем 9-летним опытом работы в области маркетинга, Лаура любит делиться своими идеями с миром. В свободное время она любит узнавать о новых тенденциях в маркетинге и смотреть сериалы на Netflix.

Еще от Лауры З.

Noviantika — автор цифрового контента в Hostinger. Увлеченная веб-хостингом, WordPress и SEO, она стремится поделиться своими знаниями с миром в своих письмах. В свободное время Новиантика любит летать на самолете и открывать новые места.

Еще от Noviantika G.

25 основных команд Linux для начинающих [рекомендуется]

Содержание

Linux — это мощная операционная система, которая широко используется сегодня, даже если это может быть незаметно для вас. Данные из TOP500 показывают, что на Linux работают 100% 500 лучших суперкомпьютеров мира, что является поразительной статистикой.

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

Причина популярности Linux в том, что это одна из самых надежных, безопасных и надежных операционных систем. Здесь мы перечисляем и объясняем некоторые важные базовые команды Linux, чтобы вы могли с легкостью научиться использовать Linux.

Щелкните здесь, чтобы загрузить бесплатный PDF-файл основных команд Linux от Hackr.io.

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

Здесь мы перечислили 25 наиболее распространенных команд Linux. Это не все, что вам нужно знать, но они являются одними из самых распространенных. И помните, команд Linux вводятся с учетом регистра.

1. ls

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

Команда ls -l | more  – помогает разбить вывод на страницы, чтобы вы могли просматривать страницу за страницей. В противном случае список быстро прокручивается вниз. Вы всегда можете использовать ctrl + c, чтобы вернуться в командную строку.

 $ ls -l имя файла 

2. cd /var/log

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

При использовании ls –I  вы сможете увидеть более подробную информацию о содержимом каталога. В нем указано следующее:

  • Разрешения, связанные с файлом
  • Владелец файла
  • Группа, связанная с файлом
  • Размер файла
  • Метка времени
  • Имя файла
 $ cd /var/log 

3. grep

Находит текст в файле. Команда grep просматривает множество файлов одновременно, чтобы найти фрагмент текста, который вы ищете.

grep ШАБЛОН [ФАЙЛ]

grep failed transaction.log

Приведенная выше команда найдет все слова в файлах, соответствующие слову «сбой».

 $ grep ‘failed’ transaction.log 

Рекомендуемый курс для освоения команд Linux

4. Команда su / sudo

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

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

Команда sudo используется, когда вам просто нужно запустить что-то от имени суперпользователя, вы можете использовать команду sudo. Это позволит вам запускать команду с повышенными правами, и после выполнения команды вы вернетесь к своим обычным правам и разрешениям.

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

  • sudo shutdown 2 : выключение и выключение компьютера через 2 минуты.
  • sudo shutdown –r 2 : выключается и перезагружается через 2 минуты.
  • Использование ctrl C или shutdown –c : помогает остановить процесс выключения.
 $ выключение sudo 2
$ sudo shutdown –r 2 

5. pwd

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

 $ pwd 

6. passwd

Хотя эта команда похожа на команду pwd , она сильно отличается от нее. Эта команда используется для изменения пароля учетной записи пользователя.

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

passwd [имя пользователя] — меняет пароль пользователя.

 $ пароль администратора 

7. mv

Команда mv перемещает файл или переименовывает его. Здесь имя файла меняется с first.txt на second.txt.

 $ mv first.txt second.txt 

Введите  ls , чтобы просмотреть изменения.

8. cp

Эта команда копирует файл. Команда cp создает копию файла second. txt в том же каталоге.

 $ cp second.txt Third.txt 

Можно использовать ls – l чтобы увидеть новый созданный файл.

9. rm

Эта команда используется для удаления файлов в каталоге или в самом каталоге. Каталог нельзя удалить, если он не пуст.

rm [имя файла]

rm –r удаляет все содержимое каталога, а также сам каталог.

 $ rm файл1
$ rm -r myproject 

10. mkdir

Команда mkdir создает каталог. Команда записывается следующим образом:  mkdir [имя каталога]

 $ mkdir myproject 

11. chmod

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

Например:

  • режим chmod ФАЙЛ
  • chmod 744 script.sh
  • Первое число обозначает пользователя, связанного с файлом
  • Второй номер для группы, связанной с файлом
  • Третий номер связан со всеми остальными, кто не является частью пользователя или группы
 $ chmod 744 script. sh 

12. chown

Эта команда используется для изменения владельца файла/папки или даже нескольких файлов/папок для указанного пользователя/группы.

chown owner_name имя_файла

 $ chown user1 script.sh 

Предположим, что вы являетесь пользователем с именем  user1 и хотите изменить владельца на  root используйте «sudo».

 $ sudo chown root script.sh 

13. cat

Команда cat (сокращение от «concatenate») — одна из наиболее часто используемых команд в Linux. Команда cat позволяет создавать один или несколько файлов, просматривать содержимое файлов, объединять файлы (объединять файлы) и перенаправлять вывод в терминал или файлы.

 $ cat файл.txt
$ cat file1.txt file2.txt 

На выходе будет полное содержимое файла(ов).

14. echo

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

$ echo «Это статья об основных командах Linux»

Вывод будет «Это статья об основных командах Linux» без кавычек.

Параметр echo –e действует как интерпретация escape-символов с обратной косой чертой. \n символ новой строки интерпретируется командой echo –e.

 $ echo –e «Это статья для начинающих. \nЭто базовые команды Linux 

Вывод приведенной выше команды будет следующим:

 Эта статья предназначена для начинающих.
Это основные команды Linux 

15. wc

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

wc [опции] имена файлов.

 $ wc –l readme.txt 

Показывает вывод как — 120 readme.txt

  • wc -l  : печатает количество строк в файле.
  • wc -w : печатает количество слов в файле.
  • wc -c  : отображает количество байтов в файле.
  • wc -m : печатает количество символов из файла.
  • wc -L : Печатает только длину самой длинной строки в файле.

16. man

Эта команда используется для просмотра страниц интерактивного справочного руководства для команд/программ.

 $ man grep
$ man mkdir 

17. history

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

 $ history 

18. clear

Эта команда очищает экран терминала.

 $ clear 

19. apt –get

apt -get  мощный и бесплатный интерфейсный менеджер пакетов для систем Debian/Ubuntu. Он используется для установки новых пакетов программного обеспечения, удаления доступных пакетов программного обеспечения, обновления существующих пакетов программного обеспечения, а также для обновления всей операционной системы. apt — расшифровывается как Advanced Package Tool.

 $ sudo apt-get update 

20. reboot

Эта команда останавливает, выключает или перезагружает систему.

 $ reboot 

21. locate

Команда locate используется для поиска файла и выполняется в фоновом режиме, в отличие от команды find.

 $ locate file1.txt 

22. diff

Команда  diff сравнивает два файла построчно, чтобы найти различия. На выходе будут строки, которые отличаются.

 $ diff file1.txt file2.txt 

23. useradd

Команда useradd создает нового пользователя. Имя пользователя добавляется после команды useradd следующим образом:

 $ useradd John 

24. exit

Команда exit закрывает текущую оболочку. Когда вы нажмете Enter, вы выйдете из терминала.

 $ exit 

25. kill

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

 $ kill 522551 

Заключение

Мы надеемся, что этот список команд Linux поможет вам начать работу. Это всего лишь несколько команд — со временем вы будете использовать гораздо больше, но это хорошая отправная точка. Лучший способ изучить Linux — попробовать эти команды самостоятельно, а также пройти курс. Ниже мы перечисляем лучшие курсы Linux, которые вы можете пройти сегодня!

Администрирование Linux: Полный учебный курс Linux на 2023 год

Часто задаваемые вопросы

1. Как получить список всех команд в Linux?

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

2. Что такое оболочка/терминал Linux?

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