ุงูููู
 ูุฑูุฏ ุฃู ูุชุญุฏุซ ุนู ุจุนุถ ุงูุชุญุฏูุซุงุช ุงูุฃุฎูุฑุฉ ููุธุงู
 ุดูุฑููู [ูุฐู ู
ุฌู
ูุนุฉ ุนุงููุฉ ุงูุฃุฏุงุก ูู ุฌุงู
ุนุฉ ุณุชุงูููุฑุฏ - ุชูุฑูุจูุง. ูู.] ุ ู
ู
ุง ูุณุฑุน ุฅูู ุญุฏ ูุจูุฑ ูุงุฆู
ุฉ ุงูู
ููุงุช ูู ุงูุฏูุงุฆู ู
ุน ุนุฏุฏ ูุจูุฑ ู
ู ุงูุฅุฏุฎุงูุงุช.
ุนูู ุนูุณ ุงูู
ูุงูุงุช ุงูู
ุนุชุงุฏุฉ ุ ูุนุฏ ูุฐุง ุชูุฑูุฑูุง ุฏุงุฎูููุง ุญูู ููููุฉ ุณูุฑ ุงูุนู
ู ุงูู
ูุชุธู
 ูู Sherlock ู
ู ุฃุฌู ุงูุญูุงุธ ุนููู ุจุฃูุถู ุทุฑููุฉ ู
ู
ููุฉ ูู
ุณุชุฎุฏู
ููุง. ูุฃู
ู ูู ูุดุฑ ุงูู
ุฒูุฏ ู
ู ูุฐู ุงูู
ูุงูุงุช ูู ุงูู
ุณุชูุจู.
ุณุฑุฏ ุงูุนุฏูุฏ ู
ู ุงูู
ููุงุช ูุณุชุบุฑู ููุชุง
ุจุฏุฃ ูู ุดูุก ุจุณุคุงู ุฏุนู
 ููู ู
ู ุงูู
ุณุชุฎุฏู
. ููุฏ ุฃุจูุบ ุนู ู
ุดููุฉ ูู ุฃู ุชุดุบูู 
ls ุงุณุชุบุฑู ุนุฏุฉ ุฏูุงุฆู ูู ุงูุฏููู ู
ุน ุฃูุซุฑ ู
ู 15000 ุฅุฏุฎุงูุงุช ูู 
$SCRATCH [ุฏููู ููู
ููุงุช ุงูู
ุคูุชุฉ - ุชูุฑูุจูุง. ุงูุนุงุจุฑุฉ.].
ุงูุขูุงู ู
ู ุงูู
ููุงุช ูู ุฏููู ูุงุญุฏ ุนุงุฏุฉ ู
ุง ุชุฎูู ุตุนูุจุงุช ููุธุงู
 ุงูู
ููุงุช ููุฐุง ุจุงูุชุฃููุฏ ุบูุฑ ู
ุณุชุญุณู. ุนุฑู ุงูู
ุณุชุฎุฏู
 ุฐูู ูุฃูุฑ ุจุฃูู ูู
 ููู ุฌูุฏูุง ุ ูููู ุฐูุฑ ุฃู ุจุทุงูุฉ ุงูุจูุงูุงุช ุนูู ุฌูุงุฒ ุงููู
ุจููุชุฑ ุงูู
ุญู
ูู ูุงูุช ุฃุณุฑุน ุจู 1000 ู
ุฑุฉ ู
ู ุดูุฑููู. ุจุงูุทุจุน ุ ููุฏ ุถุฑุจูุง. ูุฐูู ุ ูุธุฑูุง ุฃุนู
ู.
ูุฃู ุชุจุฏู ุฌู
ููุฉ
ูุธุฑูุง ุฅูู ู
ุง ุชูุนูู ุจุงููุนู ุนูุฏ ุณุฑุฏ ุงูุฏููู ุ ููู
ุงุฐุง ุชุณุชุบุฑู ุงูุนู
ููุฉ ููุชูุง ุทูููุงู. ูู ู
ุนุธู
 ุงูุชูุฒูุนุงุช ุงูุญุฏูุซุฉ ุ ูุชู
 ุชุนููู 
ls ุงูุชุฑุงุถููุง ุนูู 
ls --color=auto ุ ูุฃู ุงูุฌู
ูุน ูุญุจ ุงูููู.
ููู ุงูุฃููุงู ุงูุฌู
ููุฉ ููุง ุณุนุฑ: ููู ู
ูู ุ ูุฌุจ ุฃู ุชุญุตู 
ls ุนูู ู
ุนููู
ุงุช ุญูู ููุน ุงูู
ูู ูุฏูุฉ ุงููุถูุญ ูุงูุฃุนูุงู
 ูุงูุณู
ุงุช ุงูู
ุชูุฏู
ุฉ ูู
ุง ุดุงุจู ุฐูู ู
ู ุฃุฌู ุชุญุฏูุฏ ุงูููู ุงูู
ูุงุณุจ.
ุฃุญุฏ ุงูุญููู ุงูุจุณูุทุฉ ููู
ุดููุฉ ูู ุชุนุทูู ุงูููู ูู ls ุชู
ุงู
ูุง ุ ูููู ุชุฎูู ุบุถุจ ุงูู
ุณุชุฎุฏู
ูู. ูู ุฃู ุญุงู ู
ู ุงูุฃุญูุงู ูู
ููู ุฃู ุชุฃุฎุฐ ุฅุฎุฑุงุฌ ุงูููู ุ ูุญู ูุณูุง ุงููุญูุด.
ูุฐูู ุ ูุธุฑูุง ุฃุนู
ู. ูุฑุณู
 
ls ุงูุณุฌูุงุช ู
ู ุฎูุงู 
LS_COLORS ุงูุจูุฆุฉ 
LS_COLORS ุ ูุงูุฐู 
dircolors(1) ุงุณุชูุงุฏูุง ุฅูู ู
ูู ุงูุชูููู 
dir_colors(5) . ูุนู
 ุ 
ููุฑุฃ ุงูู
ูู ุงููุงุจู ููุชูููุฐ ู
ูู ุงูุชูููู ูุฅูุดุงุก ู
ุชุบูุฑ ุจูุฆุฉ ูุณุชุฎุฏู
 ุจุนุฏ ุฐูู (ูุฅุฐุง ููุช ูุง ุชุนุฑู ู
ููุงุช 
ุงูุจุงุจ (ูุนู
ู) ุ 
ูุณูู ุชุนู
ู dir_colors ุ ุจุบุถ ุงููุธุฑ ุนู ุฐูู).
ุณูู ูููู
 ุจู
ุฒูุฏ ู
ู ุงูุชูุงุตูู
ูุชุญุฏูุฏ ุฃู ู
ู ู
ุฎุทุทุงุช ุงูุชูููู ุงูุชู ุชุณุจุจ ุชุจุงุทุคูุง ุ ุฃูุดุฃูุง ุจูุฆุฉ ุชุฌุฑูุจูุฉ:
 $ 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 ุซุงููุฉ ูู 10000 ู
ูู ุ ููุณุช ุฌูุฏุฉ ุฌุฏูุง.ุจุงูู
ูุงุณุจุฉ ุ ูุญุชุงุฌ ุฅูู ุงูุนูู
 - --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 [...] 
ูุฌุงุญ ุจุงูุฑ: 10000 ู
ูุงูู
ุฉ ุฅูู 
lstat() ุ ู 10000 ู
ูุงูู
ุฉ ุฅูู 
getxattr() (ูุงูุชู ููุดู ูููุง ุงูุฌู
ูุน ูุฃูู ูู ุจูุฆุชูุง ูุง ุชูุฌุฏ ุณู
ุงุช ุชุจุญุซ ุนููุง) ุ ู 10000 ู
ูุงูู
ุฉ 
capget() .
ุจุงูุชุฃููุฏ ูุฐุง ูู
ูู ุฃู ูููู ุงูุฃู
ุซู.
ุณู
ุฉ ุงููุฏุฑุงุช ููุง
ุจุนุฏ ูุตูุญุฉ 
ุงูุฎุทุฃ ูุจู 10 ุณููุงุช ุ ุญุงูููุง ุชุนุทูู ุงูุชุญูู ู
ู ุณู
ุฉ 
ุงููุฏุฑุงุช :
 $ 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 ุจู
ุฒูุฏ ู
ู ุงูุชูุงุตูู.
ุฃููุงู ุ ููุฏ ุฃููููุง ูุฐุง ุงูู
ุชุบูุฑ ุจุจุณุงุทุฉ:
  ุตุฏู $ 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: ุฃู = 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: *. = 01 ุ 31: *. ุงูุฑู
ุฒ ุงูุจุฑูุฏู = 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: *. ุงููุงุจููุฉ = 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
 ุตุฏู $ LS_COLORS
 $ time ls - ุงูููู = ุฏุงุฆู
ูุง SCRATCH / dont |  ู
ุฑุญุงุถ
 10000
 0m13.037s ุงูุญูููู
 ุงูู
ุณุชุฎุฏู
 0m0.077s
 ุชู
ูุฒ ุงููููุฉ 0m1.092s 
ู
ุง!ุ! ูุง ูุฒุงู 13 ุซุงููุฉุ
ุงุชุถุญ ุฃูู ุนูุฏู
ุง ูุง 
LS_COLORS ุชุนุฑูู 
LS_COLORS ุงูุจูุฆุฉ 
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:' 
ููุฐุง ูุนูู: ุนุฏู
 ุชูููู ุงูู
ููุงุช ุฅู
ุง ุนู ุทุฑูู 
ุฅู
ูุงููุงุช atrut ุฃู ุจุชุงุช 
setuid/setgid ุฃู 
ุจุงูุนูู
 ุงููุงุจู ููุชูููุฐ .
ุชุณุฑูุน ls
ูุฅุฐุง ูู
 ุชูู
 ุจุฃู ู
ู ุนู
ููุงุช ุงููุญุต ูุฐู ุ 
lstat() ู
ูุงูู
ุงุช 
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 ุซุงููุฉ ุนูู ูุงุฆู
ุฉ ู
ู 10000 ู
ูู ุ ููู ุฑูู
 ููุงุณู.
ุชูููู ุดูุฑููู
ู
ู 13 ุซุงููุฉ ู
ุน ุงูุฅุนุฏุงุฏุงุช ุงูุงูุชุฑุงุถูุฉ ุฅูู 0.3 ุซุงููุฉ ู
ุน ุฅุนุฏุงุฏ ุตุบูุฑ ุ ูุนูู 
LS_COLORS 40 ู
ุฑุฉ ุจุณุจุจ ุนุฏู
 ูุฌูุฏ 
setuid / 
setgid ูุงูู
ููุงุช ุงููุงุจูุฉ ููุชูููุฐ ุงูู
ูููุฉ. ููุณุช ูุฐู ุฎุณุงุฑุฉ ูุจูุฑุฉ.
ุจุงูุทุจุน ุ ุงูุขู ุชู
 ุชูููู ูุฐุง ูู ุดูุฑููู ููู ู
ุณุชุฎุฏู
.
ูููู ุฅุฐุง ููุช ุชุฑุบุจ ูู ุฅุฑุฌุงุน ุงูุชูููู ุ ูู
ููู ููุท ุงูุนูุฏุฉ ุฅูู ุงูุฅุนุฏุงุฏุงุช ุงูุงูุชุฑุงุถูุฉ:
 $ unset LS_COLORS 
ูููู ุจุนุฏ ุฐูู ุ ูู ุงูุฏูุงุฆู ุงูุชู ุชุญุชูู ุนูู ุนุฏุฏ ูุจูุฑ ู
ู ุงูู
ููุงุช ุ ุชุฃูุฏ ู
ู ุฅุนุฏุงุฏ ุงููููุฉ ุฃุซูุงุก ุงูุนู
ู.