Архив рубрики: Публикации

Команда tar в Linux -полная инструкция по распаковке



























Rate this post

Linux команда tar — архив, который используется большим количеством системных администраторов Linux/Unix для работы с накопителями для резервного копирования. Команды tar используются для копирования файлов и каталогов в файл сжатого архива, обычно называемый tarball или tar, gzip и bzip

Что такое команда Tar?

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

Tar поддерживает широкий спектр программ сжатия , таких как gzip, bzip2, lzip, lzma, lzop, xzи compress. При создании сжатых tar-архивов принято считать добавление суффикса компрессора к имени файла архива. Например, если архив был сжат с помощью gzip, он должен быть назван archive.tar.gz.

Tar был первоначально разработан для создания архивов при хранения файлов на магнитной ленте, поэтому он имеет свое название « T ape AR chive».

Существуют две версии tar, BSD tar и GNU tar с некоторыми функциональными отличиями. Большинство систем Linux поставляются с предустановленной GNU tar по умолчанию. Если у вас не установлен tar, рекомендуем сначало установить его следую нашей статьи как установить tar.gz в CentOS.

Что такое файлы TAR?

Аббревиатура tar предназначена для иллюстрации того, что отдельные файлы GZIP были сжаты настолько широко и максимально плотно, насколько это возможно. Упакованный файл может заканчиваться на .tar.gz и .tar.bz2. Иногда используется двойное окончание – .tar.gz. ZIP, который был разработан для слияния и сжатия, но оказался более мощным и поэтому в значительной степени подавляет файл .tar.

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

Расширения в формате .tar в основном предназначены для операционной системы Linux. В мире Windows они довольно необычны и редко встречаются. По этой причине система не может открыть эти файлы без дополнительного программного обеспечения.

Что такое tar.gz?

Tar.gz – это архив созданный программой Tar, и после этого заархивированный программой Gzip. Такая двойная архивация обусловлена тем, что программа Gzip сжимает хорошо и быстро, но делает это только с одним файлом. Поэтому чтобы запаковать несколько файлов, для начала из них создается один tar-архив, а после этого он уже пакуется программой Gzip. Причем стоит отметить, что первичный архив tar практически не сжимает информацию, а лишь объединяет ее в один файл. В конечном варианте мы получаем архив с двойным расширением filename.tar.gz или filename.tgz

Где используют эти архивы tar.gz?

Как правило их используют для создания резервной копии сайта на хостинге под управлением UnixLinux.

Программы, которые поддерживают TAR расширение файла

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

Синтаксис и опции команды tar

У утилиты tar следующий синтаксис:

tar [опции] название_архива файлы_для_архива

Например, с помощью команды:

$ tar -cf etc.tar /etc

можно сделать копию  каталога /etc в архив etc.tar. Приведённый пример демонстрирует распространённый случай резервного копирования с помощью команды tar. Здесь опция -c означает создание (create) архива, -f – вывод результатов в файл. Во второй части команды, которая принимает на свой вход выходной поток от tar -cf опция -x (extract) указывает tar, что нужно извлекать содержимое архива, -p – сохранять информацию о режимах доступа к файлам. Есть ещё опция -b, позволяющая задавать коэффициент объединения блоков, который полезен при записи на ленточные устройства. Это в некоторых случаях позволяет добиться большей производительности. Оптимальным считается значение 20, однако, поэкспериментировав, можно найти и лучший вариант для конкретных условий. Опция -v позволяет выводить подробную информацию о ходе работы команды.

Синтаксис для распаковки:

tar [опции] архив

Например команда

$ tar xfv archive.tar

Распакует archive.tar в текущую директорию, что бы задать директорию куда нужно распаковать архив используйте ключ -с. Например

$ tar xfv archive.tar -с /var

Ниже представлен основной список ключей команды tar

-A, —catenate, —concatenate присоединение tar-файловк архиву

-c, —create создание нового архива

-d, —diff, —compare поиск различий между архивом и файловой системой

—delete удаление из архива (не на магнитных лентах!)

-r, —append добавление файлов в конец архива

-t, —list вывод списка содержимого архива

—test-label проверка метки тома архива и выход

-u, —update добавление в архив только более новых файлов

-x, —extract, —get извлечение файлов из архива

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

Примеры

Все примеры можно разделить на три группы: создание; просмотр; распаковка.

Рекомендуется тщательно изучить примеры использования команды для ОС Линукс. Они позволят быстро справиться с поставленной задачей.

Описание ключей tar

Команды для действия

КлючОписание











-AДобавление файлов в архив.
-cСоздание нового архивного файла.
-dПоказать отличающиеся данные между каталогом-исходником и содержимым архива.
–deleteУдалить файлы внутри архива.
-rДобавить файлы в конец архива.
-tПоказать содержимое архива.
-uДобавить файлы, которых нет в архиве.
-xИзвлечь файлы из архива.

* нельзя использовать несколько вышеперечисленных ключей в одной команде.

Дополнительные опции

КлючОписание



































–atime-preserveОставить прежнюю метку времени доступа для файла.
-b NЗадать размер блока N x 512.
-CСмена каталога. По умолчанию, используется тот, в котором мы находимся.
–checkpointПоказать имена папок при чтении архивного файла.
-GИспользование старого формата инкрементального резервирования при отображении или извлечения.
-gИспользование нового формата инкрементального резервирования при отображении или извлечения.
-hНе дублировать символьные ссылки. Только файлы, на которые указывают эти симлинки.
-iИгнорировать блоки нулей.
-jИспользование bzip2.
–ignore-failed-readИгнорировать не читаемые файлы.
-kПри распаковке, существующие файлы не заменяются соответствующими файлами из архива.
-L NСмена магнитной ленты после N*1024 байт.
-mПри извлечении игнорировать время модификации объекта.
-MМноготомные архивы.
-N DATEСохранять только более новые файлы относительно DATE
-OНаправление извлекаемого на стандартный вывод.
-pИзвлечение защищенной информации.
-PНе отбрасывает начальный слэш (/) из имен.
-sСортировка файлов при извлечении.
–preserveАналогично -ps
–remove-filesУдалить исходные файлы после добавления в архив.
–same-ownerСохранить владельца при извлечении.
–totalsВывод байт при создании архива.
-vПротоколирование действий — отображение списка объектов, над которыми происходит действие.
-V NAMEСоздание архива на томе с меткой NAME.
–versionПоказать версию tar.
-wТребовать подтверждения для каждого действия.
-WПроверка архива после записи.
–exclude FILEИсключить файл FILE.
-X FILEИсключить файлы FILE.
-ZФильтрует архив с помощью compress.
-zИспользование gzip.

* актуальный список опций можно получить командой man tar.

Как использовать Tar в Linux

Давайте узнаем, какие основные операции вы можете выполнять с помощью tar. Но прежде чем мы начнём, вам нужно будет подключиться к вашему VPS-серверу по SSH. Вот руководство, которое вам поможет.

Работа с архивами при помощи утилиты TAR

Стандартная утилита для создания архивов в linux  – “tar”. Синтаксис команды такой:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar опции имя_файла_архива файл_для_архивации




1tar опции имя_файла_архива файл_для_архивации

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

  • c – создание нового архива
  • f – имя файла для архива
  • r – добавление файлов в конец архива
  • x – извлечение файлов из архива
  • t – вывод списка содержимого архива
  • v – вывод сведений о работе программы
  • -C – распаковать в указанную папку

Например. У меня есть папка “Test” и я хочу создать архив tar. Для этого нужно дать команду:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar cf Test.tar Test




1tar cf Test.tar Test

Для того, что бы увидеть работу программы можно использовать опцию “v”. Будет выведено какие файлы и папки добавлены в архив. Например:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar cvf Test.tar Test




1tar cvf Test.tar Test

Создание архива tar с опцией -v

Теперь давайте рассмотрим как добавить файл или папку в уже созданный архив.  Для этого нужно использовать опцию “r”. Пример. Добавить файл “file.txt” в архив “Test.tar”. Используем команду:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar rf Test.tar file.txt




1tar rf Test.tar file.txt

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

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar -tf Test.tar




1tar -tf Test.tar

Будет отображено содержимое архива “Test”. Теперь давайте рассмотрим как распаковать архив tar. Для этого дайте команду:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar xf Test.tar




1tar xf Test.tar

Архив будет распакован в текущую папку. Как быть если нужно распаковать не весь архив а извлечь только нужный файл. Допустим я хочу извлечь файл “file.txt”. Для этого нужно дать команду:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar xf Test.tar Test/file.txt




1tar xf Test.tar Test/file.txt

Для того, чтобы извлечь архив в другой каталог используйте атрибут “-C”. Например требуется распаковать архив в папку “Driver” находящуюся в директории “Zhelezo”. Выполню команду:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar xf Test.tar -C Zhelezo/Driver/




1tar xf Test.tar -C Zhelezo/Driver/

Думаю с архивированием и разархивированием файлов и папок в линукс без сжатия все понятно.

Как установить, создать архив Tar и распаковать его в Windows

Чтобы использовать Tar в Windows, нужно воспользоваться одним из следующих вариантов:

  1. Установить Far Manager.

    Инструкция по созданию и распаковке архива .tar с помощью Far Manager:

    • Теперь просто выделяете ПКМ (правой кнопкой мыши) или кнопкой клавиатуры Insert нужные вам файлы и папки и жмёте Shift + F1, затем выбираете нужный формат (в нашем случае, TAR) и создаёте архив:

      Создание архива в Far Manager

      Создание архива в Far Manager

      При желании, в поле Добавить к архиву можно изменить название архива, а в поле Ключи можно ввести пароль от него.

    • Чтобы распаковать архив Tar, просто выделяете ПКМ или Insert нужный архив и жмёте Shift + F2

      Как распаковать Tar в Far Manager

      Как распаковать Tar в Far Manager

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

  2. Также, можно обойтись без Far Manager, установив 7-Zip

    Скачать 7-zip архиватор

Как открыть файл TAR?

Отсутствие возможности открывать файлы с расширением TAR может иметь различное происхождение. С другой стороны, наиболее часто встречающиеся проблемы, связанные с файлами Consolidated Unix Format Archive, не являются сложными. В большинстве случаев они могут быть решены быстро и эффективно без помощи специалиста. Мы подготовили список, который поможет вам решить ваши проблемы с файлами TAR.

Шаг 1. Получить WinZip

Основная и наиболее частая причина, препятствующая открытию пользователями файлов TAR, заключается в том, что в системе пользователя не установлена программа, которая может обрабатывать файлы TAR. Эта проблема может быть решена путем загрузки и установки # РЕКОМЕНДОВАННОЙ # или другой совместимой программы, такой как ALZip, WinAce, PeaZip. Выше вы найдете полный список программ, которые поддерживают TAR файлы, классифицированные в соответствии с системными платформами, для которых они доступны. Если вы хотите загрузить установщик WinZip наиболее безопасным способом, мы рекомендуем вам посетить сайт WinZip Computing, S.L. и загрузить его из официальных репозиториев.

Шаг 2. Проверьте версию WinZip и обновите при необходимости

Вы по-прежнему не можете получить доступ к файлам TAR, хотя WinZip установлен в вашей системе? Убедитесь, что программное обеспечение обновлено. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Если у вас установлена более старая версия WinZip, она может не поддерживать формат TAR. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью WinZip.

Шаг 3. Свяжите файлы Consolidated Unix Format Archive с WinZip

Если у вас установлена последняя версия WinZip и проблема сохраняется, выберите ее в качестве программы по умолчанию, которая будет использоваться для управления TAR на вашем устройстве. Метод довольно прост и мало меняется в разных операционных системах.

Выбор приложения первого выбора в Windows

  • Выберите пункт Открыть с помощью в меню «Файл», к которому можно щелкнуть правой кнопкой мыши файл TAR.
  • Нажмите Выбрать другое приложение и затем выберите опцию Еще приложения
  • Последний шаг – выбрать опцию Найти другое приложение на этом… указать путь к папке, в которой установлен WinZip. Теперь осталось только подтвердить свой выбор, выбрав Всегда использовать это приложение для открытия TAR файлы и нажав ОК .

Выбор приложения первого выбора в Mac OS

  • Нажав правую кнопку мыши на выбранном файле TAR, откройте меню файла и выберите Информация.
  • Перейдите к разделу Открыть с помощью . Если он закрыт, щелкните заголовок, чтобы получить доступ к доступным параметрам.
  • Выберите WinZip и нажмите Изменить для всех …
  • Если вы выполнили предыдущие шаги, должно появиться сообщение: Это изменение будет применено ко всем файлам с расширением TAR. Затем нажмите кнопку Вперед», чтобы завершить процесс.

Шаг 4. Убедитесь, что файл TAR заполнен и не содержит ошибок

Если проблема по-прежнему возникает после выполнения шагов 1-3, проверьте, является ли файл TAR действительным. Отсутствие доступа к файлу может быть связано с различными проблемами.

Просмотр архивов

Откроем newarhiv.tar для просмотра. Для этого, необходимо использовать аргумент “-t”.

tar -tvf /root/catalog/newarhiv.tar

Просмотр сжатого документа

 Просмотр tar.gz

Откроем oldfile.tar.gz для просмотра. Синтаксис команды тот же, что и при открытии простого “.tar”.

tar -tvf oldfile.tar.gz

Просмотр gz

Просмотр bz2

Откроем документ oldfile.tar.bz2.

tar -tvf oldfile.tar.bz2

Подготовка файлов программы

Для начала нужно снова оказаться в одной папке с распакованными файлами. Для этого используется команда cd с указанием необходимого каталога – hello-2.10. Теперь в самой папке нужно выполнить команду ./configure –help. Она выдаст подсказки по тому, как именно необходимо устанавливать программу. В большинстве случаев достаточно простого введения ./configure. Однако у пользователя может не хватить прав доступа для установки в каталог по умолчанию, которым является /usr/local. Поэтому нужно указать, что приложение должно установиться в домашнюю папку системы. Общая команда выглядит в итоге так:

./configure –prefix=$HOME

В результате её выполнения система проверит все зависимости и выдаст в конце несколько строк об успешном создании файлов.

Как запаковать архив tar.gz и tar.bz2 в Ubuntu, Debian, CentOS

tar cfvz archive.tar.gz *.php

где tar — команда, cfvz — ключи, archive.tar.gz — имя будущего архива, *.php — список файлов, которые нужно заархивировать.

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

tar cfvz archive.tar.gz /forpack

Теперь подробнее про ключи

  • -с — команда, которая означает «создать архив»
  • -f — команда на упаковку файлов и директорий в один файл архива
  • -v — включает визуальное отображение процесса архивации
  • -z — использовать для сжатия GZip

Также, можно использовать для сжатия BZip2. Для этого нужно использовать ключ -j вместо -z.

В этом случае, команда для запаковки tar.bz2 будет выглядеть так

tar cfvj archive.tar.bz2 /forpack

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

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

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

tar cfvz wp-content.tgz wp-content –exclude=wp-content/updraft –exclude=wp-content/uploads –exclude=wp-content/cache

Тут мы запаковываем каталог /wp-content/ на WordPress, исключая раздел Updraftwp-content/updraft, раздел Загрузкиwp-content/uploads и Кешwp-content/cache.

Важный момент — чтобы исключить ошибки, не указывайте слеш / в конце пути исключаемого каталога.

Творение tar-архива без сжатия в Linux

Для создания такого архива используется команда:

tar -cf filename.tar file1 file2 fileN

Метеопараметр —cf отвечает за создание архива filename.tar, в который войдут указанные файлы. Вместо файлов смогут быть указаны и директории.

Создание архива с использованием сжатия в Linux

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

Образчик сжатия Gzip:

tar -cvzf filename.tar.gz dir_name

В данном случае мы попытались запаковать папку dir_name в картотека filename.tar.gz. Из указанных параметров -z указывает на использование метода Gzip, а -v выводит результаты процесса творения архива с указанием упакованных файлов или папок.

Распаковка tar.xz файл в Linux

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

Инструмент сжатия XZ доступен через пакет XZ-utils в большинстве дистрибутивов Linux. В большинстве случаев вы уже будете иметь утилиту XZ установленную по умолчанию.

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

В Debian или Ubuntu вы можете установить xz-utils с помощью следующей команды:

sudo apt install xz-utils

Если у вас есть поддержка сжатия xz в вашем дистрибутиве Linux, вы можете извлечь файл tar.xz с помощью стандартной команды tar:

tar -xf file.tar.xz

Здесь:

  • -x означает извлечь архивный файл
  • -f означает следующее имя архивного файла

Зачем вам нужно было указать х (извлечение) здесь? Потому что tar также может быть использован для создания (сжатия) файлов.

Поэтому вам нужно указать, какую операцию вы выполняете с помощью команды tar, сжатия (c) или извлечения (x).

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

Распаковать в определенную папку

tar -C /home/user -xvf archive.tar.gz

* ключ -C используется для указания папки, куда необходимо распаковать файлы из архива.

Распаковка без вложенной папки

Такой способ можно использовать для распаковки в заранее подготовленный каталог. Будет некий эффект переименовывания каталога или аналог «Распаковать здесь»:

tar -C /home/admin/mytar -xvf admin.tar.gz –strip-components 1

* каталог /home/admin/mytar заранее должен быть создан; –strip-components 1 пропустит одну вложенную папку внутри архива.

Распаковка архива tar.xz

Для примера распакуем созданный ранее архив папки Test. Для этого нужно дать команду:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> tar xf Test.tar.xz




1tar xf Test.tar.xz

  • x – извлечь файлы
  • f – имя файла архива

На этом с архивами формата xz разобрались.

Распаковка zip-архива в Linux

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

Читайте также:  Flameshot программа для создания скриншотов в Linuxunzip. Например, что бы распаковать архив с именем “archive.zip” дайте команду:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> unzip archive.zip




1unzip archive.zip

Файлы будут распакованы в текущую директорию. Если требуется распаковать в другую папку то нужно использовать параметр -d . Например. Нужно распаковать архив “archive.zip” в папку с названием “1” находящуюся в папке “Документы”. Для этого даем команду:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> unzip -d ~/Документы/1 archive.zip




1unzip -d ~/Документы/1 archive.zip

Для распаковки зашифрованных архивов на которые был установлен пароль будет выдан запрос на ввод пароля а затем нужно подтвердить указав английскую букву “y”.

Распаковка zip архива с паролем

Распаковка RAR в Linux

Для распаковки “RAR” архивов в Linux используется утилиты unrar-free свободное программное обеспечение и unrar . По умолчанию онb не устанавливаются. Для инсталляции используйте команду:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> sudo apt install unrar-free




1sudo apt install unrar-free

Либо установите несвободную утилиту командой:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> sudo apt install unrar




1sudo apt install unrar

Программа unrar-free не всегда может распаковать некоторые архивы RAR 3.0. Для распаковки таких архивов потребуется unrar. Но, чтобы установить несвободные программы у вас должен быть подключен репозиторий non-free. В этой статье я рассказал как подключать репозитории.

Рассмотрим как работать с утилитой unrar-free.

Для просмотра файлов в архиве используется ключ -t. Например:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> unrar –t archive.rar




1unrar –t archive.rar

Для извлечения файлов из архива rar используйте команду unrar с ключом -x . Например, что бы распаковать архив “archive.rar” используйте команду:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> unrar -x archive.rar




1unrar -x archive.rar

Рассмотри работу с утилитой unrar:

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

  • e – извлечь файлы в текущий каталог;
  • l – cписок содержимого архива;
  • p – вывести файл на стандартный вывод;
  • t – протестировать архив;
  • v – вывести информация об архиве;
  • x – извлечь файлы с полным путем

Пример. Извлечем каталог archive.rar, для этого выполним команду:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> unrar e archive.rar




1unrar e archive.rar

файлы будут распакованы в ту папку в которой находитесь.

Более полную информацию по работе программ всегда можно получить указав в терминале:

<текстареа wrap=”soft” class=”crayon-plain print-no” data-settings=”” readonly=”” style=”-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 16px !important; line-height: 27px !important;”> имя программы –help

Работа со сжатыми архивами

Следует помнить, что tar только создаёт архив, но не сжимает. Для этого используются упомянутые компрессорные утилиты bzip2 и gzip. Файлы, сжатые с их помощью, имеют соответствующие расширения .tar.bz2 и .tar.gz. Чтобы создать сжатый архив с помощью bzip2, введите:

tar -cjvf archive.tar.bz2 file1 file2 file3

Сжатие в bz2

Синтаксис для gzip отличается одной буквой в параметрах, и меняется окончание расширения архива:

tar -czvf archive.tar.gz file1 file2 file3

Сжатие в gz

При распаковке tar-архивов с таким расширением следует указывать соответствующую опцию:

tar -C “Test” -xjvf arhive.tar.bz2

Распаковка bz2

или:

tar -xzvf archive.tar.gz

Распаковка gz

На заметку: архиватор tar — одна из немногих утилит в GNU/Linux, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.

Как вывести список содержимого архива в Linux

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

tar -tvf primerArhiva.tar

Команда выведет полный список файлов с отметками времени и разрешениями. Используйте аналогичную команду для .tar.gz:

tar -tvf primerArhiva.tar.gz

Такой вариант подходит и для файлов .tar.bz2:

tar -tvf primerArhiva.tar.bz2

Как извлечь только один файл из архива .tar

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

tar -xvf primerArhiva.tar primer.sh

Здесь primer.sh — это тот единственный файл, который будет извлечён из primerArhiva.tar. В качестве альтернативы вы также можете использовать следующую команду:

tar –extract –file= primerArhiva.tar primer.sh

Чтобы извлечь только один файл из .tar.gz, вы можете использовать команду, аналогичную показанной ниже:

tar -zxvf primerArhiva.tar.gz primer.sh

Или аналогичную команду:

tar –extract –file= primerArhiva.tar.gz primer.sh

Чтобы извлечь один файл из .tar.bz2, воспользуйтесь командой:

tar -jxvf primerArhiva.tar.bz2 primer.sh

Или аналогичную команду:

tar –extract –file= primerArhiva.tar.bz2 primer.sh

Как видите, команда tar имеет довольно гибкий синтаксис.

Как извлечь несколько файлов из архивов .tar

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

tar -xvf primerArhiva.tar “file1” “file2”

Соответственно для .tar.gz команда будет выглядеть так:

tar -zxvf primerArhiva.tar.gz “file1” “file2”

Для .tar.bz2:

tar -jxvf primerArhiva.tar.bz2 “file1” “file2”

Добавление файлов в существующий архив

Чтобы добавить файлы или каталоги в существующий архив tar, используйте операцию –append( -r).

Например, чтобы добавить файл с именем newfile в archive.tar, вы можете использовать:

tar -rvf archive.tar newfilе

Как проверить архив .tar в Linux

Используя tar, вы также можете проверить целостность созданного архива. Вот один из способов, как это можно сделать:

tar -tvf primerArhiva.tar

Данная команда не применима к файлам .tar.gz или .tar.bz2.

Как проверить размер архива в Linux

Вы также можете проверить размер созданного архива. Размер будет указан в КБ (килобайтах).

Ниже приведены примеры команды с разными архивными файлами:

tar -czf – primerArhiva.tar | wc -ctar -czf – primerArhiva.tar.gz | wc -ctar -czf – primerArhiva.tar.bz2 | wc -c

Удаление файлов из tar-архива

Используйте операцию –delete для удаления файлов из архива.

Например, чтобы удалить файл с именем file1 из archive.tar, вы можете использовать:

tar –delete -f archive.tar file1

Примеры

gz

Распаковка .gz файла:

tar -xvf archive.tar.gz

* при возникновении ошибки This does not look like a tar archive, можно воспользоваться командой gzip -d archive.tar.gz.

bz2

tar -xvjf archive.tar.bz2

* ключ j отвечает за работу с bz2.

Если система ругается на bzip2, значит нужно его установить:

yum install bzip2

apt-get install bzip2

pkg install bzip2

* соответственно, для CentOS (RPM based), Ubuntu (deb based), FreeBSD (BSD based).

Если видим ошибку tar: Unrecognized archive format, воспользуемся следующей командой:

bzip2 -d archive.tar.bz2

gzip

tar -xvzf archive.tar.gzip

* ключ z отвечает за работу с gzip.

tgz

Распаковывается, как gzip:

tar -xvzf archive.tgz

Основные команды gzip

Программу gzip тоже можно использовать отдельно, для сжатия или распаковки файлов. Чтобы создать архив, нужно выполнить команду gzip имя_файла. И наоборот, для распаковки — gunzip имя_файла.gz.

Помимо стандартных команд, имеются и ключи, которые расширяют функционал программы. Основные выглядят так:

  • -h. Использование данного ключа приведёт к выводу списка доступных опций и команд;
  • -q. Блокирует все появляющиеся во время работы сообщения;
  • -t. Данный ключ проверяет архив на целостность;
  • -fast и -best. Эти два ключа управляют скоростью создания архива. best — наилучшее качество сжатия, но медленнее. Fast — наоборот, очень быстро, но с меньшим процентом архивирования.

Выводы

В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip.


[spoiler title=”Источники”]

  • https://andreyex.ru/operacionnaya-sistema-linux/sozdanie-i-izvlechenie-arhivov-s-pomoshhyu-komandy-tar-v-linux/
  • https://windowsrar.ru/tar
  • https://ru.hostings.info/termins/targz.html
  • https://www.file-extension.info/ru/format/tar
  • https://ITProffi.ru/rezervnoe-kopirovanie-v-linux-komanda-tar/
  • https://www.vseprolinux.ru/tar
  • https://www.dmosk.ru/miniinstruktions.php?mini=tar-unix
  • https://www.hostinger.ru/rukovodstva/komanda-tar-linux/
  • https://chuzhoy007.ru/kak-sozdat-arxiv-v-linux
  • https://sheensay.ru/tar
  • https://FB.ru/article/316621/programmyi-s-rasshireniem-tar-gz-kak-ustanovit-poshagovaya-instruktsiya-i-rekomendatsii
  • https://www.linux16.ru/articles/kak-v-linux-raspakovat-tar-gz.html
  • https://andreyex.ru/linux/komandy-linux-i-komandy-shell/kak-izvlech-ili-raspakovat-fajl-tar-xz-v-linux/
  • https://losst.ru/komanda-tar-v-linux


[/spoiler]


2020-12-22T10:34:30
Linux

Команда find в Linux: примеры использования программы find с параметром exec



























4.5/5 — (2 голоса)

Команда find в Linux – Это команда для поиска файлов и каталогов на основе специальных условий. Find – это одна из наиболее важных и часто используемых утилит системы Linux.

Основная информация о Find

Find – это одна из наиболее важных и часто используемых утилит системы Linux. Это команда для поиска файлов и каталогов на основе специальных условий. Ее можно использовать в различных обстоятельствах, например, для поиска файлов по разрешениям, владельцам, группам, типу, размеру и другим подобным критериям.

Утилита предустановлена по умолчанию во всех Linux дистрибутивах, поэтому вам не нужно будет устанавливать никаких дополнительных пакетов. Это очень важная находка для тех, кто хочет использовать командную строку наиболее эффективно.

Команда find имеет такой синтаксис:

find [папка] [параметры]критерийшаблон [действие]

Папка– каталог в котором будем искать

Параметры– дополнительные параметры, например, глубина поиска, и т д

Критерий– по какому критерию будем искать: имя, дата создания, права, владелец и т д.

Шаблон – непосредственно значение по которому будем отбирать файлы.

Основные параметры команды find

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

  • -P никогда не открывать символические ссылки
  • -L – получает информацию о файлах по символическим ссылкам. Важно для дальнейшей обработки, чтобы обрабатывалась не ссылка, а сам файл.
  • -maxdepth – максимальная глубина поиска по подкаталогам, для поиска только в текущем каталоге установите 1.
  • -depth – искать сначала в текущем каталоге, а потом в подкаталогах
  • -mount искать файлы только в этой файловой системе.
  • -version – показать версию утилиты find
  • -print – выводить полные имена файлов
  • -type f – искать только файлы
  • -type d – поиск папки в Linux

Синтаксис и параметры команды Find

  • /v – Выводит все строки, не содержащие строку, заданную параметром строка.

  • /c – Подсчет строк, содержащих строку, указанную параметром строка, и отображение общего количества.

  • /n – Выводит номера строк перед самими строками.

  • /i – Задает поиск без различия строчных и заглавных букв.

  • “строка_поиска” – Обязательный параметр. Указывает группу символов, поиск которой будет производиться. Необходимо заключить параметр строка в кавычки (“строка”).

  • [диск:][путь] ИмяФайла – Задает местоположение и имя файла, в котором будет производиться поиск заданной строки символов.

  • /? – Отображение справки в командной строке.

Путь

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

Опции

Опции команды find указываются, начиная с символа «-», за которым следует название опции. Рассмотрим основные опции.








-depth (или -d)Поиск в подкаталогах перед поиском в самом каталоге.
-LПри поиске следовать по символическим ссылкам.
-maxdepth NПри поиске проверять не более чем N вложенных уровней каталогов.
-mindepth NНе проверять вложенные каталоги уровня N и меньше.
-mountНе искать в каталогах других файловых систем.

2.1.1. Опция -name

При работе с командой find чаще всего используется опция -name. После нее в кавычках должен быть указан шаблон имени файла.

Если необходимо найти все файлы с расширением .txt в вашем начальном каталоге, укажите символ в качестве путевого имени. Имя начального каталога будет извлечено из переменной $HOME.

$ find ~ -name «*.txt» -print

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

$ find . -name «*.txt» -print

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

$ find . -name «[A-Z]*» -print

Найти в каталоге /etc файлы, имена которых начинаются с символов «host«, позволяет команда

$ find /etc -name «hoat*» -print

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

$ find ~ -name «*.txt» -print -о -name «.*» -print

Опция -о является обозначением операции логического ИЛИ. В случае ее применения помимо файлов с обычными именами будут найдены файлы, имена которых начинаются с точки.

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

$ find / -name «*» -print

Ниже показано, как найти все файлы, в именах которых сначала следуют символы нижнего регистра, а за ними — две цифры и расширение .txt (например, ах37.xt):

$ find . -name » [а-х] [а-х] [0—9] [0—9] . txt» -print

2.1.2. Опция -perm

Опция -perm позволяет находить файлы с заданным режимом доступа. Например, для поиска файлов с режимом доступа 755 (их может просматривать и выполнять любой пользователь, но только владелец имеет право осуществлять запись) следует воспользоваться такой командой:

$ find . -perm 755 -print

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

$ find . -perm -007 -print

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

2.1.3. Опция -prune

Когда вы не хотите вести поиск в том или ином каталоге, воспользуйтесь опцией -prune. Она служит указанием остановить поиск на текущем путевом имени. Если путевое имя указывает на каталог, команда find не будет заходить в него. При наличии опции -depth опция -prune игнорируется.

Следующая команда проводит поиск в текущем каталоге, не заходя в подкаталог /bin:

$ find . -name «bin» -prune -о -print

2.1.4. Опции -user и —nouser

Чтобы найти файлы, принадлежащие определенному пользователю, укажите в команде find опцию -user, а также имя пользователя. Например, поиск в начальном каталоге файлов, принадлежащих пользователю dave, осуществляется посредством такой команды:

$ find ~ -user dave -print

Поиск в каталоге /etc файлов, принадлежащих пользователю uucp, выполняет следующая команда:

$ find /etc -uaer uucp -print

Благодаря опции -nouser возможен поиск файлов, принадлежащих несуществующим пользователям. При ее использовании производится поиск файлов, для владельцев которых нет записи в файле /etc/passwd. Конкретное имя пользователя указывать не нужно: команда find выполняет всю необходимую работу сама. Чтобы найти все файлы, которые принадлежат несуществующим пользователям и находятся в каталоге /home, задайте вот такую команду:

$ find /home -nouaer -print

2.1.5. Опции -group и -nogroup

Опции -group и -nogroup аналогичны опциям -user-nouser/apps всех файлов, которыми владеют пользователи группы accts:

$ find /арра -group accta -print

Следующая команда ищет во всей системе файлы, принадлежащие несуществующим группам:

$ find / -nogroup -print

2.1.6. Опция -mtime

Опцию -mtime следует применять при поиске файлов, доступ к которым осуществлялся х дней назад. Если аргумент опции снабдить знаком ‘-‘, будут отобраны файлы, к которым не было доступа в течение х дней. Аргумент со знаком ‘+’ приводит к противоположному результату — производится отбор файлов, доступ к которым осуществлялся на протяжении последних х дней.

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

$ find / -mtime -5 -print

Ниже приведена команда, выполняющая поиск в каталоге /var/adm файлов, которые обновлялись в течение последних трех дней:

$ find /var/adm -mtime +3 -print

2.1.7. Опция -newer

Если необходимо найти файлы, доступ к которым осуществлялся в промежутке времени между обновлениями двух заданных файлов, воспользуйтесь опцией -newer. Общий формат ее применения таков:

-newer старый_файл ! -newer новый_файл

Знак ‘!‘ является оператором логического отрицания. Он означает: найти файлы, которые новее, чем старый_файл, но старее, чем новый_файл.

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

-rwxr-xr-x 1 root    root    92 Apr 18 11:18 age.awk

-rwxrwxr-x 1 root    root    1054 Apr 20 19:37 belts.awk

Для нахождения всех файлов, которые обновлялись позже, чем age.awk, но раньше, чем belts.awk, выполните следующую команду (применение опции -exec описано чуть ниже):

$ find . -newer age.awk ! -newer belts.awk -exec Is -1 {} ;

-rwxrwxr-x 1 root    root    62 Apr 18 11:32 ./who.awk

-rwxrwxr-x 1 root    root    49 Apr 18 12:05 ./group.awk

-rw-r—r— 1 root    root    201 Apr 20 19:30 ./grade2.txt

-rwxrwxr-x 1 root    root    1054 Apr 20 19:37 ./belts.awk

Но как быть, если необходимо найти файлы, созданные, скажем, в течение последних двух часов, а у вас нет файла, сформированного ровно два часа назад, с которым можно было бы сравнивать? Создайте такой файл! Для этой цели предназначена команда touch -t, которая создает файл с заданной временной меткой в формате ММДЦччмм (месяц-день-часы-минуты). Например:

$ touch -t 05042140 dstamp

$ ls -1 dstamp

-rw-r—r— 1 dave    admin    0 May 4 21:40 dstamp

В результате будет получен файл, дата создания которого — 4 мая, время создания —21:40 (предполагается, что текущее время — 23:40). Теперь можно применить команду find с опцией -newer для нахождения всех файлов, которые обновлялись в течение последних двух часов:

$ find . -newer datamp -print

2.1.8. Опция -type

Операционные системы UNIX и Linux поддерживают различные типы файлов. Поиск файлов нужного типа осуществляется посредством команды, find с опцией -type. Например, для нахождения всех подкаталогов в каталоге /etc воспользуйтесь такой командой:

$ find /etc -type d -print

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

$ find . ! -type d -print

Ниже приведена команда, которая предназначена для поиска всех символических ссылок в каталоге /etc.

$ find /etc -type 1 -print

2.1.9. Опция -size

В процессе поиска размер файла указывается с помощью опции -size N, где N — размер файла в блоках по 512 байтов. Возможные аргументы имеют следующие значения: +N — поиск файлов, размер которых больше заданного, -N — меньше заданного, N — равен заданному. Если в аргументе дополнительно указан символ с, то размер считается заданным в байтах, а не в блоках, а если символ k — в килобайтах. Для поиска файлов, размер которых превышает 1 Мб, предназначена команда

$ find . -aize -flOOOk -print

Следующая команда выполняет поиск в каталоге /home/apache файлов, размер которых в точности равен 100 байтам:

$ find /home/apache -sixe 100с -print

Произвести поиск файлов, размер которых превышает 10 блоков (5120 байтов), позволяет приведенная ниже команда:

$ find . -size +10 -print

2.1.10. Опция Опция -depth

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

Следующая команда выводит список всех файлов и подкаталогов текущего каталога:

$ find . -name «*» -print -о -name «.*» -print -depth

Вот как могут выглядеть результаты ее работы:

./.Xdefaults ./.bash_logout ./.bash_profile ./.bashrc ./.bash_nistory ./file ./Dir/filel ./Dir/file2 ./Dir/file3 ./Dir/Subdir/file4 ./Dir/Subdir ./Dir

2.1.11. Опция -mount

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

$ find / -name «*.ХС» -mount -print

Критерии поиска

У команды find может быть несколько критериев поиска (их также называют tests). Каждый критерий представляет собой определенное условие проверки, которое возвращает либо true либо false. Это можно сравнить с условиями оператора if в программировании. В процессе обработки очередного файла команда find по очереди проверяет каждый критерий, и если очередной критерий возвращает false, тогда команда find переходит к следующему файлу. Критериев у команды find довольно много, мы рассмотрим только некоторые из них.










-atime NПоследний раз к файлу обращались N дней назад.
-mtime NПоследнее изменение файла было N дней назад.
-name шаблонИмя файла (шаблон имени) без указания пути. Рекомендуется всегда заключать шаблон в кавычки.
-newer другой_файлФайл был изменен позже, чем другой_файл.
-size [±]N[cwbkMG]Размер файла равен N блокам, если указано +N, тогда размер файла больше N, -N — меньше. Символ после N означает размер блока. b — 512 байт, с — байт, w — 2 байта, k — килобайт, M — мегабайт, G — гигабайт.
-type CФайл типа C. Наиболее часто используемые значения для С: d — каталог, f — файл.
-user Имя_пользователяФайл принадлежит пользователю с именем Имя_пользователя.

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

Найти в текущем каталоге обычные файлы (не каталоги), имя которых начинается с символа «~».

find . -type f -name “~*” -print

Найти в текущем каталоге файлы, измененные позже, чем файл file.bak.

find . -newer file.bak -type f -print

Операторы

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

Короткая форма оператораДлинная формаОписание






! критерий-notОтрицание (возвращает true, если критерийfalse)
критерий1-a критерий2-andОператор И (true, если критерий1 и критерий2true)
критерий1-o критерий2-orОператор ИЛИ (true, если критерий1 или критерий2true)

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

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

Найти в текущем каталоге файлы, начинающиеся с символа «~» или c «temp» и являющиеся именно обычными файлами (-type f), а не каталогами.

find . ( -name “~*” -or -name “temp*” ) -type f -print

Найти в текущем каталоге (не обрабатывая подкаталоги — -maxdeph 1) обычные файлы (-file f) размером больше 600 мегабайт и менее 1 гигабайта (-size) или файлы имя которых заканчивающиется на «.mpeg» (-name).

find . -maxdepth 1 ( ( -size +600M -and -size -1G ) -or -name “*.mpeg” ) -and -type f

Действия над файлами

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









-exec команда ;Выполнить команду. Обратите внимание, что после команды ставится обратный слеш и точка с запятой.
-execdir команда ;То же самое что и exec, но команда вызывается из подкаталога, содержащего текущий файл.
-ok команда ;То же самое, что и exec, но перед обработкой очередного файла будет выводится запрос на выполнение команды.
-okdir команда ;То же что ok для execdir.
-printВывод имени файла на экран.
-lsВыполнение команды ls -dils над текущим файлом.

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

Примеры использования команды find с использованием действий

Найти в текущем каталоге обычные файлы размером больше 1000 байт и выполнить над ними команду ls -dils (действие ls).

find . -size +1000c -type f -ls

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

find . -name “~*” -type f -ok rm {} ;

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

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

Поиск всех файлов с расширением .old и их удаление: find / -name “*.old” -exec /bin/rm {} ; Поиск всех файлов, размер которых превышает 100 МБ и их удаление: find / -size +100M -exec /bin/rm {} ; Бывают и такие случаи, что программы “сходят с ума” и заполняют директории тысячами мелких файлов, при этом вы не сможете просто использовать команду rm * по той причине, что командная оболочка не в состоянии заменить символ * на имена всех этих файлов, зато в состоянии удалить эти файлы по очереди: find . -exec /bin/rm {} ; Помните, что вы не должны использовать эти примеры, поскольку для удаления файлов у GNU find есть параметр -delete, более безопасный, нежели “-exec /bin/rm {};”. Пример использования: find / -name “*.old” -delete

В старых системах Unix у вас не будет возможности использовать параметр -delete, поэтому альтернатив параметру -exec для удаления файлов в них не остается.

А теперь рассмотрим некоторые другие примеры использования программы find с параметром exec.

Рекурсивное изменение прав доступа для файлов, не затрагивающее директории.find ./ -type f -exec chmod 644 {} ;

При помощи параметра -type f вы можете вести поиск только файлов и просто изменять права доступа к каждому из них при помощи chmod.

Рекурсивное изменение владельца файлов с olduser на newuserfind / -user olduser -type f -exec chown newuser {} ;

В этом примере я использовал параметр -user как альтернативу параметру -uid.

Рекурсивное изменение прав доступа для всех директорийfind . -type d -exec chmod 755 {} ;

В этом примере я снова использовал параметр -type, но на этот раз с аргументом d для поиска директорий.

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

Для начала рассмотрим простой пример использования команды find для поиска на компьютере файлов с именем config. Мы будем искать файлы config, начиная с корневого каталога /. Для этого вам нужно выполнять команду от имени пользователя root, чтобы иметь достаточно прав доступа, иначе получите сообщения «Permission denied». Итак, выполним команду:

find / -name config -print

Команда означает следующее: искать файлы с именем config (-name config), начиная с каталога / (первый параметр команды find) и выводить имена файлов на экран (аргумент -print). Отмечу, что поиск рекурсивный, то есть при поиске просматриваются все вложенные директории. Как видите все просто. Теперь рассмотрим синтаксис команды и перейдем к обзору ее основных аргументов.

1)Выведите списки всех файлов текущей директории и ее подкаталогов

Для того чтобы вывести списки всех файлов текущей директории и ее подкаталогов, мы можем использовать:

$ find

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

2)Найдите все файлы и директории в вашей текущей рабочей директории

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

$ find . -type d

Чтобы найти только файлы, а не директории:

$ find . -type f

3)Выведите список всех файлов определенной директории

Для того чтобы найти файлы из определенной директории надо ввести:

$ find /root

This command will look for all the files in /root directory.

4)Найдите файл по имени в директории

Для поиска файла по имени в определенной директории введите:

$ find /root -name “linuxtechi.txt”

Эта команда будет искать файл linuxtechi.txt в директории /root. Так же мы найти все файлы с расширением .txt:

$ find /root -name “*.txt”

5)Найдите файл во множестве директорий

Для поиска файлов во множестве директорий введите:

$ find /root /etc -name “linuxtechi.txt”

With this command, we can look for linuxtechi.txt file in /root & /etc directories.

С помощью этой команды мы можем найти файл linuxtechi.txt в директориях /root и /etc.

6)Найдите файл по имени без учета регистра

Ищите файлы без учета регистра с помощью -iname:

$ find /root -iname “Linuxtechi.txt”

В результате вы получите все файлы с названием linuxtechi.txt. При этом файлов может быть несколько, так как linuxtechi.txt будет равняться LINUXTECHI.txt .

7)Найдите все типы файлов отличные от упомянутого

Давайте предположим, что нам необходимо найти все файлы отличные от определенного типа файлов. Чтобы этого добиться вводим:

$ find /root -not -name “*.txt”

8)Найдите файлы по множеству признаков

Мы можем совмещать более чем одно условие при поиске файлов. Предположим, что нам нужны файлы с расширениями .txt и .html:

$ find . -regex “.*.(txt|html)$”

9)Найдите файлы с использованием условия OR

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

$ find -name “*.txt” -o -name “linuxtechi*”

Заключение

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


[spoiler title=”Источники”]

  • https://losst.ru/komanda-find-v-linux
  • http://Cmd4Win.ru/administrirovanie-computera/upravlenie-failami/33-find
  • https://pingvinus.ru/note/command-find
  • https://rtfm.co.ua/komanda-find-i-eyo-opcii-v-primerax/
  • http://rus-linux.net/MyLDP/consol/exec-option-in-command-find.html
  • https://omgubuntu.ru/25-primierov-ispolzovaniia-komandy-find-dlia-nachinaiushchikh-znakomstvo-s-linux/


[/spoiler]


2020-12-22T10:34:30
Linux

Команда grep в Linux – полное руководство



























3/5 — (4 голоса)

Что такое grep? Команда grep (расшифровывается как global regular expression print) – одна из самых востребованных команд в терминале Linux, которая входит в состав проекта GNU. Секрет популярности – её мощь.

Команда grep в Linux и ее опции

Перед изучением команды grep, посмотрим на основной синтаксис ее.

Синтаксис для команды grep

  • -i: Используется для игнорирования соответствующего регистра.
  • -c: выводит количество совпадающих строк.
  • -l: отображает список имен файлов.
  • -n: количество совпавших строк и номера их строк.
  • -v: количество линий, которые не соответствуют шаблону.
  • -w: соответствовать всему слову

Обзор

grep выполняет поиск соответствий регулярному выражению (ШАБЛОН) по тексту в файле, нескольких файлах или потоке ввода (если имя не указано или вместо него указан один минус («-»). Найденные совпадения выводятся на терминал.

Используем команду grep в Linux

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

1. Простой поиск в файле

Давайте рассмотрим пример в файле “/etc/passwd” для поиска строки в файле. Чтобы найти слово “system” при помощи команды grep, используйте команду:


[root@destroyer ~]# cat /etc/passwd|grep system

Пример вывода:

systemd-bus-proxy:x:899:897:systemd Bus Proxy:/:/sbin/nologin systemd-network:x:898:896:systemd Network Management:/:/sbin/nologin

2. Подсчет появления слов.

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

е “/etc/passwd”. Если мы хотим знать количество или число появлений слова в файле, то используйте опцию ниже:


[root@destroyer ~]# cat /etc/passwd|grep -c system 2 [root@destroyer ~]#

Выше указанно, что слово появилось два раза в файле “/etc/passwd”.

3. Игнорировать регистрозависимые слова

Команда grep чувствительна к регистру, это означает, что он будет искать только данное слово в файле. Чтобы проверить эту функцию, создайте один файл с именем «test.txt» и с содержанием, как показано ниже:


[root@destroyer tmp]# cat test.txt AndreyEx andreyex ANDREYEX Andreyex [root@destroyer tmp]#

Теперь, если вы попытаетесь найти строку «andreyex», то команда не будет перечислять все слова «andreyex» с разными вариантами, как показано ниже:


[root@destroyer tmp]# grep andreyex test.txt andreyex [root@destroyer tmp]#

Этот результат подтверждает, что только один вариант будет показан, игнорируя остальную часть слова «andreyex» с разными вариантами. И если вы хотите игнорировать этот случай, вам нужно использовать параметр «-i» с grep, как показано ниже:


[root@destroyer tmp]# grep -i andreyex test.txt AndreyEx andreyex ANDREYEX Andreyex

4. Две разные строки внутри файла с командой grep

Теперь, если вы хотите найти два слова или строки с помощью команды grep, то вы должны задать расширенные. В следующей команде мы находим две строки «system» и «nobody» в файле /etc/passwd.


[root@destroyer ~]# grep ‘system|nobody’ /etc/passwd nobody:x:89:89:Nobody:/:/sbin/nologin systemd-bus-proxy:x:899:897:systemd Bus Proxy:/:/sbin/nologin systemd-network:x:898:896:systemd Network Management:/:/sbin/nologin [root@destroyer ~]#

5. Рекурсивный поиск

Для поиска заданной строки во всех файлах внутри каталога -rиспользуется опция -recursive.

В приведенном ниже примере строка «Linuxvsem» будет найдена во всех файлах внутри каталога linux:

grep -r Linuxvsem / Documents/ linux

Рекурсивный поиск Grep linux

Используя опцию, -R вы также можете искать файлы символьных ссылок внутри каталогов:

grep -R Linuxvsem / Документы / linux

Для поиска строки во всех каталогах вы можете запустить следующую команду:

grep -r » Linuxvsem » *

6. Вывод команды grep.

Если вы хотите найти строку или слово в любом выводе команды, то вы должны использовать оператор «|», а затем <строка> в grep. Допустим, вы хотите найти в памяти, связанные слова вывода команды dmesg, то используйте следующую команду.


[root@destroyer ~]# dmesg |grep memory [ 0.000000] Base memory trampoline at [ffff880000098000] 98000 size 19456 [ 0.000000] init_memory_mapping: [mem 0x00000000-0x000fffff] [ 0.000000] init_memory_mapping: [mem 0x3fe00000-0x4fffffff] [ 0.000000] init_memory_mapping: [mem 0x3c000000-0x4fdfffff] [ 0.000000] init_memory_mapping: [mem 0x00100000-0x4bffffff] [ 0.000000] kexec: crashkernel=auto resulted in zero bytes of reserved memory. [ 0.000000] Early memory node ranges [ 0.000000] PM: Registered nosave memory: [mem 0x0003e000-0x0003ffff] [ 0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000dffff] [ 0.000000] PM: Registered nosave memory: [mem 0x000e0000-0x000fffff] [ 0.000000] please try ‘cgroup_disable=memory’ option if you don’t want memory cgroups [ 0.030181] Initializing cgroup subsys memory [ 0.862358] Freeing initrd memory: 23532k freed [ 1.064599] Non-volatile memory driver v1.3 [ 1.069351] crash memory driver: version 1.1 [ 1.186673] Freeing unused kernel memory: 1430k freed [ 5.567780] [TTM] Zone kernel: Available graphics memory: 480345 kiB [root@destroyer ~]#

7. Инвертирование совпадений в команде Grep

Параметр Invert match ( -v) используется для инвертирования вывода grep. Команда отобразит строки, которые не соответствуют заданному шаблону.

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

grep -v Linuxvsem name.txtИнвертирование совпадений в команде Grep

8. Точное совпадение слова

В соответствии с примером, приведенным в пункте 7, если мы ищем Andreyex, то он будет печатать все вхождение Andreyex как «Andreyex12», «Andreyex454», «Andreyex34343», а также «Andreyex», как показано ниже:


[root@destroyer tmp]# grep Andreyex test.txt Andreyex12 Andreyex454 Andreyex34343 Andreyex [root@destroyer tmp]#

тогда, если мы хотим найти точное слово «Andreyex» вместо этого, чтобы перечислить весь вывод выше, то используйте опцию «-w», как показано ниже:


[root@destroyer tmp]# grep -w Andreyex test.txt Andreyex [root@destroyer tmp]#

Количество совпадающих линий

Вы можете отобразить количество совпадающих строк, используя команду grep с -. В итоге, выполнив следующую команду, вы найдете количество строк Linuxvsem в names.txt файле:

grep -c Linuxvsem name.txtКоличество совпадающих линий Grep linux

Выделение цветом

При использовании опции –color найденные совпадения будут выделены цветом:

$ grep –-color “bla bla” listing.txt You will find that all of bla bla are impeccably designed and meet the highest manufacturing standards available $

Просмотр номеров строк, содержащих совпадения

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

$ grep –-color -n “bla bla” listing.txt 18:You will find that all of bla bla are impeccably designed and meet the highest manufacturing standards available

Перед содержащей соответствие строкой выведено «18:», что соответствует 18-й строке.

Строка поиска в стандартном выводе

Если необходимо найти строку в выводе команды — это можно сделать, комбинируя команду grep с другой командой.

Например, чтобы найти строку inet6 в выводе команды, ifconfig выполните следующую команду:

ifconfig | grep inet6Строка поиска в стандартном выводе Grep linux

Выполнение поиска без учета регистра

Допустим, фраза «string search» расположена в начале предложения или набрана в верхнем регистре. Для поиска без учета регистра можно указать опцию –i:

$ grep –-color –n -i “string search” listing.txt 18:

You will find that all of string search are impeccably designed and meet the highest manufacturing standards available anywhere.

23:

String search are manufactured using only the finest top-grain leather.

$

С опцией -i grep находит также совпадение в строке 23.

Полезные примеры Grep

Давайте разберём несколько практических примеров команды grep.

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

Egrep или grep -E — это другая версия grep или Extended grep. Эта версия grep превосходна и быстра, когда дело доходит до поиска шаблона регулярных выражений, поскольку она обрабатывает метасимволы как есть и не заменяет их как строки. Egrep использует ERE или Extended Extended Expression.

egrep — это урезанный вызов grep c ключом -E Отличие от grep заключается в возможности использовать расширенные непрерывные выражения с использованием символьных классов POSIX. Часто возникает задача поиска словечек или представлений, принадлежащих к одному типу, но с возможными вариациями в написании, такие как даты, фамилии файлов с некоторым расширением и стандартным названием, e-mail адреса. С другой стороны, имеется задачи по пребыванию вполне определенных слов, которые могут иметь различное начертание, либо розыск, исключающий отдельные символы или классы символов.

Для этих целей истины созданы некоторые системы, основанные на описании текста при помощи шаблонов. К таким системам причисляются и постоянные выражения. Два очень полезные спецсимвола — это ^ и $, которые обозначают начало и конец строки. Например, мы хотим получить всех пользователей, зарегистрированных в нашей системе, имя которых начинается на s. Тогда можно применить регулярное выражение «^s». Вы можете использовать бригаду egrep:

egrep “^s” /etc/passwd

Есть возможность поиска по нескольким файлам и в подобном случае перед строкой выводится имя файла.

egrep -i Hello ./example.cpp ./example2.cpp

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

egrep -v ^/[/*] ./example.cpp

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

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

Fgrep или Fixed grep или grep -F — это еще одна версия grep, какой-никакая необходима, когда дело доходит до поиска всей строки вместо регулярного понятия, поскольку оно не распознает ни регулярные выражения, ни метасимволы. Для поиска любой строки напрямую выбирайте эту версия grep.

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

fgrep -C 0 ‘(f|g)ile’ check_filefgrep -C 0 ‘(f|g)ile’ check_file

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

sed (от англ. Stream EDitor) — потоковый текстовый редактор (а также язычок программирования), использующий различные предопределённые текстовые преобразования к последовательному потоку текстовых этих. Sed можно утилизировать как grep, выводя строки по шаблону базового регулярного выражения:

sed -n /Hello/p ./example.cpp

Может быть использовать его для удаления строк (удаление всех пустых строк):

sed /^$/d ./example.cpp

Основным инструментом работы с sed является выражение типа:

sed s/искомое_выражение/чем_заменить/имя_файла

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

sed s/int/long/ ./example.cpp

Выше рассмотрены различия меж «grep», «egrep» и «fgrep». Невзирая на различия в наборе используемых регулярных представлений и скорости выполнения, параметры командной строчки остаются одинаковыми для всех трех версий grep.

Переключатель ПКУЗ

Применение

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

Классификации

Классифицируются переключатели по:

  • способу установки и крепления;
  • способу фиксации;
  • электрическим схемам.

Типы:

  • ПКУ3-11
  • ПКУ3-12
  • ПКУ3-16
  • ПКУ3-54
  • ПКУ3-38
  • ПКУ3-58
  • ПКУ3-64М
  • ПКУ3-154
  • ПКУ3-211
  • ПКУ3-113102
  • ПКУ3-116045

Условия эксплуатации

  • Рабочая температура окружающей среды от -40 до +40°С;
  • Предельная температура окружающей среды от -50 до +45°С;
  • Высота над уровнем моря не более 2000 м.

Добавить ОтзывYou must have JavaScript enabled to use this form.Ваше имяКомментарий <текстареа class=”js-text-full text-ful

Технические характеристики









Номинальное напряжение переменного тока частоты 50, 60 и 400 Гц, В380
Номинальный ток, А16
Коммутационная износостойкостьот 50 до 1500 в зависимости от модели
Коммутационная способностьот 50 до 300 в зависимости от модели
Срок службы, лет10
Гарантийный срок, лет3


[spoiler title=”Источники”]

  • https://andreyex.ru/operacionnaya-sistema-linux/polnoe-rukovodstvo-komanda-grep-v-linux/
  • https://linuxvsem.ru/commands/grep-linux
  • https://ITProffi.ru/utilita-grep-v-os-linux/
  • https://lumpics.ru/linux-grep-command-examples/
  • https://www.hostinger.ru/rukovodstva/komanda-grep-v-linux/
  • https://www.linux16.ru/articles/regulyarnye-vyrazheniya-grep-egrep-sed-v-linux.html
  • https://ross.com.ru/pereklyuchatel-pku3


[/spoiler]


2020-12-22T10:34:30
Linux

Команда LS в Linux. Описание и примеры



























5/5 — (2 голоса)

Команда ls – Одна из основных команд в терминальном режиме для просмотра содержимого каталога. Команда ls — вероятно наиболее используемая команда в любой UNIX-системе. Её предназначение — вывод информации о файлах и каталогах. Дополнительные опции команды позволяют получить более подробную информацию и сортировать её определённым образом.

Команда ls linux

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

$ ls опции/путь/к/папке

Опции команды указывают как именно и в каком виде нужно выводить информацию на экран, а путь, это та папка, которую нужно отобразить. Рассмотрим основные опции утилиты:

  • -a – отображать все файлы, включая скрытые, это те, перед именем которых стоит точка;
  • -A – не отображать ссылку на текущую папку и корневую папку . и ..;
  • –author – выводить создателя файла в режиме подробного списка;
  • -b – выводить Escape последовательности вместо непечатаемых символов;
  • –block-size – выводить размер каталога или файла в определенной единице измерения, например, мегабайтах, гигабайтах или килобайтах;
  • -B – не выводить резервные копии, их имена начинаются с ~;
  • -c – сортировать файлы по времени модификации или создания, сначала будут выведены новые файлы;
  • -C – выводить колонками;
  • –color – включить цветной режим вывода, автоматически активирована во многих дистрибутивах;
  • -d – выводить только директории, без их содержимого, полезно при рекурсивном выводе;
  • -D – использовать режим вывода, совместимый с Emacs;
  • -f – не сортировать;
  • -F – показывать тип объекта, к каждому объекту будет добавлен один из специализированных символов */=>@|;
  • –full-time – показывать подробную информацию, плюс вся информация о времени в формате ISO;
  • -g – показывать подробную информацию, но кроме владельца файла;
  • –group-directories-first – сначала отображать директории, а уже потом файлы;
  • -G – не выводить имена групп;
  • -h – выводить размеры папок в удобном для чтения формате;
  • -H – открывать символические ссылки при рекурсивном использовании;
  • –hide – не отображать файлы, которые начинаются с указанного символа;
  • -i – отображать номер индекса inode, в которой хранится этот файл;
  • -l – выводить подробный список, в котором будет отображаться владелец, группа, дата создания, размер и другие параметры;
  • -L – для символических ссылок отображать информацию о файле, на который они ссылаются;
  • -m – разделять элементы списка запятой;
  • -n – выводить UID и GID вместо имени и группы пользователя;
  • -N – выводить имена как есть, не обрабатывать контролирующие последовательности;
  • -Q – брать имена папок и файлов в кавычки;
  • -r – обратный порядок сортировки;
  • -R – рекурсивно отображать содержимое поддиректорий;
  • -s – выводить размер файла в блоках;
  • -S – сортировать по размеру, сначала большие;
  • -t – сортировать по времени последней модификации;
  • -u – сортировать по времени последнего доступа;
  • -U – не сортировать;
  • -X – сортировать по алфавиту;
  • -Z – отображать информацию о расширениях SELinux;
  • -1 – отображать один файл на одну строку.

Это были все основные параметры команды ls, которые нам может когда-либо понадобиться использовать. Их очень много, но на деле будут нужны только некоторые из них, вы их быстро запомните, а все остальные сможете всегда найти в этой статье или на странице справки man ls. А теперь давайте рассмотрим несколько примеров использования команды ls linux.

Синтаксис команды ls

Основные параметры:

  • -a. Показывает все файлы, в том числе скрытые с точкой.
  • -A. Опция показывает скрытые файлы и скрывает ссылку на текущий каталог.
  • -l. Отображает подробный список, в котором показываются права доступа.
  • -o. Подробный список, только без группы.
  • -d. Отображает только каталоги, без содержимого, не переходить по символьным ссылкам.
  • -D.  Режим “Emacs dired”. Здесь стоит отметить что же такое режим Emacs? Это текстовый программируемый текстовый редактор.
  • -f. Аргумент отключит сортировку и покажет скрытые документы.
  • -r. Сортировка в обратном порядке.
  • -X. Сортировка по алфавиту.
  • -S. Сортировка по размеру документов. Сначала идут файлы и каталоги большего размера, потом маленькие.
  • -t. Сортировка по времени изменения. Сначала идут более новые.
  • -h. Переводит информацию о размерах директорий и файлов в удобной вид для человека. В конце цифр добавляется буква “K” – килобайты, “M” – мегабайты. Данная опция обычно используется с “-l”, так как необходимо вывести информация о размерах, а потом перевести размеры в удобный формат.
  • –hide. Скрыть документы, которые полностью совпадают с указанными символами. Например нужно скрыть “kurica”, указываем –hide kurica.
  • -I ‘шаблон’. Скрыть файлы согласно шаблону. Например нужно скрыть все документы, которые начинаются на букву f. Тогда пишем ls -I’f*’.
  • -1. Список документов в один столбец.
  • –V. Показывает версию программы.
  • –help. Справка.

Путь к каталогу может принимать один из трех значений:

  1. полный путь директории (/etc/network/);
  2. относительный путь (network);
  3. пустой значение. Означает, что команда будет выполняться в текущей директории. По умолчанию это домашний каталог.

Как правильно интерпретировать вывод команды ls?

Первое, что может ввести в заблуждение при изучении вывода команды ls -l, так это первая секция данных. Состоящая из набора десяти символов и показывающая режимы доступа к файлу. Для вышеприведённого примера первый символ «-» указывает, что это файл. А в случае с каталогом вместо него выводится символ «d». Следующие девять символов представляют собой три группы, отражающих режимы доступа к файлу. Первая группа (первые три символа «rwx») показывают, какие права доступа выставлены на данный файл для его владельца. Следующая группа символов — «r-x» — показывает режим доступа для группы, к которой принадлежит файл. Ну а третья («r-x») — права доступа для всех остальных пользователей.

В полях, отображающих владельца и группу вместо символьных имён могут быть также и цифровые идентификаторы. Такое бывает, когда соответствующие записи были удалены из файлов /etc/passwd или /etc/group. Также это может быть признаком возникновения ошибки в базах данных LDAP или NIS. Конечно, если таковые используются.

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

Особенности использования команды ls

Когда команда ls обрабатывает не «обычные» файлы, а специальные файлы устройств (хотя это тоже самые обычные файлы). То для них она выводит несколько иную информацию:

$ ls -l /dev/tty0 cr–w—- 1 root tty 4,0 фев 28 14:27 /dev/tty0

Вместо размера файла выводится старший и младший номера (4, 0) устройства tty0 – это первая виртуальная консоль, управляемая драйвером устройства 4, который является драйвером терминала.

Когда нужно узнать для определённого файла не только количество указывающих на него жестких ссылок, но и сами эти ссылки. То целесообразно использовать опцию -i, которая выводит номер индексного дескриптора для файла:

$ ls -li ‘Рабочий стол’ 3276880 ‘Рабочий стол’

Номер индексного дескриптора — это индекс той самой таблицы, в которой содержатся записи всех файловых систем. В свою очередь, на дескрипторы ссылаются файловые записи каталогов. Таким образом, у жёстких ссылок, ссылающихся на один и тот же файл, будут одинаковые номера. Зная номер индексного дескриптора определённого файла, можно найти в системе все ссылающиеся на него жесткие ссылки, используя команду find:

$ find точка_монтирования -xdev -inum индексный_дескриптор

Данный пример — лишь одно из важных практических применений команды ls. Следует также отметить некоторые особенно полезные опции команды ls:

-a – отображает все файлы и каталоги. Включая скрытые (имена которых начинаются с точки), а также «всевдокаталоги» с именами «.» и «. .»;

-t – отображает результаты в отсортированном (по времени изменения файлов) порядке. А опция -tr то же, но в обратном порядке;

-F – выделяет каталоги и исполняемые файлы в общем выводе;

-h – отображает размеры файлов и каталогов в «человекопонятных» единицах, к примеру 4k или 10M;

-R – рекурсивный вывод, выполнение которого прерывается нажатием сочетания клавиш .

Иногда возникает путаница в использовании опций -l и —d. Дело в том, что опция -d предназначена для дополнения работы опции -l (которая выводит подробную информацию об атрибутах). Когда необходимо получить атрибуты именно конкретного каталога:

$ ls -ld ~/htdocs drwxrwxr-x 12 john john 4096 фев 11 12:56 /home/john/htdocs

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

Как вы уже поняли, ls – это сокращение от list, эта команда представляет из себя аналог команды dir для Linux. Самый простой способ использовать команду, запустить ее без параметров и посмотреть содержимое текущей папки:

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

ls /

Или папки /bin:

ls /bin/

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

ls -l

Тут вывод уже разделен на отдельные колонки, в первой колонке указаны права доступа к файлу в формате владелец группа остальные. Следующая колонка – это тип файла или папки, дальше владелец и группа, затем размер, дата создания и последний параметр – имя. Если вы еще хотите знать кто создал файл, можно использовать опцию author:

ls -l –author

Колонка создателя будет добавлена после группы. Дальше размер. Он выводится в байтах, килобайтах или еще в чем-то и нам не совсем понятно что там происходит, поэтому добавьте опцию -h чтобы выводить размер в более удобном виде:

ls -lh

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

ls -l Фото

ls -lh Фото

Если вы хотите видеть скрытые файлы, а в домашней папке их просто море, то используйте опцию -a:

ls -a

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

ls -A

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

ls -lSh Фото

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

ls -lShr

С помощью опции -r мы вывели файлы в обратном порядке. Теперь отсортируем по алфавиту:

ls -lX

Или сортируем по времени последней модификации:

ls -lt

Обратите внимание на колонку времени, действительно, самые новые файлы будут вверху списка. Если вы хотите посмотреть какие метки SELinux присвоены файлу, необходимо использовать опцию -Z:

ls -lZ

Но это возможно только в системах, где установлена надстройка SELinux. Если вы хотите рекурсивно вывести содержимое всех папок, используйте опцию -R:

ls -lR /usr/

Если же вам нужно список папок и файлов в директории через запятую, что можно использовать -m:

ls -m

Знакомство с ls

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

$ cd /usr

$ ls

X11R6 doc i686-pc-linux-gnu lib man sbin ssl bin gentoo-x86 include libexec portage share tmp distfiles i686-linux info local portage.old src

Указав опцию -a, вы можете увидеть полный список, включая скрытые файлы и директории, начинающиеся с “.”. Как видно в следующем примере, ls -a выводит также особые связывающие директории “.” и “..”:

$ ls -a

. bin gentoo-x86 include libexec portage share tmp .. distfiles i686-linux info local portage.old src X11R6 doc i686-pc-linux-gnu lib man sbin ssl

1. ls без параметров

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

# ls 001.pcap Desktop Downloads index.html install.log.syslog Pictures Template anaconda-ks.cfg Documents fbcmd_update.php install.log Music Public Videos

2. ls с параметром -l

Здесь, ls -l (l — символ, а не единица) показывает файл или каталог вместе с его размером, а также дату и время изменения, права и владельца.

# ls -l total 176 -rw-r–r–. 1 root root 683 Aug 19 09:59 0001.pcap -rw——-. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads -rw-r–r–. 1 root root 21262 Aug 12 12:42 fbcmd_update.php -rw-r–r–. 1 root root 46701 Jul 31 09:58 index.html -rw-r–r–. 1 root root 48867 Jul 31 02:17 install.log -rw-r–r–. 1 root root 11439 Jul 31 02:13 install.log.syslog drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos

Подробный список файлов ls

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

ls -l

Команда ls. Список файлов

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

ls -l /var/log

Команда ls - Список файлов в директории

Показать скрытые файлы ls -a

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

 

Определение расположения определенной папки ls

Сперва следует обязательно разобраться с процедурой перехода к необходимому расположению через «Терминал». Если вы будете осуществлять сканирование нескольких папок, находящихся в одной директории, проще это делать сразу из нужного места, чтобы избежать надобности ввода полного пути к объекту. Определяется место и выполняется переход так:

    1. Откройте файловый менеджер и перейдите в требуемую директорию.

Переход к необходимой директории через файловый менеджер Linux

    1. Щелкните по любому элементу в ней ПКМ и выберите «Свойства».

Свойства объекта в операционной системе Linux

    1. Во вкладке «Основные» обратите внимание на пункт «Родительская папка». Именно его и нужно запомнить для дальнейшего перехода.

Узнать родительскую папку объекта в Linux

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

Запустить терминал через значок в меню Linux

    1. Здесь введите cd /home/user/folder, чтобы перейти в интересующее расположение. User в данном случае — имя пользователя, а folder — название конечной папки.

Перейти по нужному пути через встроенную консоль в Linux

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

Понятный размер файлов

Вывести размер файлов в понятном формате (опция -h):

ls -lh

Просмотр содержимого текущей папки ls

Написав в консоли ls без каких-либо дополнительных опций, вы получите информацию о текущем расположении. Если после запуска консоли не было осуществлено никаких переходов через cd, отобразится список файлов и папок домашней директории.

Применение команды ls без аргументов в Linux

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

Ознакомиться с выводом информации командой ls без аргументов в Linux

Обозначить директории ls

У команды ls есть очень полезная опция -F, про которую не все знают. Она добавляет к именам файлов дополнительные обозначения, по которым сразу понятно что это за файл. Например, для директорий она добавляет символ /, и в списке файлов сразу видно где директории а где обычные файлы.

ls -lF

Список файлов в одну колонку

Вывести список в одну колонку:

ls -1

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

Выведем файлы только с расширением .txt:

ls *.txt

Выведем файлы с определенными расширениями (.html, .php и .txt):

ls *.{html,php,txt}

Файлы, начинающиеся на определенную букву

Показать только файлы, имена которых начинаются на одну из букв указанного множества (a, d, u и x):

ls [adux]*

Определение создателя папки

Синтаксис команды ls построен так же, как и у большинства других стандартных утилит, поэтому даже начинающий пользователь не найдет в этом ничего нового или незнакомого. Разберем первый пример при надобности просмотра автора папки и даты изменения. Для этого введите ls -l –author folder, где folder — название директории либо полный путь к ней. После активации вы увидите искомую информацию.

Узнать автора папки через команду ls в Linux

Список файлов с сортировкой по времени

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

ls -lt

Сортировка по времени, но в обратном порядке:

ls -ltr

Вывод скрытых файлов

В ОС Linux присутствует достаточно большое количество скрытых элементов, особенно когда речь идет о системных файлах. Отобразить их вместе со всем остальным содержимым директории можно, применив определенную опцию. Тогда команда выглядит так: ls -a + название или путь к папке.

Отображение скрытых папок с помощью команды ls в Linux

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

Обратный порядок вывода

С помощью комбинации -ltr список будет сортироваться по дате последнего изменения от старых к новым.

# ls -ltr total 176 -rw-r–r–. 1 root root 11439 Jul 31 02:13 install.log.syslog -rw-r–r–. 1 root root 48867 Jul 31 02:17 install.log -rw——-. 1 root root 1586 Jul 31 02:17 anaconda-ks.cfg drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Desktop drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Videos drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Templates drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Public drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Pictures drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Music drwxr-xr-x. 2 root root 4096 Jul 31 02:48 Documents -rw-r–r–. 1 root root 46701 Jul 31 09:58 index.html -rw-r–r–. 1 root root 21262 Aug 12 12:42 fbcmd_update.php drwxr-xr-x. 4 root root 4096 Aug 16 02:55 Downloads -rw-r–r–. 1 root root 683 Aug 19 09:59 0001.pcap

Рекурсивный и инодный списки

Так вы можете использовать -d чтобы смотреть на директорию, но также можно использовать -R для противоположного: не только лишь глянуть внутрь директории, но и рекурсивно посмотреть все директории с файлами внутри нее! Мы не включим в руководство никакого примера вывода для этой опции (поскольку обычно он очень объемный), но возможно вы захотите попробовать несколько команд ls -R и ls -Rl, чтобы почувствовать как это работает.

Наконец, опция -i может использоваться для отображения числа инодов для объектов в списке файловой системы

$ ls -i /usr

1409 X11R6 314258 i686-linux 43090 libexec 13394 sbin 1417 bin 1513 i686-pc-linux-gnu 5120 local 13408 share 8316 distfiles 1517 include 776 man 23779 src 43 doc 1386 info 93892 portage 36737 ssl 70744 gentoo-x86 1585 lib 5132 portage.old 784 tmp

Понятие инода

Каждому объекту файловой системы назначен уникальный индекс, называемый номером инода. Это может показаться банальным, но понятие инодов очень важно для понимания большинства операций в файловой системе. Рассмотрим например ссылки “.” и “..”, которые появляются в каждой директории. Чтобы полностью понять, чем на самом деле является директория “..”, мы сперва взглянем на номер инода у /usr/local

$ ls -id /usr/local

5120 /usr/local

У директории /usr/local номер инода равен 5120. А теперь посмотрим номер инода у /usr/local/bin/..:

$ ls -id /usr/local/bin/..

5120 /usr/local/bin/..

Как видно, директория /usr/local/bin/.. имеет такой же номер, как у /usr/local! Посмотрим, как можно справиться с этим шокирующим откровением. В прошлом мы полагали, что /usr/local сама является директорией. Теперь же, мы обнаружили, что фактически директория — это инод с номером 5120, и нашли, по меньшей мере, два элемента (называемых «ссылками»), которые указывают на данный инод. И /usr/local, и /usr/local/bin/.. — ссылки на 5120-ый инод. Хотя этот инод и существует только в одном месте на диске, тем не менее на него может быть множество ссылок

На самом деле, мы даже можем увидеть общее количество ссылок ведущих на этот, 5120 инод, используя команду ls -dl:

$ ls -dl /usr/local

drwxr-xr-x 8 root root 240 Dec 22 20:57 /usr/local

Если взглянуть на вторую колонку слева, то видно, что на директорию /usr/local (инод 5120) ссылаются восемь раз. На моей системе на этот инод ведут следующие пути:

/usr/local

/usr/local/.

/usr/local/bin/..

/usr/local/games/..

/usr/local/lib/..

/usr/local/sbin/..

/usr/local/share/..

/usr/local/src/..

mkdir

Давайте быстренько пройдемся по команде mkdir, которая используется для создания новых директорий. Следующий пример создает три новых директории, tic, tac, и toe, все внутри /tmp:

$ cd /tmp

$ mkdir tic tac toe

По умолчанию, команда mkdir не создает для вас родительские директории; весь путь вплоть до последнего (создаваемого) элемента должен существовать. Так, если вы захотите создать вложенные директории won/der/ful, вам придется выполнить три отдельные команды mkdir:

$ mkdir won/der/ful

mkdir: cannot create directory `won/der/ful’: No such file or directory

$ mkdir won

$ mkdir won/der

$ mkdir won/der/ful

Однако, у mkdir есть очень удобная опция -p, которая говорит mkdir создавать любые отсутствующие родительские директории, как можете увидеть тут:

$ mkdir -p easy/as/pie

В целом очень просто. Чтобы узнать больше о команде mkdir наберите man mkdir и прочитайте инструкцию. Это же касается почти всех команд, рассмотренных здесь (например man ls), исключая cd, которая встроена в bash.

touch

Сейчас мы собираемся окинуть взглядом команды cp и mv, используемые для копирования, переименования и перемещения файлов и директорий. Но начнем обзор воспользовавшись командой touch, чтобы создать файл в /tmp:

$ cd /tmp

$ touch copyme

Команда touch обновляет «mtime» (время последней модификации — прим. пер.) файла, если тот существует (вспомните шестую колонку в выводе ls -l). Если файл не существует, то новый, пустой файл будет создан. Сейчас у вас должен быть файл /tmp/copyme с нулевым размером.

echo

Теперь, когда файл существует, давайте добавим немного данных в него. Можно сделать это с помощью команды echo, которая принимает аргументы и печатает их на стандартный вывод. Сперва, команда echo сама по себе:

$ echo “firstfile”

firstfile

А сейчас, та же команда echo, но с перенаправлением вывода:

$ echo “firstfile” > copyme

Знак «больше» сообщает оболочке записывать вывод echo в файл по имени copyme. Этот файл будет создан, если не существовал, или перезаписан, если существует. Набрав ls -l, увидим, что файл copyme имеет размер в 10 байт, так как содержит слово firstfile и символ новой строки:

$ ls -l copyme

-rw-r–r– 1 root root 10 Dec 28 14:13 copyme

cat и cp

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

$ cat copyme

firstfile

Сейчас, мы можем воспользоваться основным вызовом команды cp для создания файла copiedme из оригинального copyme:

$ cp copyme copiedme

Ниже проверим, что это действительно разные файлы; у них отличаются номера инодов:

$ ls -i copyme copiedme

648284 copiedme 650704 copyme

mv

А сейчас давайте воспользуемся командой mv для переименования copiedme в movedme. Номер иноды останется прежний; однако, имя файла, указывающее на инод, изменится.

$ mv copiedme movedme

$ ls -i movedme

648284 movedme

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

Пока мы рассказываем об mv, давайте посмотрим, как еще можно использовать эту команду. mv, помимо возможности переименовать файлы, позволяет перемещать один или более файлов в другое место в иерархии директорий. Например, чтобы переместить /var/tmp/myfile.txt в директорию /home/drobbins (которая является моей домашней), я наберу (а мог бы воспользоваться ~ — прим. пер.):

$ mv /var/tmp/myfile.txt /home/drobbins

После этого myfile.txt будет перемещен в /home/drobbins/myfile.txt. И если /home/drobbins располагается в другой файловой системе, нежели /var/tmp, команда mv скопирует myfile.txt в новую файловую систему и удалит его из старой. Как вы уже могли догадаться, когда myfile.txt перемещается между файловыми системами, то myfile.txt на новом месте получает новый номер инода. Это все потому, что у каждой файловой системы свой независимый набор номеров инодов.

Мы также можем воспользоваться mv для перемещения нескольких файлов в одну директорию. К примеру, чтобы переместить myfile1.txt и myarticle3.txt в /home/drobbins, потребуется набрать:

$ mv /var/tmp/myfile1.txt /var/tmp/myarticle3.txt /home/drobbins

Список ключей для команды ls.

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

  • -l — вывод подробной информации о содержимом каталога в виде списка;
  • -a (—all) — вывод информации о всех имеющихся объектах явных и скрытых;
  • -A (—allmost-all) — вывод информации о всех имеющихся явных и скрытых объектах (за исключением объектов «.» и «..»);
  • -d (—directory) — вывод информации о директории без вывода его содержимого;
  • -F — к объектам являющимся каталогами добавит в конце символ слеш «/», к объектам являющимися исполняемыми файлами добавляется «*», к объектам являющимися символьными ссылками — «@»;
  • -r (—reverse) — данные ключи меняют сортировку на обратную;
  • -i — отображение номера индексных дескрипторов объектов;
  • -S — сортировка объектов по размеру от большого к меньшему;
  • -Sr — сортировка объектов по размеру от меньшего;
  • -t — сортировка объектов по времени модификации файлов;
  • -R (—recursive) — вывод информации об имеющихся объектах в том числе и объектах во вложенных каталогах.

Способы работы с командой ls и ее ключи, упоминаемые в статье это далеко не весь список. Если вы желаете использовать всю мощь этой на первый взгляд простой команды, то как уже упоминалось ранее, более подробную информацию можно получить при вызове встроенного мануала $ man ls .

Заключение

В заключении нужно отметить, что несмотря на кажущуюся незатейливость команды ls, она является базовым инструментом системного администратора для «исследования» паутины ФС. И если можно так выразиться, средством для понимания её скрытого порядка и принципов работы.


[spoiler title=”Источники”]

  • https://losst.ru/komanda-ls-linux
  • https://www.vseprolinux.ru/komanda-ls
  • https://ITProffi.ru/komanda-ls-prosmotr-atributov-fajlov/
  • https://habr.com/ru/post/99291/
  • https://mordeniuss.ru/15-basic-ls-command-examples-in-linux/
  • https://pingvinus.ru/note/cmd-ls
  • https://lumpics.ru/linux-ls-command-examples/
  • https://world-hello.ru/linux/bash/commands/ls.html


[/spoiler]


2020-12-22T10:34:30
Linux

Команда Tail в Linux – что делает и как работает



























4/5 — (3 голоса)

tail — утилита в UNIX, выводящая несколько (по умолчанию 10) последних строк из файла. Команда tail позволяет выводить заданное количество строк с конца файла, а также выводить новые строки в интерактивном режиме.

Что такое команда tail?

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

Синтаксис команды tail:

tail [options] [files]

Синтаксис команды tail

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

Рассмотрим синтаксис команды:

tail [параметры] файл

Основные параметры команды tail:

  • -c – показывает указанное количество байт с конца файла. Также можно использовать знак плюс после “-с” для вывода любой информации, начиная с байта. Например, -c +1 напечатает все. После числа можно использовать суффикс множителя, чтобы указать единицы измерения: b (512), kB (1000), K (1024), MB (1000*1000), M (1024*1024), GB (1000*1000*1000), G (1024*1024*1024), and so on for T (terabyte), P (petabyte), E (exabyte), Z (zettabyte), Y (yottabyte).
  • -f – этот параметр приводит к тому, что tail будет зацикливаться вечно, проверяя наличие новых данных. Когда появляются новые данные, они будут напечатаны. Если вы следите более, чем за одним файлом, то будет напечатан заголовок каждого, чтобы указать, какие данные файла печатаются. Если файл уменьшается, а не увеличивается, утилита сообщит вам об этом. Если вы укажете название, то за файлом с таким заголовком будет слежка, вне зависимости от его файлового дескриптора. Если вы укажете дескриптор, то будет слежка за тем же файлом, даже если он переименован. Это поведение команды по умолчанию.
  • -n – выводит последние n строк, вместо значения по умолчанию, которое составляет 10.
  • –max-unchanged-stats=num. Если отслеживаете документ с аргументом -f , утилита постоянно проверяет его, чтобы увидеть, изменился ли размер. Если размер изменился, он снова открывает файл и ищет новые данные для печати. Опция –max-unchanged-stats повторно открывает файл, даже если его размер не изменился, после каждой проверки num. Эта опция полезна, если файл может быть самопроизвольно отключен или переименован, например, когда файлы журнала автоматически чередуются.
  • –pid – используется с аргументов “-f”, позволяет завершить процесс.
  • -q – никогда не выводить заголовки.
  • –retry – продолжает пытаться открыть файл, даже если он временно недоступен;
  • -s – если производить слежение посредством -f примерно num секунд между проверками файлов. С помощью –pid проверяется процессный pid не реже, чем один раз в несколько секунд.
  • -v -всегда печатать заголовки.
  • –help – получение информационной помощи по синтаксису.
  • –version – способ узнать версию.

Примеры команды tail

Запустим утилиту без параметров, тем самым узнаем 10 последних строк в dokument.

tail dokument

Покажем на экране пять последних строк. Для этого будем использовать аргумент “-n”.

tail -n 5 dokument

Рассмотрим пример опции “-f”. Которая делает стандартный вывод в десять пунктов и следит за обновлением документа, кроме того утилита продолжает выводит все новые изменения, которые добавляются в файл.

tail -f dokument

ВАЖНО!: tail будет отслеживать файл постоянно по умолчанию. Чтобы остановить этот процесс, необходимо набрать комбинацию CTRL + C.

Откроем несколько файлов одновременно.

tail -f dokument fil

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

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

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

tail /var/log/syslog

tail /var/log/syslog

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

tail -n 100 /var/log/syslog

tail -n 100 /var/log/syslog

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

tail -f /var/log/syslog

tail -f /var/log/syslog

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

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

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

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

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

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

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

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

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

Если вас интересует не число строк, а именно число байт, то вы можете их указать с помощью опции -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 с Другими Командами Linux?

Команды tail могут использоваться вместе с другими функциями командной строки Linux. Например:

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

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

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

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

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

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

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

ls -l | tail -n8

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

5 практических примеров команды Tail в Linux

Давайте узнаем, как использовать команду tail в Linux с некоторыми практическими примерами. Мы будем использовать этот текстовый файл в этой статье:

Загадочное происшествие на Брайтон Бич Тайный Противник Убийство по ссылкам Человек в коричневом костюме Секрет дымовых труб Погода в Кацапетовке Большая четверка Странный пассажир полуночного экспресса Гарри Поттер Все на Матч Морские дьяволы Статьи о Linux Искусственный интеллект SQL для начинающих Дистрибутив Linux Убийство в восточном экспрессе Незаконченный Портрет Почему они не спросили Эванса? Три Акта Трагедии Смерть в облаках

Если вы используете команду tail без какой-либо опции, она будет печатать последние 10 строк. Это поведение по умолчанию команды tail.

tail agatha.txt Морские дьяволы Статьи о Linux Искусственный интеллект SQL для начинающих Дистрибутив Linux Убийство в восточном экспрессе Незаконченный Портрет Почему они не спросили Эванса? Три Акта Трагедии Смерть в облаках

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

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

1. Распечатайте последние N строк с помощью команды tail

Чтобы просмотреть последние N строк, вместо 10 по умолчанию вы можете использовать команду tail следующим образом:

tail -n N

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

tail -n 5 agatha.txt Убийство в восточном экспрессе Незаконченный Портрет Почему они не спросили Эванса? Три Акта Трагедии Смерть в облаках

Совет

Вы также можете просто использовать tail -N вместо tail -n N для отображения последних N строк файла.

2. Распечатайте все строки, начиная с номера строки N

Если вы хотите просмотреть все строки, начинающиеся с номера строки N, вы можете использовать здесь опцию +.

tail -n +N

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

tail -n +7 agatha.txt Большая четверка Странный пассажир полуночного экспресса Гарри Поттер Все на Матч Морские дьяволы Статьи о Linux Искусственный интеллект SQL для начинающих Дистрибутив Linux Убийство в восточном экспрессе Незаконченный Портрет Почему они не спросили Эванса? Три Акта Трагедии Смерть в облаках

3. Использование нескольких файлов с командой tail

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

tail -n N

Результат объединяется для всех файлов, и по умолчанию имя файла отображается в строках, начинающихся с «==>».

Например, если вы хотите увидеть последние три строки файлов sherlock.txt и agatha.txt, это будет выглядеть так:

tail -n3 sherlock.txt agatha.txt ==> sherlock.txt <== Приключение благородного холостяка Приключение Берилл Коронет Приключение Алисы в стране чудес ==> agatha.txt <== Почему они не спросили Эванса? Три Акта Трагедии Смерть в облаках

Совет

Вы можете удалить имена файлов с вывода, используя тихий режим с опцией -q.

4. Мониторинг файлов в реальном времени с помощью команды tail [Очень полезно для мониторинга журналов]

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

Для этого вы можете использовать опцию -f.

tail -f

Команда сначала отобразит последние 10 строк файлов, а затем обновит вывод, когда новые строки будут добавлены в файл.

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

СоветЕсли вы используете -F вместо опции -f, команда tail будет ждать создания входного файла (если он еще не существует), а затем отображает содержимое файла в режиме реального времени.

5. Использование команды tail с pipes

Команда tail может использоваться в сопряжении с другими командами с использованием pipes.

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

ls -ltr | tail -n3

В приведенной выше команде ls -lrt перечисляет все файлы в обратном хронологическом порядке. И тогда команда tail дополнительно анализирует этот вывод и отображает только последние три строки вывода команды ls, и поэтому мы получаем список из трех последних измененных файлов.

Особенность Tails

Что делает Tails безопаснее других операционных систем?

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

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

Дистрибутив подключается к оборудованию компьютера, но не использует операционную систему или дисководы. Это означает, что на вашем компьютере нет постоянной записи о вашей деятельности. После того, как вы извлечете USB-накопитель Tails или перезагрузите компьютер, вы не сможете сказать, что дистрибутив использовался там.

Tails поставляется с современной технологией шифрования. За счет чего ПО обеспечивает нам безопасность?

Во-первых, дистрибутив обеспечит вас надежной защитой от PGP и OTR для безопасной связи. Во-вторых, автоматическим использованием HTTPS при посещении веб-сайтов. В-третьих, возможностью шифровать файлы на USB-накопителе или DVD-диске. И наконец, со всеми этими функциями конфиденциальности и анонимности вы можете буквально носить его в кармане.

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

Одна из замечательных особенностей дистрибутива заключается в том, что вы можете создать собственную USB-флешку или DVD-диск Tails. А поскольку это бесплатное программное обеспечение, вам нужно иметь в наличии USB-накопитель или DVD-диск, на который вы его установите.

Обеспечение безопасности

Обычно дистрибутив хранит данные только до тех пор, пока вы не выключитесь. Но если вы используете Tails на USB-накопителе с дополнительным доступным пространством, вы можете создать постоянное хранилище.

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

Тем не менее, если вам нужно надежно хранить данные или добавлять дополнительные приложения, это ваш лучший вариант.

Преимущества и недостатки

Преимущества

  • Позволяет хранить зашифрованные данные на USB-накопителе Tails
  • Вы можете установить дополнительные приложения
  • Можно изменить конфигурацию приложений
  • Вы можете открыть постоянное хранилище из других операционных систем

Недостатки

  • Постоянный том виден всем, у кого есть доступ к USB-накопителю.
  • Установка приложений не по умолчанию может нарушить безопасность
  • Изменение конфигурации приложений по умолчанию может ослабить анонимность
  • Доступ к постоянному хранилищу из других операционных систем может поставить под угрозу безопасность

Управление паролями

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

Для решения этой проблемы дистрибутив поставляется с KeePassX , менеджером паролей открытого качества.

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

Установка Tails

Скачать образ Tails можно перейдя по данной ссылке.

Когда вы запускаете дистрибутив, вы видите экран.

Когда вы запускаете Tails, вы видите экран

После нажатия Enter появляется экран Tails. Здесь выбирайте язык, раскладку клавиатуры, время.

Tails Здесь выбирайте язык, раскладку клавиатуры, время

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

Tails Кроме того, вы можете активировать набор предлагаемых параметров

Настроив все параметры нажмите кнопку Запуск Tails.

В нашем случае, подключение к интернету произошло автоматически.

Tails В нашем случае, подключение к интернету произошло автоматически.

Начало работы

После загрузки с рабочей флешки нам потребуется создать постоянный (persistent) защищенный раздел, своеобразный «жесткий диск на флешке». Это делается через Application → Tails → Configure Persistence.

Перезагружаем компьютер и на загрузочном экране выбираем Use Persistence и More Options, после чего вводим пароль для нашего хранилища.

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

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

Имей в виду, что загрузка занимает некоторое время, а потом Tails еще несколько минут будет подключаться к Tor. Отслеживать процесс можно, щелкнув по иконке Onion Circuits — луковичке в верхнем правом углу экрана.

Спустя некоторое время Tails проинформирует об успешном подключении к Tor. По умолчанию сеть сконфигурирована так, что весь трафик будет проходить через него. Теперь можно скачать все, что нам нужно для работы.

Дистрибутив Tails

Tails — live-дистрибутив Linux, основанный на Debian, и созданный для конфиденциального и анонимного использования сети (шифрование, анонимизация и безопасность перехвата/прослушки трафика).

Tails содержит набор программ и утилит, которые позволяют полностью анонимно выходить в интернет и пользоваться другими сервисами и службами (почта, im-сообщения и прочее). Для достижения приватности дистрибутив использует Tor-сеть.

Интересный факт

Дистрибутив Tails использовал Эдвард Сноуден, также он призвал некоторых журналистов использовать Tails.

Среда рабочего стола Gnome

Tails использует рабочее окружение Gnome.

При запуске дистрибутива есть интересная опция — «Активировать маскировку под Windows XP». Данная опция позволяет сделать так, чтобы система выглядела очень похожей внешне на Windows XP, чтобы, например, в публичных местах никто не заподозрил вас в использовании «подозрительного» дистрибутива.

Дополнительное ПО, сохранение файлов и настроек

По умолчанию Tails не рассчитана на сохранение установленного ПО, настроек и файлов после выключения компьютера. Однако создатели предусмотрели возможность хранить некоторые данные в персистентном разделе. Настроить, что именно будет храниться, можно в разделе Settings → Persistent.

Большинство пунктов меню очевидны, поэтому я остановлюсь на последних трех. Второй и третий с конца отвечают за хранение APT-пакетов. Tails основана на Debian, поэтому большинство нужного нам ПО можно установить при помощи apt-get. И хотя сами программы при отключении компьютера не сохранятся, пакеты APT при соответствующих настройках останутся в персистентном разделе. Это позволяет развертывать все нужное ПО в процессе загрузки системы.

Последний пункт меню Dotfiles позволяет создать в персистентном разделе папку с файлами, ссылки на которые будут создаваться в домашней папке Tails при загрузке. Выглядит это следующим образом.

Вот пример структуры файлов в постоянном разделе.

/live/persistence/TailsData_unlocked/dotfiles ├── file_a ├── folder │ ├── file_b │ └── subfolder │ └── file_c └── emptyfolder

В домашней папке при таком раскладе будет следующая структура ссылок:

/home/amnesia ├── file_a → /live/persistence/TailsData_unlocked/dotfiles/file_a └── folder ├── file_b → /live/persistence/TailsData_unlocked/dotfiles/folder/file_b └── subfolder └── file_c → /live/persistence/TailsData_unlocked/dotfiles/folder/subfolder/file_c

Защищаем данные, отбрасываем хвост

Сам по себе наш персистентный раздел уже зашифрован. Однако у него есть существенный недостаток: он не обеспечивает правдоподобное отрицание наличия зашифрованных данных. Чтобы обеспечить правдоподобное отрицание, я предложу решение, которое отличается от рекомендаций создателей Tails. Как поступить тебе — решай сам.

Создатели Tails рекомендуют использовать cryptsetup, основанный на LUKS. Эта программа позволяет создавать скрытые разделы, однако такой раздел скрыт не до конца. Насколько мне известно, существует возможность обнаружить заголовок скрытого раздела, что позволяет установить его наличие.

Такой скрытый раздел лично меня не устраивает. Поэтому я решил использовать старый добрый TrueCrypt версии 7.1а. Заголовок скрытого раздела TrueCrypt неотличим от случайных данных, и, насколько мне известно, обнаружить его невозможно. Двоичный файл программы TrueCrypt лучше хранить здесь же, в персистентном разделе.

Детально описывать процесс создания двойного криптоконтейнера я не стану, отмечу лишь важный нюанс. Поскольку скрытый раздел TrueCrypt по-настоящему скрытый, о его существовании не догадывается даже сама программа, пока ты не введешь нужный пароль. Из-за этого при записи файлов в ложный раздел скрытый раздел может быть поврежден. Чтобы этого не произошло, при монтировании ложного раздела для записи на него картинок котиков нужно выбрать Mount Options → Protect hidden volume when mounting outer volume.

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

Общение

Теперь, когда мы обезопасили нашу информацию, можно приступить к ее передаче, то есть к общению. Начнем с Pidgin. Он отлично годится в качестве клиента IRC, а в Tails его еще и немного усилили. В состав ОС включен Pidgin с установленным плагином для протокола OTR. Именно он нам интересен больше всего. Избегая сложной математики, можно сказать, что этот протокол обеспечивает защищенную передачу данных с возможностью отречения, то есть доказать, что конкретное сообщение написано конкретным человеком, невозможно.

Прежде чем начать общаться с кем-то по протоколу OTR, нужно подключиться к серверу IRC. При этом очень важно удостовериться в использовании SSL. Tor шифрует трафик при передаче его между узлами, но, если ты не будешь использовать SSL, твой трафик будет передаваться в открытом виде до входного узла Tor и от выходного узла адресату. Некоторые узлы Tor забанены на серверах IRC, поэтому может потребоваться перезапуск Tor. Сделать это можно командой /etc/init.d/tor restart.

После того как соединение с сервером установлено, выбираем Buddies → New Instant Message.

В открывшемся окне диалога выбираем Not Private → Start Private Conversation.

Будет предложено три варианта для аутентификации: ввести ответ на секретный вопрос, который вы обсудили с собеседником заранее (в этом случае необходимо ввести один и тот же ответ, пробелы и регистр считаются); ввести общую «секретную» фразу; проверить fingerprint — это сорокасимвольная последовательность, идентифицирующая пользователя OTR.

Теперь можно переписываться по OTR. Но как насчет голосового общения? Тут, увы, не все гладко. Поскольку Tails направляет весь трафик через Tor, возникает ряд проблем для голосового общения. Во-первых, большинство VoIP-программ используют UDP, в то время как через Tor возможна передача только пакетов TCP. Во-вторых, Tor не отличается скоростью и пакеты иногда приходят с сильной задержкой. Так что возможны задержки и разрывы связи.

Тем не менее существует OnionPhone, специальный плагин для TorChat. Неплохо справляется и Mumble, хотя этот вариант и менее безопасен. Чтобы Mumble работал через Tor, необходимо запускать его командой torify mumble, а также выбрать пункт Force TCP в сетевых настройках программы.

Электронная почта

Почту в Tails можно использовать точно так же, как и в других ОС. В стандартную сборку входит почтовый клиент Icedove, его настройки и ключи можно хранить в персистентном разделе. Важный нюанс, который следует иметь в виду при отправке писем, состоит в том, что заголовки (subject) не шифруются. Это не ошибка, а особенность реализации протокола, о которой нужно просто знать. Кроме того, файлы, передаваемые по электронной почте, рекомендуется шифровать.

Выводы

В этой статье была рассмотрена команда tail linux. С помощью нее очень удобно анализировать логи различных служб, а также искать в них ошибки. Надеюсь, эта информация была полезной для вас.


[spoiler title=”Источники”]

  • https://andreyex.ru/linux/komandy-linux-i-komandy-shell/5-prakticheskih-primerov-komandy-tail-v-linux/
  • https://www.vseprolinux.ru/linux-tail
  • https://losst.ru/komanda-tail-linux
  • https://www.hostinger.ru/rukovodstva/komanda-tail-v-linux/
  • https://linuxvsem.ru/distributions/tails-linux
  • https://xakep.ru/2016/11/01/tails-live-flash/
  • https://pingvinus.ru/distribution/tails


[/spoiler]


2020-12-22T10:34:30
Linux

Команда mount или как правильно смонтировать диск в Линукс. Монтирование диска в Linux — команда mount.



























Rate this post

Если нужно подключить/примонтировать жесткий диск с файловой системой NTFS или ext2, ext3 к компьютеру на базе операционной системы Linux, то команда mount незаменима. Mount — утилита командной строки в UNIX-подобных операционных системах. Применяется для монтирования файловых систем. В статье приведено описание и примеры для операционной системы GNU/Linux. mount /dev/cdrom /mnt/cdrom.

Монтирование что это?

Монтирование – это подключение диска, раздела, каталога или файла в корневую систему Linux.

Как уже сказано было выше, в ОС «Линукс» имеется общая корневая система. Именно к ней подключаются все устройства и ресурсы, которыми пользуется владелец ПК. Если углубиться в эту сферу более подробно, Windows выполняет процедуры аналогично, но все процесс скрыты от пользователя.

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

Синтаксис команды mount

Чаще всего такую процедуру выполняют специальные сервисы, входящие в состав оболочки системы. Случаются ситуации, когда они просто-напросто недоступны. Здесь потребуется выполнить задачу ручным методом. Пользователь самостоятельно задает опции для монтирования, вводит различные параметры.

Процесс использования утилиты подразумевает обаятельное применение всевозможных опций, каждая из которых выполняет свою функцию. К примеру, опция «-t» является необязательной, но дает возможность без особого труда задать файловую систему, которая в последующем будет использоваться. Нередко это оказывается весьма полезным.

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

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

  • «-v». Отображение максимально подробного режима.
  • «-a». Монтируются все требуемые устройства, которые предварительно прописаны в fstab
  • «-F». Создается отдельный экземпляр утилиты для каждого из исследуемых разделов.
  • «-n». Исключается вероятность записи информации о выполняемом монтировании в /etc/mtab.
  • «-f». Исключается вероятность осуществления каких-либо действий. С помощью такой опции можно посмотреть перечень процедур, которые планирует выполнить утилита.
  • «-l». Добавляется специальная метка на диск, которая приравнивается к точке монтирования.
  • «-c». При выполнении команды не использовать относительные пути, а руководствоваться только абсолютными путями (пример – /etc/exim4) .
  • «-r». Создаваемый раздел будет доступен лишь для чтения.
  • «-w». Создаваемый раздел будет доступен как для чтения, так и для записи.
  • «-L». Монтируется раздел с использованием метки.
  • «-U». Монтируется раздел с использованием UUID.
  • «-T». Появляется возможность применения альтернативного fstab
  • «-B». Монтируется раздел в локальную папку
  • «-R». Перемонтируется сама локальная папка.
  • «-h». Вывести справочную информацию.
  • «-V». Параметр покажет текущею версию утилиты.

Представленный выше список опций является неполным. Такие функции основные, чаще всего могут потребоваться пользователю операционной системы «Линукс» во время работы с утилитой «mount».

Монтирование файловой системы командой mount

Для подключения файловой системы к конкретному местоположению (точке монтирования) команда mount используется в следующей форме:

mount [опции…] имя_устройства директория

После подключения точка монтирования становится корневой директорией смонтированной ФС. Например, смонтировать жесткий диск /dev/sdb1 в директорию /mnt/media можно следующим образом:

$ sudo mount /dev/sdb1 /mnt/media

Обычно при монтировании устройства с распространенной ФС, например, ext4 или xfs, команда mount автоматически определяет ее тип. Однако, некоторые ФС не распознаются. Их тип нужно указывать в явном виде. Для этого используется опция -t:

mount -t тип имя_устройства директория

Чтобы указать дополнительные опции монтирования, используется флаг -o:

mount -o опции_монтирования имя_устройства директория

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

-V — вывести версию утилиты;

-h — вывести справку;

-v — подробный режим;

-a, —all — примонтировать все устройства, описанные в fstab;

-F, —fork — создавать отдельный экземпляр mount для каждого отдельного раздела;

-f, —fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;

-n, —no-mtab — не записывать данные о монтировании в /etc/mtab;

-l, —show-labels — добавить метку диска к точке монтирования;

-c — использовать только абсолютные пути;

-r, —read-only — монтировать раздел только для чтения;

-w, —rw — монтировать для чтения и записи;

-L, —label — монтировать раздел по метке;

-U, —uuid — монтировать раздел по UUID;

-T, —fstab — использовать альтернативный fstab;

-B, —bind — монтировать локальную папку;

-R, —rbind — перемонтировать локальную папку.

Полный список опций можно получить, выполнив команду man mount.

Монтирование разделов с помощью mount

Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:

В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:

sudo mount -v /dev/sdb6 /mnt/

Если нужно, вы можете указать файловую систему с помощью опции -t:

sudo mount -v -t ext4 /dev/sdb6 /mnt

Если необходимо примонтировать файловую систему только для чтения, то вы можете использовать опцию -r или опцию монтирования -o ro, результат будет одинаковым:

sudo mount -t ext4 -r /dev/sdb6 /mnt

$ sudo mount -t ext4 -o ro /dev/sdb6 /mnt

Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:

sudo mount -t ext4 -o noexec /dev/sdb6 /mnt

Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT.

Вы можете использовать не только имена устройств чтобы выполнить монтирование диска в linux. Для этого можно применять UUID или метки, например, монтирование с помощью UUID:

sudo mount —uuid=»b386d309-05c1-42c8-8364-8d37270b69e0″ /mnt

mount

Посмотреть uuid для ваших разделов можно с помощью команды:

sudu blki

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

sudo mount —label=»home» /mnt/

mount

Вы можете примонтировать одну папку в другую, для этого используйте опцию —bind

sudo mount —bind /mnt/ /media/

Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:

sudo mount ~/file.iso /mnt

Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:

mount

mount

Примеры команды mount

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

mount

Смонтируем раздел /dev/sda6 в папку /root/newpapka. Предварительно посмотрим все разделы в Линукс, с помощью команды “df -h”.

Монтирование раздела sda6

ВАЖНО! Обычно команда mount требует прав суперпользователя, если обратного не требует fstab.

Есть несколько вариантов запуск утилиты от root:

  1. Войти в учетную запись root.
  2. Использовать sudo.
  3. Ввести команду su-.

Утилита дает возможность сделать монтировать одну папку в другую. Для этого предусмотрена специальная опция «–bind».

sudo mount –bind /root/katalog /root/newpapka

Каталог1 в каталог2

Пользователю может потребоваться указание определённой файловой системы. Для этого посмотрим список всех разделов, с помощью df -h.

df -h

Далее узнаем к какой файловой системе относится раздел /dev/sda6, с помощью утилиты “file”.

file -s /dev/sda6

Узнаем файловую систему

Примонтируем файловую систему “ext4” в каталог “primercataloga”. В данном случае используется опция «-t».

mount -t ext4 /dev/sda6 /root/primercataloga

Примонтируем ext4

Если в последующем смонтированная файловая система будет использоваться только для чтения, применяется опция «-r».  Для примера смонтируем /dev/sda6 в ту же папку “newpapka”, однако так как мы уже делали это в прошлом примере, система будет ругаться. “already mounted or /root/newpapka busy”.

already mounted or busy

Именно поэтому нужно сначала размонтировать каталог. Для этого будем использовать команду umount.

umount /root/newpapka

Пример размонтирования каталога

Далее монтируем с опцией -r.

mount -r /dev/sda6 /root/newpapka

Есть возможность указать и иные опции, которые будут распространяться на смонтированные разделы в «Линукс». Если требуется запрет выполнения программ в определенной файловой системе, вводится:

mount -t ext4 -o noexec /dev/sda6 /root/primercataloga

При монтировании диска можно указать не только имена различных устройств. Для составления команды нередко применяется UUID. Вводится:

sudo mount –uuid=”a5d3369c-8c1b-42c4-869f-05d9d286196e” /katalog

где a5d3369c-8c1b-42c4-869f-05d9d286196e – это уникальный номер uuid. Посмотреть его можно с помощью утилиты blkid.

blkid

uuid

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

Узнаем:

sudo e2label /dev/sda6

Утилита e2label умеет изменять метки, а также выводить их на экран.

e2label

sudo mount –label=”root1″ /root/katalog

Утилита «mount» имеет широкие возможности. С ее помощью можно монтировать не только определенные разделы, но и файлы, например образы iso. Это можно осуществить только в том случае, если в них содержится файловая система.

sudo mount /root/obraz-diska.iso /root/disk

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

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

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

  1. Создать точку монтирования
  2. Примонтировать файловую систему

Монтирование USB-накопителя/жесткого диска

В большинстве современных дистрибутивов Linux, например, Ubuntu, USB-накопители автоматически монтируются при подключении, но иногда может потребоваться ручное монтирование устройства. Чтобы смонтировать USB-накопитель, выполните следующие действия.

Создайте точку монтирования

sudo mkdir -p /media/usb

Если USB-накопитель использует устройство /dev/sdd1, его можно смонтировать в директорию /media/usb следующей командой:

sudo mount /dev/sdd1 /media/usb

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

  • fdisk -l
  • ls -l /dev/disk/by-id/usb*
  • dmesg
  • lsblk

Монтирование дисков CD/DVD-ROM Наверх

Если Вам нужно примонтировать CD/DVD-ROM, то монтирование CD/DVD-ROM осуществляется точно так же, той же командой mount, которая были приведены выше:

# sudo mount -t iso9660 -o ro /dev/cdrom /cd Только при монтировании CD-ROM нужно указать тип файловой системы iso9660.

Монтирование образов диска ISO Наверх

Если Вы хотите примонтировать образ диска ISO, то это тоже достаточно просто сделать командой mount: # sudo mount -t iso9660 -o loop /home/file.iso /home/iso Где /home/file.iso — путь и имя файла ISO /home/iso — точка монтирования Добавился только параметр -o loop, который указывает, что используется файл .iso.

Монтирование NFS

Для монтирования системы NFS требуется установить клиент NFS. Установка клиента NFS в Ubuntu и Debian:

sudo apt install nfs-common

Установка клиента NFS в CentOS и Fedora:

sudo yum install nfs-utils

Создайте директорию, которая будет точкой монтирования удаленной файловой системы:

sudo mkdir /media/nfs

Обычно требуется автоматическое монтирование удаленной директории NFS при загрузке. Для этого нужно изменить файл конфигурации /etc/fstab. Откройте его в любом текстовом редакторе, например:

sudo nano /etc/fstab

Добавьте в файл следующую строку, заменив сервер:/директория на имя или IP-адрес сервера NFS и экспортируемую директорию:

#

сервер:/директория    /media/nfs nfs      defaults    0       0

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

sudo mount /mnt/nfs

или

sudo mount -a

Монтирование сетевых дисков SMB Наверх

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

# sudo mount -t smbfs -o username=vasja,password=pupkin //pupkin_v/Video /home/user/video Где username=vasja,password=pupkin — это имя и пароль доступа к удаленному сетевому ресурсу, а //pupkin_v/Video — имя сетевого ресурса, /home/user/video – точка монтирования

Размонтирование файловой системы

Для отключения смонтированной файловой системы используется команда umount, в качестве аргумента которой указывается директория, в которую она была смонтирована (точка монтирования) или имя устройства:

umount директория umount имя_устройства

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

fuser -m директория

Определив процессы, можно остановить их и размонтировать файловую систему. Также для отключения занятой файловой системы сразу после завершения ее использования можно воспользоваться опцией -l (—lazy, “ленивое” отключение):

umount -l директория

Для принудительного размонтирования применяется опция -f (—force). Обычно она используется для отключения недостижимой системы NFS.

umount -f директория

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

Сохранение параметров mount после перезагрузки

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


[Файловая система] [Точка монтирования] [Тип файловой системы] [Опции] [Dump] [Номер прохода]

Например:

/dev/sdb1    /home    ext4    defaults 0 0

Подключит устройство /dev/sdb1 (например жесткий диск) в директорию /home

После того как инструкция для mount прописаны в /etc/fstab, что бы проверить правильность написания дайте команду

mount -a

Если команда отработает без ошибок, то все устройства прописанные в /etc/fstab будут подключены, а также изменения не потеряются после перезагрузки.

Пользовательские пространства имен

В листинге 1 приведена часть кода модуля PAM (pluggable authentication module, подключаемого модуля авторизации), который предоставляет каждому пользователю, кроме root, обособленное пространство имен. Если директория /tmp/priv/USER существует, то она будет смонтирована с помощью bind на директорию /tmp в пользовательском пространстве имен.

Настройка системы для организации отдельных каталогов root для каждого пользователя

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

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


[spoiler title=»Источники»]

  • https://www.vseprolinux.ru/mount
  • https://hamsterden.ru/mount-umount/
  • https://ITProffi.ru/podklyuchenie-fajlovyh-sistem-komanda-mount-v-linux/
  • https://losst.ru/montirovanie-diska-v-linux
  • https://www.ibm.com/developerworks/ru/library/l-mount-namespaces/index.html


[/spoiler] VKTelegramFacebookTwitterGoogle+WhatsAp

Монтирование дисков в Linux

Способ 1: Утилита GParted

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

    1. Запустите операционную систему и отыщите GParted через меню приложений. Запуск осуществляется стандартным кликом по соответствующему значку.

Запуск утилиты GParted в Linux через меню приложений

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

Подтверждение запуска утилиты GParted в Linux через меню приложений

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

Выбор раздела или диска в утилите GParted в Linux для монтирования

    1. В появившемся контекстном меню остается только нажать на «Монтировать».

Пункт для монтирования диска через утилиту GParted в Linux

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

Способ 2: Стандартная утилита «Диски»

В большинстве популярных дистрибутивов имеется стандартная утилита под названием «Диски». Именно она и отвечает за управление накопителями. Если приведенного выше решения на ПК не оказалось или оно вам не подходит, выполните такие действия:

    1. Воспользуйтесь меню приложений, чтобы отыскать соответствующую утилиту. Запустите ее, нажав по значку.

Запуск утилиты Диски в Linux для монтирования раздела

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

Выбор раздела в утилите Диски в Linux для монтирования

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

Кнопка для монтирования раздела или носителя в утилите Диски в Linux

    1. Это действие в обязательном порядке требует подтверждения подлинности, поэтому введите пароль суперпользователя в появившейся форме.

Подтверждение монтирования носителя или раздела в утилите Диски в Linux

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

Успешное монтирование носителя или раздела в утилите Диски в Linux

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

Способ 3: Терминальная команда

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

    1. Запустите «Терминал» удобным для вас образом, например, горячей клавишей Ctrl + Alt + T или через меню приложений.

Переход к терминалу для использования стандартной команды монтирования в Linux

    1. Введите команду sudo mount -v /dev/sda2 /mnt/, где /dev/sda2 — название необходимого диска, а /mnt/ — точка монтирования.

Использование команды для монтирования диска в Linux

    1. Подтвердите данное действие, введя пароль суперпользователя. Это требуется, поскольку для активации команды был использован аргумент sudo.

Подтверждение монтирования диска через терминал Linux

    1. Вы будете уведомлены о том, что данная операция завершена успешно.

Успешное монтирование диска через терминал в Linux

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

Подробнее: Просмотр списка дисков в Linux

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

  • -r — подключение в формате только для чтения;
  • -w — монтирование с возможностью чтения и записи;
  • -c — использование абсолютных путей;
  • -t ext4 — монтирование файловой системы. Здесь ext4 следует заменить на необходимую ФС;
  • -a — монтирование всех разделов и носителей, указанных в fstab.

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

Способ 4: Монтирование окружения в режиме LiveCD

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

    1. Загрузите компьютер с LiveCD версией дистрибутива. Более детально об этом читайте в официальной документации по приведенной далее ссылке.

Загрузка Linux с LiveCD

    1. Выберите вариант ознакомления с ОС, предварительно указав удобный язык интерфейса.

Запуск LiveCD монтирования диска через терминал в Linux

    1. Потребуется запустить «Терминал», поскольку отсюда все манипуляции производятся более удобно. Однако ничего не мешает вам задействовать те утилиты, о которых мы уже рассказывали выше. В этом режиме они так же работают корректно.

Запуск терминала в режиме LiveCD для монтирования диска в Linux

    1. Используйте команду sudo mount /dev/sda1 /mnt, чтобы смонтировать основной раздел. Наименование /dev/sda1 взято только в качестве примера, а по факту оно может быть другим.

Команда для монтирования основного раздела жесткого диска через LiveCD в Linux

    1. В некоторых случаях разделы с загрузчиком тоже придется смонтировать. Для этого используется команда sudo mount –bind /dev/ /mnt/dev/.

Команда для монтирования раздела с загрузчиком при работе с LiveCD Linux

    1. Следом идет строка sudo mount –bind /proc/ /mnt/proc/.

Вторая команда для монтирования раздела с загрузчиком при работе с LiveCD Linux

    1. Последняя команда имеет вид sudo mount –bind /sys/ /mnt/sys/.

Третья команда для монтирования раздела с загрузчиком при работе с LiveCD Linux

    1. По завершении можно перейти к окружению sudo chroot /mnt/.

Команда для подключения к смонтированному окружению через LiveCD Linux

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

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

CentOS 7: Монтирование дисков. Утилита mount, umount.

1. Описание утилиты.

Mount — утилита командной строки. Применяется для монтирования файловых систем.

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

Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.

2. Общий синтаксис.

Для монтирования в CentOS 7 используется команда mount.

Рассмотрим ее параметры:

# mount /файл_устройства /папка_назначения

Или расширенный вариант:

# mount опции -t файловая_система -o опции_монтирования /файл_устройства /папка_назначения

Опции задают различные дополнительные особенности работы утилиты. Опция -t необязательна, но она позволяет задать файловую систему, которая будет использована и иногда это очень полезно. С помощью опции -o вы можете задать различные параметры монтирования, например, монтировать только для чтения и так далее. Последних два параметра — это файл устройства, например, /dev/sda1 и папка назначения, например, /mnt.

Перед тем как перейти к рассмотрению примеров работы утилитой, давайте рассмотрим ее основные опции:

  • -V — вывести версию утилиты;
  • -h — вывести справку;
  • -v — подробный режим;
  • -a, –all — примонтировать все устройства, описанные в fstab;
  • -F, –fork — создавать отдельный экземпляр mount для каждого отдельного раздела;
  • -f, –fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;
  • -n, –no-mtab — не записывать данные о монтировании в /etc/mtab;
  • -l, –show-labels — добавить метку диска к точке монтирования;
  • -c — использовать только абсолютные пути;
  • -r, –read-only — монтировать раздел только для чтения;
  • -w, –rw — монтировать для чтения и записи;
  • -L, –label — монтировать раздел по метке;
  • -U, –uuid — монтировать раздел по UUID;
  • -T, –fstab — использовать альтернативный fstab;
  • -B, –bind — монтировать локальную папку;
  • -R, –rbind — перемонтировать локальную папку.

3. Монтирование разделов.

3.1. Простое монтирование.

Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:

# sudo mount /dev/sdb2 /mnt/

3.2. Монтирование с правами суперпользователя.

В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:

# sudo mount -v /dev/sdb2 /mnt/

3.3. Монтирование с указанием файловой системы.

Если нужно, вы можете указать файловую систему с помощью опции -t:

# sudo mount -v -t ext4 /dev/sdb2 /mnt

3.4. Монтирование только для чтения.

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

# sudo mount -t ext4 -r /dev/sdb2 /mnt

# sudo mount -t ext4 -o ro /dev/sdb2 /mnt

3.5. Ограничения на выполнение программ.

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

# sudo mount -t ext4 -o noexec /dev/sdb2 /mnt

Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT.

3.6. Монтирование по UUID.

Вы можете использовать не только имена устройств чтобы выполнить монтирование диска в CentOS 7. Для этого можно применять UUID или метки, например, монтирование с помощью UUID:

# sudo mount –uuid=”b386d309-05c1-42c8-8364-8d37270b69e0″ /mnt

Посмотреть UUID для ваших разделов можно с помощью команды:

# sudu blkid

или так

# blkid /dev/sdb1

Также соответствие «классических» имен устройств и их UUID представлений можно посмотреть вот так:

# ls -l /dev/disk/by-uuid/

3.7. Монтирование по метке.

Точно так же вы можете использовать метки. Команда монтирования диска CentOS 7 будет выглядеть так:

# sudo mount –label=”home” /mnt/

3.8. Монтаж каталога к каталогу.

Вы можете примонтировать один каталог в другой, для этого используйте опцию –bind:

# sudo mount -v -R –rbind /mnt/ /media/

3.9. Монтирование файлов с файловой системой.

Возможно, не только монтирование разделов CentOS 7, но и монтирование файлов, если они содержат файловую систему, например, образов дисков.

Монтирование образа диска CentOS 7 работает точно так же:

# sudo mount ~/file.iso /mnt

4. Список смонтированного.

Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:

# mount

5. Размонтирование разделов.

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

Например:

# sudo umount /mnt

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

Система сообщит, что устройство занято:

umount: /mnt: target is busy.

Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:

# lsof -w /mnt

# lsof -w /dev/sdb6

Здесь вы видите всю необходимую информацию, чтобы понять что происходит и что с этим делать. Утилита вывела название программы, ее PID, и даже файл, с которым она работает. Вы можете завершить все программы, а потом снова повторить попытку или используйте опцию -l, файловая система будет отключена немедленно, несмотря на то, что она занята:

# sudo umount -l /mnt

6. Оригиналы источников информации.

  1. ru.wikipedia.org «mount».
  2. losst.ru «Монтирование диска в Linux».

Выводы

В этой статье мы рассмотрели как выполняется монтирование жестких дисков linux, а также разделов и даже образов. Вы знаете как правильно использовать опции mount и umount.


[spoiler title=”Источники”]

  • https://www.vseprolinux.ru/mount
  • https://ITProffi.ru/podklyuchenie-fajlovyh-sistem-komanda-mount-v-linux/
  • https://GitJournal.tech/montirovanie-diska-v-linux-komanda-mount/
  • https://itshaman.ru/articles/3/mount
  • https://lumpics.ru/mounting-disk-in-linux/
  • https://hamsterden.ru/mount-umount/
  • https://losst.ru/montirovanie-diska-v-linux


[/spoiler]


2020-12-22T10:34:30
Linux