= Отчет за практикум 3 =

== Задание 1 ==

Пересказ справки по команде `stat`.



Синтаксис такой:

{{{
stat [OPTION] ... FILE ...
}}}

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

Команда используется для получения низкоуровневой информации о файле.

Пример:

{{{
stat ~/term1/genome/*.fna
}}}

выводит следующее:

{{{
File: /home/students/y22/bakhsv/term1/genome/GCF_000940995.1_ASM94099v1_genomic.fna
  Size: 5983446         Blocks: 11688      IO Block: 4096   regular file
Device: fe09h/65033d    Inode: 537467015   Links: 1
Access: (0644/-rw-r--r--)  Uid: (12202/  bakhsv)   Gid: ( 2022/ year-22)
Access: 2022-09-22 22:49:29.008137991 +0300
Modify: 2022-09-09 12:21:15.000000000 +0300
Change: 2022-09-19 15:35:09.324823528 +0300
 Birth: 2022-09-12 03:42:57.970667243 +0300
}}}

Некоторые пояснения (которые понадобились мне):

`Size` --- размер в байтах.

`IO Blok` --- размер блока в байтах.

`Device` --- "идентификатор устройства, например HDD, на котором сохранён файл" (https://losst.ru/komanda-stat-v-linux). Мне пока ни о чем не говорит.

`Links` --- количество жестких ссылок на файл; мне ни о чем не говорило, но я вроде прочел, что это такое.

`Access` --- "права доступа к файлу"; не знаю, как это интерпретировать.

Теперь об опциях.

`-f` --- выводит информацию о файловой системе, в которой хранится файл. Пример:

{{{
  File: "/home/students/y22/bakhsv/term1/genome/GCF_000940995.1_ASM94099v1_genomic.fna"
    ID: fe0900000000 Namelen: 255     Type: xfs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 131008000  Free: 49144277   Available: 49144277
Inodes: Total: 262144000  Free: 259888367
}}}

`--cashed MODE`, где вместо `MODE` может быть `always`, `never` или `default`. Определяет, будет ли информация о кэшируемых атрибутах файла браться из кэша (`always`) или нет (`never`). C `default`, видимо, выбирает сам. Во-первых, я не знаю, какие из атрибутов файла кэшируются, во-вторых, я не думаю, что буду пользоваться этой опцией на практике.

`-c FORMAT` --- позволяет изменить формат вывода. Вместо `FORMAT` нужно ввести некоторый текст (если в нем есть пробелы --- текст в кавычках); вывод команды будет содержать этот текст, в котором определенные сочетания символов будут заменены на информацию о файле. Пример

{{{
stat -c "%F, some text, %s" ~/term1/genome/*.fna
}}}

{{{
regular file, some text, 5983446
}}}

`%F` заменяется на тип файла, `%s` --- на вес в байтах. Все возможные варианты перечислены в справке.

`-L` --- я не понял, что делает. Для этого примера вывод не отличается от вывода команды без указания опций.

Остальные опции неинтересные.

P.S. Ах да, ощущения. Ощущения волшебные --- понемногу начинаешь чувствовать себя человеком.