Поиск больших файлов в linux

Команды Linux, связанные со статистикой

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

19. mpstat

Команда Mpstat используется для показа статистики процессора и помогает отслеживать загрузку процессора в вашей системе. Это будет более полезно, если ваша система имеет несколько процессоров.

20. vmstat

Vmstat — это инструмент, который предоставляет отчеты о статистике виртуальной памяти. Он охватывает использование системной памяти, подкачки и процессоров в режиме реального времени.

По умолчанию vmstat работает следующим образом:


Команда Linux vmstat

21. iostat

Команда Iostat — это команда, используемая для мониторинга загрузки устройств ввода-вывода (I/O). Путем наблюдения за временем активности устройств по отношению к их средним скоростям передачи.

22. tcpdump

Tcpdump — это команда устранения неполадок в сети, которая также известна как анализатор пакетов, используется для захвата и отображения пакетов из сети. Для выполнения команды tcpdump вам требуется root или пользователь с правами sudo.

Когда вы используете tcpdump без какой-либо опции, он будет анализировать трафик на всех интерфейсах.

23. lsof

Команда Lsof расшифровывается как «Список открытых файлов». Чрезвычайно полезно узнать подробную информацию об открытых файлах и соответствующих процессах.

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


Команда Lsof в системе Linux

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

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

Далее Solvetic объяснит доступные параметры для использования с Tree:

-a: распечатать все файлы, помните, что по умолчанию дерево не печатает скрытые файлы.

-d: список только каталогов.

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

-f: вывести префикс полного пути к объектам.

-x: остается только в текущей файловой системе.

-L Level: позволяет определить максимальную глубину просмотра дерева каталогов в результате.

-R: Действовать рекурсивно, пересекая дерево в каталогах каждого уровня, и в каждом из них оно будет выполняться. дерево снова, добавив `-o 00Tree.html ‘.

-P шаблон: список только файлов, которые соответствуют шаблону подстановки.

-I шаблон: не перечислять файлы, которые соответствуют шаблону подстановки.

—matchdirs. Этот параметр указывает шаблон соответствия, который позволяет применять шаблон только к именам каталогов.

—prune: этот параметр удаляет пустые каталоги из выходных данных.

—noreport: пропускает печать файла и отчета каталога в конце списка выполненного дерева.

Общие параметры дерева

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

-q: печатать непечатаемые символы в именах файлов.

-N: печать непечатных символов.

-Q: его функция заключается в назначении имен файлов в двойных кавычках.

-p: вывести тип файла и разрешения для каждого файла в каталоге.

-u: распечатать имя пользователя или UID файла.

-s: вывести размер каждого файла в байтах, а также его имя.

-g Распечатать имя группы или GID файла.

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

—du: Он действует в каждом каталоге, генерируя отчет о его размере, включая размеры всех его файлов и подкаталогов.

—si: он использует степени 1000 (единицы СИ) для отображения размера файла.

-D: Распечатать дату последнего изменения файлов.

-F: Ваша задача — добавить `/ ‘для каталогов, a` =’ для файлов сокетов, a` * ‘для исполняемых файлов, `>’ для дверей (Solaris) и a` | ‘ для FIFO.

—inodes: вывести номер инода файла или каталога.

  • —device: вывести номер устройства, к которому относится файл или каталог в результате.
  • -v: Сортировать вывод по версии.

-U: не упорядочивает результаты.

-r: сортировать вывод в обратном порядке.

-t: сортировать результаты по времени последней модификации, а не по алфавиту.

-S: активировать линейную графику CP437

-n: отключает раскраску результата.

-C: активирует раскраску.

-X: активировать вывод XML.

-J: активировать вывод JSON.

-H baseHREF: активирует вывод HTML, включая ссылки HTTP.

—help: Помощь дерева доступа.

—version: показывает используемую версию команды Tree.

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

Options and Optimization for Find Command for Linux

find is configured to ignore symbolic links (shortcut files) by default. If you’d like the find command to follow and show symbolic links, just add the -L option to the command, as we did in this example.

find can help Linux find file by name. The Linux find command enhances its approach to filtering so that performance is optimised. The user can find a file in Linux by selecting three stages of optimisation-O1, -O2, and -O3. -O1 is the standard setting and it causes find to filter according to filename before it runs any other tests.

-O2 filters by name and type of file before carrying on with more demanding filters to find a file in Linux. Level -O3 reorders all tests according to their relative expense and how likely they are to succeed.

find командный синтаксис

Общий синтаксис команды следующий:

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

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

Давайте посмотрим на следующий пример:

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

Как найти все файлы только для чтения

Как уже было сказано, команда find более многофункциональна, чем locate. Она может выполнять поиск по операционной системе и жесткий дискам, руководствуюсь в качестве параметров и фильтров разрешениями, выданными конкретному пользователю (его учетной записи). Для этого используются специальные маски прав в восьмеричной и других системах исчисления. К примеру, для нахождения данных с маской прав 0664, необходимо выполнить команду «$find . type f -perm 0664» без кавычек (они добавлены для удобства отображения команд).

Для поиска файлов с установленными флагами suid/guid выполняют такую строку «$find / -perm 2644». А вот поиск файлов, которые доступны только для чтения, выглядит следующим образом: «$ find /etc -maxdepth 1 -perm /u=r».

Важно! Исполняемые файлы имеют такие же разрешения и по ним удобно проводить поиск. Пользуясь масками команды find, а не поиском по расширению

Для нахождения только исполняемых файлов прописывают и выполняют «$find /bin -maxdepth 2 -perm /a=x».

Опции

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

  • -b — показывать номер блока перед строкой;
  • -c — подсчитать количество вхождений шаблона;
  • -h — не выводить имя файла в результатах поиска внутри файлов Linux;
  • -i — не учитывать регистр;
  • — l — отобразить только имена файлов, в которых найден шаблон;
  • -n — показывать номер строки в файле;
  • -s — не показывать сообщения об ошибках;
  • -v — инвертировать поиск, выдавать все строки кроме тех что содержат шаблон;
  • -w — искать шаблон, как слово, окруженное пробелами;
  • -e — использовать регулярные выражения при поиске;
  • -An — показать вхождение и n строк до него;
  • -Bn — показать вхождение и n строк после него;
  • -Cn — показать n строк до и после вхождения;

Все самые основные опции рассмотрели, и даже больше, теперь перейдем к примерам работы команды grep linux.

Linux поиск по содержимому файлов командой find

Своего рода швейцарским ножом в розыске файлов является команда find. Отметим, что она имеет множество опций, которые смогут кардинально изменять механизм поиска. Мы изложим лишь основные принципы, а с остальными способностями ознакомьтесь в справке по команде. Базовый принцип использования find состоит в указании папки поиска и опций. Например, выражение «find ~/ -name *.cpp» осуществит поиск файлов, имеющих продолжение «cpp» по всем каталогам, находящимся в личной директории пользователя.

Значение, указанное после опции -name, задает шаблон соотношения имени файла. Вы можете использовать опцию -type для указания типа файла, где в свойстве значений нужно использовать специальные буквы: d — директория, f — файл, l — символическая ссылка и т. д. Функции -user, -group и -size также довольно полезны. Их значениями являются имя пользователя, имя категории и размер файла в байтах.

С поддержкою опции -exec каждому файлу, предназначенному для установки соответствия, можно добавить случайную обработку. Таким образом, появляется возможность осуществления поиска, как по имени файла, так и по охватываемому. Ниже приводится пример комбинирования команды find и grep за счет использования функции -exec.

А возможно и еще проще

Почему мы используем grep?

Grep — это инструмент командной строки, который пользователи Linux используют для поиска текстовых строк. Вы можете использовать его для поиска файла по определенному слову или комбинации слов, или вы можете направить вывод других команд Linux в grep, так что grep может показать вам только тот вывод, который вам нужен.

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

Но чтобы ускорить весь процесс проверки содержимого каталога, вы можете направить вывод команды ls в команду grep. Давайте посмотрим в нашем домашнем каталоге папку с названием Documents.

$ ls

Desktop        Drafts                   Ваше_имя        'My files'      Samples

Documents      examples.desktop         Linux            Pictures       Templates

Downloads      Favorites                Music            Public         Videos

А теперь давайте попробуем проверить каталог снова, но на этот раз, используя grep, специально для проверки папки «Документы».

$ ls | grep Documents

Documents

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

Если папка Documents не существует, grep не вернет ничего. Поэтому, если ничего не возвращает grep, это означает, что он не может найти слово, которое вы ищете.

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

Не забывайте, что по умолчанию аргументы суммируются: результаты соответствуют всем введенным критериям. Вы можете указать вариативное соответствие (OR) с помощью -o аргумента.

Показать все файлы в текущей директории

find .

Критерий поиска не задан — будет найдено все содержимое указанной директории. «.» — это текущая директория

Найти все директории содержащие «tmp»

find / -type d -name «tmp

«/» — root директория, т.е. поиск осуществляется по всей файловой системе
-type d — будут возвращены только директории
-name «tmp» — поиск будет осуществлен только по названию содержащиму «tmp»

Найти все имена файлов содержащие текст «ssh» в любом регистре и не включать в результаты директории

find / -type f -iname *ssh*

/ — root директория, т.е. поиск осуществляется по всей файловой системе
-type f — поиск по файлам
-iname — поиск по именам без учета регистра
*ssh* — поиск текста «ssh», который может быть находится в любом месте

Найти все имена файлов содержащие текст «ssh» в любом регистре и не включать в результаты директории, а также любые .gz файлы или файлы содержащие «sshd» в имени

find / -type f -iname *ssh* ! -name «*.gz» ! -name «sshd*»

! — логическое «NOT», т.е. исключение определенных результатов из возвращаемого результата предыдущего критерия

Найти все имена файлов содержащие текст «ssh» в любом регистре, которые являются .gz файлами или содержат «sshd*» в имени, игнорировать имена директорий

find / -type f -iname *ssh* -name «*.gz» -o -name «sshd*»

-o — логическое «OR», возвращает результаты указанные в дополнительном критерии

Найти все файлы не принадлежащие root пользователю

find / ! -user root -type f

Найти все файлы, которые были изменены за последние 2 дня

find / -ctime -2

-ctime -2 — последние два дня, вместо знака минус — можно было использовать +, тогда были возвращены все файлы и директории измененные до последних двух дней. Подобный подход используется также для atime и  mtime. Чтобы указать минуты вместо дней можно воспользоваться аргументом cmin

Найти все файлы, размер которых больше больше 1 Мегабайта, но меньше 3 Мегабайт

find / -size +1M -size -3M

+ — знак плюс означает «больше чем», а — знак минус означает «меньше чем

Поиск по размеру файла

df -h /boot

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 1014M 194M 821M 20% /boot

Найти обычные файлы определённого размера

Чтобы найти обычные файлы нужно использовать
-type f

find /boot -size +20000k -type f

find: ‘/boot/efi/EFI/centos’: Permission denied
find: ‘/boot/grub2’: Permission denied
/boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img
/boot/initramfs-3.10.0-1160.el7.x86_64.img
/boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img

Файлы бывают следующих типов:

— : regular file

d : directory

c : character device file

b : block device file

s : local socket file

p : named pipe

l : symbolic link

Подробности в статье —

«Файлы в Linux»

find /boot -size +10000k -type f

find: ‘/boot/efi/EFI/centos’: Permission denied
find: ‘/boot/grub2’: Permission denied
/boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img
/boot/initramfs-3.10.0-1160.el7.x86_64.img
/boot/initramfs-3.10.0-1160.el7.x86_64kdump.img
/boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img
/boot/initramfs-3.10.0-1160.2.2.el7.x86_64kdump.img

То же самое плюс показать размер файлов

find /boot -size +10000k -type f -exec du -h {} \;

find: ‘/boot/efi/EFI/centos’: Permission denied
find: ‘/boot/grub2’: Permission denied
60M /boot/initramfs-0-rescue-389ee10be1b38d4281b9720fabd80a37.img
21M /boot/initramfs-3.10.0-1160.el7.x86_64.img
13M /boot/initramfs-3.10.0-1160.el7.x86_64kdump.img
21M /boot/initramfs-3.10.0-1160.2.2.el7.x86_64.img
14M /boot/initramfs-3.10.0-1160.2.2.el7.x86_64kdump.img

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

Теперь мы увидим, как использовать команду Grep в Linux.

Как использовать Grep в общем

Чтобы понять, как работает Grep, мы посмотрим в каталоге / etc / passwd все результаты, связанные с нашим пользователем:

 grep solvetic / etc / passwd 

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

 grep -i "resoltic" / etc / passwd 

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

 grep Solvetic Solvetic.txt 

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

 grep Solvetic Solvetic.txt Solvetic1.txt 

Более сокращенный способ сделать это — выполнить следующее:

 grep solvetic *. * 

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

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

 grep Solvetic Solvetic.txt> Solvetic2.txt 

Как использовать grep для поиска в каталогах

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

 grep -r Solvetic / домашний / решающий 

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

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

 grep -n Solvetic Solvetic.txt 

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

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

 grep -color Solvetic Solvetic.txt 

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

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

 grep ^ Solvetic Solvetic.txt 

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

 grep Solvetic $ Solvetic.txt 

Как использовать grep для печати всех строк, не видя совпадающих

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

 grep -v Solvetic Solvetic.txt 

Как использовать grep с другими командами

Grep, как и многие команды Linux, можно использовать одновременно с другими командами для получения более четких результатов, например, если мы хотим развернуть процессы HTTP, мы будем использовать grep рядом с ps следующим образом:

 ps -ef | grep http 

Как использовать grep, чтобы посчитать, сколько слов повторяется в файле

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

 grep -c Solvetic Solvetic.txt 

Как использовать grep для обратного поиска

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

 grep -v Solvetic Solvetic2.txt 

Как использовать grep для просмотра сведений об оборудовании

Ранее мы видели, что мы можем комбинировать grep с другими командами для отображения результата, ну, если мы хотим получить конкретные сведения об оборудовании, мы можем использовать cat с grep следующим образом:

 cat / proc / cpuinfo | grep -i 'Модель' 

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

Команды Linux, для работы с файлами

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

33. ls

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

34. pwd

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

Пример ример ниже:

35. mkdir

В Linux мы можем использовать команду mkdir для создания каталога.

По умолчанию, запустив mkdir без какой-либо опции, он создаст каталог в текущем каталоге.

36. cat

Мы используем команду cat в основном для просмотра содержимого, объединения и перенаправления выходных файлов. Самый простой способ использовать cat— это просто ввести » имя_файла cat’.

В следующих примерах команды cat отобразится имя дистрибутива Linux и версия, которая в настоящее время установлена на сервере.

37. rm

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

38. cp

Команда Cp используется в Linux для создания копий файлов и каталогов.

Следующая команда скопирует файл ‘myfile.txt» из текущего каталога в «/home/linkedin/office«.

39. mv

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

40.cd

Команда Cd используется для изменения текущего рабочего каталога пользователя в Linux и других Unix-подобных операционных системах.

41. Ln

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

Команда Ln использует следующий синтаксис:

42. touch

Команда Touch используется в Linux для изменения времени доступа к файлам и их модификации. Мы можем использовать команду touch для создания пустого файла.

44. head

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

45. tail

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

46. gpg

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

50. uniq

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

53. tee

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

54. tr

Команда tr (translate) используется в Linux в основном для перевода и удаления символов. Его можно использовать для преобразования прописных букв в строчные, сжатия повторяющихся символов и удаления символов.

Метод 2: Использование команды Locate

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

Установка Locate

Locate не устанавливается по умолчанию в ОС Linux. Вам нужно будет установить его вручную. Нажмите Ctrl + Alt + T , чтобы запустить Терминал, а затем введите следующую команду как sudo для установки утилиты Locate:

$ sudo apt-get install locate

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

Общий синтаксис команды:

$ locate –i filename

Где -i используется для игнорирования различий в регистре.

Поиск файла

Например, для поиска для имени файла «centos» используйте следующую команду в Терминале:

$ locate –i centos

Он будет искать все файлы, которые содержат строку «centos» в своих именах файлов.

Найти Несколько файлов

Вы также можете искать несколько имен файлов одновременно. Например, используйте следующую команду в Терминале для поиска двух файлов « sdn.txt» и « centos» :

$ locate –i sdn.txt centos

Поиск с использованием Wildcard

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

$ locate –i *.iso

Обновление locate database

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

$ sudo updatedb

Действия

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

Действие Описание
-delete Удаляет файлы, соответствующие критериям поиска
-ls Показывает подробный вывод ls с размерами файлов и количеством inode
-print Показывает полный путь к соответствующим файлам. Это действие по умолчанию, если не указано другое действие.
-exec Выполняет следующую команду в каждой строке результатов поиска.

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

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

Это позволяет вам выполнить команду по вашему выбору в результатах поиска:

Действие является особенным. Это позволяет вам выполнить команду по вашему выбору в результатах поиска:

где:

  • command — это команда, которую вы хотите выполнить для результатов поиска, например rm, mv или cp.
  • {} представляет результаты поиска.
  • Команда заканчивается точкой с запятой после обратной косой черты.

Итак, команду поиска и удаления всех пустых файлов можно записать так:

Вот еще один пример использования действия . Следующая команда копирует все .png изображения в каталог backup/images:

Команды Linux, Связанные С Передачей Файлов

Эти команды используются для копирования файлов из одной системы в другую систему

87. scp

SCP — это программа безопасного копирования для передачи файлов или каталогов между хостами Linux в сети. SCP использует протокол ssh для передачи данных.

Пример того как локальный файл ‘examples.txt» скопировать на удаленный хост.

88. rsync

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

Заключение

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

Также рекомендуем прочитать:

8 команд Linux при использовании которых, нужно соблюдать осторожность
5 лучших дистрибутивов Linux для ноутбуков-8
Самые легкие дистрибутивы Linux. Топ-10 для старых компьютеров
10 наиболее часто задаваемых вопросов о Linux

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector