เชœเซ‚เชจเชพ Linux เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชŸเซ‚เชฒเซเชธเชจเชพ 5 เช†เชงเซเชจเชฟเช• เชตเชฟเช•เชฒเซเชชเซ‹

เชœเซ‚เชจเชพ เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชŸเซ‚เชฒเซเชธเชจเซ€ เชธเชพเชฅเซ‡ เชตเชงเซ เช†เชงเซเชจเชฟเช• เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡, เชคเชฎเซ‡ เชตเชงเซ เช†เชจเช‚เชฆ เชฎเชพเชฃเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชจเซ‡ เชคเชฎเชพเชฐเซ€ เช‰เชคเซเชชเชพเชฆเช•เชคเชพเชฎเชพเช‚ เชชเชฃ เชธเซเชงเชพเชฐเซ‹ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹.

เชœเซ‚เชจเชพ Linux เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชŸเซ‚เชฒเซเชธเชจเชพ 5 เช†เชงเซเชจเชฟเช• เชตเชฟเช•เชฒเซเชชเซ‹

Linux/Unix เชชเชฐเชจเชพ เช…เชฎเชพเชฐเชพ เชฆเซˆเชจเชฟเช• เช•เชพเชฐเซเชฏเชฎเชพเช‚, เช…เชฎเซ‡ เช˜เชฃเชพ เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชŸเซ‚เชฒเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เช เช›เซ€เช - เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชกเชฟเชธเซเช• เชตเชชเชฐเชพเชถ เช…เชจเซ‡ เชธเชฟเชธเซเชŸเชฎ เชธเช‚เชธเชพเชงเชจเซ‹เชจเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ du. เช†เชฎเชพเช‚เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เชธเชพเชงเชจเซ‹ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เช†เชธเชชเชพเชธ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชŸเซ‹เชช 1984เชฎเชพเช‚ เชฆเซ‡เช–เชพเชฏเซเช‚, เช…เชจเซ‡ เชกเซเชจเซ€ เชชเซเชฐเชฅเชฎ เชฐเชœเซ‚เช†เชค 1971เชจเซ€ เช›เซ‡.

เชตเชฐเซเชทเซ‹เชฅเซ€, เช† เชธเชพเชงเชจเซ‹เชจเซเช‚ เช†เชงเซเชจเชฟเช•เซ€เช•เชฐเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เชตเชฟเชตเชฟเชง เชธเชฟเชธเซเชŸเชฎเซ‹เชฎเชพเช‚ เชชเซ‹เชฐเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชชเชฐเช‚เชคเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชคเซ‡เช“ เชคเซ‡เชฎเชจเชพ เชชเซเชฐเชฅเชฎ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชฅเซ€ เชตเชงเซ เช†เช—เชณ เชตเชงเซเชฏเชพ เชจเชฅเซ€, เชคเซ‡เชฎเชจเชพ เชฆเซ‡เช–เชพเชต เช…เชจเซ‡ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชฎเชพเช‚ เชชเชฃ เชฌเชนเซ เชฌเชฆเชฒเชพเชต เช†เชตเซเชฏเซ‹ เชจเชฅเซ€.

เช† เชถเซเชฐเซ‡เชทเซเช  เชธเชพเชงเชจเซ‹ เช›เซ‡ เชœเซ‡เชจเซ€ เช˜เชฃเชพ เชธเชฟเชธเซเชŸเชฎ เชธเช‚เชšเชพเชฒเช•เซ‹เชจเซ‡ เชœเชฐเซ‚เชฐ เช›เซ‡. เชœเซ‹ เช•เซ‡, เชธเชฎเซเชฆเชพเชฏเซ‡ เชตเซˆเช•เชฒเซเชชเชฟเช• เชธเชพเชงเชจเซ‹ เชตเชฟเช•เชธเชพเชตเซเชฏเชพ เช›เซ‡ เชœเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เชฒเชพเชญเซ‹ เช†เชชเซ‡ เช›เซ‡. เชคเซ‡เชฎเชพเช‚เชจเชพ เช•เซ‡เชŸเชฒเชพเช•เชฎเชพเช‚ เชซเช•เซเชค เช†เชงเซเชจเชฟเช•, เชธเซเช‚เชฆเชฐ เชˆเชจเซเชŸเชฐเชซเซ‡เชธ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เช…เชจเซเชฏเซ‹ เช‰เชชเชฏเซ‹เช—เซ€เชคเชพเชฎเชพเช‚ เช˜เชฃเซ‹ เชธเซเชงเชพเชฐเซ‹ เช•เชฐเซ‡ เช›เซ‡. เช† เช…เชจเซเชตเชพเชฆเชฎเชพเช‚, เช…เชฎเซ‡ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค Linux เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชŸเซ‚เชฒเซเชธเชจเชพ เชชเชพเช‚เชš เชตเชฟเช•เชฒเซเชชเซ‹ เชตเชฟเชถเซ‡ เชตเชพเชค เช•เชฐเซ€เชถเซเช‚.

1. เชเชจเชธเซ€เชกเซ€เชฏเซ เชตเชฟ เชกเซเชฏเซ

NCurses เชกเชฟเชธเซเช• เชตเชชเชฐเชพเชถ (เชเชจเชธเซ€เชกเซเชฏเซ) เช du เชœเซ‡เชตเซเช‚ เชœ เช›เซ‡, เชชเชฐเช‚เชคเซ เช•เชฐเซเชธ เชฒเชพเช‡เชฌเซเชฐเซ‡เชฐเซ€ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช‡เชจเซเชŸเชฐเซ‡เช•เซเชŸเชฟเชต เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชธเชพเชฅเซ‡. ncdu เช เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฎเชพเชณเช–เซเช‚ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เชœเซ‡ เชคเชฎเชพเชฐเซ€ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชกเชฟเชธเซเช• เชœเช—เซเชฏเชพ เชฒเซ‡ เช›เซ‡.

ncdu เชกเชฟเชธเซเช•เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเช›เซ€ เชธเซŒเชฅเซ€ เชตเชงเซ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซ€ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช“ เช…เชฅเชตเชพ เชซเชพเช‡เชฒเซ‹ เชฆเซเชตเชพเชฐเชพ เชธเซ‰เชฐเซเชŸ เช•เชฐเซ‡เชฒเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡:

ncdu 1.14.2 ~ Use the arrow keys to navigate, press ? for help
--- /home/rgerardi ------------------------------------------------------------
   96.7 GiB [##########] /libvirt
   33.9 GiB [###       ] /.crc
    7.0 GiB [          ] /Projects
.   4.7 GiB [          ] /Downloads
.   3.9 GiB [          ] /.local
    2.5 GiB [          ] /.minishift
    2.4 GiB [          ] /.vagrant.d
.   1.9 GiB [          ] /.config
.   1.8 GiB [          ] /.cache
    1.7 GiB [          ] /Videos
    1.1 GiB [          ] /go
  692.6 MiB [          ] /Documents
. 591.5 MiB [          ] /tmp
  139.2 MiB [          ] /.var
  104.4 MiB [          ] /.oh-my-zsh
   82.0 MiB [          ] /scripts
   55.8 MiB [          ] /.mozilla
   54.6 MiB [          ] /.kube
   41.8 MiB [          ] /.vim
   31.5 MiB [          ] /.ansible
   31.3 MiB [          ] /.gem
   26.5 MiB [          ] /.VIM_UNDO_FILES
   15.3 MiB [          ] /Personal
    2.6 MiB [          ]  .ansible_module_generated
    1.4 MiB [          ] /backgrounds
  944.0 KiB [          ] /Pictures
  644.0 KiB [          ]  .zsh_history
  536.0 KiB [          ] /.ansible_async
 Total disk usage: 159.4 GiB  Apparent size: 280.8 GiB  Items: 561540

เชคเชฎเซ‡ เชเชฐเซ‹ เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเชจเซเชŸเซเชฐเซ€เช“ เชฆเซเชตเชพเชฐเชพ เชจเซ‡เชตเชฟเช—เซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชœเซ‹ เชคเชฎเซ‡ Enter เชฆเชฌเชพเชตเซ‹ เช›เซ‹, เชคเซ‹ ncdu เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชจเชฟเชฐเซเชฆเซ‡เชถเชฟเช•เชพเชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชถเซ‡:

--- /home/rgerardi/libvirt ----------------------------------------------------
                         /..
   91.3 GiB [##########] /images
    5.3 GiB [          ] /media

เชคเชฎเซ‡ เช† เชธเชพเชงเชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช•เชˆ เชซเชพเชˆเชฒเซ‹ เชธเซŒเชฅเซ€ เชตเชงเซ เชกเชฟเชธเซเช• เชœเช—เซเชฏเชพ เชฒเชˆ เชฐเชนเซ€ เช›เซ‡ เชคเซ‡ เชจเช•เซเช•เซ€ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡. เชคเชฎเซ‡ เชกเชพเชฌเซ€ เชเชฐเซ‹ เช•เซ€ เชฆเชฌเชพเชตเซ€เชจเซ‡ เชชเชนเซ‡เชฒเชพเชจเซ€ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เชœเชˆ เชถเช•เซ‹ เช›เซ‹. ncdu เชธเชพเชฅเซ‡ เชคเชฎเซ‡ d เช•เซ€ เชฆเชฌเชพเชตเซ€เชจเซ‡ เชซเชพเช‡เชฒเซ‹ เช•เชพเชขเซ€ เชถเช•เซ‹ เช›เซ‹. เชคเซ‡ เช•เชพเชขเซ€ เชจเชพเช–เชคเชพ เชชเชนเซ‡เชฒเชพ เชชเซเชทเซเชŸเชฟ เชฎเชพเชŸเซ‡ เชชเซ‚เช›เซ‡ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชฎเซ‚เชฒเซเชฏเชตเชพเชจ เชซเชพเชˆเชฒเซ‹เชจเชพ เช†เช•เชธเซเชฎเชฟเช• เชจเซเช•เชถเชพเชจเชจเซ‡ เชฐเซ‹เช•เชตเชพ เชฎเชพเชŸเซ‡ เชกเชฟเชฒเซ€เชŸ เชซเซ€เชšเชฐเชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เชฎเชพเชคเซเชฐ-เชฐเซ€เชก-เช“เชจเซเชฒเซ€ เชเช•เซเชธเซ‡เชธ เชฎเซ‹เชกเชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ -r เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹: ncdu -r.

ncdu เช˜เชฃเชพ Linux เชชเซเชฒเซ‡เชŸเชซเซ‹เชฐเซเชฎ เช…เชจเซ‡ เชตเชฟเชคเชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ Fedora เชชเชฐ เชธเซ€เชงเซเช‚ เชœ เช…เชงเชฟเช•เซƒเชค เชฐเชฟเชชเซ‹เชเซ€เชŸเชฐเซ€เชเชฎเชพเช‚เชฅเซ€ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ dnf เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹:

$ sudo dnf install ncdu

2. htop เชตเชฟ เชŸเซ‹เชช

เชนเซ‹เชช เชŸเซ‹เชšเชจเซ€ เชœเซ‡เชฎ เชœ เชเช• เช‡เชจเซเชŸเชฐเซ‡เช•เซเชŸเชฟเชต เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฆเชฐเซเชถเช• เช›เซ‡, เชชเชฐเช‚เชคเซ เชฌเซ‰เช•เซเชธเชจเซ€ เชฌเชนเชพเชฐ เชคเซ‡ เชเช• เชธเชฐเชธ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เช…เชจเซเชญเชต เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡. เชกเชฟเชซเซ‰เชฒเซเชŸ เชฐเซ‚เชชเซ‡, htop เชŸเซ‹เชšเชจเซ€ เชธเชฎเชพเชจ เชฎเชพเชนเชฟเชคเซ€ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชตเชงเซ เชฆเซเชฐเชถเซเชฏ เช…เชจเซ‡ เชฐเช‚เช—เซ€เชจ เชฐเซ€เชคเซ‡.

เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ htop เช†เชจเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:

เชœเซ‚เชจเชพ Linux เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชŸเซ‚เชฒเซเชธเชจเชพ 5 เช†เชงเซเชจเชฟเช• เชตเชฟเช•เชฒเซเชชเซ‹
เชŸเซ‹เชšเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค:

เชœเซ‚เชจเชพ Linux เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชŸเซ‚เชฒเซเชธเชจเชพ 5 เช†เชงเซเชจเชฟเช• เชตเชฟเช•เชฒเซเชชเซ‹
เชตเชงเซเชฎเชพเช‚, htop เชŸเซ‹เชš เชชเชฐ เชธเชฟเชธเซเชŸเชฎ เชตเชฟเชถเซ‡ เชตเชฟเชนเช‚เช—เชพเชตเชฒเซ‹เช•เชจ เชฎเชพเชนเชฟเชคเซ€ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชคเชณเชฟเชฏเซ‡ เชซเช‚เช•เซเชถเชจ เช•เซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช†เชฆเซ‡เชถเซ‹ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡เชจเซ€ เชชเซ‡เชจเชฒ. เชคเชฎเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชธเซเช•เซเชฐเซ€เชจ เช–เซ‹เชฒเชตเชพ เชฎเชพเชŸเซ‡ F2 เชฆเชฌเชพเชตเซ€เชจเซ‡ เชคเซ‡เชจเซ‡ เช—เซ‹เช เชตเซ€ เชถเช•เซ‹ เช›เซ‹. เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชฎเชพเช‚, เชคเชฎเซ‡ เชฐเช‚เช—เซ‹ เชฌเชฆเชฒเซ€ เชถเช•เซ‹ เช›เซ‹, เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธ เช‰เชฎเซ‡เชฐเซ€ เช…เชฅเชตเชพ เชฆเซ‚เชฐ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชฅเชตเชพ เชตเชฟเชนเช‚เช—เชพเชตเชฒเซ‹เช•เชจ เชชเซ‡เชจเชฒ เชชเซเชฐเชฆเชฐเซเชถเชจ เชตเชฟเช•เชฒเซเชชเซ‹ เชฌเชฆเชฒเซ€ เชถเช•เซ‹ เช›เซ‹.

เชœเซ‹ เช•เซ‡ เชคเชฎเซ‡ เชŸเซ‹เชšเชจเชพ เชจเชตเซ€เชจเชคเชฎ เชธเช‚เชธเซเช•เชฐเชฃเซ‹เชจเซ€ เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชจเซ‡ เชŸเซเชตเชฟเช• เช•เชฐเซ€เชจเซ‡ เชธเชฎเชพเชจ เช‰เชชเชฏเซ‹เช—เซ€เชคเชพ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, htop เช…เชจเซเช•เซ‚เชณ เชกเชฟเชซเซ‹เชฒเซเชŸ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‡ เช›เซ‡, เชœเซ‡ เชคเซ‡เชจเซ‡ เชตเชงเซ เชตเซเชฏเชตเชนเชพเชฐเซ เช…เชจเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชธเชฐเชณ เชฌเชจเชพเชตเซ‡ เช›เซ‡.

3. tldr เชตเชฟ เชฎเชพเชฃเชธ

tldr เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชŸเซ‚เชฒ เช†เชฆเซ‡เชถเซ‹ เชตเชฟเชถเซ‡ เชธเชฐเชณ เชฎเชฆเชฆ เชฎเชพเชนเชฟเชคเซ€ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡, เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡ เช‰เชฆเชพเชนเชฐเชฃเซ‹. เชคเซ‡ เชธเชฎเซเชฆเชพเชฏ เชฆเซเชตเชพเชฐเชพ เชตเชฟเช•เชธเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ tldr เชชเซƒเชทเซเช เซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ.

เชคเซ‡ เชจเซ‹เช‚เชงเชตเซเช‚ เชฏเซ‹เช—เซเชฏ เช›เซ‡ เช•เซ‡ tldr เช เชฎเชพเชฃเชธ เชฎเชพเชŸเซ‡ เชฐเชฟเชชเซเชฒเซ‡เชธเชฎเซ‡เชจเซเชŸ เชจเชฅเซ€. เชคเซ‡ เชนเชœเซ เชชเชฃ เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เช…เชจเซ‡ เชธเซŒเชฅเซ€ เชตเซเชฏเชพเชชเช• เชฎเซ‡เชจ เชชเซ‡เชœ เช†เช‰เชŸเชชเซเชŸ เชŸเซ‚เชฒ เช›เซ‡. เชœเซ‹ เช•เซ‡, เช•เซ‡เชŸเชฒเชพเช• เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚ เชฎเชพเชฃเชธ เชจเชฟเชฐเชฐเซเชฅเช• เช›เซ‡. เชœเซเชฏเชพเชฐเซ‡ เชคเชฎเชจเซ‡ เช†เชฆเซ‡เชถ เชตเชฟเชถเซ‡ เชตเซเชฏเชพเชชเช• เชฎเชพเชนเชฟเชคเซ€เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€, เชคเซเชฏเชพเชฐเซ‡ เชคเชฎเซ‡ เชซเช•เซเชค เชคเซ‡เชจเชพ เชฎเซ‚เชณเชญเซ‚เชค เช‰เชชเชฏเซ‹เช—เซ‹เชจเซ‡ เชฏเชพเชฆ เช•เชฐเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, curl เช†เชฆเซ‡เชถ เชฎเชพเชŸเซ‡เชจเชพ เชฎเซ‡เชจ เชชเซ‡เชœเชฎเชพเช‚ เชฒเช—เชญเช— 3000 เชฒเซ€เชŸเซ€เช“ เช›เซ‡. curl เชฎเชพเชŸเซ‡ tldr เชชเซ‡เชœ 40 เชฒเซ€เชŸเซ€เช“ เชฒเชพเช‚เชฌเซ เช›เซ‡. เชคเซ‡เชจเซ‹ เชŸเซเช•เชกเซ‹ เช†เชจเชพ เชœเซ‡เชตเซ‹ เชฆเซ‡เช–เชพเชฏ เช›เซ‡:


$ tldr curl

# curl
  Transfers data from or to a server.
  Supports most protocols, including HTTP, FTP, and POP3.
  More information: <https://curl.haxx.se>.

- Download the contents of an URL to a file:

  curl http://example.com -o filename

- Download a file, saving the output under the filename indicated by the URL:

  curl -O http://example.com/filename

- Download a file, following [L]ocation redirects, and automatically [C]ontinuing (resuming) a previous file transfer:

  curl -O -L -C - http://example.com/filename

- Send form-encoded data (POST request of type `application/x-www-form-urlencoded`):

  curl -d 'name=bob' http://example.com/form                                                                                            
- Send a request with an extra header, using a custom HTTP method:

  curl -H 'X-My-Header: 123' -X PUT http://example.com                                                                                  
- Send data in JSON format, specifying the appropriate content-type header:

  curl -d '{"name":"bob"}' -H 'Content-Type: application/json' http://example.com/users/1234

... TRUNCATED OUTPUT

TLDR เชจเซ‹ เช…เชฐเซเชฅ "เช–เซ‚เชฌ เชฒเชพเช‚เชฌเซ‹; เชตเชพเช‚เชšเซเชฏเซเช‚ เชจเชฅเซ€": เชเชŸเชฒเซ‡ เช•เซ‡, เช•เซ‡เชŸเชฒเชพเช• เชŸเซ‡เช•เซเชธเซเชŸเชจเซ‡ เชคเซ‡เชจเซ€ เชตเชงเซ เชชเชกเชคเซ€ เชตเชฐเซเชฌเซ‹เชธเชฟเชŸเซ€เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เช…เชตเช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€. เชจเชพเชฎ เช† เชธเชพเชงเชจ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชฎเซ‡เชจ เชชเซƒเชทเซเช เซ‹, เช‰เชชเชฏเซ‹เช—เซ€ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, เช•เซเชฏเชพเชฐเซ‡เช• เช–เซ‚เชฌ เชฒเชพเช‚เชฌเชพ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡.

Fedora เชฎเชพเชŸเซ‡, tldr Python เชฎเชพเช‚ เชฒเช–เชพเชฏเซ‡เชฒเซเช‚ เชนเชคเซเช‚. เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชกเซ€เชเชจเชเชซ เชฎเซ‡เชจเซ‡เชœเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชธเชพเชงเชจเชจเซ‡ เชšเชฒเชพเชตเชตเชพ เชฎเชพเชŸเซ‡ เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชเช•เซเชธเซ‡เชธเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชชเชฐเช‚เชคเซ Fedora เชจเชพ Python เช•เซเชฒเชพเชฏเช‚เชŸ เช† เชชเซƒเชทเซเช เซ‹เชจเซ‡ เช‘เชซเชฒเชพเช‡เชจ เชเช•เซเชธเซ‡เชธ เชฎเชพเชŸเซ‡ เชกเชพเช‰เชจเชฒเซ‹เชก เช…เชจเซ‡ เช•เซ‡เชถ เช•เชฐเชตเชพเชจเซ€ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡.

4.jq เชตเชฟ sed/grep

jq เช เช†เชฆเซ‡เชถ เชตเชพเช•เซเชฏ เชฎเชพเชŸเซ‡ JSON เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เช›เซ‡. เชคเซ‡ sed เช…เชฅเชตเชพ grep เชœเซ‡เชตเซเช‚ เชœ เช›เซ‡, เชชเชฐเช‚เชคเซ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ JSON เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฐเชšเชพเชฏเซ‡เชฒ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชกเซ‡เชตเชฒเชชเชฐ เช…เชฅเชตเชพ เชธเชฟเชธเซเชŸเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐ เช›เซ‹ เชœเซ‡ เชฐเซ‹เชœเชฟเช‚เชฆเชพ เช•เชพเชฐเซเชฏเซ‹เชฎเชพเช‚ JSON เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชคเซ‹ เช† เชคเชฎเชพเชฐเชพ เชฎเชพเชŸเซ‡เชจเซเช‚ เชธเชพเชงเชจ เช›เซ‡.

เช—เซเชฐเซ‡เชช เช…เชจเซ‡ เชธเซ‡เชก เชœเซ‡เชตเชพ เชฎเชพเชจเช• เชŸเซ‡เช•เซเชธเซเชŸ เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชŸเซ‚เชฒเซเชธ เชชเชฐ jq เชจเซ‹ เชฎเซเช–เซเชฏ เชซเชพเชฏเชฆเซ‹ เช เช›เซ‡ เช•เซ‡ เชคเซ‡ JSON เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐเชจเซ‡ เชธเชฎเชœเซ‡ เช›เซ‡, เชœเซ‡เชจเชพเชฅเซ€ เชคเชฎเซ‡ เชเช• เชœ เชเช•เซเชธเชชเซเชฐเซ‡เชถเชจเชฎเชพเช‚ เชœเชŸเชฟเชฒ เช•เซเชตเซ‡เชฐเซ€เช เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเซ‡ เช† JSON เชซเชพเช‡เชฒเชฎเชพเช‚ เช•เชจเซเชŸเซ‡เชจเชฐ เชจเชพเชฎเซ‹ เชถเซ‹เชงเชตเชพเชจเซ‹ เชชเซเชฐเชฏเชพเชธ เช•เชฐเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹:

{
  "apiVersion": "v1",
  "kind": "Pod",
  "metadata": {
    "labels": {
      "app": "myapp"
    },
    "name": "myapp",
    "namespace": "project1"
  },
  "spec": {
    "containers": [
      {
        "command": [
          "sleep",
          "3000"
        ],
        "image": "busybox",
        "imagePullPolicy": "IfNotPresent",
        "name": "busybox"
      },
      {
        "name": "nginx",
        "image": "nginx",
        "resources": {},
        "imagePullPolicy": "IfNotPresent"
      }
    ],
    "restartPolicy": "Never"
  }
}

เชธเซเชŸเซเชฐเชฟเช‚เช— เชจเชพเชฎ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡ grep เชšเชฒเชพเชตเซ‹:

$ grep name k8s-pod.json
        "name": "myapp",
        "namespace": "project1"
                "name": "busybox"
                "name": "nginx",

grep เช เชคเชฎเชพเชฎ เชฒเซ€เชŸเซ€เช“ เชชเชฐเชค เช•เชฐเซ€ เชœเซ‡เชฎเชพเช‚ เชจเชพเชฎ เชถเชฌเซเชฆ เช›เซ‡. เชคเชฎเซ‡ เชคเซ‡เชจเซ‡ เชชเซเชฐเชคเชฟเชฌเช‚เชงเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ grep เชฎเชพเช‚ เชฅเซ‹เชกเชพ เชตเชงเซ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เช‰เชฎเซ‡เชฐเซ€ เชถเช•เซ‹ เช›เซ‹, เช…เชจเซ‡ เช•เซ‡เชŸเชฒเชพเช• เชจเชฟเชฏเชฎเชฟเชค เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟ เชฎเซ‡เชจเซ€เชชเซเชฏเซเชฒเซ‡เชถเชจ เชธเชพเชฅเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐ เชจเชพเชฎเซ‹ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹.

jq เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเชฎเชพเชจ เชชเชฐเชฟเชฃเชพเชฎ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡, เชซเช•เซเชค เชฒเช–เซ‹:

$ jq '.spec.containers[].name' k8s-pod.json
"busybox"
"nginx"

เช† เช†เชฆเซ‡เชถ เชคเชฎเชจเซ‡ เชฌเช‚เชจเซ‡ เช•เชจเซเชŸเซ‡เชจเชฐเชจเชพ เชจเชพเชฎ เช†เชชเชถเซ‡. เชœเซ‹ เชคเชฎเซ‡ เชฎเชพเชคเซเชฐ เชฌเซ€เชœเชพ เช•เชจเซเชŸเซ‡เชจเชฐเชจเซเช‚ เชจเชพเชฎ เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเชพเช‚ เช›เซ‹, เชคเซ‹ เช…เชญเชฟเชตเซเชฏเช•เซเชคเชฟเชฎเชพเช‚ เชเชฐเซ‡ เช˜เชŸเช•เชจเซ€ เช…เชจเซเช•เซเชฐเชฎเชฃเชฟเช•เชพ เช‰เชฎเซ‡เชฐเซ‹:

$ jq '.spec.containers[1].name' k8s-pod.json
"nginx"

jq เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เชตเชฟเชถเซ‡ เชœเชพเชฃเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชซเชพเช‡เชฒ เชซเซ‹เชฐเซเชฎเซ‡เชŸ เชธเชนเซ‡เชœ เชฌเชฆเชฒเชพเชฏ เชคเซ‹ เชชเชฃ เชคเซ‡ เชธเชฎเชพเชจ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เช†เชชเซ‡ เช›เซ‡. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ grep เช…เชจเซ‡ sed เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช•เชพเชฎ เช•เชฐเซ€ เชถเช•เชถเซ‡ เชจเชนเซ€เช‚.

jq เชฎเชพเช‚ เช˜เชฃเชพ เช•เชพเชฐเซเชฏเซ‹ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฌเซ€เชœเชพ เชฒเซ‡เช–เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชตเชงเซ เชฎเชพเชนเชฟเชคเซ€ เชฎเชพเชŸเซ‡ เชธเช‚เชชเชฐเซเช• เช•เชฐเซ‹ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ เชชเซƒเชทเซเช  jq เช…เชฅเชตเชพ to tldr.

5. fd เชตเชฟ เชถเซ‹เชงเซ‹

fd เชซเชพเช‡เชจเซเชก เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€เชจเซ‹ เชเช• เชธเชฐเชณ เชตเชฟเช•เชฒเซเชช เช›เซ‡. Fd เช เชคเซ‡เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชฌเชฆเชฒเชตเชพเชจเซ‹ เชนเซ‡เชคเซ เชจเชฅเซ€: เชคเซ‡เชฎเชพเช‚ เชซเชพเช‡เชฒเซ‹ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชจเชพ เชธเชพเชฎเชพเชจเซเชฏ เช…เชญเชฟเช—เชฎเชจเซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ€เชจเซ‡, เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ‡เชฒเซ€ เชธเซŒเชฅเซ€ เชธเชพเชฎเชพเชจเซเชฏ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เช›เซ‡.

เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซเชฏเชพเชฐเซ‡ Git เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€ เชกเชพเชฏเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เชซเชพเชˆเชฒเซ‹ เชถเซ‹เชงเซ€ เชฐเชนเซเชฏเชพ เชนเซ‹เชฏ, เชคเซเชฏเชพเชฐเซ‡ fd เช†เชชเชฎเซ‡เชณเซ‡ .git เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชธเชนเชฟเชค เช›เซเชชเชพเชฏเซ‡เชฒเซ€ เชซเชพเชˆเชฒเซ‹ เช…เชจเซ‡ เชธเชฌเชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชเชจเซ‡ เชฌเชพเช•เชพเชค เชฐเชพเช–เซ‡ เช›เซ‡ เช…เชจเซ‡ .gitignore เชซเชพเชˆเชฒเชฎเชพเช‚เชฅเซ€ เชตเชพเชˆเชฒเซเชกเช•เชพเชฐเซเชกเซเชธเชจเซ‡ เชชเชฃ เช…เชตเช—เชฃเซ‡ เช›เซ‡. เชเช•เช‚เชฆเชฐเซ‡, เชคเซ‡ เชชเซเชฐเชฅเชฎ เชชเซเชฐเชฏเชพเชธเชฎเชพเช‚ เชตเชงเซ เชธเซเชธเช‚เช—เชค เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชชเชฐเชค เช•เชฐเซ€เชจเซ‡ เชถเซ‹เชงเชจเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเซ‡ เช›เซ‡.

เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡, fd เชตเชฐเซเชคเชฎเชพเชจ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เชฐเช‚เช— เช†เช‰เชŸเชชเซเชŸ เชธเชพเชฅเซ‡ เช•เซ‡เชธ-เชธเช‚เชตเซ‡เชฆเชจเชถเซ€เชฒ เชถเซ‹เชง เช•เชฐเซ‡ เช›เซ‡. Find เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเชฎเชพเชจ เชถเซ‹เชง เชฎเชพเชŸเซ‡ เช†เชฆเซ‡เชถ เชตเชพเช•เซเชฏ เชชเชฐ เชตเชงเชพเชฐเชพเชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชฆเชพเช–เชฒ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชตเชฐเซเชคเชฎเชพเชจ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚ เชคเชฎเชพเชฎ .md (เช…เชฅเชตเชพ .MD) เชซเชพเชˆเชฒเซ‹ เชถเซ‹เชงเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเซ‡ เช†เชจเชพ เชœเซ‡เชตเซ‹ เชถเซ‹เชง เช†เชฆเซ‡เชถ เชฒเช–เชถเซ‹:

$ find . -iname "*.md"

เชเชซเชกเซ€ เชฎเชพเชŸเซ‡ เชคเซ‡ เช†เชจเชพ เชœเซ‡เชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡:

$ fd .md

เชชเชฐเช‚เชคเซ เช•เซ‡เชŸเชฒเชพเช• เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚, fd เชจเซ‡ เชตเชงเชพเชฐเชพเชจเชพ เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ€ เชชเชฃ เชœเชฐเซ‚เชฐ เชชเชกเซ‡ เช›เซ‡: เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชœเซ‹ เชคเชฎเซ‡ เช›เซเชชเชพเชฏเซ‡เชฒเซ€ เชซเชพเช‡เชฒเซ‹ เช…เชจเซ‡ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช“ เชถเชพเชฎเซ‡เชฒ เช•เชฐเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เชคเชฎเชพเชฐเซ‡ -H เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เช†เชตเชถเซเชฏเช• เช›เซ‡, เชœเซ‹ เช•เซ‡ เชถเซ‹เชง เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เช† เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชœเชฐเซ‚เชฐเซ€ เชจเชฅเซ€.

fd เช˜เชฃเชพ Linux เชตเชฟเชคเชฐเชฃเซ‹ เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง เช›เซ‡. Fedora เชฎเชพเช‚ เชคเซ‡ เช† เชฐเซ€เชคเซ‡ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡:

$ sudo dnf install fd-find

เชคเชฎเชพเชฐเซ‡ เช•เช‚เชˆเชชเชฃ เช›เซ‹เชกเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€

เชถเซเช‚ เชคเชฎเซ‡ เชจเชตเชพ Linux เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชŸเซ‚เชฒเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ‹? เช…เชฅเชตเชพ เชคเชฎเซ‡ เชซเช•เซเชค เชœเซ‚เชจเชพ เชฒเซ‹เช•เซ‹ เชชเชฐ เชœ เชฌเซ‡เชธเซ‹ เช›เซ‹? เชชเชฐเช‚เชคเซ เชฎเซ‹เชŸเซ‡ เชญเชพเช—เซ‡ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช•เซ‹เชฎเซเชฌเซ‹ เช›เซ‡, เชฌเชฐเชพเชฌเชฐ? เช•เซƒเชชเชพ เช•เชฐเซ€เชจเซ‡ เชŸเชฟเชชเซเชชเชฃเซ€เช“เชฎเชพเช‚ เชคเชฎเชพเชฐเซ‹ เช…เชจเซเชญเชต เชถเซ‡เชฐ เช•เชฐเซ‹.

เชœเชพเชนเซ‡เชฐเชพเชคเชจเชพ เช…เชงเชฟเช•เชพเชฐเซ‹ เชชเชฐ

เช…เชฎเชพเชฐเชพ เช˜เชฃเชพ เช—เซเชฐเชพเชนเช•เซ‹เช เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชฒเชพเชญเซ‹เชจเซ€ เชชเซเชฐเชถเช‚เชธเชพ เช•เชฐเซ€ เช›เซ‡ เชเชชเชฟเช• เชธเชฐเซเชตเชฐเซเชธ!
เช† AMD EPYC เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซเชธ เชธเชพเชฅเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชธเชฐเซเชตเชฐเซเชธ, CPU เช•เซ‹เชฐ เช†เชตเชฐเซเชคเชจ 3.4 GHz เชธเซเชงเซ€. เชฎเชนเชคเซเชคเชฎ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ เชคเชฎเชจเซ‡ เชฌเซเชฒเชพเชธเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเชถเซ‡ - 128 CPU เช•เซ‹เชฐเซ‹, 512 GB RAM, 4000 GB NVMe. เช“เชฐเซเชกเชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช‰เชคเชพเชตเชณ เช•เชฐเซ‹!

เชœเซ‚เชจเชพ Linux เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจ เชŸเซ‚เชฒเซเชธเชจเชพ 5 เช†เชงเซเชจเชฟเช• เชตเชฟเช•เชฒเซเชชเซ‹

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹