เชŸเซ‡เชธเซเชŸเชฐเซเชธ เช…เชจเซ‡ เชตเชงเซ เชฎเชพเชŸเซ‡ เชฎเซ‚เชณเชญเซ‚เชค Linux เช†เชฆเซ‡เชถเซ‹

เชซเซ‹เชฐเชตเชฐเซเชก

เช•เซ‡เชฎ เช›เซ‹ เชฌเชงเชพ! เชฎเชพเชฐเซเช‚ เชจเชพเชฎ เชธเชพเชถเชพ เช›เซ‡, เช…เชจเซ‡ เชนเซเช‚ เช› เชตเชฐเซเชทเชฅเซ€ เชตเชงเซ เชธเชฎเชฏเชฅเซ€ เชฌเซ‡เช•เชเชจเซเชก (Linux เชธเซ‡เชตเชพเช“ เช…เชจเซ‡ API) เชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚. เช† เชฒเซ‡เช– เชฎเชพเชŸเซ‡เชจเซ‹ เชตเชฟเชšเชพเชฐ เชฎเชจเซ‡ เชเช• เชŸเซ‡เชธเซเชŸเชฐ เชฎเชฟเชคเซเชฐ เชฆเซเชตเชพเชฐเชพ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชชเชนเซ‡เชฒเชพเช‚ Linux เช•เชฎเชพเชจเซเชกเซเชธ เชตเชฟเชถเซ‡ เชถเซเช‚ เชตเชพเช‚เชšเซ€ เชถเช•เซ‡ เชคเซ‡ เช•เชนเซ‡เชตเชพเชจเซ€ เชฌเซ€เชœเซ€ เชตเชฟเชจเช‚เชคเซ€ เชชเช›เซ€ เช†เชตเซเชฏเซ‹. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, QA เช‡เชœเชจเซ‡เชฐ เชชเชฆ เชฎเชพเชŸเซ‡เชจเชพ เช‰เชฎเซ‡เชฆเชตเชพเชฐเชจเซ‡ เชฎเซ‚เชณเชญเซ‚เชค เช†เชฆเซ‡เชถเซ‹ เชœเชพเชฃเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชนเซ‹เชฏ เช›เซ‡ (เชœเซ‹, เช…เชฒเชฌเชคเซเชค, เชคเซ‡เช“ Linux เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡), เชชเชฐเช‚เชคเซ เชคเชฎเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชœเชพเชฃเซ‹ เช›เซ‹ เช•เซ‡ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ‚เชจเซ€ เชคเซˆเชฏเชพเชฐเซ€ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เช“เช›เชพ เชนเซ‹เชฏ เชคเซ‹ เช•เชฏเชพ เช†เชฆเซ‡เชถเซ‹ เชตเชพเช‚เชšเชตเชพ เชฏเซ‹เช—เซเชฏ เช›เซ‡. เช…เชฅเชตเชพ Linux เชธเชพเชฅเซ‡ เช•เซ‹เชˆ เช…เชจเซเชญเชต เชจเชฅเซ€?

เชคเซ‡เชฅเซ€, เชœเซ‹ เช•เซ‡ เช† เชตเชฟเชถเซ‡ เช˜เชฃเซ€ เชตเชพเชฐ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เช›เซ‡, เชคเซ‡เชฎ เช›เชคเชพเช‚, เชฎเซ‡เช‚ เชนเชœเซ€ เชชเชฃ เชเช• เชฌเซ€เชœเซ‹ เชฒเซ‡เช– "เชจเชตเชพ เชจเชฟเชถเชพเชณเซ€เชฏเชพ เชฎเชพเชŸเซ‡ เชฒเชฟเชจเช•เซเชธ" เชฒเช–เชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ เช…เชจเซ‡ เช…เชนเซ€เช‚ เชฎเซ‚เชณเชญเซ‚เชค เช†เชฆเซ‡เชถเซ‹เชจเซ€ เชธเซ‚เชšเชฟเชฌเชฆเซเชง เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชœเซ‡ เชคเชฎเชพเชฐเซ‡ เชฒเชฟเชจเช•เซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเชพ เชตเชฟเชญเชพเช— (เช…เชฅเชตเชพ เช•เช‚เชชเชจเซ€) เชฎเชพเช‚ เช•เซ‹เชˆเชชเชฃ เช‡เชจเซเชŸเชฐเชตเซเชฏเซ เชชเชนเซ‡เชฒเชพเช‚ เชœเชพเชฃเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชฎเซ‡เช‚ เช•เชฏเชพ เช†เชฆเซ‡เชถเซ‹ เช…เชจเซ‡ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“ เช…เชจเซ‡ เช•เชฏเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เชธเชพเชฅเซ‡ เชนเซเช‚ เชฎเซ‹เชŸเชพเชญเชพเช—เซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเช‚ เช›เซเช‚ เชคเซ‡ เชตเชฟเชถเซ‡ เชตเชฟเชšเชพเชฐเซเชฏเซเช‚, เชฎเชพเชฐเชพ เชธเชพเชฅเซ€เชฆเชพเชฐเซ‹ เชชเชพเชธเซ‡เชฅเซ€ เชชเซเชฐเชคเชฟเชธเชพเชฆ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซเชฏเซ‹ เช…เชจเซ‡ เชคเซ‡ เชฌเชงเชพเชจเซ‡ เชเช• เชฒเซ‡เช–เชฎเชพเช‚ เชธเช‚เช•เชฒเชฟเชค เช•เชฐเซเชฏเชพ. เชฒเซ‡เช– 3 เชญเชพเช—เซ‹เชฎเชพเช‚ เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒเซ‹ เช›เซ‡: เชชเซเชฐเชฅเชฎ, Linux เชŸเชฐเซเชฎเชฟเชจเชฒเชฎเชพเช‚ I/O เชจเซ€ เชฎเซ‚เชณเชญเซ‚เชค เชฌเชพเชฌเชคเซ‹ เชตเชฟเชถเซ‡ เชธเช‚เช•เซเชทเชฟเชชเซเชค เชฎเชพเชนเชฟเชคเซ€, เชชเช›เซ€ เชธเซŒเชฅเซ€ เชฎเซ‚เชณเชญเซ‚เชค เช†เชฆเซ‡เชถเซ‹เชจเซ€ เชเชพเช‚เช–เซ€, เช…เชจเซ‡ เชคเซเชฐเซ€เชœเซ‹ เชญเชพเช— Linux เชฎเชพเช‚ เชธเชพเชฎเชพเชจเซเชฏ เชธเชฎเชธเซเชฏเชพเช“เชจเซเช‚ เชจเชฟเชฐเชพเช•เชฐเชฃ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚ เชคเซ‡เชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ‡ เช›เซ‡.

เชฆเชฐเซ‡เช• เช†เชฆเซ‡เชถเชฎเชพเช‚ เช˜เชฃเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡, เชคเซ‡ เชฌเชงเชพเชจเซ‡ เช…เชนเซ€เช‚ เชธเซ‚เชšเชฟเชฌเชฆเซเชง เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ เชจเชนเซ€เช‚. เชคเชฎเซ‡ เชนเช‚เชฎเซ‡เชถเชพ ` เชฆเชพเช–เชฒ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹เชฎเชพเชฃเชธ <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 + เชธเซ€ (เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฎเชพเชŸเซ‡ เชธเช‚เช•เซ‡เชค เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชธเชพเช‡เชจ เช‡เชจ เช•เชฐเซ‹).

เช•เชฎเชพเชจเซเชก เช†เช‰เชŸเชชเซเชŸ เชตเชฟเชถเซ‡ เชฅเซ‹เชกเซเช‚

เชœเซเชฏเชพเชฐเซ‡ Linux เชฎเชพเช‚ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชถเชฐเซ‚ เชฅเชพเชฏ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชคเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฎเชพเชŸเซ‡ 3 เชชเซเชฐเชฎเชพเชฃเชญเซ‚เชค เชกเซ‡เชŸเชพ เชธเซเชŸเซเชฐเซ€เชฎเซเชธ เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡: เชธเซเชŸเชกเซ€เชจ, 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 เช†เชฆเซ‡เชถเซ‹ เชชเชฐ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชธเซเชŸเชกเซ€เชจ เช†เช—เชณ, เช…เชจเซ‡ เชคเซ‡เชฅเซ€ เชตเชงเซ เชธเชพเช‚เช•เชณเชฎเชพเช‚:

[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 เช†เชฆเซ‡เชถเซ‹

pwd

เชตเชฐเซเชคเชฎเชพเชจ (เช•เชพเชฐเซเชฏเช•เชพเชฐเซ€) เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฆเชฐเซเชถเชพเชตเซ‹.

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

เชคเชพเชฐเซ€เช–

เชตเชฐเซเชคเชฎเชพเชจ เชธเชฟเชธเซเชŸเชฎ เชคเชพเชฐเซ€เช– เช…เชจเซ‡ เชธเชฎเชฏ เชฆเชฐเซเชถเชพเชตเซ‹.

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

w

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

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

ls

เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เช›เชพเชชเซ‹. เชœเซ‹ เชคเชฎเซ‡ เชชเชพเชฅ เชชเชธเชพเชฐ เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚, เชคเซ‹ เชตเชฐเซเชคเชฎเชพเชจ เชจเชฟเชฐเซเชฆเซ‡เชถเชฟเช•เชพเชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชถเซ‡.

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

เช…เช‚เช—เชค เชฐเซ€เชคเซ‡, เชนเซเช‚ เช˜เชฃเซ€เชตเชพเชฐ เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเช‚ เช›เซเช‚ -l (เชฒเชพเช‚เชฌเซ€ เชธเซ‚เชšเชฟ เชซเซ‹เชฐเซเชฎเซ‡เชŸ - เชซเชพเช‡เชฒเซ‹ เชตเชฟเชถเซ‡ เชตเชงเชพเชฐเชพเชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชธเชพเชฅเซ‡ เช•เซ‰เชฒเชฎเชฎเชพเช‚ เช†เช‰เชŸเชชเซเชŸ), -t (เชซเชพเช‡เชฒ/เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชซเซ‡เชฐเชซเชพเชฐ เชธเชฎเชฏ เชฆเซเชตเชพเชฐเชพ เชตเชฐเซเช—เซ€เช•เชฐเชฃ) เช…เชจเซ‡ -r (เชตเชฟเชชเชฐเซ€เชค เชธเซ‰เชฐเซเชŸเชฟเช‚เช— - เชธเชพเชฅเซ‡ เชธเช‚เชฏเซ‹เชœเชจเชฎเชพเช‚ -t เชธเซŒเชฅเซ€ เชคเชพเชœเซ‡เชคเชฐเชจเซ€ เชซเชพเช‡เชฒเซ‹ เชคเชณเชฟเชฏเซ‡ เชนเชถเซ‡):

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

เชคเซเชฏเชพเช‚ 2 เชตเชฟเชถเซ‡เชท เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชจเชพเชฎเซ‹ เช›เซ‡: "."เช…เชจเซ‡".." เชชเซเชฐเชฅเชฎเชจเซ‹ เช…เชฐเซเชฅ เชตเชฐเซเชคเชฎเชพเชจ เชจเชฟเชฐเซเชฆเซ‡เชถเชฟเช•เชพ เช›เซ‡, เชฌเซ€เชœเชพเชจเซ‹ เช…เชฐเซเชฅ เชชเชฟเชคเซƒ เชจเชฟเชฐเซเชฆเซ‡เชถเชฟเช•เชพ เช›เซ‡. เชคเซ‡เช“ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชตเชฟเชตเชฟเชง เชŸเซ€เชฎเซ‹เชฎเชพเช‚ เชตเชพเชชเชฐเชตเชพ เชฎเชพเชŸเซ‡ เช…เชจเซเช•เซ‚เชณ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ ls:

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

เช›เซเชชเชพเชฏเซ‡เชฒ เชซเชพเช‡เชฒเซ‹ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• เช‰เชชเชฏเซ‹เช—เซ€ เชตเชฟเช•เชฒเซเชช เชชเชฃ เช›เซ‡ (" เชฅเซ€ เชถเชฐเซ‚ เช•เชฐเซ€เชจเซ‡.") - -a:

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

เชคเชฎเซ‡ เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชชเชฃ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ -h - เชฎเชพเชจเชต เชตเชพเช‚เชšเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเชพ เชซเซ‹เชฐเซเชฎเซ‡เชŸเชฎเชพเช‚ เช†เช‰เชŸเชชเซเชŸ (เชซเชพเช‡เชฒเชจเชพ เช•เชฆ เชชเชฐ เชงเซเชฏเชพเชจ เช†เชชเซ‹):

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

cd

เชตเชฐเซเชคเชฎเชพเชจ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฌเชฆเชฒเซ‹.

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

เชœเซ‹ เชคเชฎเซ‡ เชฆเชฒเซ€เชฒ เชคเชฐเซ€เช•เซ‡ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชจเชพเชฎ เชชเชพเชธ เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚, เชคเซ‹ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ $ เช˜เชฐ, เชเชŸเชฒเซ‡ เช•เซ‡, เชนเซ‹เชฎ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€. เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชชเชฃ เช…เชจเซเช•เซ‚เชณ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡~` เชเช• เชตเชฟเชถเชฟเชทเซเชŸ เช…เช•เซเชทเชฐเชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ $ เช˜เชฐ:

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

เชเชฎเชกเซ€เชกเซ€เช†เชˆเช†เชฐ

เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชฌเชจเชพเชตเซ‹.

[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 เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซเช‚ เช›เซเช‚ "aux" - เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชฌเชงเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเซ‹ (เช•เชพเชฐเชฃ เช•เซ‡ เชคเซเชฏเชพเช‚ เช˜เชฃเซ€ เชฌเชงเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡, เชฎเซ‡เช‚ เชชเชพเช‡เชชเชฒเชพเช‡เชจเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชซเช•เซเชค เชชเซเชฐเชฅเชฎ 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
...
...
...

เช† เช†เชฆเซ‡เชถเชฎเชพเช‚ เช˜เชฃเชพเช‚ เชตเชฟเชตเชฟเชง เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡, เชคเซ‡เชฅเซ€ เชœเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเซ‹ เชธเช•เซเชฐเชฟเชฏเชชเชฃเซ‡ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เช›เซ‹, เชคเซ‹ เชนเซเช‚ เชญเชฒเชพเชฎเชฃ เช•เชฐเซเช‚ เช›เซเช‚ เช•เซ‡ เชคเชฎเซ‡ เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ เชตเชพเช‚เชšเซ‹. เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚, เชคเซ‡ เชซเช•เซเชค เชœเชพเชฃเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเซเช‚ เช›เซ‡ "เชชเซ€.เชเชธ. เช”เช•เซเชธ".

เชฎเชพเชฐเชตเชพ

เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เชฎเชพเชŸเซ‡ เชธเช‚เช•เซ‡เชค เชฎเซ‹เช•เชฒเซ‹. เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชธเชฟเช—เซเชจเชฒ เชฎเซ‹เช•เชฒเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชธเช‚เช•เซ‡เชค, เชœเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเซ‡ เชธเชฎเชพเชชเซเชค เช•เชฐเซ‡ เช›เซ‡.

[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

เชคเซ‡ เช‰เชชเชฐเชพเช‚เชค เช‰เชฒเซเชฒเซ‡เช– เช•เชฐเซเชฏเซ‹ เช›เซ‡ เชธเช‚เช•เซ‡เชค ะธ เชธเช‚เช•เซ‡เชค เชคเซเชฏเชพเช‚ เช˜เชฃเชพ เชตเชงเซ เชตเชฟเชตเชฟเชง เชธเช‚เช•เซ‡เชคเซ‹ เช›เซ‡; เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชธเซ‚เชšเชฟ เช‡เชจเซเชŸเชฐเชจเซ‡เชŸ เชชเชฐ เชธเชฐเชณเชคเชพเชฅเซ€ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡. เช…เชจเซ‡ เชญเซ‚เชฒเชถเซ‹ เชจเชนเซ€เช‚ เช•เซ‡ เชธเช‚เช•เซ‡เชคเซ‹ เชธเช‚เช•เซ‡เชค ะธ เชธเชฟเช—เชธเซเชŸOPเชช เช…เชŸเช•เชพเชตเซ€ เชถเช•เชพเชคเซ€ เชจเชฅเซ€ เช…เชฅเชตเชพ เช…เชตเช—เชฃเซ€ เชถเช•เชพเชคเซ€ เชจเชฅเซ€.

เชŸเซ‡เชฌเชฒ เชŸเซ‡เชจเชฟเชธเชจเซ€ เชฐเชฎเชคเชจเซเช‚ เชตเซ‡เชชเชพเชฐเซ€

เชนเซ‹เชธเซเชŸเชจเซ‡ ICMP เชชเซ‡เช•เซ‡เชŸ เชฎเซ‹เช•เชฒเซ‹ ECHO_REQUEST.

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

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

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

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

ssh

OpenSSH SSH เช•เซเชฒเชพเชฏเช‚เชŸ เชคเชฎเชจเซ‡ เชฐเชฟเชฎเซ‹เชŸ เชนเซ‹เชธเซเชŸ เชธเชพเชฅเซ‡ เชœเซ‹เชกเชพเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฐเชตเชพเชจเช—เซ€ เช†เชชเซ‡ เช›เซ‡.

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

SSH เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช˜เชฃเซ€ เช˜เซ‹เช‚เช˜เชพเชŸ เช›เซ‡, เช…เชจเซ‡ เช† เช•เซเชฒเชพเชฏเช‚เชŸ เชชเชพเชธเซ‡ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เช•เซเชทเชฎเชคเชพเช“ เชชเชฃ เช›เซ‡, เชคเซ‡เชฅเซ€ เชœเซ‹ เชคเชฎเซ‡ เชˆเชšเซเช›เซ‹ (เช…เชฅเชตเชพ เชœเชฐเซ‚เชฐ) เชคเซ‹ เชคเชฎเซ‡ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ เชตเชฟเช—เชคเซ‹เชฎเชพเช‚.

scp

เชฏเชœเชฎเชพเชจเซ‹ เชตเชšเซเชšเซ‡ เชซเชพเช‡เชฒเซ‹เชจเซ€ เชจเช•เชฒ เช•เชฐเซ‹ (เช† เช‰เชชเชฏเซ‹เช— เชฎเชพเชŸเซ‡ ssh).

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

rsync

เชคเชฎเซ‡ เชฏเชœเชฎเชพเชจเซ‹ เชตเชšเซเชšเซ‡ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช“ เชธเชฟเช‚เช•เซเชฐเชจเชพเช‡เช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเชฃ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ rsync (-a โ€” เช†เชฐเซเช•เชพเช‡เชต เชฎเซ‹เชก, เชคเชฎเชจเซ‡ "เชœเซ‡เชฎ เช›เซ‡ เชคเซ‡เชฎ" เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชจเซ€ เชธเช‚เชชเซ‚เชฐเซเชฃ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ€ เชจเช•เชฒ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡, -v โ€” เชตเชงเชพเชฐเชพเชจเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเชพ เช•เชจเซเชธเซ‹เชฒ เชชเชฐ เช†เช‰เชŸเชชเซเชŸ):

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

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

เช‡เช•เซ‹

เชŸเซ‡เช•เซเชธเซเชŸเชจเซ€ เชเช• เชฒเชพเช‡เชจ เชฆเชฐเซเชถเชพเชตเซ‹.

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

เช…เชนเซ€เช‚ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเชพ เชฏเซ‹เช—เซเชฏ เชตเชฟเช•เชฒเซเชชเซ‹ -n - เช…เช‚เชคเชฎเชพเช‚ เชฒเชพเช‡เชจ เชฌเซเชฐเซ‡เช• เชธเชพเชฅเซ‡ เชฒเชพเช‡เชจ เชœเซ‹เชกเชถเซ‹ เชจเชนเซ€เช‚, เช…เชจเซ‡ -e - "" เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชเชธเซเช•เซ‡เชชเชฟเช‚เช— เช…เชฐเซเชฅเช˜เชŸเชจ เชธเช•เซเชทเชฎ เช•เชฐเซ‹.

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

เชคเชฎเซ‡ เช† เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชšเชฒเซ‹เชจเซ€ เช•เชฟเช‚เชฎเชคเซ‹ เชชเชฃ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, 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

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 เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เชœเซ‚เชจเซเช‚ เช›เซ‡), เชคเซ‹ Telnet เช† เชนเซ‡เชคเซเช“ เชฎเชพเชŸเซ‡ เชฏเซ‹เช—เซเชฏ เชจเชฅเซ€. เชชเชฃ เช—เซเชฐเชพเชนเช• เช†เชตเชถเซ‡ 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>

Linux เชฎเชพเช‚ เชธเชพเชฎเชพเชจเซเชฏ เชธเชฎเชธเซเชฏเชพเช“เชจเซเช‚ เชจเชฟเชฐเชพเช•เชฐเชฃ

เชซเชพเช‡เชฒ เชฎเชพเชฒเชฟเช• เชฌเชฆเชฒเซ‹

เชคเชฎเซ‡ เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชซเชพเช‡เชฒ เช…เชฅเชตเชพ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชจเชพ เชฎเชพเชฒเชฟเช•เชจเซ‡ เชฌเชฆเชฒเซ€ เชถเช•เซ‹ เช›เซ‹ เชšเซ‰เชจ:

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

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

เชซเชพเช‡เชฒ เชชเชฐเชตเชพเชจเช—เซ€เช“ เชฌเชฆเชฒเซ‹

เช† เชธเชฎเชธเซเชฏเชพเชจเซ‡ เช†เชฆเซ‡เชถเชจเซ€ เชฎเชฆเชฆเชฅเซ€ เช‰เช•เซ‡เชฒเซ€ เชถเช•เชพเชฏ เช›เซ‡ chmod. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชนเซเช‚ เชชเชฐเชตเชพเชจเช—เซ€ เชธเซ‡เชŸเชฟเช‚เช— เช†เชชเซ€เชถ "เชฎเชพเชฒเชฟเช•เชจเซ‡ เชตเชพเช‚เชšเชตเชพ, เชฒเช–เชตเชพเชจเซ€ เช…เชจเซ‡ เชšเชฒเชพเชตเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡, เชœเซ‚เชฅเชจเซ‡ เชตเชพเช‚เชšเชตเชพ เช…เชจเซ‡ เชฒเช–เชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช›เซ‡, เชฌเชพเช•เซ€เชจเชพ เชฆเชฐเซ‡เช•เชจเซ‡ เช•เช‚เชˆเชชเชฃ เชฎเช‚เชœเซ‚เชฐเซ€ เชจเชฅเซ€":

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

เชชเซ‡เชฐเชพเชฎเซ€เชŸเชฐเชฎเชพเช‚ เชชเซเชฐเชฅเชฎ 7 (เช† เชฌเซ€เชŸ เชฐเชœเซ‚เช†เชคเชฎเชพเช‚ 0b111 เช›เซ‡) เชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ "เชฎเชพเชฒเชฟเช• เชฎเชพเชŸเซ‡เชจเชพ เชคเชฎเชพเชฎ เช…เชงเชฟเช•เชพเชฐเซ‹", เชฌเซ€เชœเชพ 6 (เช† เชฌเซ€เชŸ เชฐเชœเซ‚เช†เชคเชฎเชพเช‚ 0b110 เช›เซ‡) เชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ "เชตเชพเช‚เชšเซ‹ เช…เชจเซ‡ เชฒเช–เซ‹", เช…เชจเซ‡ 0 เชจเซ‹ เช…เชฐเซเชฅ เชฌเชพเช•เซ€เชจเชพ เชฎเชพเชŸเซ‡ เช•เช‚เชˆ เชจเชฅเซ€ . เชฌเซ€เชŸเชฎเชพเชธเซเช•เชฎเชพเช‚ เชคเซเชฐเชฃ เชฌเชฟเชŸเซเชธ เชนเซ‹เชฏ เช›เซ‡: เช“เช›เชพเชฎเชพเช‚ เช“เช›เซเช‚ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ ("เชœเชฎเชฃเซ‡") เชฌเซ€เชŸ เช…เชฎเชฒ เชฎเชพเชŸเซ‡ เชœเชตเชพเชฌเชฆเชพเชฐ เช›เซ‡, เชชเช›เซ€เชจเซเช‚ ("เชฎเชงเซเชฏเชฎ") เชฌเซ€เชŸ เชฒเซ‡เช–เชจ เชฎเชพเชŸเซ‡ เช›เซ‡, เช…เชจเซ‡ เชธเซŒเชฅเซ€ เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ ("เชกเชพเชฌเซ‡") เชฌเซ€เชŸ เชตเชพเช‚เชšเชตเชพ เชฎเชพเชŸเซ‡ เช›เซ‡.
เชคเชฎเซ‡ เชตเชฟเชถเชฟเชทเซเชŸ เช…เช•เซเชทเชฐเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเชฐเชตเชพเชจเช—เซ€เช“ เชชเชฃ เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ (เชจเซ‡เชฎเซ‹เชจเชฟเช• เชตเชพเช•เซเชฏเชฐเชšเชจเชพ). เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชจเซ€เชšเซ‡เชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เชชเชนเซ‡เชฒเชพ เชตเชฐเซเชคเชฎเชพเชจ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชฎเชพเชŸเซ‡ เช…เชฎเชฒเชจเชพ เช…เชงเชฟเช•เชพเชฐเซ‹ เชฆเซ‚เชฐ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชชเช›เซ€ เชคเซ‡เชฎเชจเซ‡ เชชเชพเช›เชพ เชฌเชฆเชฒเซ‡ เช›เซ‡:

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

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

เชฆเซเชตเชฟเชธเช‚เช—เซ€ เชซเชพเช‡เชฒเชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เช“ เช›เชพเชชเซ‹

เช† เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡ เชนเซ‡เช•เซเชธเชกเชฎเซเชช. เชจเซ€เชšเซ‡ เชคเซ‡เชจเชพ เช‰เชชเชฏเซ‹เช—เชจเชพ เช‰เชฆเชพเชนเชฐเชฃเซ‹ เช›เซ‡.

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

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

เชซเชพเชˆเชฒเซ‹ เชถเซ‹เชงเซ‹

เชคเชฎเซ‡ เช†เชฆเซ‡เชถเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€ เชŸเซเชฐเซ€เชฎเชพเช‚ เชคเซ‡เชจเชพ เชจเชพเชฎเชจเชพ เชญเชพเช— เชฆเซเชตเชพเชฐเชพ เชซเชพเช‡เชฒ เชถเซ‹เชงเซ€ เชถเช•เซ‹ เช›เซ‹ เชถเซ‹เชงเชตเชพ:

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

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

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

เชซเชพเช‡เชฒเซ‹เชฎเชพเช‚ เชŸเซ‡เช•เซเชธเซเชŸ เชถเซ‹เชงเซ‹

เชŸเซ€เชฎ เชคเชฎเชจเซ‡ เช† เช•เชพเชฐเซเชฏเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเชถเซ‡ 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 เชคเชฎเชจเซ‡ เชตเชฟเชชเชฐเซ€เชค เช•เซเชฐเชฎเชฎเชพเช‚ เชกเซ‡เชŸเชพเชจเซ‡ เชธเซ‰เชฐเซเชŸ เช•เชฐเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡.

เชซเชพเช‡เชฒเชฎเชพเช‚, เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เชฎเชพเช‚เชจเซ€ เชซเชพเช‡เชฒเซ‹เชฎเชพเช‚ "เชถเซ‹เชงเซ‹ เช…เชจเซ‡ เชฌเชฆเชฒเซ‹".

เช† เช•เชพเชฎเช—เซ€เชฐเซ€ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชชเชฐเช‚เชคเซ (เช•เซ‹เชˆ เชงเซเชตเชœ เชจเชฅเซ€ 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

เช–เซเชฒเซเชฒเชพ เชฌเช‚เชฆเชฐเซ‹ เชœเซเช“

เช† เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‹ เชจเซ‡เชŸเชธเซเชŸเซ‡เชŸ. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเชฎเชพเชฎ TCP เช…เชจเซ‡ UDP เชธเชพเช‚เชญเชณเชตเชพเชจเชพ เชชเซ‹เชฐเซเชŸเชจเซ‡ เชชเซ‹เชฐเซเชŸ เชชเชฐ เชธเชพเช‚เชญเชณเชตเชพเชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชจเชพ PID เช…เชจเซ‡ เชชเซ‹เชฐเซเชŸเชจเซ€ เชธเช‚เช–เซเชฏเชพเชคเซเชฎเช• เชฐเชœเซ‚เช†เชค เชธเชพเชฅเซ‡ เชœเซ‹เชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เชธเชพเชฅเซ‡ เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

[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 เชฎเชพเช‚ เช†เช‰เชŸเชชเซเชŸ เชœเซ‹เชตเชพ เชฎเชพเช‚เช—เซ€เช เช›เซ€เช (เชคเซ‡เชฅเซ€ เชคเซ‡ เชŸเซ‡เช•เซเชธเซเชŸ เชชเซเชฐเซ‹เชŸเซ‹เช•เซ‹เชฒเซเชธ เชฎเชพเชŸเซ‡ เชธเชพเชฐเซเช‚ เช›เซ‡), - เชนเซเช‚ เช•เซ‹เชˆเชชเชฃ เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เช•เซ‡ เช…เชฎเชจเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชฎเชพเช‚ เชฐเชธ เชจเชฅเซ€, เชชเซ‹เชฐเซเชŸ - เช•เชฏเชพ เชชเซ‹เชฐเซเชŸ เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เชกเชฎเซเชช เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡. เชจเซ€ เชฌเชฆเชฒเซ‡ เชชเซ‹เชฐเซเชŸ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชฏเชœเชฎเชพเชจ, เช…เชฅเชตเชพ เชฎเชฟเชถเซเชฐเชฃ เชฏเชœเชฎเชพเชจ ะธ เชชเซ‹เชฐเซเชŸ (เชฏเชœเชฎเชพเชจ A เช…เชจเซ‡ เชชเซ‹เชฐเซเชŸ X). เช…เชจเซเชฏ เช‰เชชเชฏเซ‹เช—เซ€ เชตเชฟเช•เชฒเซเชช เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ -n โ€” เช†เช‰เชŸเชชเซเชŸเชฎเชพเช‚ เชธเชฐเชจเชพเชฎเชพเช‚เช“เชจเซ‡ เชฏเชœเชฎเชพเชจเชจเชพเชฎเซ‹เชฎเชพเช‚ เชฐเซ‚เชชเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชถเซ‹ เชจเชนเซ€เช‚.
เชœเซ‹ เชŸเซเชฐเชพเชซเชฟเช• เชฌเชพเชˆเชจเชฐเซ€ เชนเซ‹เชฏ เชคเซ‹ เชถเซเช‚? เชชเช›เซ€ เชตเชฟเช•เชฒเซเชช เช…เชฎเชจเซ‡ เชฎเชฆเชฆ เช•เชฐเชถเซ‡ -X - เชนเซ‡เช•เซเชธ เช…เชจเซ‡ ASCII เชฎเชพเช‚ เช†เช‰เชŸเชชเซเชŸ เชกเซ‡เชŸเชพ:

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

เชคเซ‡ เชงเซเชฏเชพเชจเชฎเชพเช‚ เชฒเซ‡เชตเซเช‚ เชœเซ‹เชˆเช เช•เซ‡ เชฌเช‚เชจเซ‡ เช‰เชชเชฏเซ‹เช—เชจเชพ เช•เชฟเชธเซเชธเชพเช“เชฎเชพเช‚ IP เชชเซ‡เช•เซ‡เชŸเซเชธ เช†เช‰เชŸเชชเซเชŸ เชนเชถเซ‡, เชคเซ‡เชฅเซ€ เชคเซ‡เชฎเชพเช‚เชจเชพ เชฆเชฐเซ‡เช•เชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เชฌเชพเชˆเชจเชฐเซ€ IP เช…เชจเซ‡ TCP เชนเซ‡เชกเชฐ เชนเชถเซ‡. เช…เชนเซ€เช‚ เช•เซเชตเซ‡เชฐเซ€ เชฎเชพเชŸเซ‡เชจเซเช‚ เช‰เชฆเชพเชนเชฐเชฃ เช†เช‰เชŸเชชเซเชŸ เช›เซ‡ "123" เชชเซ‹เชฐเซเชŸ 12345 เชชเชฐ เชธเชพเช‚เชญเชณเชคเชพ เชธเชฐเซเชตเชฐ เชชเชฐ เชฎเซ‹เช•เชฒเซ‡เชฒ:

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

เช†เช‰เชŸเชชเซเชŸเชจเซ‡ เชฌเชฆเชฒเซ‡

เช…เชฒเชฌเชคเซเชค, Linux เชฎเชพเช‚ เช˜เชฃเซ€ เชตเชงเซ เชฐเชธเชชเซเชฐเชฆ เชตเชธเซเชคเซเช“ เช›เซ‡ เชœเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชคเชฎเซ‡ Habrรฉ, StackOverflow เช…เชจเซ‡ เช…เชจเซเชฏ เชธเชพเช‡เชŸเซเชธ เชชเชฐ เชตเชพเช‚เชšเซ€ เชถเช•เซ‹ เช›เซ‹ (เชนเซเช‚ เชคเชฎเชจเซ‡ เชเช• เช‰เชฆเชพเชนเชฐเชฃ เช†เชชเซ€เชถ เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจเชจเซ€ เช•เชณเชพ, เชœเซ‡ เชชเชฃ เช›เซ‡ เช…เชจเซเชตเชพเชฆเชฎเชพเช‚). เชธเชฟเชธเซเชŸเชฎ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐเซเชธ เช…เชจเซ‡ DevOps เชธเชฐเซเชตเชฐเชจเซ‡ เช—เซ‹เช เชตเชตเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเชพ เชตเชงเซ เช†เชฆเซ‡เชถเซ‹ เช…เชจเซ‡ เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชชเชฐเซ€เช•เซเชทเช•เซ‹ เชชเชพเชธเซ‡ เชชเชฃ เชธเซ‚เชšเชฟเชฌเชฆเซเชง เช†เชฆเซ‡เชถเซ‹ เชชเซ‚เชฐเชคเชพ เชจเชฅเซ€. เชคเชฎเชพเชฐเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸ เช…เชจเซ‡ เชธเชฐเซเชตเชฐ เชตเชšเซเชšเซ‡เชจเชพ เช•เซ‡เชŸเชฒเชพเช• เชฎเซเชถเซเช•เซ‡เชฒ เชธเชฎเชฏเชธเชฎเชพเชชเซเชคเชฟเชจเซ€ เชšเซ‹เช•เชธเชพเชˆ เช…เชฅเชตเชพ เชœเซเชฏเชพเชฐเซ‡ เช•เซ‹เชˆ เช–เชพเชฒเซ€ เชกเชฟเชธเซเช• เชœเช—เซเชฏเชพ เชจ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ เชธเชฐเซเชตเชฐเชจเซเช‚ เชธเช‚เชšเชพเชฒเชจ เชคเชชเชพเชธเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เชชเชกเซ€ เชถเช•เซ‡ เช›เซ‡. เชนเซเช‚ เชคเซ‡เชจเชพ เชตเชฟเชถเซ‡ เชชเชฃ เชตเชพเชค เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เชจเชฅเซ€, เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชกเซ‹เช•เชฐ, เชœเซ‡ เชนเชตเซ‡ เช˜เชฃเซ€ เช•เช‚เชชเชจเซ€เช“ เชฆเซเชตเชพเชฐเชพ เชธเช•เซเชฐเชฟเชฏเชชเชฃเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡. เชถเซเช‚ เช† เชธเช‚เชฆเชฐเซเชญ เชฒเซ‡เช– เชšเชพเชฒเซ เชฐเชพเช–เชตเชพเชจเชพ เชญเชพเช— เชฐเซ‚เชชเซ‡, เชชเชฐเซ€เช•เซเชทเชฃ เชธเซ‡เชตเชพเช“เชจเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเชฎเชพเช‚ เชตเชฟเชตเชฟเชง Linux เช•เชจเซเชธเซ‹เชฒ เชฏเซเชŸเชฟเชฒเชฟเชŸเซ€เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเชพ เช•เซ‡เชŸเชฒเชพเช• เช‰เชฆเชพเชนเชฐเชฃเซ‹ เชœเซ‹เชตเชพเชจเซเช‚ เชฐเชธเชชเซเชฐเชฆ เชฐเชนเซ‡เชถเซ‡? เชŸเชฟเชชเซเชชเชฃเซ€เช“เชฎเชพเช‚ เชคเชฎเชพเชฐเซ€ เชŸเซ‹เชšเชจเซ€ เชŸเซ€เชฎเซ‹ เชชเชฃ เชถเซ‡เชฐ เช•เชฐเซ‹ :)

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

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