рдкрд░реАрдХреНрд╖рдХрд╣рд░реВ рд░ рдердкрдХрд╛ рд▓рд╛рдЧрд┐ рдЖрдзрд╛рд░рднреВрдд рд▓рд┐рдирдХреНрд╕ рдЖрджреЗрд╢рд╣рд░реВ

Foreword

рдирдорд╕реНрддреЗ рд╕рдмреИ! рдореЗрд░реЛ рдирд╛рдо рд╕рд╛рд╢рд╛ рд╣реЛ, рд░ рдо рдЫ рд╡рд░реНрд╖ рднрдиреНрджрд╛ рдмрдвреАрдХреЛ рд▓рд╛рдЧрд┐ рдмреНрдпрд╛рдХрдПрдиреНрдб (Linux рд╕реЗрд╡рд╛рд╣рд░реВ рд░ API) рдХреЛ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрджреИрдЫреБред рд▓реЗрдЦрдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рдЪрд╛рд░ рдорд▓рд╛рдИ рдПрдХ рдкрд░реАрдХреНрд╖рдХ рд╕рд╛рдереАрдХреЛ рдЕрд░реНрдХреЛ рдЕрдиреБрд░реЛрдз рдкрдЫрд┐ рдЖрдПрдХреЛ рдерд┐рдпреЛ рдХрд┐ рдЙрд╕рд▓реЗ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛ рдЕрдШрд┐ рд▓рд┐рдирдХреНрд╕ рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗ рдкрдвреНрди рд╕рдХреНрдЫ рднрдиреЗрд░ рдмрддрд╛рдЙрдиред рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, QA рдЗрдиреНрдЬрд┐рдирд┐рдпрд░ рдкрджрдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдореНрдореЗрджрд╡рд╛рд░рд▓рд╛рдИ рдЖрдзрд╛рд░рднреВрдд рдЖрджреЗрд╢рд╣рд░реВ рдЬрд╛рдиреНрди рдЖрд╡рд╢реНрдпрдХ рдЫ (рдпрджрд┐, рдЕрд╡рд╢реНрдп рдкрдирд┐, рддрд┐рдиреАрд╣рд░реВ рд▓рд┐рдирдХреНрд╕рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдЫрдиреН), рддрд░ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рддрдпрд╛рд░реА рдЧрд░реНрджрд╛ рдХреБрди рдХрдорд╛рдгреНрдбрд╣рд░реВ рдкрдвреНрди рд▓рд╛рдпрдХ рдЫрдиреН рднрдиреЗрд░ рддрдкрд╛рдЗрдБ рдХрд╕рд░реА рдерд╛рд╣рд╛ рдкрд╛рдЙрдиреБрд╣реБрдиреНрдЫ рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ рдереЛрд░реИ рдЫ рднрдиреЗред рд╡рд╛ рд▓рд┐рдирдХреНрд╕ рд╕рдВрдЧ рдХреБрдиреИ рдЕрдиреБрднрд╡ рдЫреИрди?

рдпрд╕реИрд▓реЗ, рдпрджреНрдпрдкрд┐ рдпреЛ рдкрд╣рд┐рд▓реЗ рдиреИ рдзреЗрд░реИ рдкрдЯрдХ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ, рдореИрд▓реЗ рдЕрдЭреИ рдкрдирд┐ рдЕрд░реНрдХреЛ рд▓реЗрдЦ рд▓реЗрдЦреНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВ "рд╢реБрд░реБрд╡рд╛рддрдХрд╛ рд▓рд╛рдЧрд┐ рд▓рд┐рдирдХреНрд╕" рд░ рдпрд╣рд╛рдБ рдЖрдзрд╛рд░рднреВрдд рдЖрджреЗрд╢рд╣рд░реВ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЬреБрди рддрдкрд╛рдИрдВрд▓реЗ рд▓рд┐рдирдХреНрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╡рд┐рднрд╛рдЧ (рд╡рд╛ рдХрдореНрдкрдиреА) рдорд╛ рдХреБрдиреИ рдкрдирд┐ рдЕрдиреНрддрд░реНрд╡рд╛рд░реНрддрд╛ рдЕрдШрд┐ рдЬрд╛рдиреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдореИрд▓реЗ рдХреБрди рдХрдорд╛рдгреНрдбрд╣рд░реВ рд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рд░ рдХреБрди рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдкреНрд░рд╛рдпрдГ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд╕реЛрдЪреЗрдВ, рдореЗрд░рд╛ рд╕рд╣рдХрд░реНрдореАрд╣рд░реВрдмрд╛рдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдЩреНрдХрд▓рди рдЧрд░реЗрдВ, рд░ рд╕рдмреИрд▓рд╛рдИ рдПрдЙрдЯрд╛ рд▓реЗрдЦрдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реЗрдВред рд▓реЗрдЦрд▓рд╛рдИ 3 рднрд╛рдЧрд╣рд░реВрдорд╛ рд╡рд┐рднрд╛рдЬрди рдЧрд░рд┐рдПрдХреЛ рдЫ: рдкрд╣рд┐рд▓реЛ, рд▓рд┐рдирдХреНрд╕ рдЯрд░реНрдорд┐рдирд▓рдорд╛ I/O рдХреЛ рдЖрдзрд╛рд░рднреВрдд рдХреБрд░рд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА, рддреНрдпрд╕рдкрдЫрд┐ рд╕рдмреИрднрдиреНрджрд╛ рдЖрдзрд╛рд░рднреВрдд рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рдПрдХ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди, рд░ рддреЗрд╕реНрд░реЛ рднрд╛рдЧрд▓реЗ рд▓рд┐рдирдХреНрд╕рдорд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдХрд╕рд░реА рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рднрдиреЗрд░ рд╡рд░реНрдгрди рдЧрд░реНрджрдЫред

рдкреНрд░рддреНрдпреЗрдХ рдЖрджреЗрд╢рдорд╛ рдзреЗрд░реИ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН, рддреА рд╕рдмреИрд▓рд╛рдИ рдпрд╣рд╛рдБ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░рд┐рдиреЗ рдЫреИрдиред рддрдкрд╛рдИрдВ рд╕рдзреИрдВ ` рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫрдорд╛рдирд┐рд╕ <рдХрдорд╛рдгреНрдб>` рд╡рд╛ `<command> --help' рдЯреЛрд▓реАрдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рдЬрд╛рдиреНрдирдХреЛ рд▓рд╛рдЧрд┐ред

рдЙрджрд╛рд╣рд░рдг:

[user@testhost ~]$ mkdir --help
Usage: mkdir [OPTION]... DIRECTORY...
Create the DIRECTORY(ies), if they do not already exist.

Mandatory arguments to long options are mandatory for short options too.
  -m, --mode=MODE   set file mode (as in chmod), not a=rwx - umask
  -p, --parents     no error if existing, make parent directories as needed
  -v, --verbose     print a message for each created directory
  -Z                   set SELinux security context of each created directory
                         to the default type
      --context[=CTX]  like -Z, or if CTX is specified then set the SELinux
                         or SMACK security context to CTX
      --help     display this help and exit
      --version  output version information and exit

GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
For complete documentation, run: info coreutils 'mkdir invocation'

рдпрджрд┐ рдЖрджреЗрд╢ рдкреВрд░рд╛ рдЧрд░реНрди рдзреЗрд░реИ рд╕рдордп рд▓рд╛рдЧреНрдЫ рднрдиреЗ, рддрдкрд╛рдЗрдБ рдХрдиреНрд╕реЛрд▓рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реЗрд░ рдпрд╕рд▓рд╛рдИ рд╕рдорд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ Ctrl + C (рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рд╕рдВрдХреЗрдд рдкрдард╛рдЗрдиреНрдЫ рд╣рд╕реНрддрд╛рдХреНрд╖рд░).

рдЖрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдПрдХ рд╕рд╛рдиреЛ

рдЬрдм рд▓рд┐рдирдХреНрд╕рдорд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реБрд░реБ рд╣реБрдиреНрдЫ, рддреНрдпрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рд▓рд╛рдЧрд┐ 3 рдорд╛рдирдХ рдбрд╛рдЯрд╛ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рд╣реБрдиреНрдЫрдиреН: stdin, stdout ╨╕ stderrред рддрд┐рдиреАрд╣рд░реВ рдХреНрд░рдорд╢рдГ 0, 1 рд░ 2 рдЕрдВрдХрд┐рдд рдЫрдиреНред рддрд░ рдЕрдм рд╣рд╛рдореА рдЪрд╛рд╕реЛ рд░рд╛рдЦреНрдЫреМрдВ stdout рд░ рдереЛрд░реИ рд╣рджрд╕рдореНрдо, stderrред рдирд╛рдорд╣рд░реВрдмрд╛рдЯ рдпреЛ рдЕрдиреБрдорд╛рди рдЧрд░реНрди рд╕рдЬрд┐рд▓реЛ рдЫ stdout рдбрд╛рдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рд░ stderr - рддреНрд░реБрдЯрд┐ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиред рд▓рд┐рдирдХреНрд╕рдорд╛ рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдБрджрд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ stdout ╨╕ stderr рдХрдиреНрд╕реЛрд▓рдорд╛ рд╕рдмреИ рдЬрд╛рдирдХрд╛рд░реА рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдпрджреНрдпрдкрд┐, рдпрджрд┐ рдЖрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ рдареВрд▓реЛ рдЫ рднрдиреЗ, рдпрд╕рд▓рд╛рдИ рдлрд╛рдЗрд▓рдорд╛ рдкреБрди: рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЧрд░реНрди рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реБрди рд╕рдХреНрдЫред рдпреЛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рдпреЛ рдЬрд╕реНрддреИ:

[user@testhost ~]$ man signal > man_signal

рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рдлрд╛рдЗрд▓рдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрдЫреМрдВ man_signal, рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореА рджреЗрдЦреНрдиреЗрдЫреМрдВ рдХрд┐ рдпреЛ рдХреЗ рд╣реБрдиреНрдЫ рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рдХреЗрд╡рд▓ рдЖрджреЗрд╢ рдЪрд▓рд╛рдпреМрдВ рднрдиреЗ рдпреЛ рд╕рдорд╛рди рдЫрдорд╛рдиреНрдЫреЗ рд╕рдВрдХреЗрдд`.

рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдЕрдкрд░реЗрд╢рди `>`рдорд╛ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд stdoutред рддрдкрд╛рдИрдВ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ stdout рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛: `1>`ред рддреНрдпрд╕реИ рдЧрд░реА, рддрдкрд╛рдЗрдБ рдкреБрди: рдирд┐рд░реНрджреЗрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ stderr:`2>`ред рддрдкрд╛рдЗрдБ рдпреА рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рд░ рдпрд╕рд░реА рд╕рд╛рдорд╛рдиреНрдп рдЖрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ рд░ рддреНрд░реБрдЯрд┐ рд╕рдиреНрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ рдЕрд▓рдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

[user@testhost ~]$ man signal 1> man_signal 2> man_signal_error_log

рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рд░ stdoutрд░ stderr рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдПрдХ рдлрд╛рдЗрд▓ рдорд╛:

[user@testhost ~]$ man signal > man_signal 2>&1

рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдЕрдкрд░реЗрд╢рди `реи> рд░ рез`рдХреЛ рдЕрд░реНрде рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рд╣реБрдиреНрдЫ stderr рдирд┐рд░реНрджреЗрд╢рди рдЕрдиреБрд╕рд╛рд░ рдПрдЙрдЯреИ рдард╛рдЙрдБрдорд╛ stdout.

I/O рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрд░реНрдХреЛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг (рд╡рд╛ рдмрд░реБ, рдпреЛ рдЕрдиреНрддрд░рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЪрд╛рд░рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рд╣реЛ) рд╣реЛред рдкрд╛рдЗрдк (рд╡рд╛ рдХрдиреНрд╡реЗрдпрд░)ред рдкрд╛рдЗрдкрд▓рд╛рдЗрдирд╣рд░реВ рдкреНрд░рд╛рдпрдГ рдзреЗрд░реИ рдЖрджреЗрд╢рд╣рд░реВ рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ: stdout рдЖрджреЗрд╢рд╣рд░реВ рдкреБрди: рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЫрдиреН stdin рдЕрд░реНрдХреЛ, рд░ рдпрд╕реНрддреИ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдорд╛:

[user@testhost ~]$ ps aux | grep docker | tail -n 2
root     1045894  0.0  0.0   7512  3704 ?        Sl   16:04   0:00 docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/2fbfddaf91c1bb7b9a0a6f788f3505dd7266f1139ad381d5b51ec1f47e1e7b28 -address /var/run/docker/containerd/docker-containerd.sock -containerd-binary /usr/bin/docker-containerd -runtime-root /var/run/docker/runtime-runc
531      1048313  0.0  0.0 110520  2084 pts/2    S+   16:12   0:00 grep --color=auto docker

рдЖрдзрд╛рд░рднреВрдд рд▓рд┐рдирдХреНрд╕ рдЖрджреЗрд╢рд╣рд░реВ

PWD

рд╣рд╛рд▓рдХреЛ (рдХрд╛рд░реНрдпрд░рдд) рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

[user@testhost ~]$ pwd
/home/user

рдорд┐рддрд┐

рд╣рд╛рд▓рдХреЛ рдкреНрд░рдгрд╛рд▓реА рдорд┐рддрд┐ рд░ рд╕рдордп рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

[user@testhost ~]$ date
Mon Dec 16 13:37:07 UTC 2019
[user@testhost ~]$ date +%s
1576503430

w

рдпреЛ рдЖрджреЗрд╢рд▓реЗ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдХрд╕рд▓рд╛рдИ рд▓рдЧ рдЗрди рднрдПрдХреЛ рджреЗрдЦрд╛рдЙрдБрдЫред рдердк рд░реВрдкрдорд╛, рдЕрдкрдЯрд╛рдЗрдо рд░ LA (рд▓реЛрдб рдФрд╕рдд) рдкрдирд┐ рд╕реНрдХреНрд░рд┐рдирдорд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдиреНрдЫрдиреНред

[user@testhost ~]$ w
 05:47:17 up 377 days, 17:57,  1 user,  load average: 0,00, 0,01, 0,05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user     pts/0    32.175.94.241    05:47    2.00s  0.01s  0.00s w

ls

рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдХреЛ рд╕рд╛рдордЧреНрд░реА рдЫрд╛рдкреНрдиреБрд╣реЛрд╕реНред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдкрде рдкрд╛рд╕ рдЧрд░реНрдиреБрднрдПрди рднрдиреЗ, рд╣рд╛рд▓рдХреЛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдХрд╛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдиреЗрдЫрдиреНред

[user@testhost ~]$ pwd
/home/user
[user@testhost ~]$ ls
qqq
[user@testhost ~]$ ls /home/user
qqq
[user@testhost ~]$ ls /
bin  boot  cgroup  dev  etc  home  lib  lib64  local  lost+found  media  mnt  opt  proc  root  run  sbin  selinux  srv  swap  sys  tmp  usr  var

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛, рдо рдкреНрд░рд╛рдп: рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ -l (рд▓рд╛рдореЛ рд╕реВрдЪреАрдХрд░рдг рдврд╛рдБрдЪрд╛ - рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рдЬрд╛рдирдХрд╛рд░реАрдХреЛ рд╕рд╛рде рд╕реНрддрдореНрднрдорд╛ рдЖрдЙрдЯрдкреБрдЯ), -t (рдлрд╛рдЗрд▓/рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдкрд░рд┐рдорд╛рд░реНрдЬрди рд╕рдордп рдЕрдиреБрд╕рд╛рд░ рдХреНрд░рдордмрджреНрдз) рд░ -r (рдЙрд▓реНрдЯреЛ рдХреНрд░рдордмрджреНрдз - рд╕рдВрдЧ рд╕рдВрдпреЛрдЬрди рдорд╛ -t рд╕рдмреИрднрдиреНрджрд╛ рднрд░реНрдЦрд░рдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рддрд▓ рд╣реБрдиреЗрдЫрдиреН):

[user@testhost ~]$ ls -ltr /
total 4194416
drwxr-xr-x    2 root root       4096 Jan  6  2012 srv
drwxr-xr-x    2 root root       4096 Jan  6  2012 selinux
drwxr-xr-x    2 root root       4096 Jan  6  2012 mnt
drwxr-xr-x    2 root root       4096 Jan  6  2012 media
drwx------    2 root root      16384 Oct  1  2017 lost+found
drwxr-xr-x    2 root root       4096 Oct  1  2017 local
drwxr-xr-x   13 root root       4096 Oct  1  2017 usr
drwxr-xr-x   11 root root       4096 Apr 10  2018 cgroup
drwxr-xr-x    4 root root       4096 Apr 10  2018 run
-rw-------    1 root root 4294967296 Sep 10  2018 swap
dr-xr-xr-x   10 root root       4096 Dec 13  2018 lib
drwxr-xr-x    6 root root       4096 Mar  7  2019 opt
drwxr-xr-x   20 root root       4096 Mar 19  2019 var
dr-xr-xr-x   10 root root      12288 Apr  9  2019 lib64
dr-xr-xr-x    2 root root       4096 Apr  9  2019 bin
dr-xr-xr-x    4 root root       4096 Apr  9  2019 boot
dr-xr-xr-x    2 root root      12288 Apr  9  2019 sbin
dr-xr-xr-x 3229 root root          0 Jul  2 10:19 proc
drwxr-xr-x   34 root root       4096 Oct 28 13:27 home
drwxr-xr-x   93 root root       4096 Oct 30 16:00 etc
dr-xr-x---   11 root root       4096 Nov  1 13:02 root
dr-xr-xr-x   13 root root          0 Nov 13 20:28 sys
drwxr-xr-x   16 root root       2740 Nov 26 08:55 dev
drwxrwxrwt    3 root root       4096 Nov 26 08:57 tmp

рддреНрдпрд╣рд╛рдБ 2 рд╡рд┐рд╢реЗрд╖ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдирд╛рдорд╣рд░реВ рдЫрдиреН: "."рд░".."ред рдкрд╣рд┐рд▓реЛрдХреЛ рдЕрд░реНрде рд╣рд╛рд▓рдХреЛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд╣реЛ, рджреЛрд╕реНрд░реЛрдХреЛ рдЕрд░реНрде рдЕрднрд┐рднрд╛рд╡рдХ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд╣реЛред рддрд┐рдиреАрд╣рд░реВ рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рд╡рд┐рднрд┐рдиреНрди рдЯреЛрд▓реАрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реБрди рд╕рдХреНрдЫрдиреН ls:

[user@testhost home]$ pwd
/home
[user@testhost home]$ ls ..
bin  boot  cgroup  dev  etc  home  lib  lib64  local  lost+found  media  mnt  opt  proc  root  run  sbin  selinux  srv  swap  sys  tmp  usr  var
[user@testhost home]$ ls ../home/user/
qqq

рддреНрдпрд╣рд╛рдБ рд▓реБрдХреЗрдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдЙрдкрдпреЛрдЧреА рд╡рд┐рдХрд▓реНрдк рдкрдирд┐ рдЫ (" рдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдБрджреИ.") - -a:

[user@testhost ~]$ ls -a
.  ..  1  .bash_history  .bash_logout  .bash_profile  .bashrc  .lesshst  man_signal  man_signal_error_log  .mongorc.js  .ssh  temp  test  .viminfo

рддрдкрд╛рдИрдВ рдкрдирд┐ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ -h - рдорд╛рдирд╡ рдкрдвреНрди рдпреЛрдЧреНрдп рдврд╛рдБрдЪрд╛рдорд╛ рдЖрдЙрдЯрдкреБрдЯ (рдлрд╛рдЗрд▓ рдЖрдХрд╛рд░рд╣рд░реВрдорд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН):

[user@testhost ~]$ ls -ltrh
total 16K
-rwxrwx--x 1 user user   31 Nov 26 11:09 temp
-rw-rw-r-- 1 user user 6.0K Dec  3 16:02 1
drwxrwxr-x 2 user user 4.0K Dec  4 10:39 test

cd

рд╣рд╛рд▓рдХреЛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

[user@testhost ~]$ pwd
/home/user
[user@testhost ~]$ cd /home/
[user@testhost home]$ pwd
/home

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рддрд░реНрдХрдХреЛ рд░реВрдкрдорд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдирд╛рдо рдкрд╛рд╕ рдЧрд░реНрдиреБрднрдПрди рднрдиреЗ, рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреЗрдЫ ред рдЧреГрд╣, рддреНрдпреЛ рд╣реЛ, рдЧреГрд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ред рдпреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдкрдирд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реБрди рд╕рдХреНрдЫ `~` рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгрдХреЛ рдЕрд░реНрде рд╣реЛ ред рдЧреГрд╣:

[user@testhost etc]$ pwd
/etc
[user@testhost etc]$ cd ~/test/
[user@testhost test]$ pwd
/home/user/test

mkdir

рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реНред

[user@testhost ~]$ mkdir test
[user@testhost ~]$ ls -ltr
total 38184
-rw-rw-r-- 1 user user 39091284 Nov 22 14:14 qqq
drwxrwxr-x 2 user user     4096 Nov 26 10:29 test

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

[user@testhost ~]$ ls
qqq  test
[user@testhost ~]$ mkdir test2/subtest
mkdir: cannot create directory тАШtest2/subtestтАЩ: No such file or directory
[user@testhost ~]$ mkdir -p test2/subtest
[user@testhost ~]$ ls
qqq  test  test2
[user@testhost ~]$ ls test2/
subtest
[user@testhost ~]$ mkdir test2/subtest
mkdir: cannot create directory тАШtest2/subtestтАЩ: File exists
[user@testhost ~]$ mkdir -p test2/subtest
[user@testhost ~]$ ls test2/
subtest

rm

рдПрдЙрдЯрд╛ рдлрд╛рдЗрд▓ рдореЗрдЯрд╛рдЙрдиреБрд╣реЛрд╕реНред

[user@testhost ~]$ ls
qqq  test  test2
[user@testhost ~]$ rm qqq
[user@testhost ~]$ ls
test  test2

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

[user@testhost ~]$ ls
test  test2
[user@testhost ~]$ ls -ltr test2/
total 4
-rw-rw-r-- 1 user user    0 Nov 26 10:40 temp
drwxrwxr-x 2 user user 4096 Nov 26 10:40 temp_dir
[user@testhost ~]$ rm -rf test2
[user@testhost ~]$ ls
test

cp

рдлрд╛рдЗрд▓ рд╡рд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

[user@testhost ~]$ ls
temp  test
[user@testhost ~]$ cp temp temp_clone
[user@testhost ~]$ ls
temp  temp_clone  test

рдпреЛ рдЖрджреЗрд╢рдорд╛ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкрдирд┐ рдЫрдиреН -r ╨╕ -f, рддрд┐рдиреАрд╣рд░реВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд░ рдлреЛрд▓реНрдбрд░рд╣рд░реВрдХреЛ рдкрджрд╛рдиреБрдХреНрд░рдо рдЕрд░реНрдХреЛ рд╕реНрдерд╛рдирдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

mv

рдлрд╛рдЗрд▓ рд╡рд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд╕рд╛рд░реНрдиреБрд╣реЛрд╕реН рд╡рд╛ рдкреБрди: рдирд╛рдорд╛рдХрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реНред

[user@testhost ~]$ ls -ltr
total 4
drwxrwxr-x 2 user user 4096 Nov 26 10:29 test
-rw-rw-r-- 1 user user    0 Nov 26 10:45 temp
-rw-rw-r-- 1 user user    0 Nov 26 10:46 temp_clone
[user@testhost ~]$ ls test
[user@testhost ~]$ mv test test_renamed
[user@testhost ~]$ mv temp_clone test_renamed/
[user@testhost ~]$ ls
temp  test_renamed
[user@testhost ~]$ ls test_renamed/
temp_clone

рдмрд┐рд░рд╛рд▓реЛ

рдлрд╛рдЗрд▓ (рд╡рд╛ рдлрд╛рдЗрд▓рд╣рд░реВ) рдХреЛ рд╕рд╛рдордЧреНрд░реА рдЫрд╛рдкреНрдиреБрд╣реЛрд╕реНред

[user@testhost ~]$ cat temp
Content of a file.
Lalalala...

рдпреЛ рдЖрджреЗрд╢рд╣рд░реВрдорд╛ рдзреНрдпрд╛рди рджрд┐рди рд▓рд╛рдпрдХ рдкрдирд┐ рдЫ рд╣реЗрдб (рдЖрдЙрдЯрдкреБрдЯ n рдлрд╛рдЗрд▓рдХреЛ рдкрд╣рд┐рд▓реЛ рд░реЗрдЦрд╛ рд╡рд╛ рдмрд╛рдЗрдЯрд╣рд░реВ) рд░ tail (рдкрдЫрд┐ рдЙрдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк)ред

tail

рдирд┐рдХрд╛рд▓реНрдиреБрд╣реЛрд╕реН n рдлрд╛рдЗрд▓рдХреЛ рдЕрдиреНрддрд┐рдо рд▓рд╛рдЗрдирд╣рд░реВ рд╡рд╛ рдмрд╛рдЗрдЯрд╣рд░реВред

[user@testhost ~]$ tail -1 temp
Lalalala...

рд╡рд┐рдХрд▓реНрдк рдзреЗрд░реИ рдЙрдкрдпреЛрдЧреА рдЫ -f - рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордпрдорд╛ рдлрд╛рдЗрд▓рдорд╛ рдирдпрд╛рдБ рдбрд╛рдЯрд╛ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдереЛрд░реИ

рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдкрд╛рда рдлрд╛рдЗрд▓ рдзреЗрд░реИ рдареВрд▓реЛ рдЫ рд░ рдпреЛ рдЖрджреЗрд╢ рд╕рдВрдЧ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫ рдмрд┐рд░рд╛рд▓реЛред рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЦреЛрд▓реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдереЛрд░реИ: рдлрд╛рдЗрд▓ рднрд╛рдЧрд╣рд░реВрдорд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реБрдиреЗрдЫ; рдпреА рднрд╛рдЧрд╣рд░реВ рдорд╛рд░реНрдлрдд рдиреЗрднрд┐рдЧреЗрд╕рди, рдЦреЛрдЬ рд░ рдЕрдиреНрдп рд╕рд░рд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЙрдкрд▓рдмреНрдз рдЫрдиреНред

[user@testhost ~]$ less temp

рдпреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдкрдирд┐ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реБрди рд╕рдХреНрдЫ рдереЛрд░реИ рдХрдиреНрд╡реЗрдпрд░ рд╕рдВрдЧ (рдкрд╛рдЗрдк):

[user@testhost ~]$ grep "ERROR" /tmp/some.log | less

ps

рд╕реВрдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВред

[user@testhost ~]$ ps
    PID TTY          TIME CMD
 761020 pts/2    00:00:00 bash
 809720 pts/2    00:00:00 ps

рдо рдЖрдлреИрдВ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ BSD рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫреБ "рдЕрдХреНрд╕" - рдкреНрд░рдгрд╛рд▓реАрдорд╛ рд╕рдмреИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдпрд╣рд╛рдБ рдзреЗрд░реИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рд╣реБрди рд╕рдХреНрдЫ, рдореИрд▓реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рддрд┐рдиреАрд╣рд░реВрдордзреНрдпреЗ рдкрд╣рд┐рд▓реЛ 5 рдорд╛рддреНрд░ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реЗрдВ (рдкрд╛рдЗрдк) рд░ рдЯреЛрд▓реА рд╣реЗрдб):

[user@testhost ~]$ ps aux | head -5
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root           1  0.0  0.0  19692  2600 ?        Ss   Jul02   0:10 /sbin/init
root           2  0.0  0.0      0     0 ?        S    Jul02   0:03 [kthreadd]
root           4  0.0  0.0      0     0 ?        I<   Jul02   0:00 [kworker/0:0H]
root           6  0.0  0.0      0     0 ?        I<   Jul02   0:00 [mm_percpu_wq]

рдзреЗрд░реИрд▓реЗ BSD рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреН "axjf", рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░реВрдЦ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ (рдпрд╣рд╛рдБ рдореИрд▓реЗ рдкреНрд░рджрд░реНрд╢рдирдХреЛ рд▓рд╛рдЧрд┐ рдЖрдЙрдЯрдкреБрдЯрдХреЛ рдЕрдВрд╢ рд╣рдЯрд╛рдПрдБ):

[user@testhost ~]$ ps axjf
   PPID     PID    PGID     SID TTY        TPGID STAT   UID   TIME COMMAND
      0       2       0       0 ?             -1 S        0   0:03 [kthreadd]
      2       4       0       0 ?             -1 I<       0   0:00  _ [kworker/0:0H]
      2       6       0       0 ?             -1 I<       0   0:00  _ [mm_percpu_wq]
      2       7       0       0 ?             -1 S        0   4:08  _ [ksoftirqd/0]
...
...
...
      1    4293    4293    4293 tty6        4293 Ss+      0   0:00 /sbin/mingetty /dev/tty6
      1  532967  532964  532964 ?             -1 Sl     495   0:00 /opt/td-agent/embedded/bin/ruby /usr/sbin/td-agent --log /var/log/td-agent/td-agent.log --use-v1-config --group td-agent --daemon /var/run/td-agent/td-agent.pid
 532967  532970  532964  532964 ?             -1 Sl     495 803:06  _ /opt/td-agent/embedded/bin/ruby /usr/sbin/td-agent --log /var/log/td-agent/td-agent.log --use-v1-config --group td-agent --daemon /var/run/td-agent/td-agent.pid
      1  537162  533357  532322 ?             -1 Sl       0 5067:43 /usr/bin/dockerd --default-ulimit nofile=262144:262144 --dns=172.17.0.1
 537162  537177  537177  537177 ?             -1 Ssl      0 4649:28  _ docker-containerd --config /var/run/docker/containerd/containerd.toml
 537177  537579  537579  537177 ?             -1 Sl       0   4:48  |   _ docker-containerd-shim -namespace moby -workdir /var/lib/docker/containerd/daemon/io.containerd.runtime.v1.linux/moby/0ee89b20deb3cf08648cd92e1f3e3c661ccffef7a0971
 537579  537642  537642  537642 ?             -1 Ss    1000  32:11  |   |   _ /usr/bin/python /usr/bin/supervisord -c /etc/supervisord/api.conf
 537642  539764  539764  537642 ?             -1 S     1000   0:00  |   |       _ sh -c echo "READY"; while read -r line; do echo "$line"; supervisorctl shutdown; done
 537642  539767  539767  537642 ?             -1 S     1000   5:09  |   |       _ php-fpm: master process (/etc/php73/php-fpm.conf)
 539767  783097  539767  537642 ?             -1 S     1000   0:00  |   |       |   _ php-fpm: pool test
 539767  783131  539767  537642 ?             -1 S     1000   0:00  |   |       |   _ php-fpm: pool test
 539767  783185  539767  537642 ?             -1 S     1000   0:00  |   |       |   _ php-fpm: pool test
...
...
...

рдпреЛ рдЖрджреЗрд╢рдорд╛ рдзреЗрд░реИ рдлрд░рдХ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рд╕рдХреНрд░рд┐рдп рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрд╛рдЧрдЬрд╛рдд рдкрдвреНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрдЫреБред рдзреЗрд░реИ рдЬрд╕реЛ рдХреЗрд╕рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐, рдпреЛ рдЬрд╛рдиреНрди рдкрд░реНрдпрд╛рдкреНрдд рдЫ "PS aux"ред

рдорд╛рд░реНрди

рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рд╕рдВрдХреЗрдд рдкрдард╛рдЙрдиреБрд╣реЛрд╕реНред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рд╕рдВрдХреЗрдд рдкрдард╛рдЗрдиреНрдЫ рд╣рд╕реНрддрд╛рдХреНрд╖рд░, рдЬрд╕рд▓реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рдЧрд░реНрджрдЫред

[user@testhost ~]$ ps ux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
531      1027147  0.0  0.0 119956  4260 ?        S    14:51   0:00 sshd: user@pts/1
531      1027149  0.0  0.0 115408  3396 pts/1    Ss   14:51   0:00 -bash
531      1027170  0.0  0.0 119956  4136 ?        R    14:51   0:00 sshd: user@pts/2
531      1027180  0.0  0.0 115408  3564 pts/2    Ss   14:51   0:00 -bash
531      1033727  0.0  0.0 107960   708 pts/1    S+   15:17   0:00 sleep 300
531      1033752  0.0  0.0 117264  2604 pts/2    R+   15:17   0:00 ps ux
[user@testhost ~]$ kill 1033727
[user@testhost ~]$ ps ux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
531      1027147  0.0  0.0 119956  4260 ?        S    14:51   0:00 sshd: user@pts/1
531      1027149  0.0  0.0 115408  3396 pts/1    Ss+  14:51   0:00 -bash
531      1027170  0.0  0.0 119956  4136 ?        R    14:51   0:00 sshd: user@pts/2
531      1027180  0.0  0.0 115408  3564 pts/2    Ss   14:51   0:00 -bash
531      1033808  0.0  0.0 117268  2492 pts/2    R+   15:17   0:00 ps ux

рдПрдЙрдЯрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рд╕рд┐рдЧреНрдирд▓ рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВ рд╣реБрди рд╕рдХреНрдиреЗ рд╣реБрдирд╛рд▓реЗ, рдорд╛рд░реНрди рд╕рдзреИрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдордХреЛ рдиреЗрддреГрддреНрд╡ рдЧрд░реНрджреИрди - рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рддрддреНрдХрд╛рд▓ рдкреВрд░рд╛ред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдкрдорд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ "рдорд╛рд░" рдЧрд░реНрди, рддрдкрд╛рдЗрдБ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рд╕рдВрдХреЗрдд рдкрдард╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫ рд╕рд┐рдЧреНрдирд▓ред рдпрджреНрдпрдкрд┐, рдпрд╕рд▓реЗ рдбреЗрдЯрд╛ рд╣рд╛рдирд┐ рд╣реБрди рд╕рдХреНрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рдЧрд░реНрдиреБ рдЕрдШрд┐ рдбрд┐рд╕реНрдХрдорд╛ рдХреЗрд╣реА рдЬрд╛рдирдХрд╛рд░реА рдмрдЪрдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ), рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдИрдВрд▓реЗ рдпреЛ рдЖрджреЗрд╢ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рд╕рд┐рдЧреНрдирд▓ рдирдореНрдмрд░ рд╕рд┐рдЧреНрдирд▓ - 9, рддреНрдпрд╕реИрд▓реЗ рдЖрджреЗрд╢рдХреЛ рдЫреЛрдЯреЛ рд╕рдВрд╕реНрдХрд░рдг рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

[user@testhost ~]$ ps ux | grep sleep
531      1034930  0.0  0.0 107960   636 pts/1    S+   15:21   0:00 sleep 300
531      1034953  0.0  0.0 110516  2104 pts/2    S+   15:21   0:00 grep --color=auto sleep
[user@testhost ~]$ kill -9 1034930
[user@testhost ~]$ ps ux | grep sleep
531      1035004  0.0  0.0 110516  2092 pts/2    S+   15:22   0:00 grep --color=auto sleep

рдЙрд▓реНрд▓реЗрдЦрд┐рдд рддреА рдмрд╛рд╣реЗрдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ ╨╕ рд╕рд┐рдЧреНрдирд▓ рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдЕрдиреНрдп рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдХреЗрддрд╣рд░реВ рдЫрдиреН; рддрд┐рдиреАрд╣рд░реВрдХреЛ рд╕реВрдЪреА рдЗрдиреНрдЯрд░рдиреЗрдЯрдорд╛ рд╕рдЬрд┐рд▓реИ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫред рд░ рд╕рдВрдХреЗрддрд╣рд░реВ рдирдмрд┐рд░реНрд╕рдиреБрд╣реЛрд╕реН рд╕рд┐рдЧреНрдирд▓ ╨╕ рд╕рд┐рдЧреНрд╕реНрдЯрдк рд░реЛрдХреНрди рд╡рд╛ рдмреЗрд╡рд╛рд╕реНрддрд╛ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрдиред

рдкрд┐рдВрдЧ

рд╣реЛрд╕реНрдЯрд▓рд╛рдИ ICMP рдкреНрдпрд╛рдХреЗрдЯ рдкрдард╛рдЙрдиреБрд╣реЛрд╕реН ECHO_REQUEST.

[user@testhost ~]$ ping google.com
PING google.com (172.217.15.78) 56(84) bytes of data.
64 bytes from iad23s63-in-f14.1e100.net (172.217.15.78): icmp_seq=1 ttl=47 time=1.85 ms
64 bytes from iad23s63-in-f14.1e100.net (172.217.15.78): icmp_seq=2 ttl=47 time=1.48 ms
64 bytes from iad23s63-in-f14.1e100.net (172.217.15.78): icmp_seq=3 ttl=47 time=1.45 ms
64 bytes from iad23s63-in-f14.1e100.net (172.217.15.78): icmp_seq=4 ttl=47 time=1.46 ms
64 bytes from iad23s63-in-f14.1e100.net (172.217.15.78): icmp_seq=5 ttl=47 time=1.45 ms
^C
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 1.453/1.541/1.850/0.156 ms

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрд┐рдВрдЧ рдпреЛ рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд╕рдорд╛рдкреНрдд рдирднрдПрд╕рдореНрдо рдХрд╛рдо рдЧрд░реНрджрдЫред рддреНрдпрд╕реИрд▓реЗ рд╡рд┐рдХрд▓реНрдк рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдЫ -c - рдкрдард╛рдП рдкрдЫрд┐ рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рдкрд┐рдВрдЧ рдЖрдлреИ рдкреВрд░рд╛ рд╣реБрдиреЗрдЫред рдЕрд░реНрдХреЛ рд╡рд┐рдХрд▓реНрдк рдо рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреБ -i, рдкреНрдпрд╛рдХреЗрдЯ рдкрдард╛рдЙрдиреЗ рдмреАрдЪрдХреЛ рдЕрдиреНрддрд░рд╛рд▓ред

[user@testhost ~]$ ping -c 3 -i 5 google.com
PING google.com (172.217.5.238) 56(84) bytes of data.
64 bytes from iad30s07-in-f238.1e100.net (172.217.5.238): icmp_seq=1 ttl=47 time=1.55 ms
64 bytes from iad30s07-in-f14.1e100.net (172.217.5.238): icmp_seq=2 ttl=47 time=1.17 ms
64 bytes from iad30s07-in-f14.1e100.net (172.217.5.238): icmp_seq=3 ttl=47 time=1.16 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 10006ms
rtt min/avg/max/mdev = 1.162/1.295/1.551/0.181 ms

SSH

OpenSSH SSH рдХреНрд▓рд╛рдЗрдиреНрдЯрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЯрд╛рдврд╛рдХреЛ рд╣реЛрд╕реНрдЯрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

MacBook-Pro-User:~ user$ ssh [email protected]
Last login: Tue Nov 26 11:27:39 2019 from another_host
[user@testhost ~]$ hostname
testhost

рддреНрдпрд╣рд╛рдБ SSH рдХреЛ рдкреНрд░рдпреЛрдЧ рдорд╛ рдзреЗрд░реИ nuances рдЫрдиреН, рд░ рдпреЛ рдХреНрд▓рд╛рдЗрдиреНрдЯ рдкрдирд┐ рдХреНрд╖рдорддрд╛рд╣рд░реБ рдХреЛ рдПрдХ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛ рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрджрд┐ рддрдкрд╛рдИрдВ рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ (рд╡рд╛ рдЖрд╡рд╢реНрдпрдХ) рдХреЛ рдмрд╛рд░реЗ рдорд╛ рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рд╡рд┐рд╡рд░рдг рдорд╛.

scp

рд╣реЛрд╕реНрдЯрд╣рд░реВ рдмреАрдЪ рдлрд╛рдЗрд▓рд╣рд░реВ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдпрд╕ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ SSH).

[user@testhost ~]$ pwd
/home/user
[user@testhost ~]$ ls
temp  test_renamed
[user@testhost ~]$ exit
logout
Connection to 11.11.22.22 closed.
MacBook-Pro-Aleksandr:~ user$ scp [email protected]:/home/user/temp Downloads/
temp                                                                                                                                                                                                        100%   31     0.2KB/s   00:00
MacBook-Pro-Aleksandr:~ user$ cat Downloads/temp
Content of a file.
Lalalala...

rsync

рддрдкрд╛рдЗрдБ рд╣реЛрд╕реНрдЯрд╣рд░реВ рдмреАрдЪ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрд╣рд░реВ рд╕рд┐рдЩреНрдХреНрд░реЛрдирд╛рдЗрдЬ рдЧрд░реНрди рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ rsync (-a - рдЕрднрд┐рд▓реЗрдЦ рдореЛрдб, рддрдкрд╛рдИрдВрд▓рд╛рдИ "рдЬрд╕реНрддреИ" рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдХреЛ рд╕рдореНрдкреВрд░реНрдг рд╕рд╛рдордЧреНрд░реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, -v - рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реАрдХреЛ рдХрдиреНрд╕реЛрд▓рдорд╛ рдЖрдЙрдЯрдкреБрдЯ):

MacBook-Pro-User:~ user$ ls Downloads/user
ls: Downloads/user: No such file or directory
MacBook-Pro-User:~ user$ rsync -av user@testhost:/home/user Downloads
receiving file list ... done
user/
user/.bash_history
user/.bash_logout
user/.bash_profile
user/.bashrc
user/.lesshst
user/.mongorc.js
user/.viminfo
user/1
user/man_signal
user/man_signal_error_log
user/temp
user/.ssh/
user/.ssh/authorized_keys
user/test/
user/test/created_today
user/test/temp_clone

sent 346 bytes  received 29210 bytes  11822.40 bytes/sec
total size is 28079  speedup is 0.95
MacBook-Pro-User:~ user$ ls -a Downloads/user
.                    .bash_history        .bash_profile        .lesshst             .ssh                 1                    man_signal_error_log test
..                   .bash_logout         .bashrc              .mongorc.js          .viminfo             man_signal           temp

рдкреНрд░рддрд┐рдзреНрд╡рдирд┐

рдкрд╛рдардХреЛ рд▓рд╛рдЗрди рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

[user@testhost ~]$ echo "Hello"
Hello

рдпрд╣рд╛рдБ рд╡рд┐рдЪрд╛рд░ рдЧрд░реНрди рд▓рд╛рдпрдХ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ -n - рдЕрдиреНрддреНрдпрдорд╛ рд░реЗрдЦрд╛ рд╡рд┐рдЪреНрдЫреЗрджрдХреЛ рд╕рд╛рде рд░реЗрдЦрд╛ рдЬреЛрдбреНрдиреБрд╣реЛрд╕реН, рд░ -e - "" рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдПрд╕реНрдХреЗрдкрд┐рдЩ рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╕рдХреНрд╖рдо рдЧрд░реНрдиреБрд╣реЛрд╕реНред

[user@testhost ~]$ echo "tHellon"
tHellon
[user@testhost ~]$ echo -n "tHellon"
tHellon[user@testhost ~]$
[user@testhost ~]$ echo -ne "tHellon"
	Hello

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

[user@testhost ~]$ ls    # ╨╛╤И╨╕╨▒╨║╨╕ ╨╜╨╡ ╨▒╤Г╨┤╨╡╤В
1  man_signal  man_signal_error_log  temp  test
[user@testhost ~]$ echo $?    # ╨┐╨╛╨╗╤Г╤З╨╕╨╝ 0 тАФ ╨╛╤И╨╕╨▒╨║╨╕ ╨╜╨╡ ╨▒╤Л╨╗╨╛
0
[user@testhost ~]$ ls qwerty    # ╨▒╤Г╨┤╨╡╤В ╨╛╤И╨╕╨▒╨║╨░
ls: cannot access qwerty: No such file or directory
[user@testhost ~]$ echo $?    # ╨┐╨╛╨╗╤Г╤З╨╕╨╝ 2 тАФ Misuse of shell builtins (according to Bash documentation)
2
[user@testhost ~]$ echo $?    # ╨┐╨╛╤Б╨╗╨╡╨┤╨╜╨╕╨╣ echo ╨╛╤В╤А╨░╨▒╨╛╤В╨░╨╗ ╨▒╨╡╨╖ ╨╛╤И╨╕╨▒╨╛╨║, ╨┐╨╛╨╗╤Г╤З╨╕╨╝ 0
0

рдЯреЗрд▓рдиреЗрдЯ

TELNET рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рд▓рд╛рдЧрд┐ рдЧреНрд░рд╛рд╣рдХред рдЕрд░реНрдХреЛ рд╣реЛрд╕реНрдЯрд╕рдБрдЧ рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдпреЛред

[user@testhost ~]$ telnet example.com 80
Trying 93.184.216.34...
Connected to example.com.
Escape character is '^]'.
GET / HTTP/1.1
Host: example.com

HTTP/1.1 200 OK
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Date: Tue, 26 Nov 2019 11:59:18 GMT
Etag: "3147526947+gzip+ident"
Expires: Tue, 03 Dec 2019 11:59:18 GMT
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
Server: ECS (dcb/7F3B)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1256

... ╨╖╨┤╨╡╤Б╤М ╨▒╤Л╨╗╨╛ ╤В╨╡╨╗╨╛ ╨╛╤В╨▓╨╡╤В╨░, ╨║╨╛╤В╨╛╤А╨╛╨╡ ╤П ╨▓╤Л╤А╨╡╨╖╨░╨╗ ╤А╤Г╨║╨░╨╝╨╕ ...

рдпрджрд┐ рддрдкрд╛рдЗрдБ TLS рдкреНрд░реЛрдЯреЛрдХрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ (рдорд▓рд╛рдИ рд╕рдореНрдЭрд╛рдЙрди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ SSL рд▓рд╛рдореЛ рд╕рдордпрджреЗрдЦрд┐ рдкреБрд░рд╛рдиреЛ рднрдПрдХреЛ рдЫ), рддреНрдпрд╕рдкрдЫрд┐ рдЯреЗрд▓рдиреЗрдЯ рдпреА рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рдЫреИрдиред рддрд░ рдЧреНрд░рд╛рд╣рдХ рдЖрдЙрдБрдЫрдиреН рдУрдкрдирд╕реНрдПрд▓:

GET рдЕрдиреБрд░реЛрдзрдорд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реЗрд░ openssl рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг

[user@testhost ~]$ openssl s_client -connect example.com:443
CONNECTED(00000003)
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, CN = DigiCert SHA2 Secure Server CA
verify return:1
depth=0 C = US, ST = California, L = Los Angeles, O = Internet Corporation for Assigned Names and Numbers, OU = Technology, CN = www.example.org
verify return:1
---
Certificate chain
 0 s:/C=US/ST=California/L=Los Angeles/O=Internet Corporation for Assigned Names and Numbers/OU=Technology/CN=www.example.org
   i:/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
 1 s:/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
 2 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIHQDCCBiigAwIBAgIQD9B43Ujxor1NDyupa2A4/jANBgkqhkiG9w0BAQsFADBN
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E
aWdpQ2VydCBTSEEyIFNlY3VyZSBTZXJ2ZXIgQ0EwHhcNMTgxMTI4MDAwMDAwWhcN
MjAxMjAyMTIwMDAwWjCBpTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3Ju
aWExFDASBgNVBAcTC0xvcyBBbmdlbGVzMTwwOgYDVQQKEzNJbnRlcm5ldCBDb3Jw
b3JhdGlvbiBmb3IgQXNzaWduZWQgTmFtZXMgYW5kIE51bWJlcnMxEzARBgNVBAsT
ClRlY2hub2xvZ3kxGDAWBgNVBAMTD3d3dy5leGFtcGxlLm9yZzCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBANDwEnSgliByCGUZElpdStA6jGaPoCkrp9vV
rAzPpXGSFUIVsAeSdjF11yeOTVBqddF7U14nqu3rpGA68o5FGGtFM1yFEaogEv5g
rJ1MRY/d0w4+dw8JwoVlNMci+3QTuUKf9yH28JxEdG3J37Mfj2C3cREGkGNBnY80
eyRJRqzy8I0LSPTTkhr3okXuzOXXg38ugr1x3SgZWDNuEaE6oGpyYJIBWZ9jF3pJ
QnucP9vTBejMh374qvyd0QVQq3WxHrogy4nUbWw3gihMxT98wRD1oKVma1NTydvt
hcNtBfhkp8kO64/hxLHrLWgOFT/l4tz8IWQt7mkrBHjbd2XLVPkCAwEAAaOCA8Ew
ggO9MB8GA1UdIwQYMBaAFA+AYRyCMWHVLyjnjUY4tCzhxtniMB0GA1UdDgQWBBRm
mGIC4AmRp9njNvt2xrC/oW2nvjCBgQYDVR0RBHoweIIPd3d3LmV4YW1wbGUub3Jn
ggtleGFtcGxlLmNvbYILZXhhbXBsZS5lZHWCC2V4YW1wbGUubmV0ggtleGFtcGxl
Lm9yZ4IPd3d3LmV4YW1wbGUuY29tgg93d3cuZXhhbXBsZS5lZHWCD3d3dy5leGFt
cGxlLm5ldDAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsG
AQUFBwMCMGsGA1UdHwRkMGIwL6AtoCuGKWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNv
bS9zc2NhLXNoYTItZzYuY3JsMC+gLaArhilodHRwOi8vY3JsNC5kaWdpY2VydC5j
b20vc3NjYS1zaGEyLWc2LmNybDBMBgNVHSAERTBDMDcGCWCGSAGG/WwBATAqMCgG
CCsGAQUFBwIBFhxodHRwczovL3d3dy5kaWdpY2VydC5jb20vQ1BTMAgGBmeBDAEC
AjB8BggrBgEFBQcBAQRwMG4wJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2lj
ZXJ0LmNvbTBGBggrBgEFBQcwAoY6aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29t
L0RpZ2lDZXJ0U0hBMlNlY3VyZVNlcnZlckNBLmNydDAMBgNVHRMBAf8EAjAAMIIB
fwYKKwYBBAHWeQIEAgSCAW8EggFrAWkAdwCkuQmQtBhYFIe7E6LMZ3AKPDWYBPkb
37jjd80OyA3cEAAAAWdcMZVGAAAEAwBIMEYCIQCEZIG3IR36Gkj1dq5L6EaGVycX
sHvpO7dKV0JsooTEbAIhALuTtf4wxGTkFkx8blhTV+7sf6pFT78ORo7+cP39jkJC
AHYAh3W/51l8+IxDmV+9827/Vo1HVjb/SrVgwbTq/16ggw8AAAFnXDGWFQAABAMA
RzBFAiBvqnfSHKeUwGMtLrOG3UGLQIoaL3+uZsGTX3MfSJNQEQIhANL5nUiGBR6g
l0QlCzzqzvorGXyB/yd7nttYttzo8EpOAHYAb1N2rDHwMRnYmQCkURX/dxUcEdkC
wQApBo2yCJo32RMAAAFnXDGWnAAABAMARzBFAiEA5Hn7Q4SOyqHkT+kDsHq7ku7z
RDuM7P4UDX2ft2Mpny0CIE13WtxJAUr0aASFYZ/XjSAMMfrB0/RxClvWVss9LHKM
MA0GCSqGSIb3DQEBCwUAA4IBAQBzcIXvQEGnakPVeJx7VUjmvGuZhrr7DQOLeP4R
8CmgDM1pFAvGBHiyzvCH1QGdxFl6cf7wbp7BoLCRLR/qPVXFMwUMzcE1GLBqaGZM
v1Yh2lvZSLmMNSGRXdx113pGLCInpm/TOhfrvr0TxRImc8BdozWJavsn1N2qdHQu
N+UBO6bQMLCD0KHEdSGFsuX6ZwAworxTg02/1qiDu7zW7RyzHvFYA4IAjpzvkPIa
X6KjBtpdvp/aXabmL95YgBjT8WJ7pqOfrqhpcmOBZa6Cg6O1l4qbIFH/Gj9hQB5I
0Gs4+eH6F9h3SojmPTYkT+8KuZ9w84Mn+M8qBXUQoYoKgIjN
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Los Angeles/O=Internet Corporation for Assigned Names and Numbers/OU=Technology/CN=www.example.org
issuer=/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
---
No client certificate CA names sent
Peer signing digest: SHA256
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 4643 bytes and written 415 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES128-GCM-SHA256
    Session-ID: 91950DC50FADB57BF026D2661E6CFAA1F522E5CA60D2310E106EE0E0FD6E70BD
    Session-ID-ctx:
    Master-Key: 704E9145253EEB4E9DC47E3DC6725D296D4A470EA296D54F71D65E74EAC09EB096EA1305CBEDD9E7020B8F72FD2B68A5
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    TLS session ticket lifetime hint: 7200 (seconds)
    TLS session ticket:
    0000 - 68 84 4e 77 be e3 f5 00-49 c5 44 40 53 4d b9 61   [email protected]
    0010 - c9 fe df e4 05 51 d0 53-ae cf 89 4c b6 ef 6c 9e   .....Q.S...L..l.
    0020 - fe 12 9a f0 e8 e5 4e 87-42 89 ac af ca e5 4a 85   ......N.B.....J.
    0030 - 38 08 26 e3 22 89 08 b5-62 c0 8b 7e b8 05 d3 54   8.&."...b..~...T
    0040 - 8c 24 91 a7 b4 4f 79 ad-36 59 7c 69 2d e5 7f 62   .$...Oy.6Y|i-..b
    0050 - f6 73 a3 8b 92 63 c1 e3-df 78 ba 8c 5a cc 82 50   .s...c...x..Z..P
    0060 - 33 4e 13 4b 10 e4 97 31-cc b4 13 65 45 60 3e 13   3N.K...1...eE`>.
    0070 - ac 9e b1 bb 4b 18 d9 16-ea ce f0 9b 5b 0c 8b bf   ....K.......[...
    0080 - fd 78 74 a0 1a ef c2 15-2a 0a 14 8d d1 3f 52 7a   .xt.....*....?Rz
    0090 - 12 6b c7 81 15 c4 c4 af-7e df c2 20 a8 dd 4b 93   .k......~.. ..K.

    Start Time: 1574769867
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
GET / HTTP/1.1
Host: example.com

HTTP/1.1 200 OK
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Date: Tue, 26 Nov 2019 12:04:38 GMT
Etag: "3147526947+ident"
Expires: Tue, 03 Dec 2019 12:04:38 GMT
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
Server: ECS (dcb/7EC8)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1256

<!doctype html>
<html>
<head>
    <title>Example Domain</title>

    <meta charset="utf-8" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <style type="text/css">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;

    }
    div {
        width: 600px;
        margin: 5em auto;
        padding: 2em;
        background-color: #fdfdff;
        border-radius: 0.5em;
        box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
    }
    a:link, a:visited {
        color: #38488f;
        text-decoration: none;
    }
    @media (max-width: 700px) {
        div {
            margin: 0 auto;
            width: auto;
        }
    }
    </style>
</head>

<body>
<div>
    <h1>Example Domain</h1>
    <p>This domain is for use in illustrative examples in documents. You may use this
    domain in literature without prior coordination or asking for permission.</p>
    <p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>

рд▓рд┐рдирдХреНрд╕рдорд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрджреИ

рдлрд╛рдЗрд▓ рдорд╛рд▓рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рддрдкрд╛рдИрд▓реЗ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдлрд╛рдЗрд▓ рд╡рд╛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдХреЛ рдорд╛рд▓рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ chown:

[user@testhost ~]$ chown user:user temp
[user@testhost ~]$ ls -l temp
-rw-rw-r-- 1 user user 31 Nov 26 11:09 temp

рдпреЛ рдЖрджреЗрд╢рдХреЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд▓рд╛рдИ рдирдпрд╛рдБ рдорд╛рд▓рд┐рдХ рд░ рд╕рдореВрд╣ (рд╡реИрдХрд▓реНрдкрд┐рдХ), рдмреГрд╣рджрд╛рдиреНрддреНрд░рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдЧрд░рд┐рдПрдХреЛ рд╣реБрдиреБрдкрд░реНрдЫред рд╕рд╛рдереИ, рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдХреЛ рдорд╛рд▓рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрджрд╛, рд╡рд┐рдХрд▓реНрдк рдЙрдкрдпреЛрдЧреА рд╣реБрди рд╕рдХреНрдЫ -R - рддреНрдпрд╕рдкрдЫрд┐ рдорд╛рд▓рд┐рдХрд╣рд░реВрд▓реЗ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдХреЛ рд╕рдмреИ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреЗрдЫрдиреНред

рдлрд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдпреЛ рд╕рдорд╕реНрдпрд╛ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╣рд▓ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ chmodред рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛, рдо рдЕрдиреБрдорддрд┐ рд╕реЗрдЯрд┐рдЩ рджрд┐рдиреЗрдЫреБ "рдорд╛рд▓рд┐рдХрд▓рд╛рдИ рдкрдвреНрди, рд▓реЗрдЦреНрди рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рдЫ, рд╕рдореВрд╣рд▓рд╛рдИ рдкрдвреНрди рд░ рд▓реЗрдЦреНрди рдЕрдиреБрдорддрд┐ рдЫ, рдЕрд░реВ рд╕рдмреИрд▓рд╛рдИ рдХреЗрд╣реА рдЕрдиреБрдорддрд┐ рдЫреИрди":

[user@testhost ~]$ ls -l temp
-rw-rw-r-- 1 user user 31 Nov 26 11:09 temp
[user@testhost ~]$ chmod 760 temp
[user@testhost ~]$ ls -l temp
-rwxrw---- 1 user user 31 Nov 26 11:09 temp

рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдорд╛ рдкрд╣рд┐рд▓реЛ 7 (рдпреЛ рдмрд┐рдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рдорд╛ 0b111 рд╣реЛ) рдХреЛ рдЕрд░реНрде "рдорд╛рд▓рд┐рдХрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдмреИ рдЕрдзрд┐рдХрд╛рд░рд╣рд░реВ" рд╣реЛ, рджреЛрд╕реНрд░реЛ 6 (рдпреЛ рдмрд┐рдЯ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рдорд╛ 0b110 рд╣реЛ) рдХреЛ рдЕрд░реНрде "рдкрдвреНрдиреБрд╣реЛрд╕реН рд░ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН" рд╣реЛ, рд░ 0 рдХреЛ рдЕрд░реНрде рдмрд╛рдБрдХреАрдХреЛ рд▓рд╛рдЧрд┐ рдХреЗрд╣рд┐ рдкрдирд┐ рд╣реЛрдЗрдиред ред рдмрд┐рдЯрдорд╛рд╕реНрдХрдорд╛ рддреАрдирд╡рдЯрд╛ рдмрд┐рдЯрд╣рд░реВ рд╣реБрдиреНрдЫрдиреН: рд╕рдмреИрднрдиреНрджрд╛ рдХрдо рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг ("рджрд╛рдпрд╛рдБ") рдмрд┐рдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рд╣реБрдиреНрдЫ, рдЕрд░реНрдХреЛ ("рдордзреНрдп") рдмрд┐рдЯ рд▓реЗрдЦрдирдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛ, рд░ рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг ("рдмрд╛рдпрд╛рдБ") рдмрд┐рдЯ рдкрдвреНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛред
рддрдкрд╛рдИрд▓реЗ рд╡рд┐рд╢реЗрд╖ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЕрдиреБрдорддрд┐рд╣рд░реВ рдкрдирд┐ рд╕реЗрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ (рдирд┐рдореЛрдирд┐рдХ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛)ред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдгрд▓реЗ рдкрд╣рд┐рд▓реЗ рд╣рд╛рд▓рдХреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрдзрд┐рдХрд╛рд░рд╣рд░реВ рд╣рдЯрд╛рдЙрдБрдЫ рд░ рддреНрдпрд╕рдкрдЫрд┐ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдлреЗрд░рд┐ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдЫ:

[user@testhost ~]$ ls -l temp
-rwxrw---- 1 user user 31 Nov 26 11:09 temp
[user@testhost ~]$ chmod -x temp
[user@testhost ~]$ ls -l temp
-rw-rw---- 1 user user 31 Nov 26 11:09 temp
[user@testhost ~]$ chmod +x temp
[user@testhost ~]$ ls -l temp
-rwxrwx--x 1 user user 31 Nov 26 11:09 temp

рдпрд╕ рдЖрджреЗрд╢рдХреЛ рдзреЗрд░реИ рдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рдкрдвреНрди рд╕рд▓реНрд▓рд╛рд╣ рджрд┐рдиреНрдЫреБ (рд╡рд┐рд╢реЗрд╖ рдЧрд░реА рдореЗрдореЛрдирд┐рдХ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрд╣рд╛рдБ).

рдмрд╛рдЗрдирд░реА рдлрд╛рдЗрд▓рдХреЛ рд╕рд╛рдордЧреНрд░реА рдЫрд╛рдкреНрдиреБрд╣реЛрд╕реН

рдпреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рд╣реЗрдХреНрд╕рдбрдореНрдкред рддрд▓ рдпрд╕рдХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рдЫрдиреНред

[user@testhost ~]$ cat temp
Content of a file.
Lalalala...
[user@testhost ~]$ hexdump -c temp
0000000   C   o   n   t   e   n   t       o   f       a       f   i   l
0000010   e   .  n   L   a   l   a   l   a   l   a   .   .   .  n
000001f
[user@testhost ~]$ hexdump -x temp
0000000    6f43    746e    6e65    2074    666f    6120    6620    6c69
0000010    2e65    4c0a    6c61    6c61    6c61    2e61    2e2e    000a
000001f
[user@testhost ~]$ hexdump -C temp
00000000  43 6f 6e 74 65 6e 74 20  6f 66 20 61 20 66 69 6c  |Content of a fil|
00000010  65 2e 0a 4c 61 6c 61 6c  61 6c 61 2e 2e 2e 0a     |e..Lalalala....|
0000001f

рдпреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рддрдкрд╛рдЗрдБ рдЕрдиреНрдп рдврд╛рдБрдЪрд╛рд╣рд░реВрдорд╛ рдбрд╛рдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдпреЛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рдпрдГ рдЙрдкрдпреЛрдЧреА рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рд╣реБрдиреНред

рдлрд╛рдЗрд▓рд╣рд░реВ рдЦреЛрдЬреНрдиреБрд╣реЛрд╕реН

рддрдкрд╛рдИрдВрд▓реЗ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд░реВрдЦрдорд╛ рдпрд╕рдХреЛ рдирд╛рдордХреЛ рдЕрдВрд╢рджреНрд╡рд╛рд░рд╛ рдлрд╛рдЗрд▓ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдлреЗрд▓рд╛:

[user@testhost ~]$ find test_dir/ -name "*le*"
test_dir/file_1
test_dir/file_2
test_dir/subdir/file_3

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

[user@testhost ~]$ ls -ltr test
total 0
-rw-rw-r-- 1 user user 0 Nov 26 10:46 temp_clone
-rw-rw-r-- 1 user user 0 Dec  4 10:39 created_today
[user@testhost ~]$ find test/ -type f -ctime +5
test/temp_clone

рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рдкрд╛рда рдЦреЛрдЬреНрдиреБрд╣реЛрд╕реН

рдЯреЛрд▓реАрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпреЛ рдХрд╛рд░реНрдп рд╕рд╛рдордирд╛ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫ рдЧреНрд░реЗрдкред рдпрд╕рдХреЛ рдзреЗрд░реИ рдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЫрдиреН, рд╕рдмреИрднрдиреНрджрд╛ рд╕рд░рд▓ рдпрд╣рд╛рдБ рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛ рджрд┐рдЗрдПрдХреЛ рдЫред

[user@testhost ~]$ grep -nr "content" test_dir/
test_dir/file_1:1:test content for file_1
test_dir/file_2:1:test content for file_2
test_dir/subdir/file_3:1:test content for file_3

рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд▓реЛрдХрдкреНрд░рд┐рдп рддрд░рд┐рдХрд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рдЧреНрд░реЗрдк - рдпрд╕рд▓рд╛рдИ рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ (рдкрд╛рдЗрдк):

[user@testhost ~]$ sudo tail -f /var/log/test.log | grep "ERROR"

рд╡рд┐рдХрд▓реНрдк -v рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреНрд░рднрд╛рд╡ рдкрд╛рд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЧреНрд░реЗрдк'рд░ рдЙрд▓реНрдЯреЛ - рдХреЗрд╡рд▓ рд░реЗрдЦрд╛рд╣рд░реВ рдЬрд╕рдорд╛ рдврд╛рдБрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЫреИрди рдЧреНрд░реЗрдк.

рд╕реНрдерд╛рдкрд┐рдд рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН

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

yum list installed
apt list --installed
zypper se тАФinstalled-only
pacman -Qqe
dpkg -l
rpm -qa

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд░реВрдЦрд▓реЗ рдХрддрд┐ рдард╛рдЙрдБ рд▓рд┐рдиреНрдЫ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН

рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдХреЛ рд▓рд╛рдЧреА рдПрдХ рд╡рд┐рдХрд▓реНрдк du:

[user@testhost ~]$ du -h -d 1 test_dir/
8,0K test_dir/subdir
20K test_dir/

рддрдкрд╛рдИрдВ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рдорд╛рди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ -dрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд░реВрдЦ рдмрд╛рд░реЗ рдердк рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиред рддрдкрд╛рдИрдВ рд╕рдВрдпреЛрдЬрдирдорд╛ рдЖрджреЗрд╢ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рднрд╛рдЧреНрдп:

[user@testhost ~]$ du -h -d 1 test_dir/ | sort -h
8,0K test_dir/subdir
16K test_dir/subdir_2
36K test_dir/
[user@testhost ~]$ du -h -d 1 test_dir/ | sort -h -r
36K test_dir/
16K test_dir/subdir_2
8,0K test_dir/subdir

рд╡рд┐рдХрд▓реНрдк -h рд╕рдореВрд╣ рднрд╛рдЧреНрдп рддрдкрд╛рдИрдВрд▓рд╛рдИ рдорд╛рдирд╡ рдкрдвреНрди рдпреЛрдЧреНрдп рдврд╛рдБрдЪрд╛рдорд╛ рд▓реЗрдЦрд┐рдПрдХрд╛ рдЖрдХрд╛рд░рд╣рд░реВ рдХреНрд░рдордмрджреНрдз рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, 1K, 2G), рд╡рд┐рдХрд▓реНрдк -r рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЙрд▓реНрдЯреЛ рдХреНрд░рдордорд╛ рдбрд╛рдЯрд╛ рдХреНрд░рдордмрджреНрдз рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдлрд╛рдЗрд▓рдорд╛, рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдХрд╛ рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ "рдлреЗрд▓рд╛ рдкрд╛рд░реНрдиреБрд╣реЛрд╕реН рд░ рдмрджрд▓реНрдиреБрд╣реЛрд╕реН"

рдпреЛ рдХрд╛рд░реНрдп рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдЧрд░рд┐рдиреНрдЫ sed (рдЭрдгреНрдбрд╛ рдЫреИрди g рдЕрдиреНрддреНрдпрдорд╛, рд▓рд╛рдЗрдирдорд╛ "рдкреБрд░рд╛рдиреЛ-рдкрд╛рда" рдХреЛ рдкрд╣рд┐рд▓реЛ рдШрдЯрдирд╛ рдорд╛рддреНрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдЧрд░рд┐рдиреЗрдЫ):

sed -i 's/old-text/new-text/g' input.txt

рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдПрдХреИ рдкрдЯрдХ рдзреЗрд░реИ рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

[user@testhost ~]$ cat test_dir/file_*
test content for file_1
test content for file_2
[user@testhost ~]$ sed -i 's/test/edited/g' test_dir/file_*
[user@testhost ~]$ cat test_dir/file_*
edited content for file_1
edited content for file_2

рдЖрдЙрдЯрдкреБрдЯрдмрд╛рдЯ рд╕реНрддрдореНрдн рдХреЛрд░реНрдиреБрд╣реЛрд╕реН

рдпреЛ рдХрд╛рд░реНрдп рд╕рд╛рдордирд╛ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫ рдЕрдЬред рдпреЛ рдЙрджрд╛рд╣рд░рдгрд▓реЗ рдХрдорд╛рдгреНрдб рдЖрдЙрдЯрдкреБрдЯ `рдХреЛ рджреЛрд╕реНрд░реЛ рд╕реНрддрдореНрдн рджреЗрдЦрд╛рдЙрдБрдЫps ux`:

[user@testhost ~]$ ps ux | awk '{print $2}'
PID
11023
25870
25871
25908
25909

рдПрдХреИ рд╕рдордпрдорд╛, рдпреЛ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрдиреБ рдкрд░реНрдЫ рдЕрдЬ рдзреЗрд░реИ рд╕рдореГрджреНрдз рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрджрд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрджреЗрд╢ рд░реЗрдЦрд╛рдорд╛ рдкрд╛рдард╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ рдпреЛ рдЖрджреЗрд╢рдХреЛ рдмрд╛рд░реЗрдорд╛ рдердк рдкрдвреНрдиреБрдкрд░реНрдЫред

рд╣реЛрд╕реНрдЯрдирд╛рдорджреНрд╡рд╛рд░рд╛ IP рдареЗрдЧрд╛рдирд╛ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреБрд╣реЛрд╕реН

рдирд┐рдореНрди рдЖрджреЗрд╢рд╣рд░реВ рдордзреНрдпреЗ рдПрдЙрдЯрд╛рд▓реЗ рдпрд╕рд▓рд╛рдИ рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫ:

[user@testhost ~]$ host ya.ru
ya.ru has address 87.250.250.242
ya.ru has IPv6 address 2a02:6b8::2:242
ya.ru mail is handled by 10 mx.yandex.ru.

[user@testhost ~]$ dig +short ya.ru
87.250.250.242

[user@testhost ~]$ nslookup ya.ru
Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: ya.ru
Address: 87.250.250.242

рдиреЗрдЯрд╡рд░реНрдХ рдЬрд╛рдирдХрд╛рд░реА

рддрдкрд╛рдИрдВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреЗрдЫ ifconfig:

[user@testhost ~]$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 47.89.93.67  netmask 255.255.224.0  broadcast 47.89.95.255
        inet6 fd90::302:57ff:fe79:1  prefixlen 64  scopeid 0x20<link>
        ether 04:01:57:79:00:01  txqueuelen 1000  (Ethernet)
        RX packets 11912135  bytes 9307046034 (8.6 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 14696632  bytes 2809191835 (2.6 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 10  bytes 866 (866.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10  bytes 866 (866.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

рд╡рд╛ рд╣реБрдирд╕рдХреНрдЫ ip:

[user@testhost ~]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 04:01:57:79:00:01 brd ff:ff:ff:ff:ff:ff
    inet 47.89.93.67/19 brd 47.89.95.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fd90::302:57ff:fe79:1/64 scope link
       valid_lft forever preferred_lft forever
3: ip_vti0: <NOARP> mtu 1500 qdisc noop state DOWN group default
    link/ipip 0.0.0.0 brd 0.0.0.0

рдпрд╕рдмрд╛рд╣реЗрдХ, рдпрджрд┐, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдЗрдБ рдорд╛рддреНрд░ IPv4 рдорд╛ рд░реБрдЪрд┐ рд░рд╛рдЦреНрдиреБрд╣реБрдиреНрдЫ, рддреНрдпрд╕рдкрдЫрд┐ рддрдкрд╛рдЗрдБ рд╡рд┐рдХрд▓реНрдк рдердкреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ -4:

[user@testhost ~]$ ip -4 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 47.89.93.67/19 brd 47.89.95.255 scope global eth0
       valid_lft forever preferred_lft forever

рдЦреБрд▓рд╛ рдкреЛрд░реНрдЯрд╣рд░реВ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН

рдпреЛ рдЧрд░реНрди, рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН netstatред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреЛрд░реНрдЯрдорд╛ рд╕реБрдиреНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ PID рд░ рдкреЛрд░реНрдЯрдХреЛ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡рдХреЛ рдкреНрд░рджрд░реНрд╢рдирдХреЛ рд╕рд╛рде рд╕рдмреИ TCP рд░ UDP рд╕реБрдиреНрди рдкреЛрд░реНрдЯрд╣рд░реВ рд╣реЗрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рдирд┐рдореНрди рд╡рд┐рдХрд▓реНрдкрд╣рд░реВрд╕рдБрдЧ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:

[user@testhost ~]$ netstat -lptnu

рдкреНрд░рдгрд╛рд▓реА рдЬрд╛рдирдХрд╛рд░реА

рддрдкрд╛рдИрдВ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдпреЛ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдо рд╕рдВрдЧ рдЖрдЙрдиреБрд╣реЛрд╕.

[user@testhost ~]$ uname -a
Linux alexander 3.10.0-123.8.1.el7.x86_64 #1 SMP Mon Sep 22 19:06:58 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

рдЖрдЙрдЯрдкреБрдЯ рдЙрддреНрдкрд╛рджрди рднрдПрдХреЛ рдврд╛рдБрдЪрд╛ рдмреБрдЭреНрди, рддрдкрд╛рдЗрдБ рд╕рдиреНрджрд░реНрдн рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдорджрдд'рдпреЛ рдЖрджреЗрд╢рдХреЛ рд▓рд╛рдЧрд┐:

[user@testhost ~]$ uname --help
╨Ш╤Б╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╨╜╨╕╨╡: uname [╨Ъ╨Ы╨о╨з]тАж
╨Я╨╡╤З╨░╤В╨░╨╡╤В ╨╛╨┐╤А╨╡╨┤╨╡╨╗╨╡╨╜╨╜╤Л╨╡ ╤Б╨▓╨╡╨┤╨╡╨╜╨╕╤П ╨╛ ╤Б╨╕╤Б╤В╨╡╨╝╨╡.  ╨Х╤Б╨╗╨╕ ╨Ъ╨Ы╨о╨з ╨╜╨╡ ╨╖╨░╨┤╨░╨╜,
╨┐╨╛╨┤╤А╨░╨╖╤Г╨╝╨╡╨▓╨░╨╡╤В╤Б╤П -s.

  -a, --all          ╨╜╨░╨┐╨╡╤З╨░╤В╨░╤В╤М ╨▓╤Б╤О ╨╕╨╜╤Д╨╛╤А╨╝╨░╤Ж╨╕╤О, ╨▓ ╤Б╨╗╨╡╨┤╤Г╤О╤Й╨╡╨╝ ╨┐╨╛╤А╤П╨┤╨║╨╡,
                       ╨║╤А╨╛╨╝╨╡ -p ╨╕ -i, ╨╡╤Б╨╗╨╕ ╨╛╨╜╨╕ ╨╜╨╡╨╕╨╖╨▓╨╡╤Б╤В╨╜╤Л:
  -s, --kernel-name  ╨╜╨░╨┐╨╡╤З╨░╤В╨░╤В╤М ╨╕╨╝╤П ╤П╨┤╤А╨░
  -n, --nodename     ╨╜╨░╨┐╨╡╤З╨░╤В╨░╤В╤М ╨╕╨╝╤П ╨╝╨░╤И╨╕╨╜╤Л ╨▓ ╤Б╨╡╤В╨╕
  -r, --release      ╨╜╨░╨┐╨╡╤З╨░╤В╨░╤В╤М ╨╜╨╛╨╝╨╡╤А ╨▓╤Л╨┐╤Г╤Б╨║╨░ ╨╛╨┐╨╡╤А╨░╤Ж╨╕╨╛╨╜╨╜╨╛╨╣ ╤Б╨╕╤Б╤В╨╡╨╝╤Л
  -v, --kernel-version     ╨╜╨░╨┐╨╡╤З╨░╤В╨░╤В╤М ╨▓╨╡╤А╤Б╨╕╤О ╤П╨┤╤А╨░
  -m, --machine            ╨╜╨░╨┐╨╡╤З╨░╤В╨░╤В╤М ╤В╨╕╨┐ ╨╛╨▒╨╛╤А╤Г╨┤╨╛╨▓╨░╨╜╨╕╤П ╨╝╨░╤И╨╕╨╜╤Л
  -p, --processor          ╨╜╨░╨┐╨╡╤З╨░╤В╨░╤В╤М ╤В╨╕╨┐ ╨┐╤А╨╛╤Ж╨╡╤Б╤Б╨╛╤А╨░ ╨╕╨╗╨╕ ┬л╨╜╨╡╨╕╨╖╨▓╨╡╤Б╤В╨╜╨╛┬╗
  -i, --hardware-platform  ╨╜╨░╨┐╨╡╤З╨░╤В╨░╤В╤М ╤В╨╕╨┐ ╨░╨┐╨┐╨░╤А╨░╤В╨╜╨╛╨╣ ╨┐╨╗╨░╤В╤Д╨╛╤А╨╝╤Л ╨╕╨╗╨╕ ┬л╨╜╨╡╨╕╨╖╨▓╨╡╤Б╤В╨╜╨╛┬╗
  -o, --operating-system   ╨╜╨░╨┐╨╡╤З╨░╤В╨░╤В╤М ╨╕╨╝╤П ╨╛╨┐╨╡╤А╨░╤Ж╨╕╨╛╨╜╨╜╨╛╨╣ ╤Б╨╕╤Б╤В╨╡╨╝╤Л
      --help     ╨┐╨╛╨║╨░╨╖╨░╤В╤М ╤Н╤В╤Г ╤Б╨┐╤А╨░╨▓╨║╤Г ╨╕ ╨▓╤Л╨╣╤В╨╕
      --version  ╨┐╨╛╨║╨░╨╖╨░╤В╤М ╨╕╨╜╤Д╨╛╤А╨╝╨░╤Ж╨╕╤О ╨╛ ╨▓╨╡╤А╤Б╨╕╨╕ ╨╕ ╨▓╤Л╨╣╤В╨╕

рдореЗрдореЛрд░реА рдЬрд╛рдирдХрд╛рд░реА

рдХрддрд┐ RAM рдУрдЧрдЯреЗрдХреЛ рдЫ рд╡рд╛ рдЦрд╛рд▓реА рдЫ рднрдиреЗрд░ рдмреБрдЭреНрди, рддрдкрд╛рдЗрдБ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдореБрдХреНрдд.

[user@testhost ~]$ free -h
              total        used        free      shared  buff/cache   available
Mem:           3,9G        555M        143M         56M        3,2G        3,0G
Swap:            0B          0B          0B

рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА (рдореБрдХреНрдд рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди)

рдЯреЛрд▓реА df рдорд╛рдЙрдиреНрдЯ рдЧрд░рд┐рдПрдХрд╛ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдХрддрд┐ рдард╛рдЙрдБ рдЦрд╛рд▓реА рдЫ рд░ рдУрдЧрдЯреЗрдХреЛ рдЫ рднрдиреЗрд░ рд╣реЗрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

[user@testhost ~]$ df -hT
╨д╨░╨╣╨╗╨╛╨▓╨░╤П ╤Б╨╕╤Б╤В╨╡╨╝╨░ ╨в╨╕╨┐      ╨а╨░╨╖╨╝╨╡╤А ╨Ш╤Б╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╨╜╨╛  ╨Ф╨╛╤Б╤В ╨Ш╤Б╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╨╜╨╛% C╨╝╨╛╨╜╤В╨╕╤А╨╛╨▓╨░╨╜╨╛ ╨▓
/dev/vda1        ext4        79G          21G   55G           27% /
devtmpfs         devtmpfs   2,0G            0  2,0G            0% /dev
tmpfs            tmpfs      2,0G            0  2,0G            0% /dev/shm
tmpfs            tmpfs      2,0G          57M  1,9G            3% /run
tmpfs            tmpfs      2,0G            0  2,0G            0% /sys/fs/cgroup
tmpfs            tmpfs      396M            0  396M            0% /run/user/1001

рд╡рд┐рдХрд▓реНрдк -T рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдорд╛рдирд┐рдд рд╣реБрдиреБрдкрд░реНрдЫ рднрдиреЗрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрджрдЫред

рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рд░ рд╡рд┐рднрд┐рдиреНрди рддрдереНрдпрд╛рдЩреНрдХрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА

рдпреЛ рдЧрд░реНрди, рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╢реАрд░реНрд╖ред рдпреЛ рд╡рд┐рднрд┐рдиреНрди рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд╕рдХреНрд╖рдо рдЫ: рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, RAM рдЙрдкрдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рд╢реАрд░реНрд╖ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реБ рд╡рд╛ CPU рд╕рдордп рдЙрдкрдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рд╢реАрд░реНрд╖ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реБред рдпрд╕рд▓реЗ рдореЗрдореЛрд░реА, CPU, рдЕрдкрдЯрд╛рдЗрдо рд░ LA (рд▓реЛрдб рдФрд╕рдд) рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рдкрдирд┐ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрдЫред

[user@testhost ~]$ top | head -10
top - 17:19:13 up 154 days,  6:59,  3 users,  load average: 0.21, 0.21, 0.27
Tasks: 2169 total,   2 running, 2080 sleeping,   0 stopped,   0 zombie
Cpu(s):  1.7%us,  0.7%sy,  0.0%ni, 97.5%id,  0.0%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:  125889960k total, 82423048k used, 43466912k free, 16026020k buffers
Swap:        0k total,        0k used,        0k free, 31094516k cached

    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  25282 user      20   0 16988 3936 1964 R  7.3  0.0   0:00.04 top
   4264 telegraf  20   0 2740m 240m  22m S  1.8  0.2  23409:39 telegraf
   6718 root      20   0 35404 4768 3024 S  1.8  0.0   0:01.49 redis-server

рдпреЛ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╕рдБрдЧ рд╕рдореГрджреНрдз рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЫ, рддреНрдпрд╕реИрд▓реЗ рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдкреНрд░рд╛рдп: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рдпрд╕рдХреЛ рдХрд╛рдЧрдЬрд╛рддрд╣рд░реВ рдкрдвреНрдиреБ рд░рд╛рдореНрд░реЛ рд╣реБрдиреНрдЫред

рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░рд╛рдлрд┐рдХ рдбрдореНрдк

рд▓рд┐рдирдХреНрд╕рдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░рд╛рдлрд┐рдХ рдЕрд╡рд░реЛрдз рдЧрд░реНрди, рдПрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ tcpdumpред рдкреЛрд░реНрдЯ 12345 рдорд╛ рдЯреНрд░рд╛рдлрд┐рдХ рдбрдореНрдк рдЧрд░реНрди, рддрдкрд╛рдЗрдБ рдирд┐рдореНрди рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

[user@testhost ~]$ sudo tcpdump -i any -A port 12345

рд╡рд┐рдХрд▓реНрдк -A рднрдиреНрдЫрдиреН рдХрд┐ рд╣рд╛рдореА ASCII рдорд╛ рдЖрдЙрдЯрдкреБрдЯ рд╣реЗрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ (рддреНрдпрд╕реИрд▓реЗ рдпреЛ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд░рд╛рдореНрд░реЛ рдЫ), - рдо рдХреБрдиреИ рдкрдирд┐ рд╕рдЮреНрдЬрд╛рд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕рдорд╛ рд╣рд╛рдореНрд░реЛ рд░реБрдЪрд┐ рдЫреИрди рднрдиреА рд╕рдВрдХреЗрдд рдЧрд░реНрдЫ, рдкреЛрд░реНрдЯ - рдХреБрди рдкреЛрд░реНрдЯ рдЯреНрд░рд╛рдлрд┐рдХ рдбрдореНрдк рдЧрд░реНрдиред рд╕рдЯреНрдЯрд╛рдорд╛ рдкреЛрд░реНрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрджрдЫ рдкрд╛рд╣реБрдирд╛, рд╡рд╛ рд╕рдВрдпреЛрдЬрди рдкрд╛рд╣реБрдирд╛ ╨╕ рдкреЛрд░реНрдЯ (рд╣реЛрд╕реНрдЯ рдП рд░ рдкреЛрд░реНрдЯ рдПрдХреНрд╕)ред рдЕрд░реНрдХреЛ рдЙрдкрдпреЛрдЧреА рд╡рд┐рдХрд▓реНрдк рд╣реБрди рд╕рдХреНрдЫ -n - рдЖрдЙрдЯрдкреБрдЯрдорд╛ рдареЗрдЧрд╛рдирд╛рд╣рд░реВрд▓рд╛рдИ рд╣реЛрд╕реНрдЯрдирд╛рдорд╣рд░реВрдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдирдЧрд░реНрдиреБрд╣реЛрд╕реНред
рдпрджрд┐ рдЯреНрд░рд╛рдлрд┐рдХ рдмрд╛рдЗрдирд░реА рд╣реЛ рднрдиреЗ рдХреЗ рд╣реБрдиреНрдЫ? рддреНрдпрд╕рдкрдЫрд┐ рд╡рд┐рдХрд▓реНрдкрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫ -X - рд╣реЗрдХреНрд╕ рд░ ASCII рдорд╛ рдЖрдЙрдЯрдкреБрдЯ рдбрд╛рдЯрд╛:

[user@testhost ~]$ sudo tcpdump -i any -X port 12345

рдпреЛ рдзреНрдпрд╛рдирдорд╛ рд░рд╛рдЦреНрдиреБ рдкрд░реНрдЫ рдХрд┐ рджреБрдмреИ рдкреНрд░рдпреЛрдЧрдорд╛ рдЖрдИрдкреА рдкреНрдпрд╛рдХреЗрдЯрд╣рд░реВ рдЖрдЙрдЯрдкреБрдЯ рд╣реБрдиреЗрдЫрдиреН, рддреНрдпрд╕реИрд▓реЗ рддрд┐рдиреАрд╣рд░реВрдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХрдХреЛ рд╕реБрд░реБрдорд╛ рдмрд╛рдЗрдирд░реА рдЖрдИрдкреА рд░ TCP рд╣реЗрдбрд░рд╣рд░реВ рд╣реБрдиреЗрдЫрдиреНред рдпрд╣рд╛рдБ рдХреНрд╡реЗрд░реАрдХреЛ рд▓рд╛рдЧрд┐ рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рдЖрдЙрдЯрдкреБрдЯ рдЫ "123" рдкреЛрд░реНрдЯ 12345 рдорд╛ рд╕реБрдиреНрджреИ рд╕рд░реНрднрд░рдорд╛ рдкрдард╛рдЗрдпреЛ:

[user@testhost ~]$ sudo tcpdump -i any -X port 12345
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
14:27:13.224762 IP localhost.49794 > localhost.italk: Flags [P.], seq 2262177478:2262177483, ack 3317210845, win 342, options [nop,nop,TS val 3196604972 ecr 3196590131], length 5
    0x0000:  4510 0039 dfb6 4000 4006 5cf6 7f00 0001  E..9..@.@......
    0x0010:  7f00 0001 c282 3039 86d6 16c6 c5b8 9edd  ......09........
    0x0020:  8018 0156 fe2d 0000 0101 080a be88 522c  ...V.-........R,
    0x0030:  be88 1833 3132 330d 0a00 0000 0000 0000  ...3123.........
    0x0040:  0000 0000 0000 0000 00                   .........

рдЖрдЙрдЯрдкреБрдЯрдХреЛ рд╕рдЯреНрдЯрд╛

рдирд┐рд╕реНрд╕рдиреНрджреЗрд╣, рддреНрдпрд╣рд╛рдБ рд▓рд┐рдирдХреНрд╕рдорд╛ рдзреЗрд░реИ рд░реЛрдЪрдХ рдЪреАрдЬрд╣рд░реВ рдЫрдиреН рдЬреБрди рддрдкрд╛рдИрдВрд▓реЗ Habr├й, StackOverflow рд░ рдЕрдиреНрдп рд╕рд╛рдЗрдЯрд╣рд░реВрдорд╛ рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ (рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ рдПрдЙрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдиреЗрдЫреБред рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдХреЛ рдХрд▓рд╛, рдЬреБрди рдкрдирд┐ рдЫ рдЕрдиреБрд╡рд╛рдж рдорд╛)ред рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдХрд╣рд░реВ рд░ DevOps рд╕рд░реНрднрд░рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдзреЗрд░реИ рдЖрджреЗрд╢рд╣рд░реВ рд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреН, рддрд░ рдкрд░реАрдХреНрд╖рдХрд╣рд░реВрд╕рдБрдЧ рдкрдирд┐ рд╕реВрдЪреАрдмрджреНрдз рдЖрджреЗрд╢рд╣рд░реВ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реБрди рд╕рдХреНрдЫред рддрдкрд╛рдИрдВрд▓реЗ рдХреНрд▓рд╛рдЗрдиреНрдЯ рд░ рд╕рд░реНрднрд░ рдмреАрдЪрдХреЛ рдХреЗрд╣рд┐ рдХрдард┐рди рд╕рдордп рд╕рдорд╛рдкреНрддрд┐рдХреЛ рд╢реБрджреНрдзрддрд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрджрдЫ, рд╡рд╛ рдХреБрдиреИ рдЦрд╛рд▓реА рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдирднрдПрдХреЛ рдмреЗрд▓рд╛ рд╕рд░реНрднрд░рдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдиред рдо рдкрдирд┐ рдХреБрд░рд╛ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫреИрди, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдбрдХрд░, рдЬреБрди рдЕрд╣рд┐рд▓реЗ рдзреЗрд░реИ рдХрдореНрдкрдиреАрд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рд╕рдХреНрд░рд┐рдп рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдпреЛ рд╕рдиреНрджрд░реНрдн рд▓реЗрдЦрдХреЛ рдирд┐рд░рдиреНрддрд░рддрд╛рдХреЛ рднрд╛рдЧрдХреЛ рд░реВрдкрдорд╛, рдкрд░реАрдХреНрд╖рдг рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдорд╛ рд╡рд┐рднрд┐рдиреНрди рд▓рд┐рдирдХреНрд╕ рдХрдиреНрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдзреЗрд░реИ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рд░реЛрдЪрдХ рд╣реБрдиреЗрдЫ? рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдорд╛ рддрдкрд╛рдЗрдБрдХреЛ рд╢реАрд░реНрд╖ рдЯреЛрд▓реАрд╣рд░реВ рдкрдирд┐ рд╕рд╛рдЭрд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН :)

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди