Команда wc в linux (подсчет количества строк, слов и символов)

Использование tail

Теперь, когда вы знаете основные опции, рассмотрим приемы работы с утилитой. Самый простой пример — выводим последние десять строк файла:

Если вам недостаточно 10 строк и нужно намного больше, то вы можете увеличить этот параметр с помощью опции -n:

Когда вы хотите отслеживать появление новых строк в файле, добавьте опцию -f:

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

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

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

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

Для удобства, вы можете выбирать не все строки, а отфильтровать интересующие вас:

Особенно, это полезно при анализе логов веб сервера или поиске ошибок в реальном времени. Если файл не открывается, вы можете использовать опцию retry чтобы повторять попытки:

Как я говорил в начале статьи, по умолчанию опция -f или —follow отслеживает файл по его имени, но вы можете включить режим отслеживания по дескриптору файла, тогда даже если имя измениться, вы будете получать всю информацию:

Команда tr и ее синтаксис

Ниже приведен синтаксис команды tr. Требуется, как минимум, два набора символов и опции.

tr  "SET1" "SET2"

SET1 и SET2 это группы символов. are a group of characters. Необходимо перечислить необходимые символы или указать последовательность.

-> восмеричные (OCT) символы NNN (1 до 3 цифр)

-> обратный слеш (экранированный)

-> новая строка (new line)

-> перенос строки (return)

-> табуляция (horizontal tab)

-> все буквы и цифры

-> все буквы

-> все пробелы

-> все управляющие символы (control)

-> все цифры

-> все буквы в нижнем регистре (строчные)

-> все буквы в верхнем регистре (заглавные)

Примеры использования команды tr:

echo "something to translate" | tr  "SET1" "SET2"
tr "SET1" "SET2" < file-to-translate
tr "SET1" "SET2" < file-to-translate > file-output

Вот некоторые опции:

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

Примеры использования tr

1. Замена символов через аргументы

Программа по умолчанию работает со стандартным вводом/выводом.

Пример 1. Заменить все x на z.

Далее следует ввести строку и нажать Enter. Ниже будет выведен обработанный результат и представлена возможность повторного ввода.

Для выхода из программы нажмите Ctrl + D.

Пример 2. Удалить все буквы в нижнем регистре.

Пример 3. Уплотнить повторяющиеся буквы большого и малого регистров.

2. Работа с потоками

Команда tr может принимать на вход результат работы другой программы с использованием пайпа.

Пример 4. Вывести первые три строки файла /etc/passwd, заменив двоеточия (используемые в качестве разделителя данных) на пробелы.

Также можно использовать перенаправление потока ввода и вывода.

Пример 5. Заменить цифры IP-адреса файла addresses2 на буквы a, и результат записать в файл addresses3.

Возможности команды tr

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

 '' '' или "" ""

В наборе1 один подряд перечисляются символы, подлежащие замене, а в наборе2 — в соответствующем порядке символы, которые их должны заменить:

 echo cheer | tr '' ''
 
 jolly

Для современных версий (у меня, например, tr GNU coreutils 5.97) все эти квадратные скобки и кавычки не обязательны, можно просто перечислять символы:

 echo cheer | tr abcdefghijklmnopqrstuvwxyz hijklmnopqrstuvwxyzabcdefg
 
 jolly

Работает не хуже.

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

 echo lower_case | tr '' ''
 
 LOWER_CASE

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

Параметры tr

Опция -s

Это одна из самых полезных опций команды tr. Эта опция позволяет заменить повторяющиеся подряд символы из набора1 на единственный символ из списка2. Если список 2 отсутствует, то заменяет множественные символы одиночными. Чаще всего эта уплотняющая текст опция применяется для замены множественных пробелов на один единственный:

 echo many      blank     spaces | tr -s ' '
 
 many blank spaces

Или то же самое, используя условные обозначения:

 echo очень     много      пробелов | tr -s \t
 
 очень много пробелов

Вот еще один пример:

 cat /etc/fstab | tr -s  ' ' ':'
 
 /dev/hda5:swap:swap:defaults:0:0
 /dev/hda4:/:ext3:defaults:1:1
 /dev/hda1:/mnt/FreeDos:vfat:iocharset=utf-8,codepage=866,noauto,users,rw,umask=000,showexec,quiet:1:0
 #/dev/hda3:/mnt/suse:ext3:iocharset=utf-8,codepage=:,noauto,users,rw,umask=000,showexec,quiet:1:0:
 /dev/fd0:/mnt/floppy:vfat,msdos:iocharset=utf-8,codepage=866,noauto,users,suid,dev,exec:0:0
 devpts:/dev/pts:devpts:gid=5,mode=620:0:0
 proc:/proc:proc:defaults:0:0

Здесь заменили все пробелы, служащие разделителями в файле /etc/fstab, на двоеточия. Теперь можно обрабатывать этот файл другими программами, скажем cut.

Опция -d

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

 echo a black cat | tr -d a
 
 blck ct

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

 tr -d '\r' < ms.file < unix.file

или используя восьмеричный номер символа:

 tr -d '\015' < ms.file > unix.file

Мне встречались утверждения, будто в некоторых реализациях команды tr возможно удалять сочетания символов (то есть слова), заключив их в кавычки:

 echo a black cat | tr -d 'cat'
 a black

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

Опция -с

Заставляет команду работать с символами, которые отсутствуют в наборе 1. Другими словами: символы, перечисленные в наборе1 не используются в работе, а все остальные — используются. Например:

 echo a black cat | tr -cd b-z
 
 blck ct

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

Или еще один изящный пример:

 tr -cs a-zA-Z '\n' < /etc/fstab
 
 dev
 hda
 swap
 swap
 defaults
 dev
 hda
 ext
 defaults
 dev
 hda
 mnt
 FreeDos
 vfat
 iocharset
 utf
 codepage
 noauto
 users
 rw
 umask
 showexec
 quiet
 dev
 hda
 mnt
 suse
 ext
 iocharset
 utf
 codepage
 noauto
 users
 rw
 umask
 showexec 
 quiet
 dev
 fd
 mnt
 floppy
 vfat
 msdos
 iocharset
 utf
 codepage
 noauto
 users
 suid
 dev
 exec
 devpts
 dev
 pts
 devpts
 gid
 mode
 proc
 proc
 proc
 defaults
 dev
 sda
 media
 FLASHKA
 vfat
 rw
 users
 umask
 showname
 lower 

Превращает файл /etc/fstab/ в список слов этого файла. При этом все символы, кроме букв обоих регистров, заменяются на символ переноса строки, лишние же символы переноса строки удаляет опция -s. Такого же эффекта можно достичь другим способом:

 tr -cs "" "\n" < /etc/fstab
 
 dev
 hda
 swap
 swap
 defaults
 dev
 hda
 ext
 defaults
 ...

Не продолжаю из экономии места.

Синтаксис

Чаще всего программа tr является стандартной и установлена в Линукс по умолчанию. Далее пойдет речь о таких нюансах, как синтаксис консольной команды tr, а также практическое применение утилиты. Это послужит хорошей «шпаргалкой» для неопытного пользователя.

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

Существуют специальные ключи для уточнения операции над символами в Linux.

  1. -c, -С (полный вариант наименования ключа выглядит так: —complement). Значение ключа: получение дополнения НАБОРА1.
  2. -d (полный вариант наименования ключа выглядит так: —delete). Значение ключа: удаление символов из НАБОРА2, без превращения.
  3. -s (полный вариант наименования ключа выглядит так: —squeeze). Значение ключа: замещение последовательности нескольких повторяющихся символов в НАБОРЕ на 1 подобный символ.
  4. -t (полный вариант наименования ключа выглядит так: —truncate-set1). Значение ключа: предварительное сокращение НАБОРА1 до габаритов НАБОРА2.

Примеры

  1. Как заменить символ через аргументы

Программная утилита tr работает со стандартным вводом и выводом в Линукс. Рассмотрим на примере того, как можно поменять все x на z. Для этого необходимо ввести в терминале следующее:

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

  1. Как закрыть утилиту tr на устройстве Linux?

Эта задача решается моментально и просто. Чтобы осуществить задуманное, выполните комбинацию клавиш «Ctrl + D».

  1. Как выполнить удаление букв в нижнем регистре

Введите в терминале:

  1. Удалить пустые строки из файла.

Здесь file название файла откуда нужно считать строки.

  1. Как выполнить уплотнение повторяющихся символов (букв)

В данном случае рассматриваются символы большого и малого регистров.

Чтобы посмотреть данные о текущей версии программы, необходимо использовать опцию —version. После этого работа будет завершена.

Еще одна полезная опция (—help) выводит справочную информацию о программе. После этого работа будет завершена.

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

Заключение

Работа с терминалом Линукс может вызвать у новичка немало трудностей. На самом деле, это лишь вопрос привычки. Практикуя различные действия с программными утилитами, очень быстро приходит понимание того, насколько легко управлять подобными инструментами и системой в целом. Программная утилита tr – прекрасный инструмент для работы с текстом в терминале Линукс или Gnu. Этот редактор молниеносно выполняет заданные действия. Пользователю остается лишь воспользоваться нужной командой.

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

Синтаксис команды pkill следующий:

pkill  <PATTERN>

Соответствие <PATTERN> указывается с использованием расширенных регулярных выражений.

При вызове без какой-либо опции pkill отправляет сигнал 15( TERM) в PID всех запущенных программ, которые соответствуют данному имени. Например, чтобы корректно остановить все процессы Firefox, вы должны выполнить:

pkill -9 firefox

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

Чтобы отправить другой сигнал согласованным процессам, вызовите pkillкоманду с параметром –signal, за которым следует числовое или символическое имя сигнала. Другой способ отправки сигнала – запуск, pkill за которым следует имя или номер сигнала с префиксом дефиса ( -).

Используйте команду kill -l для получения списка всех доступных сигналов.

Наиболее часто используемые сигналы:

  • 1(HUP): перезагрузить процесс.
  • 9(KILL): убить процесс.
  • 15(TERM): изящно остановить процесс.

Сигналы могут быть указаны тремя различными способами:

  • используя число (например, -1)
  • с префиксом «SIG» (например, -SIGHUP)
  • без префикса «SIG» (например, -HUP).

Например, чтобы перезагрузить процессы Nginx, вы должны запустить:

pkill -HUP nginx

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

1039 sshd
2257 ssh-agent
6850 ssh
31279 ssh-agent

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

pkill '^ssh$'

Символ caret ( ^) соответствует началу строки и доллар $ в конце.

По умолчанию pkill совпадает только с именем процесса. Когда используется опция -f, команда сопоставляется с полными списками аргументов. Если команда содержит пробелы, заключите всю команду в кавычки:

pkill -9 -f "ping 8.8.8.8"

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

pkill -u mark

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

pkill -u mark,danny

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

pkill -9 -u mark gnome

Чтобы отобразить только самые последние (самые старые) или самые последние (самые новые) запущенные процессы, используйте параметр -n (для самых новых) или -o (для самых старых).

Например, чтобы убить последний созданный экран :

pkill -9 -n screen

Использование tail

Теперь, когда вы знаете основные опции, рассмотрим приемы работы с утилитой. Самый простой пример – выводим последние десять строк файла:

tail /var/log/syslog

Если вам недостаточно 10 строк и нужно намного больше, то вы можете увеличить этот параметр с помощью опции -n:

tail -n 100 /var/log/syslog

Когда вы хотите отслеживать появление новых строк в файле, добавьте опцию -f:

tail -f /var/log/syslog

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

tail /var/log/syslog /var/log/Xorg.0.log

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

tail -f -s 5 /var/log/syslog

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

tail -q var/log/syslog /var/log/Xorg.0.log

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

tail -c 500 /var/log/syslog

Для удобства, вы можете выбирать не все строки, а отфильтровать интересующие вас:

tail -f /var/log/syslog | grep err

Особенно, это полезно при анализе логов веб сервера или поиске ошибок в реальном времени. Если файл не открывается, вы можете использовать опцию retry чтобы повторять попытки:

tail -f –retry /var/log/syslog | grep err

Как я говорил в начале статьи, по умолчанию опция -f или –follow отслеживает файл по его имени, но вы можете включить режим отслеживания по дескриптору файла, тогда даже если имя измениться, вы будете получать всю информацию:

tail –follow=descriptor /var/log/syslog | grep err

Как Ограничить Количество Выводимых Строк?

Tale предоставляет возможность посмотреть то количество срок, которое вам нужно. Для этого просто используйте опцию –n.

Самый простой способ выполнить это действие:

Tail –n* путь_к_файлу

Вместо * укажите необходимое количество строк.

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

tail -n2 devisers.txt

2 — количество строк, devisers.txt — имя файла.

Как Посмотреть Последнее Количество Байтов Данных?

Чтобы просмотреть последнее или N-нное количество байтов очень большого файла, используйте параметр -c.

tail –c* путь_к_файлу

Замените * на количество байтов, которое необходимо вывести.

Как Отслеживать Изменения в Файле?

Чтобы проверить файл на наличие новой информации, используйте команду tail вместе с опцией -f. Эта команда будет полезна при просмотре последних десяти строк файла. Опция обычно используется для отслеживания файлов логов в реальном времени. Для нашего файла devisers.txt команда будет выглядеть так:

tail -f devisers.txt

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

Команда Tail с -r (Обратный Порядок)

Например, мы хотим просмотреть вывод команды tail в обратном порядке.

tail –n* имя_файла | sort -r

Первая часть команды такая же, как и раньше, затем мы разделяем её с помощью | для обозначения последующего действия — sort -r, которое, как следует из названия, сортирует вывод в обратном порядке.

Использование Команды Tail с ls (Самый Старый Файл или Папка)

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

Чтобы сделать это, пропишем ls перед командой tail. Вот, как это будет выглядеть:

ls -l | tail -n8

Как уже упоминалось раньше, в tail части команды -n8 вы можете указать любое число.

Команды Linux, для работы с файлами

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

33. ls

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

34. pwd

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

Пример ример ниже:

35. mkdir

В Linux мы можем использовать команду mkdir для создания каталога.

По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.

36. cat

Мы используем команду cat в основном для просмотра содержимого, объединения и перенаправления выходных файлов. Самый простой способ использовать cat— это просто ввести » имя_файла cat’.

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

37. rm

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

38. cp

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

Следующая команда скопирует файл ‘myfile.txt» из текущего каталога в «/home/linkedin/office«.

39. mv

Когда вы хотите переместить файлы из одного места в другое и не хотите их дублировать, требуется использовать команду mv. Подробнее можно прочитать ЗДЕСЬ.

40.cd

Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.

41. Ln

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

Команда Ln использует следующий синтаксис:

42. touch

Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.

44. head

Команда head используется для печати первых нескольких строк текстового файла. По умолчанию команда head выводит первые 10 строк каждого файла.

45. tail

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

46. gpg

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

50. uniq

Uniq — это инструмент командной строки, используемый для создания отчетов и фильтрации повторяющихся строк из файла.

53. tee

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

54. tr

Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.

Как вырезать из байтов и символов

Прежде чем идти дальше, давайте сделаем различие между байтами и символами.

Один байт составляет 8 битов и может представлять 256 различных значений. Когда был установлен стандарт ASCII, в нем были учтены все буквы, цифры и символы, необходимые для работы с английским языком. Таблица символов ASCII имеет 128 символов, и каждый символ представлен одним байтом. Когда компьютеры стали доступны во всем мире, технологические компании начали вводить новые кодировки символов для разных языков. Для языков, содержащих более 256 символов, простое сопоставление 1 к 1 было невозможно. Это приводит к различным проблемам, таким как совместное использование документов или просмотр веб-сайтов, и был необходим новый стандарт Unicode, который может работать с большинством мировых систем письма. UTF-8 был создан для решения этих проблем. В UTF-8 не все символы представлены 1 байтом. Символы могут быть представлены от 1 байта до 4 байтов.

Опция ( ) указывает команде вырезать секции из каждой строки, заданной заданными позициями байтов.

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

Выберите 5-й байт:

Выберите 5-й, 9-й и 13-й байты:

Выберите диапазон от 1-го до 5-го байта:

На момент написания этой статьи версия пакета в GNU coreutils не имела возможности обрезать по символам. При использовании параметра ведет себя так же, как при использовании параметра.

CDROM

<box 100% round left |>
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force — clean a rewritable cdrommkisofs /dev/cdrom > cd.iso — create an iso image of cdrom on diskmkisofs /dev/cdrom | gzip > cd_iso.gz — create a compressed iso image of cdrom on diskmkisofs -J -allow-leading-dots -R -V «Label CD» -iso-level 4 -o ./cd.iso data_cd — create an iso image of a directorycdrecord -v dev=/dev/cdrom cd.iso — burn an ISO imagegzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom — burn a compressed ISO imagemount -o loop cd.iso /mnt/iso — mount an ISO imagecd-paranoia -B — rip audio tracks from a CD to wav filescd-paranoia – «-3» — rip first three audio tracks from a CD to wav filescdrecord –scanbus — scan bus to identify the channel scsi

</box>

Лучшие онлайн-терминалы для отработки команд Linux

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

1. JSLinux

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

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

Чтобы иметь возможность коннектиться
к своему аккаунту, придется
зарегистрироваться.

JSLinux также позволяет загружать файлы
в виртуальную машину. В основе этого
терминала лежит Buildroot
— вспомогательный инструмент для
создания Linux-среды для встроенных систем.

2. Copy.sh

Copy.sh предлагает один из лучших
онлайн-терминалов Linux и, таким образом,
быстрый и надежный способ тестировать
и запускать команды Linux.

Вы можете найти Copy.sh на GitHub.
Мейнтейнеры продолжают активно работать
над проектом, а это хороший знак. Copy.sh
поддерживает разные операционные
системы, включая

Windows 98

  • KolibriOS
  • FreeDOS
  • Windows 1.01
  • Archlinux

3. Webminal

Webminal это впечатляющий онлайн-терминал
Linux, отлично подходящий для новичков,
желающих попрактиковаться в использовании
команд.

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

4. Tutorialspoint
Unix Terminal

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

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

Это довольно простой и при этом
эффективный онлайн-терминал. Но если
он вас чем-то не устроит, на странице
Coding
Ground можно посмотреть список других
терминалов, доступных онлайн.

5. JS/UIX

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

Чтобы посмотреть список реализованных
команд, обратитесь к странице руководства.

6. CB.VU

Если хотите протестировать команды
для стабильной версии FreeBSD 7.1, cb.vu будет
самым простым решением.

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

7. Linux
Containers

Linux Containers позволяет вам запускать
демо-сервер (с 30-минутным ограничением
по времени), который работает как один
из лучших онлайн-терминалов Linux. Этот
проект фактически спонсируется Canonical.

8. Codeanywhere

Codeanywhere это сервис, предлагающий
кросс-платформенные облачные IDE. Но
чтобы запустить бесплатную виртуальную
машину Linux, вам придется сначала
зарегистрироваться, выбрав бесплатный
план. Затем нужно будет создать новое
соединение и настроить контейнер с
нужной операционной системой. После
этого бесплатная Linux-консоль будет к
вашим услугам.

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

Синтаксис команды следующий:

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

A — это в основном строка символов, включая специальные символы с обратной косой чертой.

В следующем примере будут заменены все символы из стандартного ввода (baksdev) путем сопоставления символов из первого набора с совпадающими символами из второго набора.

Каждое вхождение заменяется на , с и на :

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

ты можешь использовать:

При использовании опции ( ) заменяются все символы, которых нет в SET1.

В приведенном ниже примере все символы, кроме «li», будут заменены последними символами из второго набора:

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

Опция ( ) указывает на удаление символов, указанных в SET1. При удалении символов без сжатия указывайте только один набор.

Приведенная ниже команда удалит , и символы:

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

Опция ( ) заменяет последовательность повторяющихся вхождений набором символов в последнем SET.

В следующем примере удаляются повторяющиеся пробелы:

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

Опция ( ) вынуждает обрезать SET1 до длины SET2 перед дальнейшей обработкой.

По умолчанию, если SET1 больше, чем SET2, будет повторно использоваться последний символ SET2. Вот пример:

Вывод показывает, что символ из SET1 соответствует самому последнему символу из SET2, а именно :

Теперь используйте ту же команду с опцией:

Вы можете видеть, что последние три символа SET1 удалены. SET1 становится ‘ab’, такой же длины, как SET2, и замена не производится.

Объединение вариантов

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

Команды Linux, Связанные С Передачей Файлов

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

87. scp

SCP — это программа безопасного копирования для передачи файлов или каталогов между хостами Linux в сети. SCP использует протокол ssh для передачи данных.

Пример того как локальный файл ‘examples.txt» скопировать на удаленный хост.

88. rsync

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

Чтение текстовых файлов

cat

— конкатенация (склеивание) файлов. Часто используется для простого просмотра текстового файла.

cat 

cat /etc/passwd
— просмотр содержимого файла.

cat > essay.txt
— копирует содержимое стандартного ввода в файл. Позволяет печатать короткие тексты в файл прямо в консоли, для прекращения печати нажмите Ctrl+D (EOF).

cat -n file1.txt file2.txt
— объединить два файла и вывести номера строк.

grep

— поиск заданной строки в текстовых файлах.

grep 

grep -i jane /etc/passwd
— поиск слова jane в файле /etc/passwd, без учета регистра символов.

grep ‘Sep 02 .* Updated’ yum.log
— поиск строки из нескольких слов с использованием маски.

grep ‘green apple’ pricelist1.txt pricelist2.txt
— поиск строки green apple в нескольких файлах.

grep -c 1994 bdaylist.txt
— показать количество строк, в которых нашлось совпадение с числом 1994.

grep -n 1994 bdaylist.txt
— показать строки и их номера, в которых нашлось совпадение с числом 1994.

grep -r jane /etc
— рекурсивный поиск слова jane во всех файлах и подкаталогах в директории /etc.

grep -w pop songs.txt
— поиск целого слова pop (kpop, poprock, latinpop не будут показаны в результатах).

grep -v pop songs.txt
— поиск наоборот, будут показаны строки, в которых не встречается слово pop.

grep -lr TODO /var/www/example.ru
— поиск файлов в каталоге /var/www/example.ru, в которых встречается слово TODO.

grep -Lr ‘<title>’ /var/www/example.ru
— поиск файлов в каталоге /var/www/example.ru, в которых не встречается слово <title>.

man ps | grep — -f
— поиск значение ключа для команды .

head

— вывод первых 10 строк файла.

head 

head ~/documents/essay.doc

head -n5 ~/documents/essay.doc
— вывод первых 5 строк файла.

less

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

less 

less -c pricelist.txt
— вывести содержимое файла с очисткой экрана.

more

— старая утилита просмотра содержимого файла. Не позволяет скролить вверх.

more 

more -5 -p pricelist.txt
— вывести пять строк файла с очисткой экрана.

tac

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

tac 

tac pricelist.txt

tac part1.txt part2.txt > whole.txt
— конкатенация (склеивание файлов) и запись результата в файл whole.txt

tail

— вывод последних 10 строк файла.

tail 

tail /var/log/nginx/error.log

tail -n7 /var/log/nginx/error.log
— вывод последних 7 строк файла.

tr

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

tr 

tr b v
— заменить все ‘b’ на ‘v’.

tr abc op
— заменить все ‘a’ на ‘o’, все ‘b’ и ‘с’ на ‘p’.

tr b v < source.txt > result.txt
— заменить все ‘b’ на ‘v’ в тексте файла source.txt и записать результат в файл result.txt (source.txt останется без изменений).

cat source.txt | tr b v > result.txt
— альтернативный вариант предыдущему примеру.

tr » »
— заменить последовательность ‘a-d’, на последовательность ‘w-z’.

tr » »
— заменить все символы в верхнем регистре на нижний регистр.

tr » »
— альтернативный вариант предыдущему примеру.

tr -s ‘ ‘ ‘ ‘
— замещает все повторяющиеся символы на один.

tr -s »
— альтернативный вариант предыдущему примеру.

tr -d »
— удалить все цифры из текста.

tr -c ‘a’ ‘o’
— всё, что не ‘a’ и не пустой символ, то ‘o’.

tr -cd »
— всё, что не цифра — удалить.

cat /etc/passwd | tr » ‘ ‘ | tr -s ‘ ‘ >> trash.txt- удалить все знаки пунктуации и отступы (пробелы и переводы строк) из текста файла /etc/passwd, заменить все повторения пробелов одним пробелом и записать результат в конец файла trash.txt. 

uniq

— исключает повторяющиеся строки из сортированного текста.

uniq 

sort buylist.txt | uniq
— исключает повторяющиеся строки из списка.

sort buylist.txt | uniq -d
— выводит повторяющиеся строки из списка.

sort buylist.txt | uniq -ic- выводит количество повторяющихся строк.

wc

— вывод количества строк, слов и символов в файле.

wc 

wc /etc/passwd

wc -w /etc/passwd
— показать только количество слов в файле.

wc -L /etc/passwd
— показать количество символов в самой длинной строке.

Как вырезать по полю

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

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

test.txt

Например, для отображения 1-го и 3-го полей вы должны использовать:

Или, если вы хотите отобразить с 1-го по 4-е поле:

Как резать на основе разделителя 

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

Например, чтобы отобразить 1-е и 3-е поля, используя «:» в качестве разделителя, введите:

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

Как дополнить выбор 

Для дополнения списка полей выбора используйте опцию. Это напечатает только те поля, которые не выбраны с опцией.

Следующая команда напечатает все поля кроме 1-го и 3-го:

Как указать выходной разделитель

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: