เจ เฉฑเจ เจ เจธเฉเจ เจธเจผเฉเจฐเจฒเฉเจ เจธเจฟเจธเจเจฎ เจฆเฉ เจเฉเจ เจจเจตเฉเจจเจคเจฎ เจ เจชเจกเฉเจเจพเจ เจฌเจพเจฐเฉ เจเฉฑเจฒ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเจพเจ [เจเจน เจธเจเฉเจจเจซเฉเจฐเจก เจฏเฉเจจเฉเจตเจฐเจธเจฟเจเฉ เจตเจฟเฉฑเจ เจเฉฑเจ เจเฉฑเจ-เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจตเจพเจฒเจพ เจเจฒเฉฑเจธเจเจฐ เจนเฉ - เจฒเจเจญเจ. เจเฉเจฐเจพเจเจธ.], เจเฉ เจเจฟ เจตเฉฑเจกเฉ เจเจฟเจฃเจคเฉ เจตเจฟเฉฑเจ เจเจเจเจฐเฉเจเจ เจฆเฉ เจจเจพเจฒ เจกเจพเจเจฐเฉเจเจเจฐเฉเจเจ เจตเจฟเฉฑเจ เจธเฉเจเฉเจฌเฉฑเจง เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจฎเจนเฉฑเจคเจตเจชเฉเจฐเจจ เจคเฉเจฐ 'เจคเฉ เจคเฉเจเจผ เจเจฐเจฆเจพ เจนเฉเฅค
เจจเจฟเจฏเจฎเจค เจฒเฉเจเจพเจ เจฆเฉ เจเจฒเจ, เจเจน เจเฉฑเจ เจ เฉฐเจฆเจฐเฉเจจเฉ เจฐเจฟเจชเฉเจฐเจ เจนเฉ เจเจฟ เจ เจธเฉเจ เจเจชเจฃเฉ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจฒเจ เจเจธเจจเฉเฉฐ เจธเจญ เจคเฉเจ เจตเจงเฉเจ เจขเฉฐเจ เจจเจพเจฒ เจเจฒเจพเจเจฃ เจฒเจ เจธเจผเฉเจฐเจฒเจพเจ 'เจคเฉ เจจเจฟเจฏเจฎเจฟเจค เจคเฉเจฐ 'เจคเฉ เจเจฟเจตเฉเจ เจเฉฐเจฎ เจเจฐเจฆเฉ เจนเจพเจเฅค เจ เจธเฉเจ เจญเจตเจฟเฉฑเจ เจตเจฟเฉฑเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจนเฉเจฐ เจฒเฉเจ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจ เจฆเฉ เจเจฎเฉเจฆ เจเจฐเจฆเฉ เจนเจพเจเฅค
เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจธเฉเจเฉเจฌเฉฑเจง เจเจฐเจจ เจตเจฟเฉฑเจ เจธเจฎเจพเจ เจฒเฉฑเจเจฆเจพ เจนเฉ
เจเจน เจธเจญ เจเฉฑเจ เจเจชเจญเฉเจเจคเจพ เจฆเฉ เจคเจเจจเฉเจเฉ เจธเจนเจพเจเจคเจพ เจธเจตเจพเจฒ เจจเจพเจฒ เจธเจผเฉเจฐเฉ เจนเฉเจเจเฅค เจเจธ เจจเฉ เจธเจฎเฉฑเจธเจฟเจ เจฆเฉ เจฐเจฟเจชเฉเจฐเจ เจฆเจฟเฉฑเจคเฉ เจนเฉ เจเจฟ เจซเจพเจเจธเฉ ls
15 เจคเฉเจ เจตเฉฑเจง เจเจเจเจฐเฉเจเจ เจตเจพเจฒเฉ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ เจเฉเจ เจฎเจฟเฉฐเจ เจฒเฉฑเจเจฆเฉ เจนเจจ $SCRATCH
[เจเจฐเจเจผเฉ เจซเจพเจเจฒเจพเจ เจฒเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ - เจฒเจเจญเจ. เจฒเฉเจจ]เฅค
เจเฉฑเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจตเจฟเฉฑเจ เจนเจเจผเจพเจฐเจพเจ เจซเจพเจเจฒเจพเจ เจเจฎ เจคเฉเจฐ 'เจคเฉ เจซเจพเจเจฒ เจธเจฟเจธเจเจฎ เจฒเจ เจฌเฉเจ เจฌเจฃเจพเจเจเจฆเฉเจเจ เจนเจจ เจ
เจคเฉ เจฏเจเฉเจจเฉ เจคเฉเจฐ 'เจคเฉ เจธเจฟเจซเจพเจฐเจธเจผ เจจเจนเฉเจ เจเฉเจคเฉ เจเจพเจเจฆเฉเฅค เจเจชเจญเฉเจเจคเจพ เจเจน เจเจพเจฃเจฆเจพ เจธเฉ เจ
เจคเฉ เจฎเฉฐเจจเจฟเจ เจเจฟ เจเจน เจเฉฐเจเจพ เจจเจนเฉเจ เจธเฉ, เจชเจฐ เจเจผเจฟเจเจฐ เจเฉเจคเจพ เจเจฟ เจธเฉเจเฉเจเจฐเจจ เจเจธ เจฆเฉ เจฒเฉเจชเจเจพเจช 'เจคเฉ เจธเจผเฉเจฐเจฒเจพเจ เจจเจพเจฒเฉเจ 1000 เจเฉเจฃเจพ เจคเฉเจเจผ เจธเฉเฅค เจฌเฉเจธเจผเฉฑเจ, เจเจธ เจจเฉ เจธเจพเจจเฉเฉฐ เจฆเฉเจเฉ เจเฉเจคเจพ. เจเจธ เจฒเจ เจ
เจธเฉเจ เจกเฉเฉฐเจเจพเจ เจจเจพเจฒ เจฆเฉเจเจฟเจ.
เจเจฟเจเจเจเจฟ ls เจตเจงเฉเจ เจฒเฉฑเจ เจฐเจฟเจนเจพ เจนเฉ
เจ
เจธเฉเจ เจฆเฉเจเจฟเจ เจเจฟ เจเจน เจ
เจธเจฒ เจตเจฟเฉฑเจ เจเฉ เจเจฐเจฆเจพ เจนเฉ ls
เจเฉฑเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจจเฉเฉฐ เจธเฉเจเฉเจฌเฉฑเจง เจเจฐเจจ เจตเฉเจฒเฉ, เจ
เจคเฉ เจชเฉเจฐเจเจฟเจฐเจฟเจ เจตเจฟเฉฑเจ เจเฉฐเจจเจพ เจธเจฎเจพเจ เจเจฟเจเจ เจฒเฉฑเจเจฆเจพ เจนเฉเฅค เจเจผเจฟเจเจฆเจพเจคเจฐ เจเจงเฉเจจเจฟเจ เจตเฉฐเจกเจพเจ 'เจคเฉ ls
เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ เจเจน เจเจธ เจคเจฐเฉเจนเจพเจ เจเฉฑเจฒเจฆเจพ เจนเฉ ls --color=auto
, เจเจฟเจเจเจเจฟ เจนเจฐ เจเฉเจ เจฐเฉฐเจ เจชเจธเฉฐเจฆ เจเจฐเจฆเจพ เจนเฉ.
เจชเจฐ เจธเฉเฉฐเจฆเจฐ เจฐเฉฐเจ เจเฉฑเจ เจเฉเจฎเจค 'เจคเฉ เจเจเจเจฆเฉ เจนเจจ: เจนเจฐเฉเจ เจซเจพเจเจฒ เจฒเจ ls
เจขเฉเจเจตเฉเจ เจฐเฉฐเจ เจฆเฉ เจเฉเจฃ เจเจฐเจจ เจฒเจ เจซเจพเจเจฒ เจเจฟเจธเจฎ, เจเจธ เจฆเฉเจเจ เจเจเจพเจเจผเจคเจพเจ, เจซเจฒเฉเจ, เจตเจฟเจธเจคเฉเจฐเจฟเจค เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจ
เจคเฉ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเฉ เจเจพเจฃเจเจพเจฐเฉ เจชเฉเจฐเจพเจชเจค เจเจฐเจจเฉ เจเจพเจนเฉเจฆเฉ เจนเฉเฅค
เจธเจฎเฉฑเจธเจฟเจ เจฆเจพ เจเฉฑเจ เจธเจงเจพเจฐเจจ เจนเฉฑเจฒ ls เจตเจฟเฉฑเจ เจฐเฉฐเจ เจจเฉเฉฐ เจชเฉเจฐเฉ เจคเจฐเฉเจนเจพเจ เจ เจฏเฉเจ เจเจฐเจจเจพ เจนเฉ, เจชเจฐ เจเจชเจญเฉเจเจคเจพเจตเจพเจ เจฆเฉ เจเฉเฉฑเจธเฉ เจฆเฉ เจเจฒเจชเจจเจพ เจเจฐเฉเฅค เจเจฟเจธเฉ เจตเฉ เจธเจฅเจฟเจคเฉ เจตเจฟเฉฑเจ เจคเฉเจนเจพเจจเฉเฉฐ เจฐเฉฐเจ เจเจเจเจชเฉเฉฑเจ เจจเฉเฉฐ เจจเจนเฉเจ เจฒเฉเจฃเจพ เจเจพเจนเฉเจฆเจพ, เจ เจธเฉเจ เจฐเจพเจเจธเจผ เจจเจนเฉเจ เจนเจพเจเฅค
เจเจธ เจฒเจ เจ
เจธเฉเจ เจกเฉเฉฐเจเจพเจ เจจเจพเจฒ เจฆเฉเจเจฟเจเฅค ls
เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจฆเฉเจเจฐเจพ เจฐเฉฐเจ เจเจเจเจฐเฉเจเจ LS_COLORS
, เจเฉ เจเจฟ เจธเฉเฉฑเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉ dircolors(1)
เจธเฉฐเจฐเจเจจเจพ เจซเจพเจเจฒ เจฆเฉ เจเจงเจพเจฐ 'เจคเฉ dir_colors(5)
... เจนเจพเจ,
เจเจ เจเฉฑเจ เจกเฉเฉฐเจเฉ เจตเจฟเจเจพเจฐ เจเจฐเฉเจ
เจเจน เจจเจฟเจฐเจงเจพเจฐเจค เจเจฐเจจ เจฒเจ เจเจฟ เจเจฟเจนเฉเฉ เจฐเฉฐเจ เจธเจเฉเจฎ เจฎเฉฐเจฆเฉ เจฆเจพ เจเจพเจฐเจจ เจฌเจฃเจฆเฉ เจนเฉ, เจ เจธเฉเจ เจเฉฑเจ เจชเฉเจฐเจฏเฉเจเจพเจคเจฎเจ เจตเจพเจคเจพเจตเจฐเจฃ เจฌเจฃเจพเจเจ:
$ mkdir $SCRATCH/dont
$ touch $SCRATCH/dont/{1..10000} # don't try this at home!
$ time ls --color=always $SCRATCH/dont | wc -l
10000
real 0m12.758s
user 0m0.104s
sys 0m0.699s
12,7 เจซเจพเจเจฒเจพเจ เจฒเจ 10 เจธเจเจฟเฉฐเจ, เจฌเจนเฉเจค เจตเจงเฉเจ เจจเจนเฉเจเฅค
เจคเจฐเฉเจเฉ เจจเจพเจฒ, เจธเจพเจจเฉเฉฐ เจเฉฑเจ เจเฉฐเจกเฉ เจฆเฉ เจฒเฉเฉ เจนเฉ
--color=always
: เจนเจพเจฒเจพเจเจเจฟ เจเจน เจฎเฉเฉเจฆเจพ เจนเฉls --color=auto
, เจชเจฐls
เจชเจคเจพ เจฒเจเจพเจเจเจฆเจพ เจนเฉ เจเจฆเฉเจ เจเจน เจเจฐเจฎเฉเจจเจฒ เจจเจพเจฒ เจเจจเฉเจเจ เจจเจนเฉเจ เจนเฉเฉฐเจฆเจพ (เจเจฟเจตเฉเจ เจเจฟ เจชเจพเจเจช เจฆเฉเจเจฐเจพ เจเจพเจ เจเจเจเจชเฉเฉฑเจ เจฐเฉเจกเจพเจเจฐเฉเจเจธเจผเจจ เจจเจพเจฒ) เจ เจคเฉ เจเฉเจเจฐ เจธเฉเฉฑเจ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ เจคเจพเจ เจฐเฉฐเจ เจจเฉเฉฐ เจ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจเจเจฆเจพ เจนเฉauto
. เจเจฒเจพเจ เจฌเฉฐเจฆเจพเฅค
เจคเจพเจ เจเฉฐเจจเจพ เจธเจฎเจพเจ เจเฉ เจฒเฉ เจฐเจฟเจนเจพ เจนเฉ? เจ
เจธเฉเจ เจจเจพเจฒ เจฆเฉเจเจฟเจ strace
:
$ strace -c ls --color=always $SCRATCH/dont | wc -l
10000
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
44.21 0.186617 19 10000 lstat
42.60 0.179807 18 10000 10000 getxattr
12.19 0.051438 5 10000 capget
0.71 0.003002 38 80 getdents
0.07 0.000305 10 30 mmap
0.05 0.000217 12 18 mprotect
0.03 0.000135 14 10 read
0.03 0.000123 11 11 open
0.02 0.000082 6 14 close
[...]
เจตเจพเจน: 10 เจเจพเจฒเจพเจ lstat()
, 10 เจเจพเจฒเจพเจ getxattr()
(เจเฉ เจธเจญ เจ
เจธเจซเจฒ เจนเฉ เจเจพเจเจฆเฉ เจนเจจ เจเจฟเจเจเจเจฟ เจธเจพเจกเฉ เจตเจพเจคเจพเจตเจฐเจฃ เจตเจฟเฉฑเจ เจเจน เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจจเจนเฉเจ เจนเจจ เจเฉ ls เจฒเฉฑเจญ เจฐเจฟเจนเจพ เจนเฉ), 10 เจเจพเจฒเจพเจ capget()
.
เจฏเจเฉเจจเจจ เจเจธ เจจเฉเฉฐ เจ เจจเฉเจเฉเจฒ เจฌเจฃเจพเจเจ เจเจพ เจธเจเจฆเจพ เจนเฉ.
เจธเจฎเจฐเฉฑเจฅเจพ เจเฉเจฃ? เจจเจนเฉเจ
เจธเจฒเจพเจน เจฆเฉ เจฌเจพเจ
เจฆ
$ eval $(dircolors -b | sed s/ca=[^:]*:/ca=:/)
$ time strace -c ls --color=always $SCRATCH/dont | wc -l
10000
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
98.95 0.423443 42 10000 lstat
0.78 0.003353 42 80 getdents
0.04 0.000188 10 18 mprotect
0.04 0.000181 6 30 mmap
0.02 0.000085 9 10 read
0.02 0.000084 28 3 mremap
0.02 0.000077 7 11 open
0.02 0.000066 5 14 close
[...]
------ ----------- ----------- --------- --------- ----------------
100.00 0.427920 10221 6 total
real 0m8.160s
user 0m0.115s
sys 0m0.961s
เจตเจพเจน, เจชเฉเจฐเจตเฉเจ เจฆเฉ 8 เจธเจเจฟเฉฐเจเจพเจ เจคเฉฑเจ! เจ
เจธเฉเจ เจเจจเฉเจนเจพเจ เจธเจพเจฐเฉเจเจ เจฎเจนเจฟเฉฐเจเฉเจเจ เจเจพเจฒเจพเจ เจคเฉเจ เจเฉเจเจเจพเจฐเจพ เจชเจพ เจฒเจฟเจ getxattr()
, เจ
เจคเฉ เจเฉเจฃเฉเจคเฉเจเจ capget()
เจเจพเจเจฌ เจตเฉ, เจฎเจนเจพเจจ.
เจชเจฐ เจ
เจเฉ เจตเฉ เจเจน เจคเฉฐเจ เจเจฐเจจ เจตเจพเจฒเฉเจเจ เจเจพเจฒเจพเจ เจนเจจ lstat()
, เจนเจพเจฒเจพเจเจเจฟโฆ
เจคเฉเจนเจพเจจเฉเฉฐ เจเจฟเฉฐเจจเฉ เจซเฉเฉฑเจฒเจพเจ เจฆเฉ เจฒเฉเฉ เจนเฉ?
เจเจธ เจฒเจ, เจ
เจธเฉเจ เจกเฉเฉฐเจเจพเจ เจจเจพเจฒ เจฆเฉเจเจฟเจ LS_COLORS
.
เจชเจนเจฟเจฒเจพเจ เจ เจธเฉเจ เจเจธ เจตเฉเจฐเฉเจเจฌเจฒ เจจเฉเฉฐ เจ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจเจ:
$ echo $LS_COLORS rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36: $ unset LS_COLORS $ echo $LS_COLORS $ time ls --color=always $SCRATCH/dont | wc -l 10000 real 0m13.037s user 0m0.077s sys 0m1.092s
เจเฉ!?! เจ เจเฉ เจตเฉ 13 เจธเจเจฟเฉฐเจ?
เจเจน เจชเจคเจพ เจเจฒเจฆเจพ เจนเฉ เจเจฟ เจเจฆเฉเจ เจตเจพเจคเจพเจตเจฐเจจ เจตเฉเจฐเฉเจเจฌเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉ LS_COLORS
เจเจธเจฆเฉ เจคเฉฑเจค เจตเจฟเฉฑเจเฉเจ เจธเจฟเจฐเจซเจผ เจเฉฑเจ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจจเจนเฉเจ เจนเฉ เจเจพเจ เจเฉเฉฐเจฎ เจนเฉ <type>=color:
, เจเจน เจฎเฉเจฒ เจฐเฉเจช เจตเจฟเฉฑเจ เจฌเจฟเจฒเจ-เจเจจ เจกเจพเจเจพเจฌเฉเจธ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉ เจ
เจคเฉ เจ
เจเฉ เจตเฉ เจฐเฉฐเจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉเฅค เจเจธ เจฒเจ เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเจฟเจธเฉ เจเจพเจธ เจซเจพเจเจฒ เจเจฟเจธเจฎ เจฒเจ เจฐเฉฐเจเฉเจเจฐเจจ เจจเฉเฉฐ เจ
เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจเจฃเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ, เจคเจพเจ เจคเฉเจนเจพเจจเฉเฉฐ เจเจธ เจจเฉเฉฐ เจเจตเจฐเจฐเจพเจเจก เจเจฐเจจ เจฆเฉ เจฒเฉเฉ เจนเฉ <type>=:
เจ <type> 00
เจซเจพเจเจฒ เจตเจฟเฉฑเจ DIR_COLORS
.
เจฌเจนเฉเจค เจธเจพเจฐเฉ เจ เจเจผเจฎเจพเจเจธเจผเจพเจ เจ เจคเฉ เจเจฒเจคเฉเจเจ เจคเฉเจ เจฌเจพเจ เจฆ, เจ เจธเฉเจ เจเจชเจฃเฉ เจเฉเจ เจจเฉเฉฐ เจเจธ เจคเฉฑเจ เจธเฉเจฎเจค เจเจฐ เจฆเจฟเฉฑเจคเจพ:
EXEC 00
SETUID 00
SETGID 00
CAPABILITY 00
เจเจฟเจธ เจจเฉเฉฐ เจเจธ เจคเจฐเฉเจนเจพเจ เจฒเจฟเจเจฟเจ เจเจฟเจ เจนเฉ
LS_COLORS='ex=00:su=00:sg=00:ca=00:'
เจเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ: เจตเจฟเจธเจผเฉเจธเจผเจคเจพเจตเจพเจ เจฆเฉเจเจฐเจพ เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจฐเฉฐเจ เจจเจพ เจเจฐเฉ.
, เจจเจพ เจนเฉ เจฆเฉเจเจฐเจพ
เจ
เจธเฉเจ เจคเฉเจเจผ เจเจฐเจฆเฉ เจนเจพเจ ls
เจ
เจคเฉ เจเฉ เจคเฉเจธเฉเจ เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉเจ เจตเฉ เจเจพเจเจ เจจเจนเฉเจ เจเจฐเจฆเฉ, เจคเจพเจ เจเจพเจฒ เจเจฐเฉ lstat()
เจเจพเจเจฌ, เจ
เจคเฉ เจนเฉเจฃ เจเจน เจฌเจฟเจฒเจเฉเจฒ เจตเฉฑเจเจฐเจพ เจฎเจพเจฎเจฒเจพ เจนเฉ:
$ export LS_COLORS='ex=00:su=00:sg=00:ca=00:'
$ time strace -c ls --color=always $SCRATCH/dont | wc -l
10000
% time seconds usecs/call calls errors syscall
------ ----------- ----------- --------- --------- ----------------
63.02 0.002865 36 80 getdents
8.10 0.000368 12 30 mmap
5.72 0.000260 14 18 mprotect
3.72 0.000169 15 11 open
2.79 0.000127 13 10 read
[...]
------ ----------- ----------- --------- --------- ----------------
100.00 0.004546 221 6 total
real 0m0.337s
user 0m0.032s
sys 0m0.029s
0,3 เจซเจพเจเจฒเจพเจ เจฆเฉ เจธเฉเจเฉ 'เจคเฉ 10 เจธเจเจฟเฉฐเจ, เจเฉฑเจ เจฐเจฟเจเจพเจฐเจกเฅค
เจธเจผเฉเจฐเจฒเจพเจ เจธเจฅเจพเจชเจค เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
เจกเจฟเจซเฉเจฒเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจฆเฉ เจจเจพเจฒ 13 เจธเจเจฟเฉฐเจเจพเจ เจคเฉเจ เจฎเจพเจฎเฉเจฒเฉ เจตเจฟเจตเจธเจฅเจพเจตเจพเจ เจฆเฉ เจจเจพเจฒ 0,3 เจธเจเจฟเฉฐเจ เจคเฉฑเจ LS_COLORS
เจฎเจคเจฒเจฌ เจเฉเจฐเจนเจพเจเจผเจฐเฉ เจเจพเจฐเจจ 40 เจเฉเจฃเจพ เจชเฉเจฐเจตเฉเจ setuid
/ setgid
เจ
เจคเฉ เจฐเฉฐเจเจฆเจพเจฐ เจเจเจเจผเฉเจเจฟเจเจเฉเจฌเจฒ เจซเจพเจเจฒเจพเจเฅค เจเฉฐเจจเจพ เจตเฉฑเจกเจพ เจจเฉเจเจธเจพเจจ เจจเจนเฉเจ เจนเฉเฅค
เจฌเฉเจธเจผเฉฑเจ, เจเจน เจนเฉเจฃ เจนเจฐเฉเจ เจเจชเจญเฉเจเจคเจพ เจฒเจ Sherlock เจตเจฟเฉฑเจ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
เจชเจฐ เจเฉ เจคเฉเจธเฉเจ เจฐเฉฐเจ เจตเจพเจชเจธ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ, เจคเจพเจ เจคเฉเจธเฉเจ เจฌเจธ เจกเจฟเจซเฉเจฒเจ เจธเฉเจเจฟเฉฐเจเจพเจ 'เจคเฉ เจตเจพเจชเจธ เจเจพ เจธเจเจฆเฉ เจนเฉ:
$ unset LS_COLORS
เจชเจฐ เจซเจฟเจฐ เจฌเจนเฉเจค เจธเจพเจฐเฉเจเจ เจซเจพเจเจฒเจพเจ เจตเจพเจฒเฉเจเจ เจกเจพเจเจฐเฉเจเจเจฐเฉเจเจ 'เจคเฉ, เจเจฆเฉเจ เจเจน เจเฉฑเจฒ เจฐเจนเฉ เจนเฉเจตเฉ เจคเจพเจ เจเฉเจซเฉ เจฌเจฃเจพเจเจฃเจพ เจฏเจเฉเจจเฉ เจฌเจฃเจพเจ ls
.
เจธเจฐเฉเจค: www.habr.com