Відстежувати, куди на дисковому просторі пішов простір на Linux?


532

Під час адміністрування систем Linux я часто відчуваю, що намагаюся знайти винуватця після того, як розділ закінчиться. Я зазвичай використовую, du / | sort -nrале для великої файлової системи це потребує багато часу, перш ніж будь-які результати будуть повернуті.

Крім того, це, як правило, успішно висвітлює найгіршого злочинця, але мені часто доводиться вдаватися duбез sort більш тонких випадків, а потім доводиться пробиватися через вихід.

Я вважаю за краще рішення командного рядка, яке спирається на стандартні команди Linux, оскільки мені доводиться адмініструвати досить багато систем, а встановлення нового програмного забезпечення - це клопот (особливо, коли немає місця на диску!)


1
@Bart спасибі, що знайшли час для вдосконалення публікацій тут, але чи можу я попросити вас трохи більше подбати про додавання тегів? Теги не для наочності, вони описують питання. Тег диска тут не підходить (див. Його опис тегів), і щонайменше два теги, які ви додали в цю запропоновану редакцію, там були невідповідними (Kali не Debian, і немає ніяких PPA).
Стівен Кітт

Відповіді:


614

Спробуйте ncdu, відмінний аналізатор використання диска командного рядка:

введіть тут опис зображення


6
Як правило, я ненавиджу, щоб мене просили встановити щось для вирішення простого питання, але це просто чудово.
gwg

14
sudo apt install ncduна ubuntu це стає легко. Чудово
Оріон Едвардс

10
Ви напевно знаєте, у якій файловій системі не вистачає місця. У такому випадку ви можете використовувати ncdu -xлише підрахунок файлів і каталогів у тій же файловій системі, що і сканований каталог.
Люк Двоюрідний

7
найкраща відповідь. також: sudo ncdu -rx /повинен чітко читати на найбільших файлах / файлах ТІЛЬКИ на кореневому диску. ( -r= лише для читання, -x = перебування в тій же файловій системі (тобто: не переходити інші кріплення файлової системи))
bshea

5
У мене так мало місця, що я не можу встановити ncdu
Кріс,

338

Не йдіть прямо du /. Використовуйте, dfщоб знайти розділ, який шкодить вам, а потім спробуйте duкоманди.

Я люблю спробувати

# U.S.
du -h <dir> | grep '[0-9\.]\+G'
# Others
du -h <dir> | grep '[0-9\,]\+G'

оскільки він друкує розміри у "читабельній людині формі". Якщо у вас справді невеликі розділи, схоплювання каталогів в гігабайти є досить хорошим фільтром для того, що ви хочете. Це займе у вас деякий час, але якщо у вас не встановлені квоти, я думаю, що це саме так і буде.

Як в коментарях зазначає @jchavannes, вираз може стати більш точним, якщо ви знайдете занадто багато помилкових позитивних результатів. Я включив пропозицію, яка робить її кращою, але все ж є помилкові позитиви, тому є просто компроміси (простіший expr, гірші результати; складніший і довший expr, кращі результати). Якщо у вашому виході занадто багато каталогів, відрегулюйте відповідний регулярно. Наприклад,

grep '^\s*[0-9\.]\+G'

ще точніше (не буде вказано <1 ГБ каталогів).

Якщо ви робите квоти, ви можете використовувати

quota -v

щоб знайти користувачів, які притискають диск.


2
Це дуже швидко, просто і практично
zzapper

24
grep '[0-9]G'містив багато помилкових позитивів, а також опускав будь-які десяткові дроби. Це працювало для мене краще:sudo du -h / | grep -P '^[0-9\.]+G'
jchavannes

1
Якщо у вас є справді великі каталоги, ви захочете [GT]замість цього простоG
Вітрувій,

1
Чи є інструмент, який буде постійно контролювати використання диска в усіх каталогах (ліниво) у файловій системі? Щось, що можна передавати у веб-інтерфейс? Переважно м'яку інформацію в режимі реального часу.
CMCDragonkai

20
Мені подобається користуватисяdu -h | sort -hr | head
augurar

104

Для першого погляду використовуйте «підсумок» перегляду du:

du -s /*

Ефект полягає в друкуванні розміру кожного з його аргументів, тобто кожної кореневої папки у верхньому випадку.

Крім того, і GNU,du і BSDdu можуть бути обмежені глибиною ( але POSIX duне може! ):

  • GNU (Linux,…):

    du --max-depth 3
  • BSD (macOS,…):

    du -d 3
    

Це обмежить показник виводу на глибину 3. Звичайно, обчислений і відображений розмір все ще є загальною повною глибиною. Але, незважаючи на це, обмеження глибини відображення різко прискорює обчислення.

Іншим корисним варіантом є -h(слова як на GNU, так і на BSD, але, знову ж таки, не лише на POSIX du) для виведення "для людини" (тобто використання KiB, MiB тощо ).


23
якщо duскаржиться на -dспробу --max-depth 5замість цього.
ReactiveRaven

8
Великий привид. Мені здається правильним. Я пропоную du -hcd 1 /directory. -h для людини, читабельна, c для всього та d для глибини.

Я використовуюdu -hd 1 <folder to inspect> | sort -hr | head
jonathanccalixto

du --max-depth 5 -h /* 2>&1 | grep '[0-9\.]\+G' | sort -hr | headдля фільтра Дозвіл відхилено
srghma

49

Ви також можете запустити таку команду, використовуючи du:

~# du -Pshx /* 2>/dev/null
  • -sВаріант узагальнює і відображає загальну кількість для кожного аргументу.
  • h друкує Міо, Гіо тощо.
  • x = перебування в одній файловій системі (дуже корисно).
  • P = не слідкуйте за посиланнями (що може призвести до перерахування файлів двічі).

Будьте уважні, /rootкаталог не відображатиметься, вам доведеться запустити це, ~# du -Pshx /root 2>/dev/nullщоб отримати це (одного разу я багато намагався, не вказуючи на те, що мій /rootкаталог заповнився).

Редагувати: виправлений варіант -П


2
du -Pshx .* * 2>/dev/null+ приховані / системні каталоги
Михайло Адамович

27

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

Ще одне, що x варіант du корисний для запобігання du від наступних точок монтажу в інші файлові системи. Тобто:

du -x [path]

Повна команда, яку я зазвичай виконую:

sudo du -xm / | sort -rn > usage.txt

Ці -mкошти повертають результати в мегабайтах, і sort -rnбуде сортувати результати найбільше число перших. Потім ви можете відкрити use.txt в редакторі, і найбільші папки (починаючи з /) будуть вгорі.


3
Дякуємо, що вказали на -xпрапор!
SamB

1
«Знайти найбільший займає багато часу ..» -> Ну , це залежить, але , як правило, НЕ згодні: не брати до уваги , що довго з утилітами , як ncdu- по крайней мере , швидше , ніж duабо find( в залежності від глибини і аргументів) ..
bshea

оскільки я вважаю за краще не мати root, мені довелося адаптувати там, де записаний файл:sudo du -xm / | sort -rn > ~/usage.txt
Бруно,

20

Я завжди використовую du -sm * | sort -n, що дає вам відсортований список того, скільки використовується підкаталогів поточного робочого каталогу, у мебібайт.

Ви також можете спробувати Konqueror, який має режим "перегляду розміру", подібний до того, що він працює у Windows: він дає наочне уявлення про те, які файли / каталоги займають більшу частину вашого простору.

Оновлення: на останніх версіях ви також можете використовувати, du -sh * | sort -hякі показуватимуть читані людиною розміри файлів і сортувати їх. (числа будуть суфіксировані з K, M, G, ...)

Люди, які шукають альтернативу перегляду розміру файлу Konqueror KDE3, можуть поглянути на файловий світло, хоча це не так вже й приємно.


Це лише Konqueror 3.x, проте подання розміру файлу досі не перенесено на KDE4.

'дю -ш * | sort -h 'відмінно працює на моєму вікні Linux (Centos distro). Дякую!
pahariayogi

18

Я використовую це для перших 25 найгірших правопорушників нижче поточного каталогу

# -S to not include subdir size, sorted and limited to top 25
du -S . | sort -nr | head -25

Ця команда зробила трюк, щоб знайти приховану папку, яка, здавалося, з часом збільшується в розмірі. Дякую!
thegreendroid

Це в байтах?
Користувач

За замовчуванням у моїй системі, 'du -S' дає хороший читабельний результат для людини. Ви отримуєте звичайну кількість байтів для невеликих файлів, а потім число з суфіксом 'KB' або 'MB' для великих файлів.
serg10

Ви можете зробити дю-ш, щоб отримати зрозумілий для людини вихід.
Сіддхартха

@Siddhartha Якщо ви додасте -h, це, ймовірно, змінить дію sort -nrкоманди - значить, сорт більше не працюватиме, і тоді headкоманда також більше не буде працювати
Clare Macrae

14

У попередній компанії ми мали роботу з кроном, яку виконували протягом ночі і визначали будь-які файли певного розміру, наприклад

знайти / -розмір + 10000 к

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


Ви можете скористатися -x опцією пошуку, щоб переконатися, що ви не знайдете файли на інших пристроях, крім початкової точки вашої команди пошуку. Це вирішує проблему віддалених пристроїв.
rjmunro

10

Одним із варіантів буде запустити команду du / sort як завдання cron та вивести файл, тож він уже є, коли вам це потрібно.


9

Для командного рядка я думаю, що метод du / sort є найкращим. Якщо ви не на сервері, варто поглянути на Baobab - аналізатор використання диска . Ця програма також потребує певного часу для запуску, але ви можете легко знайти підкаталог вглиб, вглиб, де знаходяться всі старі Linux-системи ISO.


2
Він також може сканувати віддалені папки через SSH, FTP, SMB та WebDAV.

Це чудово. Деякі речі просто краще працюють з графічним інтерфейсом для їх візуалізації, і це одна з них! Мені потрібен X-сервер на моєму сервері в будь-якому випадку для CrashPlan, тому він працює і на цьому.
таймеллер

9

я використовую

du -ch --max-depth=2 .

і я змінюю максимальну глибину відповідно до моїх потреб. Опція "c" друкує підсумки для папок, а опція "h" друкує розміри в K, M або G, якщо це необхідно. Як говорили інші, він все ще сканує всі каталоги, але обмежує вихід таким чином, що мені легше знайти великі каталоги.


9

Я йду другий xdiskusage. Але я хочу додати в примітці, що це насправді du frontend і може прочитати висновок du з файлу. Таким чином, ви можете запустити du -ax /home > ~/home-duна своєму сервері, scpфайл назад, а потім проаналізувати його графічно. Або передати його через ssh.


6

Спробуйте подати висновок du у простий скрипт awk, який перевіряє, чи розмір каталогів більший за деякий поріг, якщо так він друкує його. Вам не доведеться чекати, коли все дерево буде пройдене, перш ніж почати отримувати інформацію (проти багатьох інших відповідей).

Наприклад, нижче відображаються будь-які каталоги, що споживають понад 500 Мб.

du -kx / | awk '{ if ($1 > 500000) { print $0} }'

Щоб зробити вищезазначене трохи більше використання, ви можете визначити функцію у своєму .bashrc, (або ви можете перетворити його на окремий сценарій).

dubig() {
    [ -z "$1" ] && echo "usage: dubig sizethreshMB [dir]" && return
    du -kx $2 | awk '{ if ($1 > '$1'*1024) { print $0} }'
}

Так dubig 200 ~/заглянемо в домашній каталог (без наступних посилань на пристрій) для каталогів, які використовують понад 200 Мб.


Шкода, що десяток греп-хаків більше віддають перевагу. Ох, і du -kбуде абсолютно впевнено, що du використовує одиниці KB
ndemou

Гарна ідея про -k. Відредаговано.
Марк Боргердінг

Ще простіший і надійніший: du -kx $2 | awk '$1>'$(($1*1024))(якщо ви вказали лише умову ака-шаблону, щоб print $0
пробудити

Хороша точка @ date_thompson_085. Це справедливо для всіх версій awk, які я знаю (net / free-BSD & GNU). @ mark-borgerding, це означає, що ви можете значно спростити свій перший приклад простоdu -kx / | awk '$1 > 500000'
ndemou

@ mark-borgerding: Якщо у вас десь залишилось декілька кБайтів, ви також можете зберегти весь вихід ду, як це du -kx / | tee /tmp/du.log | awk '$1 > 500000'. Це дуже корисно, тому що якщо ваше перше фільтрування виявиться безрезультатним, ви можете спробувати інші подібні значення awk '$1 > 200000' /tmp/du.logабо перевірити повний вихід, подібний цьому, sort -nr /tmp/du.log|lessбез повторного сканування всієї файлової системи
ndemou

4

Мені подобається старий добрий xdiskusage як графічна альтернатива du (1).


Зверніть увагу на цю частину питання: "Я вважаю за краще рішення командного рядка, яке спирається на стандартні команди Linux з ..."
ndemou

4

Я вважаю за краще використовувати наступне, щоб отримати огляд і деталізувати звідти ...

cd /folder_to_check
du -shx */

Це покаже результати з читабельним для людини результатом, таким як ГБ, МБ. Це також запобіжить проходженню через віддалені файлові системи. Цей -sпараметр відображає лише підсумок кожної знайденої папки, щоб ви могли детальніше ознайомитись, якщо вас цікавить більше деталей папки. Майте на увазі, що в цьому рішенні відображатимуться лише папки, тому ви хочете опустити / після зірочки, якщо ви хочете також файли.


4

Тут не згадується, але ви також повинні перевірити lsof у разі видалення / вивішування файлів. У мене був видалений tmp-файл 5,9 Гб з утікаючої cronjob.

https://serverfault.com/questions/207100/how-can-i-find-phantom-storage-usage Допоміг мені знайти власника процессу вказаного файлу (cron), і тоді я зміг перейти до /proc/{cron id}/fd/{file handle #}меншої кількості файлів у питання, щоб почати бігти, вирішити це, а потім відлучити ""> файл, щоб очистити простір і нехай cron витончено закриється.


3

З терміналу можна отримати візуальне зображення використання диска з dutree

Це дуже швидко і легко, тому що він реалізований в Rust

дутре

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number

Переглянути всі відомості про використання на веб-сайті


2

Для командного рядка du (і це варіанти), здається, найкращий спосіб. DiskHog виглядає так, що він також використовує інформацію про du / df для роботи з cron, тому пропозиція Петра, мабуть, найкраща комбінація простого та ефективного.

( FileLight та KDirStat ідеально підходять для GUI.)


2

Ви можете використовувати стандартні інструменти, такі як findта sortаналізувати використання дискового простору.

Список каталогів, відсортованих за їх розмірами:

find / -mount -type d -exec du -s "{}" \; | sort -n

Список файлів, відсортованих за їх розмірами:

find / -mount -printf "%k\t%p\n" | sort -n

1
Я вважаю це найкращою відповіддю для виявлення великих розмірів у відсортованому порядку
vimal krishna

2

Можливо, варто відзначити, що mc(Midnight Commander, класичний текстовий редактор файлів у текстовому режимі) за замовчуванням показує лише розмір введення каталогів (як правило 4096), але за допомогою CtrlSpaceабо за допомогою меню Інструменти ви можете побачити простір, який займає вибраний каталог у людському читанні формат (наприклад, деякі подібні 103151M).

Наприклад, на малюнку нижче показано повний розмір дистрибутивів ванілі TeX Live 2018 та 2017 років, тоді як у версіях 2015 та 2016 років відображається лише розмір індексу (але вони дійсно близько 5 Гбіт у кожній).

Тобто, це CtrlSpaceпотрібно зробити один для одного, лише для фактичного рівня каталогу, але це так швидко і зручно, коли ви переходите з ним mc, можливо, вам це не знадобиться ncdu(що, справді, тільки для цього краще). В іншому випадку, ви можете також запустити ncduз mc. без виходу з mcабо запуску іншого терміналу.

мве



1

Якщо ви знаєте, що великі файли були додані протягом останніх кількох днів (скажімо, 3), то ви можете використовувати команду find спільно з " ls -ltra" для виявлення цих нещодавно доданих файлів:

find /some/dir -type f -mtime -3 -exec ls -lart {} \;

Це дасть вам лише файли (" -type f"), а не каталоги; просто файли з часом модифікації протягом останніх 3 днів (" -mtime -3") та виконувати " ls -lart" проти кожного знайденого файлу (" -exec" частини).


1

Щоб зрозуміти непропорційне використання дискового простору, часто корисно починати з кореневого каталогу та проходити через декілька його найбільших дітей.

Ми можемо це зробити за допомогою

  • збереження виводу du у файл
  • ітераційно перебираючи результат

Це:

# sum up the size of all files and directories under the root filesystem
du -a -h -x / > disk_usage.txt
# display the size of root items
grep $'\t/[^/]*$' disk_usage.txt

зараз скажімо, / usr здається занадто великим

# display the size of /usr items
grep $'\t/usr/[^/]*$' disk_usage.txt

тепер, якщо / usr / local є підозріло великим

# display the size /usr/local items
grep $'\t/usr/local/[^/]*$' disk_usage.txt

і так далі...


1

Я використовував цю команду для пошуку файлів більше 100 Мбіт:

find / -size +100M -exec ls -l {} \;

0

Я мав успіх відстежувати найгіршого правопорушника (-ів), переносячи duрезультат у читаній людині формі до egrepвідповідного звичайному виразу.

Наприклад:

du -h | egrep "[0-9]+G.*|[5-9][0-9][0-9]M.*"

який повинен повернути вам усе 500 мег або вище.


Не використовуйте grep для арифметичних операцій - замість цього використовуйте awk : du -k | awk '$1 > 500000'. Набагато простіше зрозуміти, відредагувати та виправити з першої спроби.
ndemou

0

Якщо ви хочете швидкості, ви можете ввімкнути квоти у файлових системах, які ви хочете контролювати (не потрібно встановлювати квоти жодному користувачеві), а також використовувати скрипт, який використовує команду квоти, щоб перелічити дисковий простір, який використовує кожен користувач. Наприклад:

quota -v $user | grep $filesystem | awk '{ print $2 }'

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

Щоб увімкнути квоти, вам потрібно буде додати usrquota до параметрів файлової системи у вашому файлі / etc / fstab, а потім, ймовірно, перезавантажити, щоб квота перевірити можна запустити в режимі очікування файлу до виклику квоти.


0

Ось крихітний додаток, який використовує глибоку вибірку для пошуку новоутворень на будь-якому диску чи каталозі. Він ходить по дереву каталогів двічі, один раз для його вимірювання, а другий раз для друку шляхів до 20 «випадкових» байтів під каталогом.

void walk(string sDir, int iPass, int64& n, int64& n1, int64 step){
    foreach(string sSubDir in sDir){
        walk(sDir + "/" + sSubDir, iPass, n, n1, step);
    }
    foreach(string sFile in sDir){
        string sPath = sDir + "/" + sFile;
        int64 len = File.Size(sPath);
        if (iPass == 2){
            while(n1 <= n+len){
               print sPath;
               n1 += step;
            }
        }
        n += len;
    }
}

void dscan(){
    int64 n = 0, n1 = 0, step = 0;
    // pass 1, measure
    walk(".", 1, n, n1);
    print n;
    // pass 2, print
    step = n/20; n1 = step/2; n = 0;
    walk(".", 2, n, n1);
    print n;
}

Вихід виглядає так для мого каталогу програмних файлів:

 7,908,634,694
.\ArcSoft\PhotoStudio 2000\Samples\3.jpg
.\Common Files\Java\Update\Base Images\j2re1.4.2-b28\core1.zip
.\Common Files\Wise Installation Wizard\WISDED53B0BB67C4244AE6AD6FD3C28D1EF_7_0_2_7.MSI
.\Insightful\splus62\java\jre\lib\jaws.jar
.\Intel\Compiler\Fortran\9.1\em64t\bin\tselect.exe
.\Intel\Download\IntelFortranProCompiler91\Compiler\Itanium\Data1.cab
.\Intel\MKL\8.0.1\em64t\bin\mkl_lapack32.dll
.\Java\jre1.6.0\bin\client\classes.jsa
.\Microsoft SQL Server\90\Setup Bootstrap\sqlsval.dll
.\Microsoft Visual Studio\DF98\DOC\TAPI.CHM
.\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\sqlce20sql2ksp1.exe
.\Microsoft Visual Studio .NET 2003\SDK\v1.1\Tool Developers Guide\docs\Partition II Metadata.doc
.\Microsoft Visual Studio .NET 2003\Visual Studio .NET Enterprise Architect 2003 - English\Logs\VSMsiLog0A34.txt
.\Microsoft Visual Studio 8\Microsoft Visual Studio 2005 Professional Edition - ENU\Logs\VSMsiLog1A9E.txt
.\Microsoft Visual Studio 8\SmartDevices\SDK\CompactFramework\2.0\v2.0\WindowsCE\wce500\mipsiv\NETCFv2.wce5.mipsiv.cab
.\Microsoft Visual Studio 8\VC\ce\atlmfc\lib\armv4i\UafxcW.lib
.\Microsoft Visual Studio 8\VC\ce\Dll\mipsii\mfc80ud.pdb
.\Movie Maker\MUI\0409\moviemk.chm
.\TheCompany\TheProduct\docs\TheProduct User's Guide.pdf
.\VNI\CTT6.0\help\StatV1.pdf
7,908,634,694

Це говорить мені, що каталог 7,9 Гб, з яких

  • ~ 15% йде на компілятор Intel Fortran
  • ~ 15% йде на VS .NET 2003
  • ~ 20% йде на VS 8

Досить просто запитати, чи можна щось із них вивантажити.

Він також розповідає про типи файлів, які поширюються по всій файловій системі, але взяті разом представляють можливість економії місця:

  • ~ 15% приблизно відповідає файлам .cab та .MSI
  • ~ 10% приблизно відповідає журналу текстових файлів

Це також показує безліч інших речей, які я, ймовірно, не міг би обійтися, як-от підтримка SmartDevices і "ce" (~ 15%).

Це займає лінійний час, але це не потрібно робити часто.

Приклади речей, які він знайшов:

  • резервні копії DLL-файлів у багатьох збережених сховищах коду, які насправді не потрібно зберігати
  • резервна копія чужого жорсткого диска на сервері під неясним каталогом
  • об'ємні тимчасові інтернет-файли
  • стародавній документ і довідкові файли, давно вже потрібні

0

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

du -a / | sort -n -r | head -n 20

Що б показало мені 20 найбільших злочинців. Однак, хоч я і запустив це, це не показало мені справжньої проблеми, оскільки я вже видалив файл. Злочинець полягав у тому, що все ще запущений процес, який посилався на видалений файл журналу ... тож спочатку я повинен був убити цей процес, потім дисковий простір виявився вільним.


Хороший момент, але це повинен бути коментар, а не відповідь сам по собі - це питання страждає від занадто багато відповідей
ndemou

0

Ви можете використовувати DiskReport.net для створення інтернет-звіту про всі ваші диски.

З багатьма тиражами він покаже графік історії для всіх ваших папок, легко знайти те, що зросло


Цей інструмент не відповідає двом основним пунктам питання "Я часто опиняюся, що намагаюся знайти винуватця після того, як розділ
закінчиться

0

Є приємний фрагмент безкоштовної безкоштовної платформи під назвою JDiskReport, який включає графічний інтерфейс для вивчення того, що займає весь цей простір.

Приклад знімка екрана:
Скріншот JDiskReport

Звичайно, перед завантаженням та встановленням вам потрібно буде трохи звільнити місце або завантажити його на інший накопичувач (наприклад, USB thumbdrive).


(Скопійовано сюди через ж автора відповіді на питання дубльований)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.