double arrow

Операции над файлами и каталогами

Здесь рассмотрены утилиты, работающие с объектами файловой системы: файлами, каталогами, устройствами, а также с файловыми системами в целом.

cp

Копирует файлы и каталоги.

mv

Перемещает (переименовывает) файлы.

rm

Удаляет файлы и каталоги.

df

Выводит отчёт об использовании дискового пространства (свободном месте на всех дисках).

du

Вычисляет место на диске, занимаемое файлами или каталогами.

ln

Создаёт ссылки на файлы.

ls

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

Mkdir

Создаёт каталоги.

Touch

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

Realpath

Вычисляет абсолютное имя файла по относительному.

Basename

Удаляет из полного имени файла путь (т. е. сокращает абсолютное имя файла до относительного).

Dirname

Удаляет из полного имени файла имя файла (т. е. выводит полное имя каталога, в котором расположен файл).

Pwd

Выводит имя текущего каталога.

Пример 7.1. Выявление каталогов, занимающих много места на диске, при помощи команды du

du -b | sort -nr

Фильтры

Фильтры — это программы, которые читают данные со стандартного ввода, преобразуют их и выводят на стандартный вывод. Использование программ-фильтров позволяет организовывать конвейер: производить несколько последовательных операций над данными в одной команде. Подробнее о перенаправлении стандартного ввода/вывода и конвейере можно прочитать в документации по bash или другой командной оболочке. Многие из команд, приведённых в этом разделе, могут работать и с файлами.

Cat

объединяет файлы и выводит их на стандартный вывод;

Tac

объединяет файлы и выводит их на стандартный вывод, начиная с конца;

Sort

сортирует строки;

Uniq

удаляет дублирующиеся строки из отсортированных файлов;

tr

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

Cut

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

Paste

объединяет данные из нескольких файлов в одну таблицу, в которой данные из каждого исходного файла составляют отдельную колонку;

Csplit

делит файл на части по шаблону;

Expand

преобразует знаки табуляции в пробелы;

Unexpand

преобразует пробелы в знаки табуляции;

Fmt

форматирует текст по ширине;

Fold

переносит слишком длинные текстовые строки на следующую строку;

nl

нумерует строки файла;

od

выводит файл в восьмеричном, шестнадцатеричном и других подобных формах;

Tee

дублирует стандартный вывод программы в файле на диске;

Пример 7.2. Получение списка адресов писавших вам людей с помощью команд cat, sort и uniq

cat *| grep ^From: |sort |uniq

Пример 7.3. Получение списка слов, встречающихся в тексте, с указанием количества употреблений

cat big.text.file | tr '[:space:][:punct:]' "\n" |sort |uniq -c |sort -n -r |less

Прочее

Head

выводит начальную часть файла заданного размера;

Tail

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

Echo

выводит текст аргумента на стандартный вывод;

False

ничего не делает, выходит с кодом возврата 1 (ошибка), может быть использована в сценариях оболочки, если треуется неудачно завершающаяся команда;

True

ничего не делает, выходит с кодом возврата 0 (удачное завершение), может быть использована в сценариях, если требуется удачно завершающаяся команда;

Yes

бесконечно выводит одну и ту же строку (по умолчанию — yes ) пока не будет прервана.

Seq

выводит ряд чисел в заданном диапазоне последовательно возрастающих или убывающих на заданную величину;

Sleep

приостанавливает выполнение на заданное число секунд;

Usleep

приостанавливает выполнение на заданное число милисекунд;

Comm

построчно сравнивает 2 предварительно отсортированных (командой sort) файла, выводит таблицу из трёх колонок, где в первой — строки, уникальные для первого файла, во второй — уникальные для второго, в третьей — общие для обоих файлов;

Join

объединяет строки двух файлов по общему полю;

Paste

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

Split

разбивает файл на части заданного размера.

Вычисления

Помимо простых операций со строками (ввод/вывод и объединение) нередко требуется выполнять некоторые вычисления над имеющимися данными. Ниже перечислены утилиты, которые выполняют вычисления над числами, датами, строками.

Test

возвращает значения «истина» или «ложь» в зависимости от значения аргументов; команду test удобно использовать в сценариях для проверки условий;

Date

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

Expr

вычисляет выражения;

Md5sum

подсчитывает контрольную сумму по алгоритму MD5;

Sha1sum

подсчитывает контрольную сумму по алгоритму SHA1;

wc

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

Factor

разлагает числа на простые множители;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: