Acho que sort
usa arquivos temporários automaticamente. Temproários são mencionados em vários lugares no man
e info
páginas para sort
, incluindo:
--compress-program=PROG
compress temporaries with PROG; decompress them with PROG -d
-T, --temporary-directory=DIR
use DIR for temporaries, not $TMPDIR or /tmp; multiple options
specify multiple directories
If the environment variable TMPDIR is set, sort uses its value as the directory for temporary files instead of /tmp. The --temporary-directory (-T) option in turn overrides the environment variable.
Para testar, eu corri:
base64 < /dev/urandom | sort
O uso de memória de base64
e sort
estabilizou rapidamente ( top -bn1 | grep 'base64|sort'
):
21877 root 20 0 11.1m 0.6m 0.5m R 63.9 0.0 7:23.46 base64
21878 root 20 0 21.4m 8.2m 0.8m R 31.9 0.4 4:44.15 sort
Eu pude ver centenas de arquivos temporários em /tmp
chamados sortXXXXXX
:
$ ls /tmp/sort* | head
/tmp/sort03IIcQ
/tmp/sort052vXK
/tmp/sort07ZCcO
/tmp/sort09yrTN
/tmp/sort0anX08
/tmp/sort0BruPR
/tmp/sort0EgCYY
/tmp/sort0GsbQs
/tmp/sort0hCMDD
/tmp/sort0hdSMT
$ ls /tmp | grep -c sort
1990
Então, eu diria que você não precisa se preocupar com arquivos temporários com sort
. A melhor coisa que você pode fazer é garantir que o local dos temporários esteja em um sistema de arquivos rápido (um SSD, ou tmpfs
, etc.).
AVISO LEGAL: Eu considerei apenas o tipo de GNU.
Embora a análise acima se aplique apenas à classificação GNU, o AIX sort
também usa arquivos temporários, ou pelo menos um diretório para arquivos temporários, de acordo com o manual vinculado. Eu não tenho um sistema AIX à mão para testá-lo.
POSIX não menciona arquivos temporários, então isso não é um dado .