Как очистить ненужные файлы

Я думаю, что Вы усложняете все.

Возможно, Вам только нужно это:

find $(pwd) -type d | sed 's/ /\\ /g'
19
13.09.2012, 17:13
8 ответов

Лучший способ узнать дисковое потребление, использует графическое программное обеспечение как baobab:

Запустите его с sudo baobab /

enter image description here

12
27.01.2020, 19:44
  • 1
    Это будет работать в удаленном сервере? –  Subhransu Mishra 13.09.2012, 21:26
  • 2
    @Subhransu Несомненно, если Вы соединяетесь с X передачами (ssh -X или ForwardX11 yes в ~/.ssh/config). Однако, если это не установлено, у Вас не могло бы быть достаточного количества пространства для установки его и необходимый каталог. –  Gilles 'SO- stop being evil' 14.09.2012, 02:34
  • 3
    См. мой ответ ниже для графического инструмента, который не требует X-сервера и требует очень небольшого количества места на сервере. –  dotancohen 20.01.2014, 14:29

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

6
27.01.2020, 19:44

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

find / -xdev -type f -size +100000c -exec ls -la {} \; 2>/dev/null | sort -nk5 | tail -20

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

df -h /
du -shx /

Обе команды должны показать подобное использованное пространство Вашего FS.

3
27.01.2020, 19:44

Можно проверить на удаленные файлы с lsof | grep -i deleted Затем Вы видите, держится ли процесс за inode, что Вы думаете, был удален. Если так, перезапустите родительский процесс для выпуска старого (удаленного) файла.

4
27.01.2020, 19:44

ответ гирлянды для использования графического инструмента для визуального нахождения больших файлов и каталогов является, вероятно, лучшим методом. Однако обратите внимание, что "графический инструмент" не означает, "требует X-сервера"! Замечательное ncdu программа обеспечивает вывод графических данных в CLI и работает отлично над удаленными серверами через SSH:

$ ncdu /

.  43.7GiB [##########] /home
.   5.9GiB [#         ] /usr
    1.1GiB [          ] /lib
.   1.1GiB [          ] /var
  736.9MiB [          ] /opt
. 324.6MiB [          ] /tmp
  218.4MiB [          ] /boot
.  63.8MiB [          ] /etc
   10.0MiB [          ] /sbin
    8.8MiB [          ] /bin
    3.3MiB [          ] /lib32
.   1.0MiB [          ] /run
   64.0KiB [          ] /build
!  16.0KiB [          ] /lost+found
    8.0KiB [          ] /media
    8.0KiB [          ] /mnt
    8.0KiB [          ] /.config
    4.0KiB [          ] /dev
    4.0KiB [          ] /lib64
e   4.0KiB [          ] /srv
e   4.0KiB [          ] /selinux
!   4.0KiB [          ] /root
e   4.0KiB [          ] /cdrom
.   0.0  B [          ] /proc
.   0.0  B [          ] /sys
@   0.0  B [          ]  initrd.img.old
@   0.0  B [          ]  initrd.img
@   0.0  B [          ]  vmlinuz.old

Затем после ввода /var/ например:

. 395.3MiB [##########] /tmp
. 365.0MiB [######### ] /cache
. 297.8MiB [#######   ] /lib
   16.1MiB [          ] /backups
.   8.0MiB [          ] /log
.  56.0KiB [          ] /spool
   40.0KiB [          ] /games
    8.0KiB [          ] /www
e   4.0KiB [          ] /opt
e   4.0KiB [          ] /mail
e   4.0KiB [          ] /local
e   4.0KiB [          ] /crash
@   0.0  B [          ]  lock
@   0.0  B [          ]  run

Установите легко на Debian или Ubuntu:

$ sudo apt-get install ncdu

Установите легко на CentOS как корень:

# yum install ncdu
34
27.01.2020, 19:44

сделайте новый файл в /бин под названием treesize

chmod +x /bin/treesize

вставьте это в него.

#/bin/sh
du -k --max-depth=1 | sort -nr | awk '
     BEGIN {
        split("KB,MB,GB,TB", Units, ",");
     }
     {
        u = 1;
        while ($1 >= 1024) {
           $1 = $1 / 1024;
           u += 1
        }
        $1 = sprintf("%.1f %s", $1, Units[u]);
        print $0;
     }
    '

Выход выглядит так.

#treesize
3.0 GB .
1.1 GB ./usr
759.9 MB ./var
353.3 MB ./root
307.1 MB ./opt
270.7 MB ./lib
98.6 MB ./home
60.1 MB ./boot
9.8 MB ./etc
8.3 MB ./bin
8.1 MB ./sbin
268.0 KB ./run
40.0 KB ./tmp
16.0 KB ./lost+found
5
27.01.2020, 19:44

Я нашел несколько очень полезных команд в этой публикации на Askubuntu.com .Перефразируя:

  • Показать 10 самых больших поддиректоров в текущем каталоге: du -sk * | sort -nr | head -10
  • Используйте filelight / kDirStat / baobab, чтобы визуально увидеть, куда идет дисковое пространство
  • Проверьте, есть ли у вас старые ядра для удаления: ls -lh / boot
  • Чистые пакеты: sudo apt-get autoremove и sudo apt-get autoclean
  • См. список всех установленных пакетов, отсортированных по размеру: dpkg-query -W --showformat = '$ {Installed-Size} $ {Package} \ n '| sort -nr | less
  • Очистить неиспользуемые языковые файлы с переводами: sudo apt-get install localepurge
  • Проверить содержимое / var / tmp /: du -sh / var / tmp /
  • Проверить также man deborphan
  • Поиск больших файлов: find / -type f -size + 1024k или find / -size +50000 -exec ls -lahg {} \;
1
27.01.2020, 19:44
find. -atime +180 | xargs ls -al | sort -u -n -k5 | numfmt --to=iec --field=5
  • найти все файлы в ., время доступа которых превышает 180 дней
  • показать размер файла
  • сортировать по 5-му столбцу, числовому
  • отформатировать 5-й столбец в удобочитаемом виде

Полезные ссылки о времени доступа:

0
19.05.2021, 05:29

Теги

Похожие вопросы