рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛
рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдореЗрд░рд╛ рдирд╛рдо рд╕рд╛рд╢рд╛ рд╣реИ, рдФрд░ рдореИрдВ рдЫрд╣ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдмреИрдХрдПрдВрдб (рд╕реЗрд╡рд╛рдУрдВ) рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реА рд╣реВрдВред Linux рдФрд░ рдПрдкреАрдЖрдИ)ред рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдореБрдЭреЗ рдПрдХ рдкрд░реАрдХреНрд╖рдХ рдорд┐рддреНрд░ рдХреЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдмрд╛рдж рдЖрдпрд╛, рдЬрд┐рд╕рдиреЗ рдореБрдЭрд╕реЗ рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд▓рд╛рд╣ рдорд╛рдВрдЧреА рдереАред Linux рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рд╕реЗ рдкрд╣рд▓реЗред рдЖрдорддреМрд░ рдкрд░, QA рдЗрдВрдЬреАрдирд┐рдпрд░ рдкрдж рдХреЗ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреЛ рдмреБрдирд┐рдпрд╛рджреА рдХрдорд╛рдВрдбреНрд╕ рдХрд╛ рдЬреНрдЮрд╛рди рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ (рдпрджрд┐ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ рддреЛ)ред Linuxрд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рдЗрдВрдЯрд░рд╡реНрдпреВ рдХреА рддреИрдпрд╛рд░реА рдХреЗ рджреМрд░рд╛рди рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдХрд┐рди рдХрдорд╛рдВрдбреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП? Linux рдмрд╣реБрдд рдХрдо рдпрд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ?
рдЗрд╕рд▓рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдкрд╣рд▓реЗ рднреА рдХрдИ рдмрд╛рд░ рд▓рд┐рдЦрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рдлрд┐рд░ рднреА рдореИрдВрдиреЗ рдПрдХ рдФрд░ рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛редLinux "рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП" рд╢реАрд░реНрд╖рдХ рдХреЗ рдЕрдВрддрд░реНрдЧрдд, рдЙрди рдмреБрдирд┐рдпрд╛рджреА рдХрдорд╛рдВрдбреЛрдВ рдХреА рд╕реВрдЪреА рдмрдирд╛рдПрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рд╡рд┐рднрд╛рдЧ (рдпрд╛ рдХрдВрдкрдиреА) рдореЗрдВ рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред LinuxрдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдХрд┐рди рдХрдорд╛рдВрдб рдФрд░ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬрд╝ рдХрд╛ рд╕рдмрд╕реЗ рдЬрд╝реНрдпрд╛рджрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реВрдБ рдФрд░ рдХрд┐рди рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реВрдБ, рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рд╕реЗ рдлреАрдбрдмреИрдХ рд▓рд┐рдпрд╛ рдФрд░ рдЗрди рд╕рдмрдХреЛ рдПрдХ рд▓реЗрдЦ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ред рдпрд╣ рд▓реЗрдЦ рддреАрди рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИ: рдкрд╣рд▓рд╛ рднрд╛рдЧ, рдЯрд░реНрдорд┐рдирд▓ рдЗрдирдкреБрдЯ/рдЖрдЙрдЯрдкреБрдЯ рдХреА рдореВрд▓ рдмрд╛рддреЛрдВ рдХрд╛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрдиред LinuxрдЗрд╕рдХреЗ рдмрд╛рдж рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдХрдорд╛рдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рддреАрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред Linux.
рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдореЗрдВ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рд╕рднреА рдпрд╣рд╛рдВ рд╕реВрдЪреАрдмрджреНрдз рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдЖрдк рд╣рдореЗрд╢рд╛ ` рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВрдЖрджрдореА <рдХрдорд╛рдВрдб>` рдпрд╛ `<рдХрдорд╛рдВрдб> --рдорджрдж` рдЯреАрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП.
рдЙрджрд╛рд╣рд░рдг:
[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 + рд╕реА (рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдПрдХ рд╕рдВрдХреЗрдд рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ SIGINT).
рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА
рдЬрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ LinuxрдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП 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.
рдЗрдирдкреБрдЯ-рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг (рдпрд╛ рдмрд▓реНрдХрд┐, рдпрд╣ рдЕрдВрддрд░рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдВрдЪрд╛рд░ рдХрд╛ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рд╛рдзрди рд╣реИ) рд╣реИ рдкрд╛рдЗрдк (рдпрд╛ рдХрдиреНрд╡реЗрдпрд░). рдкрд╛рдЗрдкрд▓рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдХрдИ рдХрдорд╛рдВрдбреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: 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
рдмреБрдирд┐рдпрд╛рджреА рдЖрджреЗрд╢ Linux
рд▓реЛрдХ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рднрд╛рдЧ
рд╡рд░реНрддрдорд╛рди (рдХрд╛рд░реНрдпрд╢реАрд▓) рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ.
[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
рджреЛ рд╡рд┐рд╢реЗрд╖ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рд╣реИрдВ: "."рдФрд░"..". рдкрд╣рд▓реЗ рдХрд╛ рдорддрд▓рдм рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ, рджреВрд╕рд░реЗ рдХрд╛ рдорддрд▓рдм рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИред рд╡реЗ рд╡рд┐рднрд┐рдиреНрди рдХрдорд╛рдВрдбреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, 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
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 рдлрд╝рд╛рдЗрд▓ рдХреА рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдпрд╛ рдмрд╛рдЗрдЯреНрд╕) рдФрд░ рдкреВрдВрдЫ (рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рджреА рдЬрд╛рдПрдЧреА)
рдкреВрдВрдЫ
рдирд┐рдХрд╛рд▓рдирд╛ 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
рдореИрдВ рд╕реНрд╡рдпрдВ рдЖрдорддреМрд░ рдкрд░ рдмреАрдПрд╕рдбреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ "рддрдХ┬╗ тАФ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ (рдЪреВрдВрдХрд┐ рдХрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдирдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдкрд╣рд▓реЗ 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]
рдХрдИ рд▓реЛрдЧ рдмреАрдПрд╕рдбреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ"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 рдкреИрдХреЗрдЯ рднреЗрдЬреЗрдВ рдЗрдХреЛ_рдЕрдиреБрд░реЛрдз.
[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
рдПрд╕рдПрд╕рдПрдЪ
рдУрдкрдирдПрд╕рдПрд╕рдПрдЪ рдПрд╕рдПрд╕рдПрдЪ рдХреНрд▓рд╛рдЗрдВрдЯ рдЖрдкрдХреЛ рджреВрд░рд╕реНрде рд╣реЛрд╕реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
MacBook-Pro-User:~ user$ ssh user@11.11.22.22
Last login: Tue Nov 26 11:27:39 2019 from another_host
[user@testhost ~]$ hostname
testhost
SSH рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХрдИ рдмрд╛рд░реАрдХрд┐рдпрд╛рдБ рд╣реИрдВ, рдФрд░ рдЗрд╕ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рднреА рдмрд╣реБрдд рд╕рд╛рд░реА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ (рдпрд╛ рдЬрд╝рд░реВрд░рдд рд╣реЛ) рддреЛ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ .
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 user@11.11.22.22:/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
рдЖрдк рдЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЗ рдорд╛рди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Linux рдЕрдВрддрд┐рдо рдкреВрд░реНрдг рд╣реБрдП рдХрдорд╛рдВрдб рдХрд╛ рдПрдЧреНрдЬрд┐рдЯ рдХреЛрдб рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡реЗрд░рд┐рдПрдмрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред $?, рдФрд░ рдЗрд╕ рддрд░рд╣ рдЖрдк рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдВрддрд┐рдо рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐ рд╣реБрдИ рдереА:
[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 h.Nw....I.D@SM.a
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>
рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ Linux
рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рд╛рдореА рдмрджрд▓реЗрдВ
рдЖрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд╕реНрд╡рд╛рдореА рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ 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 - рддреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕рднреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд╛рдореА рдмрджрд▓ рдЬрд╛рдпреЗрдВрдЧреЗред
рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдмрджрд▓реЗрдВ
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдкрд░рд┐рд╡рд░реНрддрди рд╡рд┐рджреНрдпрд╛. рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░, рдореИрдВ рдЕрдиреБрдорддрд┐ рд╕реЗрдЯрд┐рдВрдЧ рджреВрдВрдЧрд╛ "рдорд╛рд▓рд┐рдХ рдХреЛ рдкрдврд╝рдиреЗ, рд▓рд┐рдЦрдиреЗ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рд╕рдореВрд╣ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ, рдмрд╛рдХреА рд╕рднреА рдХреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ":
[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 рдЖрдкрдХреЛ рдкреНрд░рднрд╛рд╡ рдкреИрджрд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЧреНрд░реЗрдк'рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд - рдХреЗрд╡рд▓ рд╡реЗ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реА рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдВрдЧреА рдЬрд┐рдирдореЗрдВ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреИрдЯрд░реНрди рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЧреНрд░реЗрдк.
рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬ рджреЗрдЦреЗрдВ
рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд┐рдпрдо рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рд╡рд┐рддрд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред 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 рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдХреЛ рдЙрд▓реНрдЯреЗ рдХреНрд░рдо рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ "рдвреВрдВрдвреЗрдВ рдФрд░ рдмрджрд▓реЗрдВ"
рдпрд╣ рдСрдкрд░реЗрд╢рди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдкреНрдпрд╛рд╕ (рдЭрдВрдбреЗ рдХреЗ рдмрд┐рдирд╛) g рдЕрдВрдд рдореЗрдВ, рдкрдВрдХреНрддрд┐ рдореЗрдВ рдХреЗрд╡рд▓ "old-text" рдХрд╛ рдкреНрд░рдердо рдкреНрд░рдпреЛрдЧ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛):
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
рдЖрдЙрдЯрдкреБрдЯ рд╕реЗ рдХреЙрд▓рдо рд╣рдЯрд╛рдПрдБ
рдпрд╣ рдХрд╛рд░реНрдп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ awk. рдпрд╣ рдЙрджрд╛рд╣рд░рдг ` рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рджреВрд╕рд░рд╛ рдХреЙрд▓рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИредрдкреАрдПрд╕ рдпреВрдПрдХреНрд╕`:
[user@testhost ~]$ ps ux | awk '{print $2}'
PID
11023
25870
25871
25908
25909
рдпрд╣ рдмрд╛рдд рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ awk рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рдореГрджреНрдз рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдореЗрдВ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣реЛрд╕реНрдЯ рдирд╛рдо рд╕реЗ 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 рд╕рдордп рдЙрдкрдпреЛрдЧ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╢реАрд░реНрд╖ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВред рдпрд╣ рдореЗрдореЛрд░реА, рд╕реАрдкреАрдпреВ, рдЕрдкрдЯрд╛рдЗрдо рдФрд░ рдПрд▓рдП (рд▓реЛрдб рдФрд╕рдд) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
[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 рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЯреАрд╕реАрдкреАрдбрдореНрдк. рдкреЛрд░реНрдЯ 12345 рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдбрдВрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрди рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
[user@testhost ~]$ sudo tcpdump -i any -A port 12345
рд╡рд┐рдХрд▓реНрдк -A рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЖрдЙрдЯрдкреБрдЯ рдХреЛ ASCII рдореЗрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЯреЗрдХреНрд╕реНрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ), -рдореИрдВ рдХреЛрдИ рднреА рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рдХреЛрдИ рд░реБрдЪрд┐ рдирд╣реАрдВ рд╣реИ, рдмрдВрджрд░рдЧрд╛рд╣ тАФ рдЬреЛ рдкреЛрд░реНрдЯ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдбрдВрдк рдХрд░рддрд╛ рд╣реИред рдХреЗ рдмрдЬрд╛рдп рдмрдВрджрд░рдЧрд╛рд╣ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдореЗрдЬрдмрд╛рди, рдпрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рдореЗрдЬрдмрд╛рди ╨╕ рдмрдВрджрд░рдЧрд╛рд╣ (рд╣реЛрд╕реНрдЯ A рдФрд░ рдкреЛрд░реНрдЯ X). рдПрдХ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдЬреЛ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ -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 .........
рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдмрдЬрд╛рдп
рдмреЗрд╢рдХ, рдореЗрдВ Linux Habr, StackOverflow рдФрд░ рдЕрдиреНрдп рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдЖрдкрдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рднреА рдХрдИ рджрд┐рд▓рдЪрд╕реНрдк рдЪреАрдЬреЗрдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИрдВ (рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛)ред , рдЬреЛ рд╣реИ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрдЯрд░ рдФрд░ рдбреЗрд╡рдСрдкреНрд╕ рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрдИ рдФрд░ рдХрдорд╛рдВрдб рдФрд░ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЯреЗрд╕реНрдЯрд░реНрд╕ рдХреЛ рднреА рд╕реВрдЪреАрдмрджреНрдз рдХрдорд╛рдВрдб рдЕрдкрд░реНрдпрд╛рдкреНрдд рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рдЬрдЯрд┐рд▓ рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЯрд╛рдЗрдордЖрдЙрдЯ рдХреА рд╕рдЯреАрдХрддрд╛ рдпрд╛ рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕ рдХрдо рд╣реЛрдиреЗ рдкрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЙрдХрд░ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдирд╛ рднреА рдЬрд╝рд░реВрд░реА рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдЬрдХрд▓ рдХрдИ рдХрдВрдкрдирд┐рдпрд╛рдБ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдХрд░ рд░рд╣реА рд╣реИрдВред рдЗрд╕ рд╕рдВрджрд░реНрдн рд▓реЗрдЦ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдХрдВрд╕реЛрд▓ рдпреВрдЯрд┐рд▓рд┐рдЯреАрдЬрд╝ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред Linux рд╕рд░реНрд╡рд┐рд╕ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди? рд╕рд╛рде рд╣реА, рдХрдореЗрдВрдЯреНрд╕ рдореЗрдВ рдЕрдкрдиреЗ рд╕рдмрд╕реЗ рдкрд╕рдВрджреАрджрд╛ рдХрдорд╛рдВрдбреНрд╕ рд╢реЗрдпрд░ рдХрд░реЗрдВ :)
рд╕реНрд░реЛрдд: www.habr.com
