Вы находитесь на странице: 1из 10

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

Создание копий файлов может быть полезно по многим причинам:

 Если копия файла создается до внесения изменений, можно вернуться к


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

cp [ OPTIONS ] SOURCE DESTINATION

!!! Чтобы скопировать файл, необходимо иметь разрешение на выполнение


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

Копирование файлов на битовом уровне

Команда dd представляет собой утилиту для копирования файлов или целых


разделов на битовом уровне.

dd [ OPTIONS ] OPERAND

Эта команда имеет несколько полезных функций, в том числе:

 для клонирования или удаления (очистки) целых дисков или разделов.


 для копирования необработанных данных на съемные устройства,
такие как USB-накопители и компакт-диски.
 создавать резервные копии и восстанавливать MBR (Master Boot
Record). MBR расположена в первых 512 байтах жесткого диска, и состоит
из таблицы разделов, загрузчика и пары доп. байт. Иногда, ее приходится
бекапить, восстанавливать и т.д. Бекап: dd if=/dev/sda of=mbr.img bs=512
count=1 Восстановить: dd if=mbr.img of=/dev/sda
 для создания файла определенного размера, заполненного двоичными
нулями, который затем можно использовать в качестве файла подкачки
(виртуальной памяти). Или если мы хотим забить диск нулями, то
можем написать следующее: dd if=/dev/zero of=/dev/disk Теперь
данные нельзя будет восстановить

if: указывает на источник, т.е. на то, откуда копируем. Указывается файл,


который может быть как обычным файлом, так и файлом устройства.

of: указывает на файл назначения. То же самое, писать можем как в обычный


файл, так и напрямую в устройство.

bs: количество байт, которые будут записаны за раз. Можно представлять


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

count: как раз то число, которое указывает: сколько кусочков будет


скопировано.

( можно воспользоваться ключом conv=noerror для того, чтоб программа не


прекратила работу при чтении "битого" диска или флешки. есть шанс не
потерять хоть что-то)

Удаление файлов

Команда rm используется для удаления файлов и каталогов (без корзины! rm


удаляет файлы безвозвратно)

rm [ OPTIONS ] ФАЙЛ

Без опций rm используется для удаления файлов

чтобы удалить каталог, используются опции -r или -R это приведет к


удалению всех файлов и всех подкаталогов
Просмотр файлов

Команда cat
Команда less
Команда more
Команда head
Команда tail

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

cat [ ОПЦИИ ] [ ФАЙЛ ]

основные опции:

-b - нумеровать только непустые строки;


-E - показывать символ $ в конце каждой строки;
-n - нумеровать все строки;
-s - удалять пустые повторяющиеся строки;
-T - отображать табуляции в виде ^I;
-h - отобразить справку;

Если не передать никакого файла в параметрах утилите, то она будет


пытаться читать данные из стандартного ввода:
Для завершения записи надо нажать Ctrl+D. Таким образом можно получить
очень примитивный текстовый редактор - читаем ввод и перенаправляем его
вместо вывода на экран в файл:

Можно объединить несколько файлов в один

Команда less

Утилита less выводит содержимое файла, но отображает его только в рамках


текущего окна в режиме просмотра

e Переместиться на одну строку вверх


y Переместиться на одну строку вниз
ENTER Переместиться на одну строку вниз
PageUp Переместиться на одну страницу вверх
PageDown Переместиться на одну страницу вниз
SPACE Переместиться на одну страницу вниз
d Переместиться на полстраницы вниз
b Переместиться на одну страницу вверх
h Помощь
q Выход
/ Поиск текста вниз (Просто набираем с / и вводим любой текст для
поиска. Клавиша n – переход к следующему найденному тексту. Клавиша N –
переход к предыдущему найденному тексту)
? (знак вопроса) Обратный поиск (Клавиша n – переход к следующему
найденному тексту. Клавиша N – переход к предыдущему найденному
тексту)
g Для перехода в начало документа (15g переведет нас на 15 строку)
G для перехода в конец документа
-N Для того, чтобы отобразить номера строк в файле (можно указать опцию
или ввести её прямо во время просмотра)
Если мы хотим читать текст по определенному количеству строк, то
указываем - (тире/минус) и количество строк
Если хотим начать чтение с определенной строки, то указываем + (плюс) и
номер строки, с которой нужно начать чтение
после выхода окно терминала остается чистым и не содержит текст файла.

Команда more

очень похожа на команду less. Она также выводит файл в терминале в


режиме просмотра, но имеет некоторые отличия от команды less.

Например, less в конце файла выводит сообщение (END) (или EOF — End Of
File) и ожидает нажатия клавиши q чтобы закрыть режим просмотра, а more
по достижении конца файла сразу возвращает управление в терминал.

Также more после своей работы оставляет текст файла в терминале, а less
работает «чисто» и не сохраняет текст в терминале

Команда head

Команда head выводит на экран только первые 10 строк файла.

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


(вместо -n можно просто использовать знак минус -)
Команда tail.

Выполнение команды tail выведет последние 10 строк файла

Если хотим вывести определение количество строк с конца текстового


документа, то нужно указать опцию (как и в случае с head) - (тире/минус) и
количество строк. команда tail очень полезна, если нужно смотреть
текстовый файл, в частности файл лога, в который добавляются новый
строки. То есть, смотреть изменение файла в реальном времени. Например,
работает приложение и надо отслеживать ошибки лога. В этом случае, нужно
к команде tail добавить опцию -f

Фильтрация ввода

Команда grep даёт пользователям возможность вести поиск строки. С его


помощью можно даже искать конкретные слова в файле. Также можно
передать вывод любой команды в grep

Если команда grep ничего не вернула, значит искомого файла/папки не


существует в данной директории.

grep [OPTIONS] PATTERN [FILE]

Некоторые дополнительные ключи команды grep:

 -v : Выводи реверсивные результаты. Вместо того чтобы вывести


строки где искомое было найдено — выводи те строки где искомой
подстроки нет.
 -c : Отключает стандартный способ вывода результата и вместо этого
отображает только число обозначающее количество найденных строк.
 -i : Делает поиск регистронезависимым
 -w : Ведет поиск по цельным словам. Например при обычном поиске
строки ‘wood’ grep может найти слово ‘hollywood’. А если
используется данный ключ то будут найдены только строки где есть
слово ‘wood’.
 -l : Выводит только имена файлов где была найдена строка.
 -r : Производит поиск рекурсивно по всем поддиректориям.
grep ищет по ШАБЛОНУ в каждом ФАЙЛЕ. ФАЙЛ, обозначенный как «-»
является стандартным вводом. Если ФАЙЛ не дан, рекурсивные поиски
исследуют рабочую директорию (если рекурсия указана соответствующей
опцией), и нерекурсивные поиски считывают стандартный ввод. По
умолчанию, grep печатает совпадающие строчки

Регулярные выражения

grep расшифровывается как «global regular expression print». Регулярное


выражение – это текстовая строка, которая описывает определенный шаблон
поиска

Регулярные выражения имеют две общие формы: базовую и расширенную.


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

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


указанном месте может находиться любой символ

[] Поместив группу символов в квадратные скобки («[ ]»), можно указать,


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

[^ ] Можно указать, что с шаблоном совпадает все, кроме символов в


скобках, если начать список символов, внесенных в скобки, с символа «^»

* Одним из наиболее часто используемых метасимволов является символ


«*», что означает «повторить предыдущий символ или выражение 0 или
больше раз»

^ Используется для поиска строк, которые начинаются с указанного


шаблона, в противном случае просто литерал ^

$ Означает конец строки. Команда выведет только те строки, в конце


которых встречает указанный шаблон. Если не последний символ в шаблоне,
то просто литерал $

Как избежать метасимволов

Иногда может понадобиться искать буквальную точку или буквальную


открытую скобку. Поскольку данные символы имеют определенное значение
в регулярных выражениях, необходимо «избегать» их, говоря команде grep,
что в данном случае использовать их особое значение не нужно. Для этого
используем обратную косую (\) перед символом, который обычно имеет
особое значение.

Расширенные регулярные выражения

Команду grep можно также использовать с расширенным языком регулярных


выражений при помощи флага «-E» или же вызывая команду «egrep» вместо
«grep».

+ Символ «+» ищет совпадения выражений 1 или больше раз. Он


работает почти как символ «*», но при использовании «+» выражение
должно совпасть хотя бы 1 раз.

? Предыдущий шаблон не является обязательным. В расширенных


регулярных выражениях существуют метасимволы, указывающие частоту
повторения символа, подобно тому, как метасимвол «*» указывает на
совпадения предыдущего символа или строки символов 0 или более раз.

{ } При необходимости указать количество повторения совпадений можно


использовать фигурные скобки («{ }»). Эти символы используются для
указания точного количества, диапазона, а также верхнего и нижнего предела
количества совпадений выражения

| Чередование - логическое «или» Подобно тому, как квадратные скобки


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