Как найти самые большие папки и файлы в linux

Модульный сетевой стек Netgraph

Самое ощутимое отличие сетевой подсистемы FreeBSD от таковой в Linux — альтернативный сетевой стек Netgraph. Как и GEOM, Netgraph представляет собой фреймворк, позволяющий строить очень гибкие конфигурации обработки информации, но в этот раз не запросов ввода-вывода, а сетевых пакетов.

В терминологии Netgraph каждый обработчик пакетов называется узлом, принадлежащим определенному типу. У узла есть вход и выход (называемые хуками). Проходя через узлы, пакет может видоизменяться, инкапсулироваться в другой пакет и так далее.

FreeBSD поддерживает десятки различных типов узлов, вот только часть из них:

  • ng_ether — предназначен для представления сетевой карты в виде узла;
  • ng_iface — предоставляет псевдоинтерфейс для определенного стека протоколов. Используется, например, для создания PPTP VPN с помощью MPD;
  • ng_ipfw — используется для интеграции ipfw и Netgraph;
  • ng_nat — одна из многочисленных реализаций NAT во FreeBSD;
  • ng_netflow — поддержка NetFlow; одно из наиболее распространенных применений Netgraph;
  • ng_one2many — реализация дублирования пакетов. Поддерживает три алгоритма передачи: Round Robin (использующийся по умолчанию), «доставка всем» и Failover — пакет отправляется на первый «живой» хук.
    Также есть статистика;
  • ng_pipe — простейший шейпер трафика;
  • ng_tag — управление тегами mbuf (теги используются для «навешивания» служебной информации на пакет внутри ядра);
  • ng_tee — аналог утилиты tee. Пакеты, проходящие через этот узел (помимо того, что идут, куда шли), могут заворачиваться и на другой.

Пример зеркалирования пакетов с помощью Netgraph (как входящих, так и исходящих):

1
2
3
4
5
6
7
8
9
10

# kldload ng_ether
# ngctl mkpeer em0: tee lower left
# ngctl connect em0: em0:lower upper right
# ngctl name em0:lower em0_tee
# ngctl mkpeer em1: one2many lower one
# ngctl connect em1:lower em1: many0 upper
# ngctl name em1:lower m2o_mirr
# ngctl connect em0_tee: m2o_mirr: left2right many1
# ngctl connect em0_tee: m2o_mirr: right2left many2
# ifconfig em1 up

Разберем, что делает каждая команда. Первая загружает модуль ядра, отвечающий за представление сетевой карты в виде узла Netgraph (в моем случае карты назывались em0 и em1 и узлы Netgraph именовались соответственно). У данного типа есть три хука: lower, upper и orphans. На первый поступают исходящие со стороны системы пакеты, на второй, соответственно, попадающие с физического уровня. На третий поступают некорректные пакеты, и в нашем примере он не используется.

Следующая команда создает узел типа tee и одновременно соединяет хук lower узла em0 с хуком left вновь созданного узла, который пока еще никак не именуется.

Остановимся на типе tee подробнее. Узлы данного типа обладают четырьмя хуками: left, right, left2right и right2left. Основная его задача заключается в том, чтобы создавать «разрыв» между двумя хуками, которые обычно соединены в одном узле, и встраиваться в этот «разрыв», позволяя затем перехватывать все, что проходит через препарируемый узел.

Таким образом, третья команда устраняет созданный нами же «разрыв» между двумя хуками, позволяя пакетам идти как обычно. Первый аргумент команды ngctl connect — узел, который подключается. Второй — узел (точнее, относительный или абсолютный путь), к которому подключается первый узел. Третий аргумент — хук первого узла, четвертый — хук второго.

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

Пятая создает узел типа one2many (который может действовать и в обратном направлении — то есть many2one), подключая хук one к хуку lower узла интерфейса, на который мы будем зеркалировать.

Шестая команда необходима для корректной работы зеркалирования — без нее система будет дублировать отдельные пакеты.

Седьмая команда подключает many1 к хуку left2right, через который проходят все входящие пакеты, поскольку они идут от хука lower узла em0 (к которому подключен хук left узла типа tee) к хуку upper (к которому, соответственно, подключен хук right).

Восьмая команда делает то же самое с исходящим трафиком, подключая many2 к right2left.

Две команды в совокупности направляют два потока через узел типа one2many на хук one, подсоединенный к узлу em1 посредством хука lower, с которого пакеты и покидают систему.

Последняя команда активирует сетевой интерфейс.

Управление пакетами

Во FreeBSD есть два способа установки сторонних программ: пакеты и порты. Пакеты (как и в Linux) — это уже собранные бинарные версии программ, порты — удобная обертка для сборки из исходников, позволяющая автоматически выкачивать исходники из Сети и собирать из них бинарный пакет.

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

До FreeBSD 9 система управления пакетами была крайне ущербна и не умела отслеживать зависимости. Начиная с версии 10 (2014 год) в качестве системы управления пакетами по умолчанию используется более продвинутая pkgng.

С pkgng, однако, тоже случаются казусы. Например, при установке Firefox на свежеустановленную систему мне «повезло» попасть на его некорректную версию в метаданных. То есть файл пакета был, но его версия (и адрес) отличались от тех, что записаны в метаданных, — в результате при попытке установить данный пакет с помощью pkg install пакетный менеджер попросту не находил указанный URL. В результате пришлось устанавливать все зависимости (благо их было не так уж много), а потом с помощью pkg add устанавливать конкретный пакет по заданному URL.

Если сравнивать с yum или apt-get — ничем особо выдающимся pkgng не отличается. Это просто еще одна система управления пакетами.

Узнайте размеры файлов всех файлов и папок

Команда du суммирует использование диска для каждого файла.
В простейшей форме вы можете просто запустить следующую команду:

$ du

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

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

$ du /

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

$ sudo du /

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

$ du -a
$ du --all

Постраничную прокрутку вывода можно осуществить с помощью команд more или less:

$ du | more
du | less

Узнать размер файла отдельных файлов и папок

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

$ du  /path/to/file

Например

$ du image.png

Результат будет примерно таким:

$ 36 image.png

Изменение выводимого размера файлов

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

$ du -BM

Например, у меня есть файл с именем «centos.iso», который по умолчанию имеет размер 1630535680.

$ du -BM centos.iso

Вышеуказанная команда выводит размер как 1556M.
Вы также можете использовать K или G следующим образом:

$ du -BK centos.iso
du -BG centos.iso

В килобайтах файл centos.iso показывается как 159232K.
В гигабайтах файл centos.iso показывается как 2G

На самом деле существует 8 возможных настроек, которые выглядят следующим образом:
• К — Килобиты
• M — мегабайты
• G — гигабайт
• Т-терабайты
• P — Petabytes
• E — Exabytes
• Z — Zetabytes
• Y — Yottabyte

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

$ du -h
$ du -human-readble

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

$ du -c
$ du --total

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

$ du -s
$ du --summarize

Полезные на практике примеры команды du

Список самых больших директорий/файлов в текущей директории

$ du -hs */ | sort -hr 
$ du -h --max-depth=1 | sort -rh

Посмотреть сумму всех файлов в папке

$ du -sh * 

Резюме

Вы можете узнать больше о команде du, выполнив команду man в терминале.
Другая команда, которую вы, возможно, захотите прочитать, — это команда df, которая сообщает об использовании файловой системы и дискового пространства.

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

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

Рекомендуемое чтение: Как узнать основные каталоги и файлы (дисковое пространство) в Linux

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

Обратите внимание, что при вызове ls без аргументов он выводит список файлов в текущем рабочем каталоге

В следующей команде флаг -l означает длинный список, а -a указывает ls перечислить все файлы, включая (.) или скрытые файлы. Чтобы не отображать файлы . и .. , используйте параметр -A вместо -a .

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

Вы можете вывести размеры файлов в удобочитаемом формате, добавив параметр -h , как показано.

И для сортировки в обратном порядке добавьте флаг -r следующим образом.

Кроме того, вы можете рекурсивно выводить список подкаталогов с помощью параметра -R .

  1. Как найти недавно измененные или измененные файлы в Linux
  2. Примеры использования «древовидной команды» в Linux для начинающих.
  3. 10 практических примеров использования подстановочных знаков для сопоставления имен файлов в Linux
  4. Способы использования команды «find» для более эффективного поиска в каталогах

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

Источник

Размер файла в Linux

1. Nautilus

Чтобы посмотреть размер файла в файловом менеджере сначала найдите нужный файл и кликните по нему правой кнопкой мыши. В открывшемся меню выберите Свойства:

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

2. Команда ls

Для того чтобы утилита ls отображала размер файлов в удобном для чтения формате необходимо использовать параметр -h. Например:

Здесь размер отображается в пятой колонке. Чтобы увидеть размер определённого файла надо передать его имя утилите:

ls -lh ‘Снимок экрана от 2020-08-10 20-22-50.png’

Можно ещё вручную указать единицы измерения для показа размера. Для этого используйте опцию —block-size. Например, мегабайты:

ls -l —block-size=M

Вместо ls можно использовать команду ll, её вывод полностью аналогичен команде ls -l:

3. Утилита stat

Программа stat кроме метаданных позволяет выводить размер файла в байтах. Например:

stat ‘Снимок экрана от 2020-08-10 20-22-50.png’

Если нужно показать только размер, используйте опцию -с с указанием формата %s:

stat -c %s ‘Снимок экрана от 2020-08-10 20-22-50.png’

4. Утилита du

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

du -h ‘Снимок экрана от 2020-08-10 20-22-50.png’

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

А чтобы узнать размер папки в Linux используйте опцию -s. Она суммирует размеры всех объектов:

5. Утилита ncdu

Программа ncdu позволяет анализировать дисковое пространство занимаемое файлами и каталогами. Но она не поставляется вместе с системой. Для её установки выполните:

sudo apt install ncdu

Затем просто укажите в параметрах каталог, размер которого вы хотите посмотреть:

Все файлы будут отсортированы по размеру, а в самом низу будет отображен общий размер этой папки:

6. Утилита find

С помощью этой утилиты вы не можете узнать размер файла, зато можете найти файлы с определённым размером. С помощью параметра size можно указать границы размера файлов, которые надо найти. Например, больше чем 2000 килобайт, но меньше чем 2500 килобайт:

/Изображения/ -size +2000k -size -2500k

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

Весь список

# du -sh /var/

1 # du -sh /var/

или сколько весят все элементы в текущей папке

# du -sh *

1 # du -sh *

Как узнать объём свободного пространства на примонтированных дисках?

# df -h

1
2

# df -h
 

Результат работы команды — таблица дисков с информацией об общем объёме, занятом и свободном объёме. С ключом -h объёмы дискового пространства отображаются в удобных человеку единицах — G — гигабайт, M — мегабайт и тд.

Поиск файлов с указанным текстом

# grep -rl ‘text’ /dir_name

1 # grep -rl ‘text’ /dir_name

Указанный текст ‘text’ будет искаться в файлах директории /dir_name, причём поиск будет рекурсивным, то есть поиск будет вестись так же в поддиректориях. Результат выполнения команды — список файлов, в которых встречается искомый текст.

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

Находим код, который был внедрён на страницу, выполняем вышеописанную команду и получаем список дописанных файлов.

Бекап базы данных MySQL

# mysqldump \
—host=HOST \
—user=USERNAME \
—password=PASSWORD \
—quick \
—add-drop-table \
—skip-add-locks \
—quote-names \
—create-options \
—comments \
—compatible=mysql40 \
—default-character-set=utf8 DATABASENAME > FILENAME.SQL

1
2
3
4
5
6
7
8
9
10
11
12

# mysqldump \

—host=HOST\

—user=USERNAME\

—password=PASSWORD\

—quick\

—add-drop-table\

—skip-add-locks\

—quote-names\

—create-options\

—comments\

—compatible=mysql40\

—default-character-set=utf8 DATABASENAME>FILENAME.SQL

Создаётся бекап базы данных DATABASENAME, всё записывается в файл FILENAME.SQL, коннект происходит к хосту HOST от имени пользователя USERNAME с паролем PASSWORD, при этом добавляется удаление таблицы если она существует, имена таблиц и прочее обрамляются апострофами, добавляются комментарии, устанавливается кодировака SET NAMES в utf8, дамп будет совместим с версией MySQL 4.0.
Подробнее описано здесь.

# find /home/test -type f -exec chmod 644 {} \;

1 # find /home/test -type f -exec chmod 644 {} \;

# find /home/test -type d -exec chmod 755 {} \;

1 # find /home/test -type d -exec chmod 755 {} \;

Создать архив tar

Создать архив 20130504_1.tar из текущей директории «.», исключая директорию exclude_name

tar —exclude=exclude_name -cf 20130504_1.tar .

1 tar—exclude=exclude_name-cf20130504_1.tar.

кстати, насчёт директории, можно указать поддиректорию в директории, например upload/tmp — папка upload будет в архиве, но в ней папки tmp не будет

Команда df linux

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

$ dfопцииустройство

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

  • -a, –all – отобразить все файловые системы, в том числе виртуальные, псевдо и недоступные;
  • -B – изменить размер одного блока перед выводом данных, например, можно использовать BM, чтобы вывести все данные в мегабайтах;
  • -h – выводить размеры в читаемом виде, в мегабайтах или гигабайтах;
  • -H – выводить все размеры в гигабайтах;
  • -i – выводить информацию об inode;
  • -k – выводить размеры в килобайтах;
  • –output – использовать специальный формат вывода, если не задано, выводит все поля. Доступны такие варианты: ‘source’, ‘fstype’, ‘itotal’, ‘iused’, ‘iavail’, ‘ipcent’, ‘size’, ‘used’, ‘avail’, ‘pcent’, ‘file’ и ‘target’;
  • -P – использовать формат вывода POSIX;
  • –total – выводить всю информацию про использованное и доступное место;
  • -t, –type – выводить информацию только про указанные файловые системы;
  • -x – выводить информацию обо всех, кроме указанных файловых систем;

Теперь, после основных опций рассмотрим подробнее как примеры df linux.

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

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

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

Команда du – синтаксис и опции

Disk Usage – именно так интерпретируется название команды du. Она была написана ещё в самой первой версии UNIX (в определённом роде предшественницы Linux), еще в стенах одной из лабораторий компании AT&T

Этот факт даёт понять, насколько важно следить за дисковым пространством, а также анализировать его при наличии специализированных программных инструментов, ведь du – одна из самых первых утилит из стандартного комплекта UNIX/Linux

Итак давайте узнаем что у нас занимает место

du --max-depth=1 -h /

Более подробное описание команды du и ключей вы можете прочитать ниже. Вывод будет следующий

Отсюда мы видим что самый большой каталог у нас /var. Посмотрим что у на занимает место в каталоге /var

du --max-depth=1 -h /var

видим что это папка log

Теперь смотрим /var/log

du -ah /var/log

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

Согласно описанию из официального man-руководства, утилита du суммирует использование дискового пространства набора элементов, рекурсивно с каталогами. Синтаксис команды не простой, а очень простой, поскольку представляет собой классический прототип команды Linux:

du … …
du code_text.txt
4    code_text.txt

Как видно, code_text.txt занимает 4 килобайта (т. к. 1024 байта = 1 килобайт) дискового пространства. То же самое и с папками, но по-умолчанию будет указан общий размер папки без детализации по файлам и подкаталогам. В следующей таблице приведены опции команды du:

Опция Назначение
-a Выводит объём для всех элементов, а не только для каталогов
—apparent-size Выводит действительные размеры, но не занимаемое место а диске
-B,

—block-size=РАЗМЕР

Задаёт использование определённых единиц измерения объёма
-b,

—bytes

То же самое, что и «—block-size —apparent-size=1»
-с,

—total

Выводит общий результат
-D,

—dereference-args

Указывает обрабатывать только те символьные ссылке, которые перечислены в командной строке
-d, —max-depth=N Выводит общий размер только до N-го уровня (включительно) дерева каталогов
-h,

—human-readable

Выводит размеры в удобном для человека виде
-k Эквивалентно —block-size=1K
-L,

—dereference

Разыменовывает символьные ссылки
-l,

—count-links

Складывает размеры, если несколько жёстких ссылок
-m Эквивалентно —block-size=1M
-t,

—threshold=РАЗМЕР

Исключает элементы, которые меньше РАЗМЕРА, если это значение положительно или размер которых больше, если это значение отрицательно
—time Выводит время последнего изменения в каталоге и во всех подкаталогах
—time=АТРИБУТ Выводит указанный атрибут времени (atime, access, use, ctime, status), а не время последнего изменения
—time-style=СТИЛЬ Выводит время в указанном в СТИЛЬ формате: full-iso, long-iso, iso

-X,

—exclude-from=ФАЙЛ

Исключает все эдементы, которые совпадают с шаблоном из ФАЙЛа
—exclude=ШАБЛОН Исключает элементы, совпадающие с шаблоном
-x,

—one-file-system

Пропускать каталоги из других систем

Используемые командой du единицы измерения размера (или объёма) задаются в формате «цифраБуква», где цифра — это коэффициент, а Буква — степень единицы измерения, например: 5K = 5 * 1024 = 5120 = 5 килобайт и по аналогии для M – мегабайт, G – гигабайт.

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

Узнать общий размер каталога (например с резервными копиями):

$ du -sh ~/home/backups
19G  /home/john/backups

Вывод размеров всех подкаталогов (рекурсивно):

$ du -h ~/home/backups/
3,2M /home/john/backups/vhosts/ssl
1,5M /home/john/backups/vhosts
5,0M /home/john/backups

С учётом файлов:

$ du -ha ~/home/backups/
4,0K /home/john/backups/.directory
764K /home/john/backups/scheme.txt
3,2M /home/john/backups/vhosts/ssl
1,5M /home/john/backups/vhosts
5,0M /home/john/backups

С фильтрацией в зависимости от размера файла/каталога:

$ du -ha -t2M ~/home/backups/
3,2M /home/john/backups/vhosts/ssl
5,0M /home/john/backups

Как видно, были отброшены файлы/каталоги размером меньше 2 мегабайт. Следующая команда, напротив — исключит из вывода только файлы/каталоги больше 2 мегабайт:

$ du -ha ~/home/backups/
4,0K /home/john/backups/.directory
764K /home/john/backups/scheme.txt
1,5M /home/john/backups/vhosts

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

Наконец-то мы добрались к теме примеры sort Linux. Давайте сначала создадим файл с несколькими строками, на котором и будем проверять возможности утилиты.

computer mouse LAPTOP data RedHat laptop debian laptop

Также можно воспользоваться вот такой командой:

echo -e “computer\nmouse\nLAPTOP\ndata\nRedHat\nlaptop\ndebian\nlaptop” > test.txt

Опция -e указывает команде, что нужно обрабатывать спецсимволы, а \n, если кто не знает, не что иное как спецсимвол перевода строки в Linux.

1. Сортировка

Теперь давайте выполним сортировку строк linux в нашем файле:

computer data debian laptop laptop LAPTOP mouse RedHat

Вот несколько принципов, по которым команда sort linux сортирует строки:

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

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

RedHat mouse LAPTOP laptop laptop debian data computer

3. Сортировка по колонке

Отсортируем вывод команды ls по девятой колонке, то есть по имени файла или папки. Колонку укажем опцией -k:

drwxr-xr-x 6 user user 4096 дек 6 14:29 Android drwx—— 3 user user 4096 янв 14 22:18 Desktop drwxr-xr-x 12 user user 4096 янв 14 21:49 Documents drwx—— 5 user user 12288 янв 15 14:59 Downloads drwxr-xr-x 7 user user 4096 янв 13 11:42 Lightworks

Сортировка вывода Linux выполняется так же просто как и строк из файла.

4. Сортировка по номеру

Отсортируем вывод команды ls по второй колонке. Для сортировки по числовому значению используется опция -n:

drwx—— 5 user user 12288 янв 15 14:59 Downloads drwxr-xr-x 6 user user 4096 дек 6 14:29 Android drwxr-xr-x 7 user user 4096 июн 10 2015 Sources drwxr-xr-x 7 user user 4096 окт 31 15:08 VirtualBox drwxr-xr-x 7 user user 4096 янв 13 11:42 Lightworks drwxr-xr-x 8 user user 12288 янв 11 12:33 Pictures

5. Удаление дубликатов

Команда sort Linux позволяет не только сортировать строки, но и удалять дубликаты. Для этого есть опция -u:

computer data debian laptop LAPTOP mouse RedHat

Теперь строчка laptop не повторяется.

6. Сортировка по нескольким полям

Мы можем сортировать данные по нескольким полям. Например, отсортируем вывод ls по второму первично и вторично девятому полях:

ls -l | sort -t “,” -nk2,5 -k9

drwxr-xr-x 2 seriyyy95 seriyyy95 4096 дек 6 14:32 Links drwxr-xr-x 2 seriyyy95 seriyyy95 4096 янв 13 10:43 tmp drwx—— 3 seriyyy95 seriyyy95 4096 янв 14 22:18 Desktop drwxr-xr-x 3 seriyyy95 seriyyy95 4096 мар 28 2015 Журналы drwx—— 4 seriyyy95 seriyyy95 12288 янв 15 15:42 Загрузки

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

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

-P — никогда не открывать символические ссылки.

-L — получает информацию о файлах по символическим ссылкам

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

-maxdepth — максимальная глубина поиска по подкаталогам, для поиска только в текущем каталоге установите 1.

-depth — искать сначала в текущем каталоге, а потом в подкаталогах.

-mount искать файлы только в этой файловой системе.

-version — показать версию утилиты find.

-print — выводить полные имена файлов.

-type f — искать только файлы.

-type d — поиск папки в Linux.

Итоги

Если говорить о практическом применении, FreeBSD отлично подходит в качестве системы для NAS/SAN (что подтверждается большим количеством как открытых, так и проприетарных систем хранения на его основе), а также в качестве ОС для работы в сети (в качестве как домашнего, так и промышленного роутера). Как десктоп она мало интересна и не подойдет рядовым пользователям.

FreeBSD идет по отличному от Linux пути. У последней, казалось бы, гораздо больше интересных возможностей — но все они направлены на решение каких-то конкретных частных задач (хотя и не всегда — в качестве примера можно привести ту же реализацию контейнеров в Linux). Возможности FreeBSD же направлены на решение проблемы в целом (GEOM, Netgraph, Capsicum — на момент их разработки аналогов в Linux не было). Скорее всего, связано это с тем, что FreeBSD развивалась в академической среде, а Linux — это просто инструмент.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Мой редактор ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: