เชเชเซ เชเชชเชฃเซ เชถเซเชฐเชฒเซเช เชธเชฟเชธเซเชเชฎเชจเชพ เชเซเชเชฒเชพเช เชจเชตเซเชจเชคเชฎ เช เชชเชกเซเชเซเชธ เชตเชฟเชถเซ เชตเชพเชค เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช [เช เชธเซเชเซเชจเชซเซเชฐเซเชก เชฏเซเชจเชฟเชตเชฐเซเชธเชฟเชเซเชฎเชพเช เชเชเซเช-เชชเซเชฐเชฆเชฐเซเชถเชจ เชเซเชฒเชธเซเชเชฐ เชเซ - เชเชถเชฐเซ. เชเซเชฐเชพเชจเซเชธ.], เชเซ เชฎเซเชเซ เชธเชเชเซเชฏเชพเชฎเชพเช เชเชจเซเชเซเชฐเซเช เชธเชพเชฅเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชเชฎเชพเช เชซเชพเชเชฒเซเชจเซ เชธเซเชเชฟเชฌเชฆเซเชง เชเชฐเชตเชพ เชฎเชพเชเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฐเซเชคเซ เชเชกเชชเซ เชฌเชจเชพเชตเซ เชเซ.
เชจเชฟเชฏเชฎเชฟเชค เชฒเซเชเซเชฅเซ เชตเชฟเชชเชฐเซเชค, เช เชฎเชพเชฐเชพ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชฎเชพเชเซ เชคเซเชจเซ เชถเซเชฐเซเชทเซเช เชฐเซเชคเซ เชเชพเชฒเซ เชฐเชพเชเชตเชพ เชฎเชพเชเซ เช เชฎเซ เชถเซเชฐเชฒเซเช เชชเชฐ เชจเชฟเชฏเชฎเชฟเชคเชชเชฃเซ เชเซเชตเซ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเซเช เชเซเช เชคเซเชจเชพ เชชเชฐ เช เชเช เชเชเชคเชฐเชฟเช เช เชนเซเชตเชพเชฒ เชเซ. เช เชฎเซ เชญเชตเชฟเชทเซเชฏเชฎเชพเช เชเชตเชพ เชตเชงเซ เชฒเซเชเซ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเชตเชพเชจเซ เชเชถเชพ เชฐเชพเชเซเช เชเซเช.
เชเชฃเซ เชซเชพเชเชฒเซเชจเซ เชธเซเชเชฟเชฌเชฆเซเชง เชเชฐเชตเชพเชฎเชพเช เชธเชฎเชฏ เชฒเชพเชเซ เชเซ
เชคเซ เชฌเชงเซเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเชพ เชคเชเชจเซเชเซ เชธเชชเซเชฐเซเช เชชเซเชฐเชถเซเชจ เชธเชพเชฅเซ เชถเชฐเซ เชฅเชฏเซเช. เชคเซเชฎเชฃเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชเชพเชฃ เชเชฐเซ เชเซ เช
เชฎเชฒ 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
เช
เชจเซ เชฐเชเชเซเชจ เชเชเซเชเชฟเชเซเชฏเซเชเซเชฌเชฒ เชซเชพเชเชฒเซ. เชเชเชฒเซ เชฎเซเชเซ เชเซเช เชจเชฅเซ.
เช เชฒเชฌเชคเซเชค, เช เชนเชตเซ เชฆเชฐเซเช เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชฎเชพเชเซ เชถเซเชฐเชฒเซเชเชฎเชพเช เชเซเช เชตเซเชฒ เชเซ.
เชชเชฐเชเชคเซ เชเซ เชคเชฎเซ เชฐเชเช เชชเชฐเชค เชเชฐเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซ, เชคเซ เชคเชฎเซ เชซเชเซเชค เชกเชฟเชซเซเชฒเซเช เชธเซเชเชฟเชเชเซเชธ เชชเชฐ เชชเชพเชเชพ เชเชตเซ เชถเชเซ เชเซ:
$ unset LS_COLORS
เชชเชฐเชเชคเซ เชคเซ เชชเชเซ เชเชฃเซ เชฌเชงเซ เชซเชพเชเชฒเซเชตเชพเชณเซ เชกเชฟเชฐเซเชเซเชเชฐเซเช เชชเชฐ, เชเซเชฏเชพเชฐเซ เชคเซ เชเชพเชฒเซ เชฐเชนเซ เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชเซเชซเซ เชเชเชพเชณเชตเชพเชจเซ เชเชพเชคเชฐเซ เชเชฐเซ ls
.
เชธเซเชฐเซเชธ: www.habr.com