рдкрд░реАрдХреНрд╖рдХ рдЖрдгрд┐ рдЕрдзрд┐рдХрд╕рд╛рдареА рдореВрд▓рднреВрдд Linux рдХрдорд╛рдВрдб

рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛

рд╕рд░реНрд╡рд╛рдВрдирд╛ рдирдорд╕реНрдХрд╛рд░! рдорд╛рдЭреЗ рдирд╛рд╡ рд╕рд╛рд╢рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдореА рд╕рд╣рд╛ рд╡рд░реНрд╖рд╛рдВрд╣реВрди рдЕрдзрд┐рдХ рдХрд╛рд│ рдмреЕрдХрдПрдВрдб (рд▓рд┐рдирдХреНрд╕ рд╕реЗрд╡рд╛ рдЖрдгрд┐ API) рдЪреА рдЪрд╛рдЪрдгреА рдХрд░рдд рдЖрд╣реЗ. рдПрдХрд╛ рдкрд░реАрдХреНрд╖рдХ рдорд┐рддреНрд░рд╛рдиреЗ рдореБрд▓рд╛рдЦрддреАрдкреВрд░реНрд╡реА рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдбреНрд╕рдмрджреНрджрд▓ рдХрд╛рдп рд╡рд╛рдЪрддрд╛ рдпреЗрдИрд▓ рд╣реЗ рд╕рд╛рдВрдЧрдгреНрдпрд╛рдЪреА рд╡рд┐рдирдВрддреА рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рдорд▓рд╛ рд▓реЗрдЦрд╛рдЪреА рдХрд▓реНрдкрдирд╛ рд╕реБрдЪрд▓реА. рд╕рд╛рдорд╛рдиреНрдпрддрдГ, рдХреНрдпреВрдП рдЕрднрд┐рдпрдВрддрд╛ рдкрджрд╛рд╕рд╛рдареА рдЙрдореЗрджрд╡рд╛рд░рд╛рд▓рд╛ рдореВрд▓рднреВрдд рдЖрдЬреНрдЮрд╛ рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдЬрд░, рдЕрд░реНрдерд╛рддрдЪ, рддреНрдпрд╛рдордзреНрдпреЗ рд▓рд┐рдирдХреНрд╕рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕реЗрд▓), рдкрд░рдВрддреБ рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдХрдореА рдЕрд╕рд▓реНрдпрд╛рд╕ рдореБрд▓рд╛рдЦрддреАрдЪреА рддрдпрд╛рд░реА рдХрд░рддрд╛рдирд╛ рдХреЛрдгрддреНрдпрд╛ рдХрдорд╛рдВрдбреНрд╕ рд╡рд╛рдЪрдгреЗ рдпреЛрдЧреНрдп рдЖрд╣реЗ рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╕реЗ рдХрд│реЗрд▓? рдХрд┐рдВрд╡рд╛ рд▓рд┐рдирдХреНрд╕рдЪрд╛ рдЕрдиреБрднрд╡ рдирд╛рд╣реА?

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

рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдбрдордзреНрдпреЗ рдЕрдиреЗрдХ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗрдд, рддреЗ рд╕рд░реНрд╡ рдпреЗрдереЗ рд╕реВрдЪреАрдмрджреНрдз рдХреЗрд▓реЗ рдЬрд╛рдгрд╛рд░ рдирд╛рд╣реАрдд. рддреБрдореНрд╣реА рдиреЗрд╣рдореА `рдПрдВрдЯрд░ рдХрд░реВ рд╢рдХрддрд╛рдорд╛рдгреВрд╕ <command>` рдХрд┐рдВрд╡рд╛ `<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 тАФ рддреНрд░реБрдЯреА рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. Linux рд╡рд░ рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рддрд╛рдирд╛ рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ stdout ╨╕ stderr рдХрдиреНрд╕реЛрд▓рд╡рд░ рд╕рд░реНрд╡ рдорд╛рд╣рд┐рддреА рдЖрдЙрдЯрдкреБрдЯ рдХрд░рд╛, рддрдерд╛рдкрд┐, рдЬрд░ рдХрдорд╛рдВрдбрдЪреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЛрдареЗ рдЕрд╕реЗрд▓, рддрд░ рддреЗ рдлрд╛рдЗрд▓рд╡рд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдгреЗ рд╕реЛрдпреАрдЪреЗ рдЕрд╕реЗрд▓. рд╣реЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдпрд╛рдкреНрд░рдорд╛рдгреЗ:

[user@testhost ~]$ 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

рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдСрдкрд░реЗрд╢рди `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

рдореВрд▓рднреВрдд рд▓рд┐рдирдХреНрд╕ рдЖрджреЗрд╢

рдкреАрдбрдмреНрд▓реНрдпреВрдбреА

рд╡рд░реНрддрдорд╛рди (рдХрд╛рд░реНрдпрд░рдд) рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рд╛.

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

рддрд╛рд░реАрдЦ

рд╡рд░реНрддрдорд╛рди рдкреНрд░рдгрд╛рд▓реА рддрд╛рд░реАрдЦ рдЖрдгрд┐ рд╡реЗрд│ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рд╛.

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

w

рд╣реА рдХрдорд╛рдВрдб рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдХреЛрдг рд▓реЙрдЧ рдЗрди рдЖрд╣реЗ рд╣реЗ рджрд╛рдЦрд╡рддреЗ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рд╕реНрдХреНрд░реАрдирд╡рд░ рдЕрдкрдЯрд╛рдЗрдо рдЖрдгрд┐ рдПрд▓рдП (рд▓реЛрдб рд╕рд░рд╛рд╕рд░реА) рджреЗрдЦреАрд▓ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд.

[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

рддреБрдореНрд╣реА рдбрд┐рд░реЗрдХреНрдЯрд░реА рдирд╛рд╡ рд╡рд┐рддрд░реНрдХ рдореНрд╣рдгреВрди рдкрд╛рд╕ рди рдХреЗрд▓реНрдпрд╛рд╕, рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдИрд▓ $ HOME, рдореНрд╣рдгрдЬреЗ, рд╣реЛрдо рдбрд┐рд░реЗрдХреНрдЯрд░реА. рд╡рд╛рдкрд░рдгреЗрд╣реА рд╕реЛрдпреАрдЪреЗ рдЕрд╕реВ рд╢рдХрддреЗ `~` рд╣рд╛ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгрд╛рдЪрд╛ рдЕрд░реНрде рдЖрд╣реЗ $ HOME:

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

рдПрдордХреЗрдбреАрдЖрд░

рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддрдпрд╛рд░ рдХрд░рд╛.

[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

рдХрд╛рд╣реАрд╡реЗрд│рд╛ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ: рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрддреАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛. рд╕рд▓рдЧ рдЕрдиреЗрдХ рд╡реЗрд│рд╛ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреЗ рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдПрдордХреЗрдбреАрдЖрд░, рддреБрдореНрд╣реА рдкрд░реНрдпрд╛рдп рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ -p тАФ рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдкрджрд╛рдиреБрдХреНрд░рдорд╛рддреАрд▓ рд╕рд░реНрд╡ рдЧрд╣рд╛рд│ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рддрд╕реЗрдЪ рдпрд╛ рдкрд░реНрдпрд╛рдпрд╛рд╕рд╣ рдПрдордХреЗрдбреАрдЖрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЕрд╕рд▓реНрдпрд╛рд╕ рддреНрд░реБрдЯреА рдкрд░рдд рдХрд░рдгрд╛рд░ рдирд╛рд╣реА.

[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 рдлрд╛рдЗрд▓рдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдУрд│реА рдХрд┐рдВрд╡рд╛ рдмрд╛рдЗрдЯреНрд╕) рдЖрдгрд┐ рд╢реЗрдкрдЯреА (рдирдВрддрд░ рддрд┐рдЪреНрдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ).

рд╢реЗрдкрдЯреА

рдорд╛рдЧреЗ рдШреНрдпрд╛ 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 рдСрдХреНрд╕".

рдард╛рд░

рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рд╕рд┐рдЧреНрдирд▓ рдкрд╛рдард╡рд╛. рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░ рд╕рд┐рдЧреНрдирд▓ рдкрд╛рдард╡рд┐рд▓рд╛ рдЬрд╛рддреЛ рд╕рдВрдХреЗрдд, рдЬреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ.

[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

рдПрд╕рдПрд╕рдПрдЪ

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

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

scp

рд╣реЛрд╕реНрдЯрдордзреАрд▓ рдлрд╛рдЗрд▓реНрд╕ рдХреЙрдкреА рдХрд░рд╛ (рдпрд╛ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдПрд╕рдПрд╕рдПрдЪ).

[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 рджреАрд░реНрдШрдХрд╛рд│ рдЬреБрдирд╛ рдЭрд╛рд▓рд╛ рдЖрд╣реЗ), рддрд░ рдЯреЗрд▓рдиреЗрдЯ рдпрд╛ рд╣реЗрддреВрдВрд╕рд╛рдареА рдпреЛрдЧреНрдп рдирд╛рд╣реА. рдкрдг рдХреНрд▓рд╛рдпрдВрдЯ рдпреЗрдИрд▓ openssl:

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>

рд▓рд┐рдирдХреНрд╕рдордзреАрд▓ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рдгреЗ

рдлрд╛рдЗрд▓ рдорд╛рд▓рдХ рдмрджрд▓рд╛

рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВрди рддреБрдореНрд╣реА рдлрд╛рдЗрд▓ рдХрд┐рдВрд╡рд╛ рдбрд┐рд░реЗрдХреНрдЯрд░реАрдЪрд╛ рдорд╛рд▓рдХ рдмрджрд▓реВ рд╢рдХрддрд╛ рдЧрд╛рдгреЗ:

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

рдпрд╛ рдЖрджреЗрд╢рд╛рдЪреЗ рдкреЕрд░рд╛рдореАрдЯрд░ рдирд╡реАрди рдорд╛рд▓рдХ рдЖрдгрд┐ рдЧрдЯ (рдкрд░реНрдпрд╛рдпреА), рдХреЛрд▓рдирдиреЗ рд╡рд┐рднрдХреНрдд рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рддрд╕реЗрдЪ, рдбрд┐рд░реЗрдХреНрдЯрд░реАрдЪрд╛ рдорд╛рд▓рдХ рдмрджрд▓рддрд╛рдирд╛, рдкрд░реНрдпрд╛рдп рдЙрдкрдпреБрдХреНрдд рдард░реВ рд╢рдХрддреЛ -R - рдирдВрддрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрддреАрд▓ рд╕рд░реНрд╡ рд╕рд╛рдордЧреНрд░реАрд╕рд╛рдареА рдорд╛рд▓рдХ рдмрджрд▓рддреАрд▓.

рдлрд╛рдЗрд▓ рдкрд░рд╡рд╛рдирдЧреНрдпрд╛ рдмрджрд▓рд╛

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

[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

рдлрд╛рдпрд▓реАрдВрдордзреНрдпреЗ рдордЬрдХреВрд░ рд╢реЛрдзрд╛

рдХрд╛рд░реНрдпрд╕рдВрдШ рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рдгреНрдпрд╛рд╕ рдорджрдд рдХрд░реЗрд▓ grep. рдпрд╛рдЪреЗ рдЕрдиреЗрдХ рдЙрдкрдпреЛрдЧ рдЖрд╣реЗрдд, рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкрд╛ рдпреЗрдереЗ рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди рджрд┐рд▓реЗрд▓рд╛ рдЖрд╣реЗ.

[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

рдХрдорд╛рдВрдб рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдорд╛рд░реНрдЧ grep - рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреЗ (рдкрд╛рдИрдк):

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

рдкрд░реНрдпрд╛рдп -v рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкреНрд░рднрд╛рд╡ рдкрд╛рдбрдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ grep'рдЖрдгрд┐ рдЙрд▓рдЯ - рдлрдХреНрдд рдУрд│реА рдЬреНрдпрд╛рдордзреНрдпреЗ рдкрд╛рд╕ рдХреЗрд▓реЗрд▓рд╛ рдирдореБрдирд╛ рдирд╕рддреЛ grep.

рд╕реНрдерд╛рдкрд┐рдд рдкреЕрдХреЗрдЬ рдкрд╣рд╛

рдХреЛрдгрддреАрд╣реА рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдЖрдЬреНрдЮрд╛ рдирд╛рд╣реА, рдХрд╛рд░рдг рд╕рд░реНрд╡рдХрд╛рд╣реА Linux рд╡рд┐рддрд░рдг рдЖрдгрд┐ рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рдкреЕрдХреЗрдЬ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЕрд╕рддреЗ. рдмрд╣реБрдзрд╛ рдЦрд╛рд▓реАрд▓рдкреИрдХреА рдПрдХ рдХрдорд╛рдВрдб рддреБрдореНрд╣рд╛рд▓рд╛ рдорджрдд рдХрд░реЗрд▓:

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

рдЙрдШрдбреЗ рдкреЛрд░реНрдЯ рдкрд╣рд╛

рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЙрдкрдпреБрдХреНрддрддрд╛ рд╡рд╛рдкрд░рд╛ рдиреЗрдЯрд╕реНрдЯреЕрдЯ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕рд░реНрд╡ рдЯреАрд╕реАрдкреА рдЖрдгрд┐ рдпреВрдбреАрдкреА рдРрдХрдгреНрдпрд╛рдЪреЗ рдкреЛрд░реНрдЯ рдкреЛрд░реНрдЯрд╡рд░ рдРрдХрдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдкреАрдЖрдпрдбреАрдЪреНрдпрд╛ рдкреНрд░рджрд░реНрд╢рдирд╛рд╕рд╣ рдЖрдгрд┐ рдкреЛрд░реНрдЯрдЪреЗ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдЦрд╛рд▓реАрд▓ рдкрд░реНрдпрд╛рдпрд╛рдВрд╕рд╣ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:

[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

рдпрд╛ рдпреБрдЯрд┐рд▓рд┐рдЯреАрдордзреНрдпреЗ рд╕рдореГрджреНрдз рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЖрд╣реЗ, рдореНрд╣рдгреВрди рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рддреЗ рд╡рд╛рд░рдВрд╡рд╛рд░ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реНрдпрд╛рд╕, рддреНрдпрд╛рдЪреЗ рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рд╡рд╛рдЪрдгреЗ рдЪрд╛рдВрдЧрд▓реЗ.

рдиреЗрдЯрд╡рд░реНрдХ рд░рд╣рджрд╛рд░реА рдбрдВрдк

Linux рдордзреНрдпреЗ рдиреЗрдЯрд╡рд░реНрдХ рд░рд╣рджрд╛рд░реА рд░реЛрдЦрдгреНрдпрд╛рд╕рд╛рдареА, рдПрдХ рдЙрдкрдпреБрдХреНрддрддрд╛ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рддреЗ 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

рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ рдХреА рджреЛрдиреНрд╣реА рд╡рд╛рдкрд░рд╛рдЪреНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ рдЖрдпрдкреА рдкреЕрдХреЗрдЯреНрд╕ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддреАрд▓, рдореНрд╣рдгреВрди рддреНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХрд╛рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдмрд╛рдпрдирд░реА рдЖрдпрдкреА рдЖрдгрд┐ рдЯреАрд╕реАрдкреА рд╢реАрд░реНрд╖рд▓реЗрдЦ рдЕрд╕рддреАрд▓. рдпреЗрдереЗ рдХреНрд╡реЗрд░реАрд╕рд╛рдареА рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрдЙрдЯрдкреБрдЯ рдЖрд╣реЗ "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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛