Терминал Well более продуктивен, когда вы делаете что-то, и графический интерфейс работает быстрее, когда вы делаете некоторые другие вещи.
Как правило, я нахожу терминал быстрее для выполнения операций с файлами. Например, найдите все файлы в текущем каталоге и посмотрите, какое из них содержит слово hello, или найдите файл через имя файла во всей файловой системе, используя команду locate и т. Д.
Если вы действительно привыкнете к командной строке, вы увидите, что на самом деле есть только несколько вещей, которые вы можете сделать гораздо лучше, используя графический интерфейс, например, просмотр или программирование с помощью достойной среды IDE (а не нано).
Вот более общий подход. Получите выходные данные du folder и du -h folder в двух разных файлах.
du folder > file1
du -h folder > file2
Ключевой частью является следующее: конкатенация file1 и file2 строка за строкой, с подходящим разделителем. [ ! d1]
paste -d '#' file1 file2 > file3
(предполагается, что # не отображается в file1 и file2)
Теперь соберите file3. Обратите внимание, что это будет сортироваться на основе содержимого file1 и разорвать связи по содержимому file2. Извлеките соответствующий результат, используя cut:
sort -n -k1,7 file3 | cut -d '#' -f 2
Также посмотрите на man sort для других параметров.
Вы также можете сохранить это как псевдоним, для последующего повторного использования. Для этого добавьте следующее внизу ~/.bashrc:
sorted-du () {
paste -d '#' <( du "$1" ) <( du -h "$1" ) | sort -n -k1,7 | cut -d '#' -f 2
}
Затем откройте новый сеанс терминала и выполните свой новый псевдоним:
sorted-du /home
Вот более общий подход. Получите выходные данные du folder
и du -h folder
в двух разных файлах.
du folder > file1
du -h folder > file2
Ключевой частью является следующее: конкатенация file1
и file2
строка за строкой, с подходящим разделителем.
paste -d '#' file1 file2 > file3
(предполагается, что #
не отображается в file1
и file2
)
Теперь выполните сортировку file3
. Обратите внимание, что это будет сортироваться на основе содержимого file1
и разорвать связи по содержимому file2
. Извлеките соответствующий результат, используя cut
:
sort -n -k1,7 file3 | cut -d '#' -f 2
Также посмотрите на man sort
для других опций.
Вы также можете сохранить это как псевдоним, для последующего повторного использования. Для этого добавьте следующее в конец ~/.bashrc
:
sorted-du () {
paste -d '#' <( du "$1" ) <( du -h "$1" ) | sort -n -k1,7 | cut -d '#' -f 2
}
Затем откройте новый сеанс терминала и выполните новый псевдоним:
sorted-du /home
Попробуйте что-то вроде:
du -h folder | sort -h
Альтернативы: -n для числовой сортировки
Примечание: опция -h для сортировки существует только в более новых версиях Ubuntu. [ ! d2]
Этот ответ действителен для 10.04.4LTS и более низких версий Ubuntu.
К сожалению, точный ответ, который сортирует KMG, сложный и сложный:
Вы можете использовать всю команду du с тем, который читается человеком с помощью этого
alias duf='du -sk * | sort -n | perl -ne '\''($s,$f)=split(m{\t});for (qw(K M G)) {if($s<1024) {printf("%.1f",$s);print "$_\t$f"; last};$s=$s/1024}'\'
, который я нашел здесь
http://www.earthinfo.org/linux-disk-usage-sorted-by-size -and-human-readable /
просто 10.04.4LTS в папку, которую вы хотели бы знать, тогда duf
вы могли бы добавить этот псевдоним duf к конец вашего /home/user/.profile, чтобы сделать полу-permenant команды duf
:
user@hostname:~$ duf
0.0K Documenten
0.0K Muziek
0.0K Openbaar
0.0K Sjablonen
0.0K Video's
4.0K backup_db.sql.g
4.0K examples.desktop
12.0K xml printer ticket
52.0K hardinfo_report.html
152.0K librxtxSerial.so
2.7M jpos
4.4M nxclient_3.5.0-7_amd64.deb
6.4M nxnode_3.5.0-4_amd64.deb
6.8M Downloads
7.4M nxserver_3.5.0-5_amd64.deb
12.4M NetBeansProjects
18.1M mysqlworkbench.deb
28.3M Afbeeldingen
45.8M ergens-20110928-18.sql.gz
60.5M 2012-06-02ergens_archive.tar.gz
65.5M 2012-08-26ergens_archive.tar.gz
65.6M 2012-08-28ergens_archive.tar.gz
65.6M 2012-08-29ergens_archive.tar.gz
65.7M 2012-08-30ergens_archive.tar.gz
113.0M Bureaublad
306.2M ergens-20110928-18.sql
Вот почему du -sch /var/* | sort -n не работает, см. сортировку MKKMMKKMMK
user@hostname:~$ du -sch /var/* |sort -n
0 /var/crash
0 /var/local
0 /var/lock
0 /var/opt
8,0M /var/backups
12K /var/games
16K /var/tmp
17M /var/log
68M /var/cache
104K /var/spool
144K /var/run
351M /var/lib
443M totaal
704K /var/mail
Команда GNU sort имеет следующий параметр:
-h, --human-numeric-sort сравнивает считываемые человеком числа (например, 2K 1G). Чтобы иметь эту опцию в BSD / OSX, вы можете установить sort с coreutils (через brew) и добавить папку bin в PATH в ваши файлы rc.Итак, команда будет выглядеть так:
du -ah . | sort -rh | head -20
Для последних версий Ubuntu используйте du -h directory | sort -h.
Я использую форму этого все время для поиска файлов с контролем.
Откройте ваш терминал с помощью Ctrl + Alt + t и введите:
du -sk * | sort -rn
Он обрабатывает имена файлов с пробелами или апострофами и работает в системах, которые не поддерживают xargs -d или sort -h:
du -s * | sort -n | cut -f2 | tr '\n' '\0' | xargs -0 -I {} du -sh "{}"
, что приводит к:
368K diskmanagementd
392K racoon
468K coreaudiod
472K securityd
660K sshd
3.6M php-fpm
Тот, который я нашел во всех системах независимо от версии (sort -h не работает для меня) is
du -h $(du * | sort -n | awk '{print $2}')
awk '{print $2}' в основном печатает имена файлов.
Он обрабатывает имена файлов с пробелами или апострофами и работает в системах, которые не поддерживают xargs -d
или sort -h
:
du -s * | sort -n | cut -f2 | tr '\n' '\0' | xargs -0 -I {} du -sh "{}"
, что приводит к:
368K diskmanagementd
392K racoon
468K coreaudiod
472K securityd
660K sshd
3.6M php-fpm
Команда GNU sort
имеет следующую опцию:
-h
,--human-numeric-sort
сравнить читаемые человеком числа (например, 2K 1G).эту опцию на BSD / OSX вы можете установить
< / blockquote>sort
изcoreutils
(черезbrew
) и добавить папку bin в свойPATH
в ваши файлы rc .Таким образом, команда будет выглядеть так:
du -ah . | sort -rh | head -20
Команда GNU sort
имеет следующую опцию:
-h
,--human-numeric-sort
сравнить читаемые человеком числа (например, 2K 1G).эту опцию на BSD / OSX вы можете установить
< / blockquote>sort
изcoreutils
(черезbrew
) и добавить папку bin в свойPATH
в ваши файлы rc .Таким образом, команда будет выглядеть так:
du -ah . | sort -rh | head -20
Откройте ваш терминал с помощью Ctrl + Alt + t и введите:
du -sk * | sort -rn
Этот ответ действителен для 10.04.4LTS и более низких версий Ubuntu.
К сожалению, точный ответ, который сортирует KMG, сложный и сложный:
Вы можете использовать всю команду du с тем, который сортируется по-человечески с помощью этого
alias duf='du -sk * | sort -n | perl -ne '\''($s,$f)=split(m{\t});for (qw(K M G)) {if($s<1024) {printf("%.1f",$s);print "$_\t$f"; last};$s=$s/1024}'\'
, который я нашел здесь
Команда GNU sort
имеет следующую опцию:
-h
,--human-numeric-sort
сравнить читаемые человеком числа (например, 2K 1G).эту опцию на BSD / OSX вы можете установить
< / blockquote>sort
изcoreutils
(черезbrew
) и добавить папку bin в свойPATH
в ваши файлы rc .Таким образом, команда будет выглядеть так:
du -ah . | sort -rh | head -20