Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LINUX.docx
Скачиваний:
5
Добавлен:
12.09.2019
Размер:
255.8 Кб
Скачать

11. Проглядання вмісту файлів

Просмотр содержимого файлов.

Вывести содержимое файла file1 на стандартное устройство вывода:

cat file1

Вывести содержимое файла file1 на стандартное устройство вывода в обратном порядке (последняя строка становиться первой и т.д.):

tac file1

Постраничный вывод содержимого файла file1 на стандартное устройство вывода (для перехода на следующую страницу нажмите «пробел»):

more file1

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

less file1

Выводится первые десять строк файла file1:

head file1

Вывести первые две строки файла file1 на стандартное устройство вывода:

head -2 file1

Выводит последние десять строк файла file1:

tail file1

Вывести последние две строки файла file1 на стандартное устройство вывода

tail -2 file1

Выводить содержимое файла на стандартное устройство вывода по мере поступления в нём текста:

tail -f /var/log/messages

13.Видалення файлів Восстановление удалённых файлов при помощи /proc и lsof

Теперь давайте рассмотрим процесс восстановления удалённых файлов. Вообще, причиной тому что вы можете восстановить удалённый файл является тот факт, что «файл» — это лишь ссылка на индексный дескриптор файла (inode). Именно в inode хранится информация о физическом размещении файла. Когда вы удаляете файл, фактически вы просто удаляете ссылку на inode, в то время как сам дескриптор ещё какое-то время будет существовать: до тех пор, пока процесс, ранее открывший этот файл не освободит соответствующий дескриптор для записи. Таким образом, есть какое-то время, пусть и короткое, в течение которого можно восстановить содержимое удалённого файла. Ключом в этом процессе является файловая система /proc, содержащая среди всего прочего информацию обо всех выполняющихся в системе процессах и открытых ими файлах. Каждый процесс, работающий в системе имеет соответствующий его PID каталог в /proc. Зная PID процесса, всё ещё держащего открытым удалённый файл, мы всегда можем восстановить его содержимое из каталога /proc/[pid]/ открывшего его процесса. Давайте на простом примере посмотрим, как это делается.

Сперва давайте создадим какой-нибудь файл:

$ echo 'Очень важные данные' > ~/myfile.txt

Теперь у нас есть файл myfile.txt с важными данными, расположенный в домашнем каталоге. Давайте попробуем удалить его и затем восстановить следующим образом. Сначала мы откроем файл для просмотра командой less, после чего приостановим её работу, оставив таким образом нужный нам файл открытым. Итак, пошагово.

Откройте файл командой less для просмотра

$ less ~/myfile.txt

После того, как файл будет открыт и вы увидите его содержимое, нажмите Ctrl+z , чтобы приостановить выполнение less.

Удалите файл:

$ rm ~/myfile.txt

Убедитесь в том, что файла больше нет

$ ls -l ~/myfile.txt

Поскольку работа ранее запущенной нами less ещё не завершена, то файл остаётся для неё открытым и фактически не удалён. Давайте восстановим его.

Для начала необходимо узнать PID процесса, открывшего файл и номер файлового дескриптора. Сделать это можно при помощи программы lsof:

$ lsof | grep myfile.txt

less 2675 ashep 4r REG 8,1 37 294478 /home/ashep/myfile.txt (deleted)

Во втором поле вывода lsof содержится PID — 2675, а в четвёртом номер дескриптора — 4. Теперь можно приступать к восстановлению:

$ cp /proc/2675/fd/4 ~/recovered.txt

Проверьте, то ли содержимое находится в файле, которое нам нужно:

$ cat ~/recovered.txt

Очень важные данные

Как видим, всё прошло успешно и нам удалось восстановить удалённый файл.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]