[ืกื™ืžื ื™ื™ื”] Bash ืœืžืชื—ื™ืœื™ื: 21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช

ื”ื—ื•ืžืจ, ืฉืืช ืชืจื’ื•ืžื• ืื ื• ืžืคืจืกืžื™ื ื”ื™ื•ื, ืžื™ื•ืขื“ ืœืžื™ ืฉืจื•ืฆื” ืœืฉืœื•ื˜ ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื” ืฉืœ ืœื™ื ื•ืงืก. ืœื“ืขืช ื›ื™ืฆื“ ืœื”ืฉืชืžืฉ ื‘ื›ืœื™ ื–ื” ื‘ื™ืขื™ืœื•ืช ื™ื›ื•ืœื” ืœื—ืกื•ืš ื–ืžืŸ ืจื‘. ื‘ืคืจื˜, ื ื“ื‘ืจ ืขืœ ืžืขื˜ืคืช Bash ื•-21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช. ื ื“ื‘ืจ ื’ื ืขืœ ืื™ืš ืœื”ืฉืชืžืฉ ื‘ื“ื’ืœื™ ืคืงื•ื“ื•ืช Bash ื•ื‘ื›ื™ื ื•ื™ื™ื ื›ื“ื™ ืœื”ืื™ืฅ ืืช ื”ื”ืงืœื“ื” ืฉืœ ื”ืฆื”ืจื•ืช ืืจื•ื›ื•ืช.

[ืกื™ืžื ื™ื™ื”] Bash ืœืžืชื—ื™ืœื™ื: 21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช

โ†’ ืงืจื ื’ื ืืช ืกื“ืจืช ื”ื‘ืœื•ื’ื™ื ืฉืœื ื• ืฉืœ ืคืจืกื•ืžื™ื ืขืœ ืชืกืจื™ื˜ื™ bash

ืชื ืื™ื

ื›ืฉืืชื” ืœื•ืžื“ ืœื”ืฉืชืžืฉ ื‘ืฉื•ืจืช ื”ืคืงื•ื“ื” ืฉืœ ืœื™ื ื•ืงืก, ืืชื” ืขืฉื•ื™ ืœื”ื™ืชืงืœ ื‘ืžื•ืฉื’ื™ื ืจื‘ื™ื ืฉื™ื”ื™ื• ืฉื™ืžื•ืฉื™ื™ื ืœื ื™ื•ื•ื˜. ื—ืœืงื, ื›ืžื• "Linux" ื•-"Unix", ืื• "Shell" ื•-"Terminal", ืžื‘ื•ืœื‘ืœื™ื ืœืคืขืžื™ื. ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ืžื•ื ื—ื™ื ื—ืฉื•ื‘ื™ื ืืœื• ื•ืื—ืจื™ื.

ื™ื•ื ื™ืงืก ื”ื™ื ืžืขืจื›ืช ื”ืคืขืœื” ืคื•ืคื•ืœืจื™ืช ืฉืคื•ืชื—ื” ืขืœ ื™ื“ื™ Bell Labs ื‘ืฉื ื•ืช ื”-1970. ื”ืงื•ื“ ืฉืœื” ื ืกื’ืจ.

ืœื™ื ื•ืงืก ื”ื™ื ืžืขืจื›ืช ื”ื”ืคืขืœื” ื”ืคื•ืคื•ืœืจื™ืช ื‘ื™ื•ืชืจ ื“ืžื•ื™ืช ื™ื•ื ื™ืงืก. ื›ื™ื•ื ืžืฉืชืžืฉื™ื ื‘ื• ื‘ืžื›ืฉื™ืจื™ื ืจื‘ื™ื, ื›ื•ืœืœ ืžื—ืฉื‘ื™ื.

ืžืกื•ืฃ (ื˜ืจืžื™ื ืœ), ืื• ืืžื•ืœื˜ื•ืจ ืžืกื•ืฃ ื”ื™ื ืชื•ื›ื ื™ืช ืฉื ื•ืชื ืช ื’ื™ืฉื” ืœืžืขืจื›ืช ื”ื”ืคืขืœื”. ืืชื” ื™ื›ื•ืœ ืœืคืชื•ื— ืžืกืคืจ ื—ืœื•ื ื•ืช ืžืกื•ืฃ ื‘ื•-ื–ืžื ื™ืช.

ืžืขื˜ืคืช (shell) ื”ื™ื ืชื•ื›ื ื” ื”ืžืืคืฉืจืช ืœืฉืœื•ื— ืคืงื•ื“ื•ืช ื”ื›ืชื•ื‘ื•ืช ื‘ืฉืคื” ืžื™ื•ื—ื“ืช ืœืžืขืจื›ืช ื”ื”ืคืขืœื”.

ืœึฐื”ึทื›ึผื•ึนืช ืžื™ื™ืฆื’ Bourne Again Shell. ื–ื•ื”ื™ ืฉืคืช ื”ืžืขื˜ืคืช ื”ื ืคื•ืฆื” ื‘ื™ื•ืชืจ ื”ืžืฉืžืฉืช ืœืื™ื ื˜ืจืืงืฆื™ื” ืขื ืžืขืจื›ืช ื”ื”ืคืขืœื”. ื›ืžื• ื›ืŸ, ืžืขื˜ืคืช Bash ื”ื™ื ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื‘-macOS.

ืžืžืฉืง ืฉื•ืจืช ื”ืคืงื•ื“ื” (Command Line Interface, CLI) ื”ื™ื ืฉื™ื˜ืช ืื™ื ื˜ืจืืงืฆื™ื” ื‘ื™ืŸ ืื“ื ืœืžื—ืฉื‘, ื‘ืืžืฆืขื•ืชื” ื”ืžืฉืชืžืฉ ืžื–ื™ืŸ ืคืงื•ื“ื•ืช ืžื”ืžืงืœื“ืช, ื•ื”ืžื—ืฉื‘, ื”ืžื‘ืฆืข ืคืงื•ื“ื•ืช ืืœื•, ืžืฆื™ื’ ื”ื•ื“ืขื•ืช ื‘ืฆื•ืจืช ื˜ืงืกื˜ ืขื‘ื•ืจ ื”ืžืฉืชืžืฉ. ื”ืฉื™ืžื•ืฉ ื”ืขื™ืงืจื™ ื‘-CLI ื”ื•ื ืœืงื‘ืœ ืžื™ื“ืข ืขื“ื›ื ื™ ืขืœ ื™ืฉื•ื™ื•ืช ืžืกื•ื™ืžื•ืช, ื›ืžื• ืงื‘ืฆื™ื, ื•ืœืขื‘ื•ื“ ืขื ืงื‘ืฆื™ื. ื™ืฉ ืœื”ื‘ื—ื™ืŸ ื‘ื™ืŸ ืžืžืฉืง ืฉื•ืจืช ื”ืคืงื•ื“ื” ืœื‘ื™ืŸ ืžืžืฉืง ื”ืžืฉืชืžืฉ ื”ื’ืจืคื™ (GUI), ืฉืžืฉืชืžืฉ ื‘ืขื™ืงืจ ื‘ืขื›ื‘ืจ. ืžืžืฉืง ืฉื•ืจืช ื”ืคืงื•ื“ื” ืžื›ื•ื ื” ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื‘ืคืฉื˜ื•ืช ืฉื•ืจืช ื”ืคืงื•ื“ื”.

ืชึทืกืจึดื™ื˜ (script) ื”ื™ื ืชื•ื›ื ื” ืงื˜ื ื” ื”ืžื›ื™ืœื” ืจืฆืฃ ืฉืœ ืคืงื•ื“ื•ืช ืžืขื˜ืคืช. ืกืงืจื™ืคื˜ื™ื ื ื›ืชื‘ื™ื ืœืงื‘ืฆื™ื ื•ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื”ื ืžืกืคืจ ืคืขืžื™ื. ื‘ืขืช ื›ืชื™ื‘ืช ืกืงืจื™ืคื˜ื™ื, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืžืฉืชื ื™ื, ืชื ืื™ื, ืœื•ืœืื•ืช, ืคื•ื ืงืฆื™ื•ืช ื•ืชื›ื•ื ื•ืช ืื—ืจื•ืช.

ื›ืขืช, ืœืื—ืจ ืฉื›ื™ืกื™ื ื• ืืช ื”ืžื•ื ื—ื™ื ื”ื—ืฉื•ื‘ื™ื, ืื ื™ ืจื•ืฆื” ืœืฆื™ื™ืŸ ืฉืืฉืชืžืฉ ื›ืืŸ ื‘ืžื•ื ื—ื™ื "Bash", "Shell" ื•-"ืฉื•ืจืช ืคืงื•ื“ื”" ืœื”ื—ืœืคื”, ื›ืžื• ื’ื ื‘ืžื•ื ื—ื™ื "ืกืคืจื™ื™ื”" ื•"ืชื™ืงื™ื™ื”".

ืจื’ื™ืœ ื–ืจืžื™ื, ืฉื‘ื• ื ืฉืชืžืฉ ื›ืืŸ ื”ื•ื ื”ืงืœื˜ ื”ืกื˜ื ื“ืจื˜ื™ (ืงืœื˜ ืกื˜ื ื“ืจื˜ื™, stdin), ืคืœื˜ ืกื˜ื ื“ืจื˜ื™ (ืคืœื˜ ืกื˜ื ื“ืจื˜ื™, stdout) ื•ืคืœื˜ ืฉื’ื™ืื” ืกื˜ื ื“ืจื˜ื™ (ืฉื’ื™ืื” ืกื˜ื ื“ืจื˜ื™ืช, stderr).

ืื ื‘ื“ื•ื’ืžืื•ืช ื”ืคืงื•ื“ื•ืช ืœืžื˜ื” ืืชื” ืจื•ืื” ืžืฉื”ื• ื›ืžื• my_whatever - ื–ื” ืื•ืžืจ ืฉืฆืจื™ืš ืœื”ื—ืœื™ืฃ ืืช ื”ืคืจื’ืžื ื˜ ื”ื–ื” ื‘ืžืฉื”ื• ืฉืœืš. ืœื“ื•ื’ืžื”, ืฉื ืฉืœ ืงื•ื‘ืฅ.

ื›ืขืช, ืœืคื ื™ ืฉื ืžืฉื™ืš ื‘ื ื™ืชื•ื— ื”ืคืงื•ื“ื•ืช ืฉื”ื—ื•ืžืจ ื”ื–ื” ืžื•ืงื“ืฉ ืœื”ืŸ, ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ื”ืจืฉื™ืžื” ืฉืœื”ืŸ ื•ืขืœ ื”ืชื™ืื•ืจื™ื ื”ืงืฆืจื™ื ืฉืœื”ืŸ.

21 ืคืงื•ื“ื•ืช Bash

โ– ืงื‘ืœืช ืžื™ื“ืข

  • man: ืžืฆื™ื’ ืืช ื”ืžื“ืจื™ืš ืœืžืฉืชืžืฉ (ืขื–ืจื”) ืขื‘ื•ืจ ื”ืคืงื•ื“ื”.
  • pwd: ืžืฆื™ื’ ืžื™ื“ืข ืขืœ ืกืคืจื™ื™ืช ื”ืขื‘ื•ื“ื”.
  • ls: ืžืฆื™ื’ ืืช ื”ืชื•ื›ืŸ ืฉืœ ืกืคืจื™ื™ื”.
  • ps: ืžืืคืฉืจ ืœืš ืœื”ืฆื™ื’ ืžื™ื“ืข ืขืœ ืชื”ืœื™ื›ื™ื ืจืฆื™ื.

โ– ืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ืžืขืจื›ืช ื”ืงื‘ืฆื™ื

  • cd: ืฉื ื” ืกืคืจื™ื™ืช ืขื‘ื•ื“ื”.
  • touch: ืฆื•ืจ ืงื•ื‘ืฅ.
  • mkdir: ืฆื•ืจ ืกืคืจื™ื™ื”.
  • cp: ื”ืขืชืง ืงื•ื‘ืฅ.
  • mv: ื”ืขื‘ืจ ืื• ืžื—ืง ืงื•ื‘ืฅ.
  • ln: ืฆื•ืจ ืงื™ืฉื•ืจ.

โ– I/O ื ื™ืชื•ื‘ ืžื—ื“ืฉ ื•ืฆื™ื ื•ืจื•ืช

  • <: ื”ืคื ื™ื” ืžื—ื“ืฉ stdin.
  • >: ื”ืคื ื™ื” ืžื—ื“ืฉ stdout.
  • |: ื”ืขื‘ื™ืจ ืืช ื”ืคืœื˜ ืฉืœ ืคืงื•ื“ื” ืื—ืช ืœืงืœื˜ ืฉืœ ืคืงื•ื“ื” ืื—ืจืช.

โ–ืงืจื™ืืช ืงื‘ืฆื™ื

  • head: ืงืจื ืืช ืชื—ื™ืœืช ื”ืงื•ื‘ืฅ.
  • tail: ืงืจื ืืช ืกื•ืฃ ื”ืงื•ื‘ืฅ.
  • cat: ืงืจื ืงื•ื‘ืฅ ื•ื”ื“ืคื™ืก ืืช ืชื•ื›ื ื• ืœืžืกืš, ืื• ืฉืจืฉืจืช ืงื‘ืฆื™ื.

โ–ืžื—ื™ืงืช ืงื‘ืฆื™ื, ืขืฆื™ืจืช ืชื”ืœื™ื›ื™ื

  • rm: ืžื—ืง ืืช ื”ืงื•ื‘ืฅ.
  • kill: ืœืขืฆื•ืจ ืืช ื”ืชื”ืœื™ืš.

โ–ื—ื™ืคื•ืฉ

  • grep: ื—ื™ืคื•ืฉ ืžื™ื“ืข.
  • ag: ืคืงื•ื“ื” ืžืชืงื“ืžืช ืœื—ื™ืคื•ืฉ.

โ– ืื—ืกื•ืŸ ื‘ืืจื›ื™ื•ืŸ

  • tar: ื™ืฆื™ืจืช ืืจื›ื™ื•ื ื™ื ื•ืขื‘ื•ื“ื” ืื™ืชื.

ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ื”ืคืงื•ื“ื•ืช ื”ืœืœื• ื‘ื™ืชืจ ืคื™ืจื•ื˜.

ืคืจื˜ื™ ื”ืฆื•ื•ืช

ืจืืฉื™ืช, ื ืขืกื•ืง ื‘ืคืงื•ื“ื•ืช, ืฉืชื•ืฆืื•ืชื™ื”ืŸ ืžื•ื ืคืงื•ืช ื‘ื˜ื•ืคืก stdout. ื‘ื“ืจืš ื›ืœืœ ืชื•ืฆืื•ืช ืืœื• ืžื•ืคื™ืขื•ืช ื‘ื—ืœื•ืŸ ืžืกื•ืฃ.

โ– ืงื‘ืœืช ืžื™ื“ืข

man command_name: ื”ืฆื’ ืืช ืžื“ืจื™ืš ื”ืคืงื•ื“ื•ืช, ื›ืœื•ืžืจ ืžื™ื“ืข ืขื–ืจื”.

pwd: ื”ืฆื’ ืืช ื”ื ืชื™ื‘ ืœืกืคืจื™ื™ืช ื”ืขื‘ื•ื“ื” ื”ื ื•ื›ื—ื™ืช. ื‘ืžื”ืœืš ื”ืขื‘ื•ื“ื” ืขื ืฉื•ืจืช ื”ืคืงื•ื“ื”, ื”ืžืฉืชืžืฉ ืฆืจื™ืš ืคืขืžื™ื ืจื‘ื•ืช ืœื‘ืจืจ ื”ื™ื›ืŸ ื‘ื“ื™ื•ืง ื”ื•ื ื ืžืฆื ื‘ืžืขืจื›ืช.

ls: ืœื”ืฆื™ื’ ืืช ื”ืชื•ื›ืŸ ืฉืœ ืกืคืจื™ื™ื”. ื’ื ืคืงื•ื“ื” ื–ื• ืžืฉืžืฉืช ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืœืžื“ื™.

ls -a: ื”ืฆื’ ืงื‘ืฆื™ื ืžื•ืกืชืจื™ื. ื”ื“ื’ืœ ืžื•ื—ืœ ื›ืืŸ -a ืฆื•ื•ืชื™ื ls. ืฉื™ืžื•ืฉ ื‘ื“ื’ืœื™ื ืขื•ื–ืจ ืœื”ืชืื™ื ืื™ืฉื™ืช ืืช ื”ืชื ื”ื’ื•ืช ื”ืคืงื•ื“ื•ืช.

ls -l: ื”ืฆื’ ืžื™ื“ืข ืžืคื•ืจื˜ ืขืœ ืงื‘ืฆื™ื.

ืฉื™ืžื• ืœื‘ ืฉื ื™ืชืŸ ืœืฉืœื‘ ื“ื’ืœื™ื. ืœื“ื•ื’ืžื - ื›ืš: ls -al.

ps: ื”ืฆื’ ืชื”ืœื™ื›ื™ื ืจืฆื™ื.

ps -e: ืžืฆื™ื’ ืžื™ื“ืข ืขืœ ื›ืœ ื”ืชื”ืœื™ื›ื™ื ื”ืคื•ืขืœื™ื, ืœื ืจืง ืืœื” ื”ืžืฉื•ื™ื›ื™ื ืœืžืขื˜ืคืช ื”ื ื•ื›ื—ื™ืช ืฉืœ ื”ืžืฉืชืžืฉ. ืคืงื•ื“ื” ื–ื• ืžืฉืžืฉืช ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื‘ืฆื•ืจื” ื–ื•.

โ– ืžื ื™ืคื•ืœืฆื™ื” ืฉืœ ืžืขืจื›ืช ื”ืงื‘ืฆื™ื

cd my_directory: ืฉื ื” ืืช ืกืคืจื™ื™ืช ื”ืขื‘ื•ื“ื” ืœ my_directory. ื›ื“ื™ ืœื”ืชืงื“ื ืจืžื” ืื—ืช ื‘ืขืฅ ื”ืกืคืจื™ื•ืช, ื”ืฉืชืžืฉ my_directory ื ืชื™ื‘ ื™ื—ืกื™ ../.

[ืกื™ืžื ื™ื™ื”] Bash ืœืžืชื—ื™ืœื™ื: 21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช
ืคืงื•ื“ืช cd

touch my_file: ื™ืฆื™ืจืช ืงื•ื‘ืฅ my_file ืœืื•ืจืš ื”ื ืชื™ื‘ ื”ื ืชื•ืŸ.

mkdir my_directory: ืฆื•ืจ ืชื™ืงื™ื” my_directory ืœืื•ืจืš ื”ื ืชื™ื‘ ื”ื ืชื•ืŸ.

mv my_file target_directory: ื”ืขื‘ืจ ืงื•ื‘ืฅ my_file ืœืชื™ืงื™ื™ื” target_directory. ื‘ืขืช ืฆื™ื•ืŸ ืกืคืจื™ื™ืช ื”ื™ืขื“, ืขืœื™ืš ืœื”ืฉืชืžืฉ ื‘ื ืชื™ื‘ ื”ืžื•ื—ืœื˜ ืืœื™ื” (ื•ืœื ื‘ืžื‘ื ื” ื›ืžื• ../).

ืงึฐื‘ื•ึผืฆึธื” mvื™ื›ื•ืœ ืœืฉืžืฉ ื’ื ืœืฉื™ื ื•ื™ ืฉืžื•ืช ืฉืœ ืงื‘ืฆื™ื ืื• ืชื™ืงื™ื•ืช. ืœื“ื•ื’ืžื”, ื–ื” ืขืฉื•ื™ ืœื”ื™ืจืื•ืช ื›ืš:

mv my_old_file_name.jpg my_new_file_name.jpg
cp my_source_file target_directory
: ืฆื•ืจ ืขื•ืชืง ืฉืœ ืงื•ื‘ืฅ my_source_file ื•ืœืฉื™ื ืื•ืชื• ื‘ืชื™ืงื™ื™ื” target_directory.

ln -s my_source_file my_target_file: ืฆื•ืจ ืงื™ืฉื•ืจ ืกืžืœื™ my_target_file ืœื›ืœ ืงื•ื‘ืฅ my_source_file. ืื ืชืฉื ื” ืืช ื”ืงื™ืฉื•ืจ, ื’ื ื”ืงื•ื‘ืฅ ื”ืžืงื•ืจื™ ื™ืฉืชื ื”.

ืื ืงื•ื‘ืฅ my_source_file ืื– ื™ื™ืžื—ืง my_target_file ื™ื™ืฉืืจ. ื“ึถื’ึถืœ -s ืฆื•ื•ืชื™ื ln ืžืืคืฉืจ ืœืš ืœื™ืฆื•ืจ ืงื™ืฉื•ืจื™ื ืขื‘ื•ืจ ืกืคืจื™ื•ืช.

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ื ื™ืชื•ื‘ ืžื—ื“ืฉ ืฉืœ I/O ื•ืฆื™ื ื•ืจื•ืช.

โ– I/O ื ื™ืชื•ื‘ ืžื—ื“ืฉ ื•ืฆื™ื ื•ืจื•ืช

my_command < my_file: ืžื—ืœื™ืฃ ืืช ื™ื“ื™ืช ืงื•ื‘ืฅ ื”ืงืœื˜ ื”ืจื’ื™ืœื” (stdin) ืœื›ืœ ืงื•ื‘ืฅ my_file. ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืžื•ืฉื™ ืื ื”ืคืงื•ื“ื” ืžืžืชื™ื ื” ืœืงืœื˜ ื›ืœืฉื”ื• ืžื”ืžืงืœื“ืช, ื•ื”ื ืชื•ื ื™ื ื”ืืœื” ื›ื‘ืจ ื ืฉืžืจื™ื ื‘ืงื•ื‘ืฅ.

my_command > my_file: ืžืคื ื” ืžื—ื“ืฉ ืืช ืชื•ืฆืื•ืช ื”ืคืงื•ื“ื”, ื›ืœื•ืžืจ, ืžื” ืฉื‘ื“ืจืš ื›ืœืœ ื™ื’ื™ืข ืืœื™ื• stdout ื•ืคืœื˜ ืœืžืกืš, ืœืงื•ื‘ืฅ my_file. ืื ื”ืงื•ื‘ืฅ my_file ืœื ืงื™ื™ื - ื”ื•ื ื ื•ืฆืจ. ืื ื”ืงื•ื‘ืฅ ืงื™ื™ื, ื”ื•ื ืžื•ื—ืœืฃ.

ืœื“ื•ื’ืžื”, ืœืื—ืจ ื‘ื™ืฆื•ืข ื”ืคืงื•ื“ื” ls > my_folder_contents.txt ื™ื™ื•ื•ืฆืจ ืงื•ื‘ืฅ ื˜ืงืกื˜ ื”ืžื›ื™ืœ ืจืฉื™ืžื” ืฉืœ ืžื” ืฉื ืžืฆื ื‘ืกืคืจื™ื™ืช ื”ืขื‘ื•ื“ื” ื”ื ื•ื›ื—ื™ืช.

ืื ื‘ืžืงื•ื ื”ืกืžืœ > ืœื ืฆืœ ืืช ื”ืขื™ืฆื•ื‘ >>, ืื ื›ืŸ, ื‘ืชื ืื™ ืฉื”ืงื•ื‘ืฅ ืฉืืœื™ื• ืžื•ืคื ื” ืคืœื˜ ื”ืคืงื•ื“ื” ืงื™ื™ื, ืงื•ื‘ืฅ ื–ื” ืœื ื™ื“ืจื•ืก. ื”ื ืชื•ื ื™ื ื™ืฆื•ืจืคื• ืœืกื•ืฃ ืงื•ื‘ืฅ ื–ื”.

ืขื›ืฉื™ื• ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ืขื™ื‘ื•ื“ ืฆื ืจืช ื”ื ืชื•ื ื™ื.

[ืกื™ืžื ื™ื™ื”] Bash ืœืžืชื—ื™ืœื™ื: 21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช
ื”ืคืœื˜ ืฉืœ ืคืงื•ื“ื” ืื—ืช ืžื•ื–ื ืช ืœืงืœื˜ ืฉืœ ืคืงื•ื“ื” ืื—ืจืช. ื–ื” ื›ืžื• ืœื—ื‘ืจ ืฆื™ื ื•ืจ ืื—ื“ ืœืฉื ื™

first_command | second_command: ืกืžืœ ืžืกื•ืข, |, ืžืฉืžืฉ ืœืฉืœื™ื—ืช ืชื•ืฆืื•ืช ืฉืœ ืคืงื•ื“ื” ืื—ืช ืœืคืงื•ื“ื” ืื—ืจืช. ืœืžื” ืฉื•ืœื—ืช ื”ืคืงื•ื“ื” ื”ืžืžื•ืงืžืช ื‘ืฆื“ ืฉืžืืœ ืฉืœ ื”ื‘ื ื™ื™ื” ื”ืžืชื•ืืจืช stdout, ืœื™ืคื•ืœ ืœืชื•ืš stdin ื”ืคืงื•ื“ื” ืžื™ืžื™ืŸ ืœืกืžืœ ื”ืฆื™ื ื•ืจ.

ื‘ืœื™ื ื•ืงืก, ื ื™ืชืŸ ืœื‘ืฆืข ืฆื ืจืช ื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช ื›ืžืขื˜ ื›ืœ ืคืงื•ื“ื” ืžืขื•ืฆื‘ืช ื”ื™ื˜ื‘. ืœืขืชื™ื ืงืจื•ื‘ื•ืช ืื•ืžืจื™ื ืฉื”ื›ืœ ื‘ืœื™ื ื•ืงืก ื”ื•ื ืฆื™ื ื•ืจ.

ืืชื” ื™ื›ื•ืœ ืœืฉืจืฉืจ ืคืงื•ื“ื•ืช ืžืจื•ื‘ื•ืช ื‘ืืžืฆืขื•ืช ืกืžืœ ื”ืฆื™ื ื•ืจ. ื–ื” ื ืจืื” ื›ืžื• ื–ื”:

first_command | second_command | third_command

[ืกื™ืžื ื™ื™ื”] Bash ืœืžืชื—ื™ืœื™ื: 21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช
ื ื™ืชืŸ ืœื”ืฉื•ื•ืช ืฆื™ื ื•ืจ ืฉืœ ืžืกืคืจ ืคืงื•ื“ื•ืช ืœืฆื™ื ื•ืจ

ืฉื™ืžื• ืœื‘ ืฉื›ืืฉืจ ื”ืคืงื•ื“ื” ืžืฉืžืืœ ืœืกืžืœ |, ืžื•ืฆื™ื ืžืฉื”ื• ืœ stdout, ืžื” ืฉื”ื™ื ืžืคื™ืงื” ื–ืžื™ืŸ ื‘ืื•ืคืŸ ืžื™ื™ื“ื™ stdin ืฆื•ื•ืช ืฉื ื™. ื›ืœื•ืžืจ, ืžืกืชื‘ืจ ืฉื‘ืืžืฆืขื•ืช ื”ืฆื™ื ื•ืจ ืขืกืงื™ื ืŸ ื‘ื‘ื™ืฆื•ืข ืžืงื‘ื™ืœ ืฉืœ ืคืงื•ื“ื•ืช. ืœืคืขืžื™ื ื–ื” ื™ื›ื•ืœ ืœื”ื•ื‘ื™ืœ ืœืชื•ืฆืื•ืช ื‘ืœืชื™ ืฆืคื•ื™ื•ืช. ืคืจื˜ื™ื ืขืœ ื›ืš ื ื™ืชืŸ ืœืงืจื•ื ื›ืืŸ.

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ืงืจื™ืืช ื ืชื•ื ื™ื ืžืงื‘ืฆื™ื ื•ื”ืฆื’ืชื ืขืœ ื”ืžืกืš.

โ–ืงืจื™ืืช ืงื‘ืฆื™ื

head my_file: ืงื•ืจื ืฉื•ืจื•ืช ืžืชื—ื™ืœืช ืงื•ื‘ืฅ ื•ืžื“ืคื™ืก ืื•ืชืŸ ืœืžืกืš. ืืชื” ื™ื›ื•ืœ ืœืงืจื•ื ืœื ืจืง ืืช ืชื•ื›ืŸ ื”ืงื‘ืฆื™ื, ืืœื ื’ื ื‘ืžื” ื”ืคืœื˜ ื”ืคืงื•ื“ื•ืช stdinืฉื™ืžื•ืฉ ื‘ืคืงื•ื“ื” ื–ื• ื›ื—ืœืง ืžื”ืฆื™ื ื•ืจ.

tail my_file: ืงื•ืจื ืฉื•ืจื•ืช ืžืกื•ืฃ ื”ืงื•ื‘ืฅ. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื” ื–ื• ื’ื ื‘ืฆื™ื ื•ืจ.

[ืกื™ืžื ื™ื™ื”] Bash ืœืžืชื—ื™ืœื™ื: 21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช
ืจืืฉ (ืจืืฉ) ืžืœืคื ื™ื, ื•ื–ื ื‘ (ื–ื ื‘) ืžืื—ื•ืจ

ืื ืืชื” ืขื•ื‘ื“ ืขื ื ืชื•ื ื™ื ื‘ืืžืฆืขื•ืช ืกืคืจื™ื™ืช ื”ืคื ื“ื•ืช, ืื– ื”ืคืงื•ื“ื•ืช head ะธ tail ืืžื•ืจ ืœื”ื™ื•ืช ืžื•ื›ืจ ืœืš. ืื ื–ื” ืœื ื”ืžืงืจื”, ืชืกืชื›ืœ ืขืœ ื”ืชืžื•ื ื” ืœืžืขืœื” ื•ืชื–ื›ื•ืจ ืื•ืชื ื‘ืงืœื•ืช.

ืฉืงื•ืœ ื“ืจื›ื™ื ืื—ืจื•ืช ืœืงืจื•ื ืงื‘ืฆื™ื, ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ื”ืคืงื•ื“ื” cat.

ืงื‘ื•ืฆื” cat ืžื“ืคื™ืก ืืช ื”ืชื•ื›ืŸ ืฉืœ ืงื•ื‘ืฅ ืœืžืกืš, ืื• ืžืฉืจืฉืจ ืงื‘ืฆื™ื ืžืจื•ื‘ื™ื. ื–ื” ืชืœื•ื™ ื‘ื›ืžื” ืงื‘ืฆื™ื ืžื•ืขื‘ืจื™ื ืœืคืงื•ื“ื” ื”ื–ื• ื‘ืขืช ื”ืงืจื™ืื”.

[ืกื™ืžื ื™ื™ื”] Bash ืœืžืชื—ื™ืœื™ื: 21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช
ืคืงื•ื“ืช ื—ืชื•ืœ

cat my_one_file.txt: ื›ืืฉืจ ืคืงื•ื“ื” ื–ื• ื ื™ืชื ืช ืœืงื•ื‘ืฅ ื‘ื•ื“ื“, ื”ื™ื ืžื•ืฆื™ืื” ืื•ืชื• ืคื ื™ืžื” stdout.

ืื ืืชื” ื ื•ืชืŸ ืœื• ืฉื ื™ ืงื‘ืฆื™ื ืื• ื™ื•ืชืจ, ืื– ื”ื•ื ืžืชื ื”ื’ ืื—ืจืช.

cat my_file1.txt my_file2.txt: ืœืื—ืจ ืฉืงื™ื‘ืœื• ืžืกืคืจ ืงื‘ืฆื™ื ื›ืงืœื˜, ืคืงื•ื“ื” ื–ื• ืžืฉืจืฉืจืช ืืช ืชื•ื›ื ื ื•ืžืฆื™ื’ื” ืืช ืžื” ืฉืงืจื” ื‘ stdout.

ืื ื”ืชื•ืฆืื” ืฉืœ ืฉืจืฉื•ืจ ื”ืงื‘ืฆื™ื ืฆืจื™ื›ื” ืœื”ื™ืฉืžืจ ื›ืงื•ื‘ืฅ ื—ื“ืฉ, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืื•ืคืจื˜ื•ืจ >:

cat my_file1.txt my_file2.txt > my_new_file.txt

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ืื™ืš ืœืžื—ื•ืง ืงื‘ืฆื™ื ื•ืœืขืฆื•ืจ ืชื”ืœื™ื›ื™ื.

โ–ืžื—ื™ืงืช ืงื‘ืฆื™ื, ืขืฆื™ืจืช ืชื”ืœื™ื›ื™ื

rm my_file: ืžื—ืง ืงื•ื‘ืฅ my_file.

rm -r my_folder: ืžื•ื—ืง ืชื™ืงื™ื” my_folder ื•ื›ืœ ื”ืงื‘ืฆื™ื ื•ื”ืชื™ืงื™ื•ืช ืฉื”ื•ื ืžื›ื™ืœ. ื“ึถื’ึถืœ -r ืžืฆื™ื™ืŸ ืฉื”ืคืงื•ื“ื” ืชืขื‘ื•ื“ ื‘ืžืฆื‘ ืจืงื•ืจืกื™ื‘ื™.

ื›ื“ื™ ืœืžื ื•ืข ืžื”ืžืขืจื›ืช ืœื‘ืงืฉ ืื™ืฉื•ืจ ื‘ื›ืœ ืคืขื ืฉืงื•ื‘ืฅ ืื• ืชื™ืงื™ื” ื ืžื—ืงื™ื, ื”ืฉืชืžืฉ ื‘ื“ื’ืœ -f.

kill 012345: ืขื•ืฆืจ ืืช ืชื”ืœื™ืš ื”ืจื™ืฆื” ืฉืฆื•ื™ืŸ, ื ื•ืชืŸ ืœื• ื–ืžืŸ ืœื›ื‘ื•ืช ื‘ื—ืŸ.

kill -9 012345: ืžืกื™ื™ื ื‘ื›ื•ื— ืืช ืชื”ืœื™ืš ื”ืจื™ืฆื” ืฉืฆื•ื™ืŸ. ื“ื’ืœ ื”ืžื™ืŸ -s SIGKILL ืคื™ืจื•ืฉื• ื–ื”ื” ืœื“ื’ืœ -9.

โ–ื—ื™ืคื•ืฉ

ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื•ืช ืฉื•ื ื•ืช ื›ื“ื™ ืœื—ืคืฉ ื ืชื•ื ื™ื. ื‘ืื•ืคืŸ ืžื™ื•ื—ื“ - grep, ag ะธ ack. ื‘ื•ืื• ื ืชื—ื™ืœ ืืช ื”ื”ื™ื›ืจื•ืช ืขื ื”ืคืงื•ื“ื•ืช ื”ืœืœื• ืขื grep. ื–ื•ื”ื™ ืคืงื•ื“ื” ื‘ื“ื•ืงื”, ืืžื™ื ื”, ืืฉืจ, ืขื ื–ืืช, ืื™ื˜ื™ืช ื™ื•ืชืจ ืžืื—ืจื•ืช ื•ืื™ื ื” ื ื•ื—ื” ืœืฉื™ืžื•ืฉ ื›ืžื•ื”ืŸ.

[ืกื™ืžื ื™ื™ื”] Bash ืœืžืชื—ื™ืœื™ื: 21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช
ืคืงื•ื“ืช grep

grep my_regex my_file: ืžื‘ืฆืข ื—ื™ืคื•ืฉ my_regex ะฒ my_file. ืื ื ืžืฆื ื”ืชืืžื”, ื”ืžื—ืจื•ื–ืช ื›ื•ืœื” ืžื•ื—ื–ืจืช, ืขื‘ื•ืจ ื›ืœ ื”ืชืืžื”. ื‘ึผึฐืจึดื™ืจึทืช ืžึถื—ื“ึธืœ my_regex ืžืชื™ื™ื—ืกื™ื ืืœื™ื• ื›ืืœ ื‘ื™ื˜ื•ื™ ืจื’ื™ืœ.

grep -i my_regex my_file: ื”ื—ื™ืคื•ืฉ ืžืชื‘ืฆืข ื‘ืื•ืคืŸ ืœื ืชืœื•ื™ ืจื™ืฉื™ื•ืช.

grep -v my_regex my_file: ืžื—ื–ื™ืจื” ืืช ื›ืœ ื”ืฉื•ืจื•ืช ืฉืื™ื ืŸ ืžื›ื™ืœื•ืช my_regex. ื“ึถื’ึถืœ -v ืคื™ืจื•ืฉื• ื”ื™ืคื•ืš, ื”ื•ื ื“ื•ืžื” ืœืื•ืคืจื˜ื•ืจ NOT, ื ืžืฆื ื‘ืฉืคื•ืช ืชื›ื ื•ืช ืจื‘ื•ืช.

grep -c my_regex my_file: ืžื—ื–ื™ืจื” ืžื™ื“ืข ืขืœ ืžืกืคืจ ื”ื”ืชืืžื•ืช ืœื“ืคื•ืก ื”ืžื—ืคืฉ ืฉื ืžืฆื ื‘ืงื•ื‘ืฅ.

grep -R my_regex my_folder: ืžื‘ืฆืข ื—ื™ืคื•ืฉ ืจืงื•ืจืกื™ื‘ื™ ื‘ื›ืœ ื”ืงื‘ืฆื™ื ืฉื ืžืฆืื™ื ื‘ืชื™ืงื™ื™ื” ืฉืฆื•ื™ื ื” ื•ื‘ืชื™ืงื™ื•ืช ื”ืžืงื•ื ื ื•ืช ื‘ื”.

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ื”ืงื‘ื•ืฆื” ag. ื”ื™ื ื”ื’ื™ืขื” ืžืื•ื—ืจ ื™ื•ืชืจ grep, ื–ื” ืžื”ื™ืจ ื™ื•ืชืจ, ื™ื•ืชืจ ื ื•ื— ืœืขื‘ื•ื“ ืื™ืชื•.

[ืกื™ืžื ื™ื™ื”] Bash ืœืžืชื—ื™ืœื™ื: 21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช
ืคืงื•ื“ืช ag

ag my_regex my_file: ืžื—ื–ื™ืจ ืžื™ื“ืข ืขืœ ืžืกืคืจื™ ื”ืฉื•ืจื•ืช, ื•ืขืœ ื”ืฉื•ืจื•ืช ืขืฆืžืŸ, ื‘ื”ืŸ ื ืžืฆืื• ื”ืชืืžื•ืช my_regex.

ag -i my_regex my_file: ื”ื—ื™ืคื•ืฉ ืžืชื‘ืฆืข ื‘ืื•ืคืŸ ืœื ืชืœื•ื™ ืจื™ืฉื™ื•ืช.

ืงื‘ื•ืฆื” ag ืžืขื‘ื“ ืื•ื˜ื•ืžื˜ื™ืช ืืช ื”ืงื•ื‘ืฅ .gitignore ื•ืžื•ืฆื™ื ืžื”ืคืœื˜ ืืช ืžื” ืฉื ืžืฆื ื‘ืชื™ืงื™ื•ืช ืื• ื‘ืงื‘ืฆื™ื ื”ืจืฉื•ืžื™ื ื‘ืื•ืชื• ืงื•ื‘ืฅ. ื–ื” ืžืื•ื“ ื ื•ื—.

ag my_regex my_file -- skip-vcs-ignores: ืชื•ื›ืŸ ืฉืœ ืงื‘ืฆื™ ื‘ืงืจืช ื’ืจืกืื•ืช ืื•ื˜ื•ืžื˜ื™ืช (ื›ืžื• .gitignore) ืœื ื ืœืงื— ื‘ื—ืฉื‘ื•ืŸ ื‘ื—ื™ืคื•ืฉ.

ื‘ื ื•ืกืฃ, ืขืœ ืžื ืช ืœืกืคืจ ืœืฆื•ื•ืช ag ื‘ืื™ืœื• ื ืชื™ื‘ื™ ืงื•ื‘ืฅ ื‘ืจืฆื•ื ืš ืœื”ื•ืฆื™ื ืžื”ื—ื™ืคื•ืฉ, ืชื•ื›ืœ ืœื™ืฆื•ืจ ืงื•ื‘ืฅ .agignore.

ื‘ืชื—ื™ืœืช ื”ืกืขื™ืฃ ื”ื–ื”, ื”ื–ื›ืจื ื• ืืช ื”ืคืงื•ื“ื” ack. ืฆื•ื•ืชื™ื ack ะธ ag ื“ื•ืžื™ื ืžืื•ื“, ืื ื• ื™ื›ื•ืœื™ื ืœื•ืžืจ ืฉื”ื ื ื™ืชื ื™ื ืœื”ื—ืœืคื” ื‘-99%. ืขื ื–ืืช, ื”ืฆื•ื•ืช ag ืขื•ื‘ื“ ืžื”ืจ ื™ื•ืชืจ, ืœื›ืŸ ืชื™ืืจืชื™ ืืช ื–ื”.

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ืขื‘ื•ื“ื” ืขื ืืจื›ื™ื•ื ื™ื.

โ– ืื—ืกื•ืŸ ื‘ืืจื›ื™ื•ืŸ

tar my_source_directory: ืžืฉืจืฉืจืช ืงื‘ืฆื™ื ืžืชื™ืงื™ื” my_source_directory ืœืงื•ื‘ืฅ Tarball ืื—ื“. ืงื‘ืฆื™ื ื›ืืœื” ื ื•ื—ื™ื ืœืฉื™ืžื•ืฉ ืขืœ ืžื ืช ืœื”ืขื‘ื™ืจ ืงื‘ื•ืฆื•ืช ื’ื“ื•ืœื•ืช ืฉืœ ืงื‘ืฆื™ื ืœืžื™ืฉื”ื•.

[ืกื™ืžื ื™ื™ื”] Bash ืœืžืชื—ื™ืœื™ื: 21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช
ืคืงื•ื“ืช tar

ืงื‘ืฆื™ ื”-tarball ืฉื ื•ืฆืจื• ืขืœ ื™ื“ื™ ืคืงื•ื“ื” ื–ื• ื”ื ืงื‘ืฆื™ื ืขื ื”ืกื™ื•ืžืช .tar (ื˜ื™ื™ืค ืืจื›ื™ื•ืŸ). ื”ืขื•ื‘ื“ื” ืฉื”ืžื™ืœื” "ื˜ื™ื™ืค" ืžื•ืกืชืจืช ื‘ืฉื ื”ืคืงื•ื“ื” ื•ื‘ืกื™ื•ืžืช ืฉืžื•ืช ื”ืงื‘ืฆื™ื ืฉื”ื™ื ื™ื•ืฆืจืช ืžืขื™ื“ื” ืขืœ ื›ืžื” ื–ืžืŸ ื”ืคืงื•ื“ื” ื”ื–ื• ืงื™ื™ืžืช.

tar -cf my_file.tar my_source_directory: ื™ื•ืฆืจ ืงื•ื‘ืฅ tarball ื‘ืฉื my_file.tar ืขื ืชื•ื›ืŸ ื”ืชื™ืงื™ื” my_source_directory. ื“ึถื’ึถืœ -c ืžื™ื™ืฆื’ "ืœื™ืฆื•ืจ" (ื™ืฆื™ืจื”), ื•ื”ื“ื’ืœ -f ื‘ืชื•ืจ "ืงื•ื‘ืฅ" (ืงื•ื‘ืฅ).

ื›ื“ื™ ืœื—ืœืฅ ืžื”ื ืงื‘ืฆื™ื .tar-ืงื•ื‘ืฅ, ื”ืฉืชืžืฉ ื‘ืคืงื•ื“ื” tar ืขื ื“ื’ืœื™ื -x ("ื—ื™ืœื•ืฅ", ืžื™ืฆื•ื™) ื• -f ("ืงื•ื‘ืฅ", ืงื•ื‘ืฅ).

tar -xf my_file.tar: ืžื—ืœืฅ ืงื‘ืฆื™ื ืž my_file.tar ืœืกืคืจื™ื™ืช ื”ืขื‘ื•ื“ื” ื”ื ื•ื›ื—ื™ืช.

ืขื›ืฉื™ื• ื‘ื•ืื• ื ื“ื‘ืจ ืขืœ ืื™ืš ืœื“ื—ื•ืก ื•ืœืคืจื•ืง .tar-ืงื‘ืฆื™ื.

tar -cfz my_file.tar.gz my_source_directory: ื›ืืŸ ื‘ืืžืฆืขื•ืช ื”ื“ื’ืœ -z ("zip", ืืœื’ื•ืจื™ืชื ื“ื—ื™ืกื”) ืžืฆื™ื™ืŸ ืฉื™ืฉ ืœื”ืฉืชืžืฉ ื‘ืืœื’ื•ืจื™ืชื ื›ื“ื™ ืœื“ื—ื•ืก ืงื‘ืฆื™ื gzip (GNU zip). ื“ื—ื™ืกืช ืงื‘ืฆื™ื ืžืืคืฉืจืช ืœืš ืœื—ืกื•ืš ืžืงื•ื ื‘ื“ื™ืกืง ื‘ืขืช ืื—ืกื•ืŸ ืงื‘ืฆื™ื ื›ืืœื”. ืื ืงื‘ืฆื™ื ืžืชื•ื›ื ื ื™ื, ืœืžืฉืœ, ืœื”ื™ื•ืช ืžื•ืขื‘ืจื™ื ืœืžืฉืชืžืฉื™ื ืื—ืจื™ื, ื–ื” ืขื•ื–ืจ ืœื”ื•ืจื™ื“ ืงื‘ืฆื™ื ื›ืืœื” ืžื”ืจ ื™ื•ืชืจ.

ืคืชื— ืืช ื”ืงื•ื‘ืฅ .tar.gz ืืชื” ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ื“ื’ืœ -z ืœืคืงื•ื“ืช ื—ื™ืœื•ืฅ ื”ืชื•ื›ืŸ .tar-ืงื‘ืฆื™ื, ืขืœื™ื”ื ื“ื ื• ืœืžืขืœื”. ื–ื” ื ืจืื” ื›ืžื• ื–ื”:

tar -xfz my_file.tar.gz
ื™ืฉ ืœืฆื™ื™ืŸ ื›ื™ ื”ืฆื•ื•ืช tar ื™ืฉ ืขื•ื“ ื”ืจื‘ื” ื“ื’ืœื™ื ืฉื™ืžื•ืฉื™ื™ื.

ื›ื™ื ื•ื™ื™ื ืฉืœ Bash

ื›ื™ื ื•ื™ื™ Bash (ื ืงืจืื™ื ื’ื ื›ื™ื ื•ื™ื™ื ืื• ืงื™ืฆื•ืจื™ื) ื ื•ืขื“ื• ืœื™ืฆื•ืจ ืฉืžื•ืช ืžืงื•ืฆืจื™ื ืฉืœ ืคืงื•ื“ื•ืช ืื• ืจืฆืคื™ื ืฉืœื”ืŸ, ืฉื”ืฉื™ืžื•ืฉ ื‘ื”ื ื‘ืžืงื•ื ืคืงื•ื“ื•ืช ืจื’ื™ืœื•ืช ืžื–ืจื– ืืช ื”ืขื‘ื•ื“ื”. ืื ื™ืฉ ืœืš ื›ื™ื ื•ื™ bu, ืฉืžืกืชื™ืจ ืืช ื”ืคืงื•ื“ื” python setup.py sdist bdist_wheel, ืื– ื›ื“ื™ ืœืงืจื•ื ืœืคืงื•ื“ื” ื–ื•, ืžืกืคื™ืง ืœื”ืฉืชืžืฉ ื‘ื›ื™ื ื•ื™ ื–ื”.

ื›ื“ื™ ืœื™ืฆื•ืจ ื›ื™ื ื•ื™ ื›ื–ื”, ืคืฉื•ื˜ ื”ื•ืกืฃ ืืช ื”ืคืงื•ื“ื” ื”ื‘ืื” ืœืงื•ื‘ืฅ ~/.bash_profile:

alias bu="python setup.py sdist bdist_wheel"

ืื ืœืžืขืจื›ืช ืฉืœืš ืื™ืŸ ืืช ื”ืงื•ื‘ืฅ ~/.bash_profile, ืื– ืืชื” ื™ื›ื•ืœ ืœื™ืฆื•ืจ ืื•ืชื• ื‘ืขืฆืžืš ื‘ืืžืฆืขื•ืช ื”ืคืงื•ื“ื” touch. ืœืื—ืจ ื™ืฆื™ืจืช ื”ื›ื™ื ื•ื™, ื”ืคืขืœ ืžื—ื“ืฉ ืืช ื”ื˜ืจืžื™ื ืœ, ื•ืœืื—ืจ ืžื›ืŸ ืชื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ื›ื™ื ื•ื™ ื–ื”. ื‘ืžืงืจื” ื–ื”, ืงืœื˜ ืฉืœ ืฉื ื™ ืชื•ื•ื™ื ืžื—ืœื™ืฃ ืืช ื”ืงืœื˜ ืฉืœ ื™ื•ืชืจ ืžืฉืœื•ืฉื” ืชืจื™ืกืจ ืชื•ื•ื™ื ืฉืœ ื”ืคืงื•ื“ื”, ื”ืžื™ื•ืขื“ืช ืขื‘ื•ืจ ืžื›ืœื•ืœื™ื ื—ื‘ื™ืœื•ืช ืคื™ื™ืชื•ืŸ.

ะ’ ~/.bash_profile ืืชื” ื™ื›ื•ืœ ืœื”ื•ืกื™ืฃ ื›ื™ื ื•ื™ื™ื ืœื›ืœ ืคืงื•ื“ื” ื‘ืฉื™ืžื•ืฉ ืชื›ื•ืฃ.

โ–ืชื•ืฆืื•ืช

ื‘ืžืืžืจ ื–ื”, ื”ืกืชื›ืœื ื• ืขืœ 21 ืคืงื•ื“ื•ืช Bash ืคื•ืคื•ืœืจื™ื•ืช ื•ื“ื™ื‘ืจื ื• ืขืœ ื™ืฆื™ืจืช ื›ื™ื ื•ื™ื™ื ืฉืœ ืคืงื•ื“ื•ืช. ืื ืืชื” ืžืขื•ื ื™ื™ืŸ ื‘ื ื•ืฉื ื–ื” - ื›ืืŸ ืกื“ืจืช ืคืจืกื•ืžื™ื ื”ืžื•ืงื“ืฉืช ืœื‘ืฉ. ื›ืืŸ ืืชื” ื™ื›ื•ืœ ืœืžืฆื•ื ื’ืจืกืช PDF ืฉืœ ืคืจืกื•ืžื™ื ืืœื”. ื›ืžื• ื›ืŸ, ืื ืืชื” ืจื•ืฆื” ืœืœืžื•ื“ Bash, ื–ื›ื•ืจ ืฉื›ืžื• ื‘ื›ืœ ืžืขืจื›ืช ืชื›ื ื•ืช ืื—ืจืช, ืชืจื’ื•ืœ ื”ื•ื ื”ืžืคืชื—.

ืงื•ืจืื™ื ื™ืงืจื™ื! ืื™ืœื• ืคืงื•ื“ื•ืช ื”ื™ื™ืช ืžื•ืกื™ืฃ ืœืืœื• ื”ืžื›ื•ืกื•ืช ื‘ืžืืžืจ ื–ื” ืฉืžื•ืขื™ืœื•ืช ืœืžืชื—ื™ืœื™ื ืœื“ืขืช?

โ†’ ืงืจื ื’ื ืืช ืกื“ืจืช ื”ื‘ืœื•ื’ื™ื ืฉืœื ื• ืฉืœ ืคืจืกื•ืžื™ื ืขืœ ืชืกืจื™ื˜ื™ bash

[ืกื™ืžื ื™ื™ื”] Bash ืœืžืชื—ื™ืœื™ื: 21 ืคืงื•ื“ื•ืช ืฉื™ืžื•ืฉื™ื•ืช

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”