рдкреБрд░рд╛рдиреЗ рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕ рдХреЗ 5 рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд▓реНрдк

рдкреБрд░рд╛рдиреЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЕрдзрд┐рдХ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЕрдзрд┐рдХ рдЖрдирдВрдж рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рднреА рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдкреБрд░рд╛рдиреЗ рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕ рдХреЗ 5 рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд▓реНрдк

рд▓рд┐рдирдХреНрд╕/рдпреВрдирд┐рдХреНрд╕ рдкрд░ рдЕрдкрдиреЗ рджреИрдирд┐рдХ рдХрд╛рд░реНрдп рдореЗрдВ, рд╣рдо рдХрдИ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбрд┐рд╕реНрдХ рдЙрдкрдпреЛрдЧ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХреЗ рд▓рд┐рдПред рдЗрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдЙрдкрдХрд░рдг рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯреЙрдк 1984 рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдЖ, рдФрд░ рдбреВ рдХреА рдкрд╣рд▓реА рд░рд┐рд▓реАрдЬрд╝ 1971 рдореЗрдВ рд╣реБрдИред

рдЗрди рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЖрдзреБрдирд┐рдХреАрдХрд░рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░ рд╡реЗ рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рдирд╣реАрдВ рдЧрдП рд╣реИрдВ, рдЙрдирдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рдкреНрд░рдпреЛрдЬреНрдпрддрд╛ рдореЗрдВ рднреА рдЬреНрдпрд╛рджрд╛ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИред

рдпреЗ рдмреЗрд╣рддрд░реАрди рдЙрдкрдХрд░рдг рд╣реИрдВ рдЬрд┐рдирдХреА рдХрдИ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХреЛрдВ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдореБрджрд╛рдп рдиреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЙрдкрдХрд░рдг рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рд╣реИрдВ рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдн рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдореЗрдВ рдмрд╕ рдПрдХ рдЖрдзреБрдирд┐рдХ, рд╕реБрдВрджрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ, рдЬрдмрдХрд┐ рдЕрдиреНрдп рдореЗрдВ рдкреНрд░рдпреЛрдЬреНрдпрддрд╛ рдореЗрдВ рдХрд╛рдлреА рд╕реБрдзрд╛рд░ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдЕрдиреБрд╡рд╛рдж рдореЗрдВ, рд╣рдо рдорд╛рдирдХ рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдХреЗ рдкрд╛рдВрдЪ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред

1. рдПрдирд╕реАрдбреАрдпреВ рдмрдирд╛рдо рдбреАрдпреВ

NCurses рдбрд┐рд╕реНрдХ рдЙрдкрдпреЛрдЧ (рдПрдирд╕реАрдбреАрдпреВ) рдбреБ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рдеред рдПрдирд╕реАрдбреАрдпреВ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреА рдЕрдзрд┐рдХрд╛рдВрд╢ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рд▓реЗрддреА рд╣реИред

рдПрдирд╕реАрдбреАрдпреВ рдбрд┐рд╕реНрдХ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

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

рдЖрдк рддреАрд░ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрдВрдЯрд░ рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдПрдирд╕реАрдбреАрдпреВ рдЪрдпрдирд┐рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧрд╛:

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рд▓реЗ рд░рд╣реА рд╣реИрдВред рдЖрдк рдмрд╛рдИрдВ рддреАрд░ рдХреБрдВрдЬреА рджрдмрд╛рдХрд░ рдкрд┐рдЫрд▓реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдПрдирд╕реАрдбреАрдпреВ рд╕реЗ рдЖрдк рдбреА рдХреБрдВрдЬреА рджрдмрд╛рдХрд░ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╣рдЯрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреБрд╖реНрдЯрд┐ рдорд╛рдВрдЧрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдореВрд▓реНрдпрд╡рд╛рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрдХрд╕реНрдорд┐рдХ рд╣рд╛рдирд┐ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рд▓реАрдЯ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд░реАрдб-рдУрдирд▓реА рдПрдХреНрд╕реЗрд╕ рдореЛрдб рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП -r рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: ncdu -rред

рдПрдирд╕реАрдбреАрдпреВ рдХрдИ рд▓рд┐рдирдХреНрд╕ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдФрд░ рд╡рд┐рддрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╕реАрдзреЗ рдлреЗрдбреЛрд░рд╛ рдкрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрдирдПрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

$ sudo dnf install ncdu

2. рдПрдЪрдЯреЙрдк рдмрдирд╛рдо рдЯреЙрдк

рд╣реЛрдЯреЛрдк рд╢реАрд░реНрд╖ рдХреЗ рд╕рдорд╛рди рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдкреНрд░реЛрд╕реЗрд╕ рд╡реНрдпреВрдЕрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, htop рд╢реАрд░реНрд╖ рдХреЗ рд╕рдорд╛рди рд╣реА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рджреГрд╢реНрдп рдФрд░ рд░рдВрдЧреАрди рддрд░реАрдХреЗ рд╕реЗред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ htop рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдкреБрд░рд╛рдиреЗ рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕ рдХреЗ 5 рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд▓реНрдк
рд╢реАрд░реНрд╖ рдХреЗ рд╡рд┐рдкрд░реАрдд:

рдкреБрд░рд╛рдиреЗ рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕ рдХреЗ 5 рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд▓реНрдк
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, htop рд╢реАрд░реНрд╖ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрд╡рд▓реЛрдХрди рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдиреАрдЪреЗ рдлрд╝рдВрдХреНрд╢рди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрдирд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдХреНрд░реАрди рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП F2 рджрдмрд╛рдХрд░ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ, рдЖрдк рд░рдВрдЧ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЬреЛрдбрд╝ рдпрд╛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдУрд╡рд░рд╡реНрдпреВ рдкреИрдирд▓ рдбрд┐рд╕реНрдкреНрд▓реЗ рд╡рд┐рдХрд▓реНрдк рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред

рдпрджреНрдпрдкрд┐ рдЖрдк рдЯреЙрдк рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рдХреЗ рд╕рдорд╛рди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, htop рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдФрд░ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред

3. рдЯреАрдПрд▓рдбреАрдЖрд░ рдмрдирд╛рдо рдЖрджрдореА

рдЯреАрдПрд▓рдбреАрдЖрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд░рд▓реАрдХреГрдд рд╕рд╣рд╛рдпрддрд╛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреНрдпрд╛рджрд╛рддрд░ рдЙрджрд╛рд╣рд░рдгред рдЗрд╕реЗ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЯреАрдПрд▓рдбреАрдЖрд░ рдкреЗрдЬ рдкреНрд░реЛрдЬреЗрдХреНрдЯ.

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдмрд╛рдд рд╣реИ рдХрд┐ рдЯреАрдПрд▓рдбреАрдЖрд░ рдордиреБрд╖реНрдп рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЕрднреА рднреА рд╡рд┐рд╣рд┐рдд рдФрд░ рд╕рдмрд╕реЗ рд╡реНрдпрд╛рдкрдХ рдореИрди рдкреЗрдЬ рдЖрдЙрдЯрдкреБрдЯ рдЯреВрд▓ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдордиреБрд╖реНрдп рдирд┐рд░рд░реНрдердХ рд╣реИред рдЬрдм рдЖрдкрдХреЛ рдХрд┐рд╕реА рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк рдХреЗрд╡рд▓ рдЗрд╕рдХреЗ рдореВрд▓ рдЙрдкрдпреЛрдЧреЛрдВ рдХреЛ рдпрд╛рдж рд░рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд░реНрд▓ рдХрдорд╛рдВрдб рдХреЗ рдореИрди рдкреЗрдЬ рдореЗрдВ рд▓рдЧрднрдЧ 3000 рд▓рд╛рдЗрдиреЗрдВ рд╣реИрдВред рдХрд░реНрд▓ рдХреЗ рд▓рд┐рдП рдЯреАрдПрд▓рдбреАрдЖрд░ рдкреЗрдЬ 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 рдХреЛ рдкрд╛рдпрдерди рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдк рдЗрд╕реЗ dnf рдореИрдиреЗрдЬрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рдЯреВрд▓ рдХреЛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕реЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдлреЗрдбреЛрд░рд╛ рдХрд╛ рдкрд╛рдпрдерди рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрди рдкреЗрдЬреЛрдВ рдХреЛ рдСрдлрд╝рд▓рд╛рдЗрди рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдХреИрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

4.jq рдмрдирд╛рдо sed/grep

jq рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рд▓рд┐рдП рдПрдХ JSON рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИред рдпрд╣ sed рдпрд╛ grep рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ JSON рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдпрд╛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рд╣реИрдВ рдЬреЛ рд░реЛрдЬрдорд░реНрд░рд╛ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ JSON рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЯреВрд▓ рдЖрдкрдХреЗ рд▓рд┐рдП рд╣реИред

grep рдФрд░ sed рдЬреИрд╕реЗ рдорд╛рдирдХ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЯреВрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ 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 рдпрд╛ tldr.

5. рдПрдлрдбреА рдмрдирд╛рдо рдлрд╛рдЗрдВрдб

fd рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╡рд┐рдХрд▓реНрдк рд╣реИред рдПрдлрдбреА рдХрд╛ рдЗрд░рд╛рджрд╛ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрджрд▓рдиреЗ рдХрд╛ рдирд╣реАрдВ рд╣реИ: рдЗрд╕рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рдЖрдо рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реНрдерд╛рдкрд┐рдд рд╣реИрдВ, рдЬреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп, fd рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ .git рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рд╣рд┐рдд рдЫрд┐рдкреА рд╣реБрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рджреЗрддрд╛ рд╣реИ, рдФрд░ .gitignore рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЛ рднреА рдЕрдирджреЗрдЦрд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдпрд╣ рдкрд╣рд▓реЗ рдкреНрд░рдпрд╛рд╕ рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдХрд░ рдЦреЛрдЬреЛрдВ рдХреЛ рдЧрддрд┐ рджреЗрддрд╛ рд╣реИред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, fd рд░рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЗрд╕-рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред рдЦреЛрдЬ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рди рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕рднреА .md (рдпрд╛ .MD) рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ рддрд░рд╣ рдПрдХ рдЦреЛрдЬ рдХрдорд╛рдВрдб рд▓рд┐рдЦреЗрдВрдЧреЗ:

$ find . -iname "*.md"

рдПрдлрдбреА рдХреЗ рд▓рд┐рдП рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

$ fd .md

рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдлрдбреА рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЫрд┐рдкреА рд╣реБрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ -H рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЦреЛрдЬ рдХрд░рддреЗ рд╕рдордп рдЖрдорддреМрд░ рдкрд░ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдПрдлрдбреА рдХрдИ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИред рдлреЗрдбреЛрд░рд╛ рдореЗрдВ рдЗрд╕реЗ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

$ sudo dnf install fd-find

рдЖрдкрдХреЛ рдХреБрдЫ рднреА рдЫреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рд╣реИ

рдХреНрдпрд╛ рдЖрдк рдирдП Linux рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрд╛ рдХреНрдпрд╛ рдЖрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреБрд░рд╛рдиреЗ рдкрд░ рд╣реА рдмреИрдарддреЗ рд╣реИрдВ? рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдХреЙрдореНрдмреЛ рд╣реИ, рд╣реИ рдирд╛? рдХреГрдкрдпрд╛ рдЕрдкрдирд╛ рдЕрдиреБрднрд╡ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

рд╡рд┐рдЬреНрдЮрд╛рдкрди рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдкрд░

рд╣рдорд╛рд░реЗ рдХрдИ рдЧреНрд░рд╛рд╣рдХ рдкрд╣рд▓реЗ рд╣реА рд▓рд╛рднреЛрдВ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рдорд╣рд╛рдХрд╛рд╡реНрдп рд╕рд░реНрд╡рд░!
рдпрд╣ AMD EPYC рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рд╕рд░реНрд╡рд░, рд╕реАрдкреАрдпреВ рдХреЛрд░ рдЖрд╡реГрддреНрддрд┐ 3.4 рдЧреАрдЧрд╛рд╣рд░реНрдЯреНрдЬ рддрдХред рдЕрдзрд┐рдХрддрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЖрдкрдХреЛ рдзрдорд╛рдХрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ - 128 рд╕реАрдкреАрдпреВ рдХреЛрд░, 512 рдЬреАрдмреА рд░реИрдо, 4000 рдЬреАрдмреА рдПрдирд╡реАрдПрдордИред рдСрд░реНрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд▓реНрджреА рдХрд░реЗрдВ!

рдкреБрд░рд╛рдиреЗ рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓реНрд╕ рдХреЗ 5 рдЖрдзреБрдирд┐рдХ рд╡рд┐рдХрд▓реНрдк

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ