[bookmarked] Bash เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™: 21 เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”

เป€เบญเบเบฐเบชเบฒเบ™, เบเบฒเบ™เปเบ›เบžเบฒเบชเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบœเบตเบเปเบœเปˆเปƒเบ™เบกเบทเป‰เบ™เบตเป‰, เปเบกเปˆเบ™เบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ Linux. เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ™เบตเป‰เบขเปˆเบฒเบ‡เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเบฒเบกเบฒเบ”เบ›เบฐเบซเบเบฑเบ”เป€เบงเบฅเบฒเบซเบผเบฒเบ. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบš Bash shell เปเบฅเบฐ 21 เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰. เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบˆเบฐเบชเบปเบ™เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบธเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบ™เบฒเบกเปเบเบ‡ Bash เป€เบžเบทเปˆเบญเป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เบžเบดเบกเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบเบฒเบง.

[bookmarked] Bash เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™: 21 เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”

โ†’ เบญเปˆเบฒเบ™เปƒเบ™ blog เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบŠเบธเบ”เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบžเบดเบกเบเปˆเบฝเบงเบเบฑเบš bash scripts

เบ‚เปเป‰เบเปเบฒเบ™เบปเบ”

เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ—เปˆเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ Linux, เบ—เปˆเบฒเบ™เบˆเบฐเบžเบปเบšเบเบฑเบšเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบซเบผเบฒเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบกเบตเบ›เบฐเป‚เบซเบเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเบ—เบฒเบ‡. เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™, เป€เบŠเบฑเปˆเบ™ "Linux" เปเบฅเบฐ "Unix", เบซเบผเบท "shell" เปเบฅเบฐ "terminal", เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบเปเปˆเบชเบฑเบšเบชเบปเบ™. เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบฅเบฐเบ„เปเบฒเบชเปเบฒเบ„เบฑเบ™เบญเบทเปˆเบ™เป†.

Unix เป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบเบญเบ”เบ™เบดเบเบปเบกเบ—เบตเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒเป‚เบ”เบ Bell Labs เปƒเบ™เบŠเบธเบกเบ›เบต 1970. เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ™เบฒเบ‡เบ–เบทเบเบ›เบดเบ”.

Linux เป€เบ›เบฑเบ™เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเบ„เป‰เบฒเบ Unix เบ—เบตเปˆเบ™เบดเบเบปเบกเบ—เบตเปˆเบชเบธเบ”. เบ•เบญเบ™เบ™เบตเป‰เบกเบฑเบ™เบ–เบทเบเปƒเบŠเป‰เปƒเบ™เบซเบผเบฒเบเบญเบธเบ›เบฐเบเบญเบ™, เบฅเบงเบกเบ—เบฑเบ‡เบ„เบญเบกเบžเบดเบงเป€เบ•เบต.

terminal (terminal), เบซเบผเบท terminal emulator เปเบกเปˆเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเปƒเบซเป‰เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบซเบผเบฒเบเบˆเบธเบ”เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™.

เบซเบญเบ (shell) เปเบกเปˆเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒเบžเบดเป€เบชเบ”เป„เบ›เบซเบฒเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™.

Bash เบซเบเปเป‰เบกเบฒเบˆเบฒเบ Bourne Again Shell. เบกเบฑเบ™เป€เบ›เบฑเบ™เบžเบฒเบชเบฒ shell เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบžเบปเบงเบžเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, Bash shell เปเบกเปˆเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™ macOS.

เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ (Command Line Interface, CLI) เปเบกเปˆเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ›เบฐเบ•เบดเบชเปเบฒเบžเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบšเบธเบเบ„เบปเบ™เบเบฑเบšเบ„เบญเบกเบžเบดเบงเป€เบ•เบต, เป€เบกเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฒเบเปเบ›เป‰เบ™เบžเบดเบก, เปเบฅเบฐเบ„เบญเบกเบžเบดเบงเป€เบ•เบต, เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เปเป‰เบ„เบงเบฒเบกเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰. CLI เบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบกเปˆเบ™เปƒเบŠเป‰เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบเปˆเบฝเบงเบเบฑเบšเบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒ, เปเบฅเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป„เบŸเบฅเปŒ. เบญเบดเบ™เป€เบ•เบตเป€เบŸเบ”เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ„เบงเบ™เบ–เบทเบเปเบเบเบญเบญเบเบˆเบฒเบเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเบœเบนเป‰เปƒเบŠเป‰เปเบšเบšเบเบฒเบŸเบดเบ (GUI), เป€เบŠเบดเปˆเบ‡เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เปƒเบŠเป‰เบซเบ™เบน. เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบกเปˆเบ™เบกเบฑเบเบˆเบฐเป€เบญเบตเป‰เบ™เบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡.

เบชเบฐเบ„เบฃเบดเบš (script) เปเบกเปˆเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ—เบตเปˆเบกเบตเบฅเปเบฒเบ”เบฑเบšเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ shell. scripts เบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆเป„เบŸเบฅเปŒ, เบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบŠเป‰เปเบฒเบเบฑเบ™. เป€เบกเบทเปˆเบญเบ‚เบฝเบ™เบชเบฐเบ„เบดเบš, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเปเบ›, เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚, loops, เบซเบ™เป‰เบฒเบ—เบตเปˆเปเบฅเบฐเบฅเบฑเบเบชเบฐเบ™เบฐเบญเบทเปˆเบ™เป†.

เบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบงเบกเป€เบญเบปเบฒเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ‚เป‰เบญเบเบˆเบฐเปƒเบŠเป‰เบ„เปเบฒเบงเปˆเบฒ "Bash", "shell" เปเบฅเบฐ "เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡" เปเบฅเบเบ›เปˆเบฝเบ™เบเบฑเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เปเบฒเบชเบฑเบš "เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต" เปเบฅเบฐ "เป‚เบŸเบ™เป€เบ”เบต".

เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ เบชเบฒเบเบ™เป‰ เบณ, เบ—เบตเปˆโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบˆเบฐโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เปƒเบ™โ€‹เบ—เบตเปˆโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เบ›เป‰เบญเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบกเบฒเบ”โ€‹เบ•เบฐโ€‹เบ–เบฒเบ™ (เป€เบ‚เบปเป‰เบฒโ€‹เบกเบฒเบ”โ€‹เบ•เบฐโ€‹เบ–เบฒเบ™โ€‹, stdin), เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ (เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, stdout) เปเบฅเบฐโ€‹เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เบกเบฒเบ”โ€‹เบ•เบฐโ€‹เบ–เบฒเบ™ (เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เบกเบฒเบ”โ€‹เบ•เบฐโ€‹เบ–เบฒเบ™โ€‹, stderr).

เบ–เป‰เบฒเบขเบนเปˆเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปƒเบซเป‰เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเบฐเบžเบปเบšเป€เบซเบฑเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™: my_whatever - เบ™เบตเป‰เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ™เบตเป‰เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ—เบปเบ”เปเบ—เบ™เบ”เป‰เบงเบเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบŠเบทเปˆเบ‚เบญเบ‡เป„เบŸเบฅเปŒ.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบญเบธเบ›เบฐเบเบญเบ™เบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบญเบธเบ—เบดเบ”เบ•เบปเบ™, เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเปเบฅเบฐเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบชเบฑเป‰เบ™เป†เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ.

21 เบ„เปเบฒเบชเบฑเปˆเบ‡ Bash

โ–เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™

  • man: เบชเบฐเปเบ”เบ‡เบ„เบนเปˆเบกเบทเบœเบนเป‰เปƒเบŠเป‰ (เบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญ) เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡.
  • pwd: เบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ.
  • ls: เบชเบฐเปเบ”เบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต.
  • ps: เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบšเบดเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปเบฅเปˆเบ™.

โ–เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ

  • cd: เบ›เปˆเบฝเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบ.
  • touch: เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ.
  • mkdir: เบชเป‰เบฒเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต.
  • cp: เบชเบณเป€เบ™เบปเบฒเป„เบŸเบฅเปŒ.
  • mv: เบเป‰เบฒเบ เบซเบผเบทเบฅเบถเบšเป„เบŸเบฅเปŒ.
  • ln: เบชเป‰เบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.

โ– เบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ I/O เปเบฅเบฐเบ—เปเปˆ

  • <: เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ stdin.
  • >: เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ stdout.
  • |: piped output of one command to the input of another command .

โ– เบเบณเบฅเบฑเบ‡เบญเปˆเบฒเบ™เป„เบŸเบฅเปŒ

  • head: เบญเปˆเบฒเบ™เบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒ.
  • tail: เบญเปˆเบฒเบ™เบ—เป‰เบฒเบเป„เบŸเบฅเปŒ.
  • cat: เบญเปˆเบฒเบ™เป„เบŸเบฅเปŒ เปเบฅเบฐเบžเบดเบกเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบกเบฑเบ™เปƒเบชเปˆเปœเป‰เบฒเบˆเป, เบซเบผเบทเบ›เบฐเบเบญเบšเป„เบŸเบฅเปŒเป€เบ‚เบปเป‰เบฒเบเบฑเบ™.

โ–เบเบฒเบ™เบฅเบถเบšเป„เบŸเบฅเปŒ, เบเบฒเบ™เบขเบธเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™

  • rm: เบฅเบถเบšเป„เบŸเบฅเปŒ.
  • kill: เบขเบธเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™.

โ– เบ„เบปเป‰เบ™เบซเบฒ

  • grep: เบ„เบปเป‰เบ™เบซเบฒเบ‚เปเป‰เบกเบนเบ™.
  • ag: เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบฑเป‰เบ™เบชเบนเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบŠเบญเบเบซเบฒ.

โ– เบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™

  • tar: เบชเป‰เบฒเบ‡เปเบŸเป‰เบกเบˆเบฑเบ”เป€เบเบฑเบš เปเบฅเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบžเบงเบเบกเบฑเบ™.

เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปƒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ—เบตเบกเบ‡เบฒเบ™

เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ, เปƒเบซเป‰เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡, เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบ–เบทเบเบญเบญเบเปƒเบ™เบฎเบนเบšเปเบšเบš stdout. เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบ›เปˆเบญเบ‡เบขเป‰เบฝเบกเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบ›เบฒเบเบ—เบฒเบ‡.

โ–เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™

man command_name: เบชเบฐเปเบ”เบ‡เบ„เบนเปˆเบกเบทเบ„เปเบฒเบชเบฑเปˆเบ‡, i.e. เบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญ.

pwd: เบชเบฐเปเบ”เบ‡เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™. เปƒเบ™เป„เบฅเบเบฐเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, เบœเบนเป‰เปƒเบŠเป‰เบกเบฑเบเบˆเบฐเบ•เป‰เบญเบ‡เบŠเบญเบเบซเบฒเบšเปˆเบญเบ™เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบฅเบฒเบงเบขเบนเปˆ.

ls: เบชเบฐเปเบ”เบ‡เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต. เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบเบฑเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบฅเบทเป‰เบญเบเป†.

ls -a: เบชเบฐเปเบ”เบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰. เบ—เบธเบ‡เบ–เบทเบเบ™เบณเปƒเบŠเป‰เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰ -a เบ„เบณ เบชเบฑเปˆเบ‡ ls. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบธเบ‡เบŠเปˆเบงเบเบ›เบฑเบšเบžเบถเบ”เบ•เบดเบเปเบฒเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡.

ls -l: เบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบญเบฝเบ”เบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒ.

เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบ—เบธเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰. เบ•เบปเบงเบขเปˆเบฒเบ‡ - เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰: ls -al.

ps: เป€เบšเบดเปˆเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปเบฅเปˆเบ™.

ps -e: เบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ—เบฑเบ‡เบซเบกเบปเบ”, เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš shell เบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™. เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบกเบฑเบเบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบฎเบนเบšเปเบšเบšเบ™เบตเป‰.

โ–เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒ

cd my_directory: เบ›เปˆเบฝเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป€เบ›เบฑเบ™ my_directory. เป€เบžเบทเปˆเบญเบเป‰เบฒเบเบ‚เบถเป‰เบ™เบซเบ™เบถเปˆเบ‡เบฅเบฐเบ”เบฑเบšเปƒเบ™เบ•เบปเป‰เบ™เป„เบกเป‰เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบต, เปƒเบŠเป‰ my_directory เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบžเบตเปˆเบ™เป‰เบญเบ‡ ../.

[bookmarked] 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 redirection เปเบฅเบฐ pipelines.

โ– เบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡ I/O เปเบฅเบฐเบ—เปเปˆ

my_command < my_file: เปเบ—เบ™เบ—เบตเปˆเบ•เบปเบงเบญเบฐเบ—เบดเบšเบฒเบเป„เบŸเบฅเปŒเบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ (stdin) เบ•เปเปˆโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹ my_file. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ–เป‰เบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบฅเปเบ–เป‰เบฒเบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบˆเบฒเบเปเบ›เป‰เบ™เบžเบดเบก, เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒเปเบฅเป‰เบง.

my_command > my_file: redirects เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡, i.e. เบชเบดเปˆเบ‡เบ—เบตเปˆเบ›เบปเบเบเบฐเบ•เบดเบˆเบฐเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ stdout เปเบฅเบฐโ€‹เบชเบปเปˆเบ‡โ€‹เบญเบญเบโ€‹เป„เบ›โ€‹เบ—เบตเปˆโ€‹เบซเบ™เป‰เบฒโ€‹เบˆเปโ€‹, เบเบฑเบšโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹ my_file. เบ–เป‰เบฒเป„เบŸเบฅเปŒ my_file เบšเปเปˆเบกเบต - เบกเบฑเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™. เบ–เป‰เบฒเป„เบŸเบฅเปŒเบกเบตเบขเบนเปˆ, เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เบ—เบฑเบš.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡ ls > my_folder_contents.txt เป„เบŸเบฅเปŒเบ‚เปเป‰เบ„เบงเบฒเบกเบˆเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเบกเบตเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆเปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™.

เบ–เป‰เบฒเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบฅเบฑเบ > เปƒเบŠเป‰เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡ >>, เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™, เปƒเบซเป‰โ€‹เบงเปˆเบฒโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ—เบตเปˆโ€‹เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ‚เบญเบ‡โ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เปเบกเปˆเบ™ redirected เบกเบตโ€‹, เป„เบŸเบฅโ€‹เปŒโ€‹เบ™เบตเป‰โ€‹เบˆเบฐโ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ‚เบฝเบ™โ€‹เบ—เบฑเบšโ€‹. เบ‚เปเป‰เบกเบนเบ™เบˆเบฐเบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบชเปˆเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ™เบตเป‰.

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบฎเบปเบฒเบกเบฒเป€เบšเบดเปˆเบ‡เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ—เปเปˆเบ‚เปเป‰เบกเบนเบ™.

[bookmarked] Bash เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™: 21 เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”
เบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบ™เบถเปˆเบ‡เปเบกเปˆเบ™เบ›เป‰เบญเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบญเบทเปˆเบ™. เบกเบฑเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เปเปˆเบซเบ™เบถเปˆเบ‡เป„เบ›เบซเบฒเบญเบตเบ

first_command | second_command: เบชเบฑเบ™โ€‹เบเบฒโ€‹เบฅเบฑเบโ€‹เบฅเปเบฒโ€‹เบฅเบฝเบ‡โ€‹, |, เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบ™เบถเปˆเบ‡เป„เบ›เบซเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบญเบทเปˆเบ™. เบชเบดเปˆเบ‡เบ—เบตเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบŠเป‰เบฒเบเบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒ stdout, เบ•เบปเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ stdin เบ„เปเบฒเบชเบฑเปˆเบ‡เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบ‚เบงเบฒเบ‚เบญเบ‡เบชเบฑเบ™เบเบฒเบฅเบฑเบเบ—เปเปˆ.

เปƒเบ™ Linux, เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ—เปเปˆเป‚เบ”เบเปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบกเบตเบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ”เบต. เบกเบฑเบ™เบกเบฑเบเบˆเบฐเป€เบงเบปเป‰เบฒเบงเปˆเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™ Linux เปเบกเปˆเบ™เบ—เปเปˆ.

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เปˆเบญเบ‡เป‚เบชเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบซเบผเบฒเบเบญเบฑเบ™เป‚เบ”เบเปƒเบŠเป‰เบชเบฑเบ™เบเบฒเบฅเบฑเบเบ—เปเปˆ. เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ™เบตเป‰:

first_command | second_command | third_command

[bookmarked] Bash เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™: 21 เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”
เบ—เปเปˆเบ‚เบญเบ‡เบซเบผเบฒเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบ—เปเปˆ

เปƒเบซเป‰เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเป€เบกเบทเปˆเบญเบ„เปเบฒเบชเบฑเปˆเบ‡เป„เบ›เบ—เบฒเบ‡เบŠเป‰เบฒเบเบ‚เบญเบ‡เบชเบฑเบ™เบเบฒเบฅเบฑเบ |, เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบˆเบฐ stdout, เบชเบดเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เบ™เบฒเบ‡โ€‹เบญเบญเบโ€‹เปเบกเปˆเบ™โ€‹เบกเบตโ€‹เบ—เบฑเบ™โ€‹เบ—เบตโ€‹เบ—เบฑเบ™โ€‹เปƒเบ”โ€‹เป€เบ›เบฑเบ™โ€‹ stdin เบ—เบตเบกโ€‹เบ—เบตเปˆโ€‹เบชเบญเบ‡โ€‹. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบกเบฑเบ™เป„เบ”เป‰เบซเบฑเบ™เบญเบญเบเบงเปˆเบฒ, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เปเปˆ, เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบฐเบซเบ™เบฒเบ™. เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เบตเปˆเบšเปเปˆเบ„เบฒเบ”เบ„เบดเบ”. เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰ เบ—เบตเปˆเบ™เบตเป‰.

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบญเปˆเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเป„เบŸเบฅเปŒเปเบฅเบฐเบชเบฐเปเบ”เบ‡เบžเบงเบเบกเบฑเบ™เปƒเบ™เบซเบ™เป‰เบฒเบˆเป.

โ– เบเบณเบฅเบฑเบ‡เบญเปˆเบฒเบ™เป„เบŸเบฅเปŒ

head my_file: เบญเปˆเบฒเบ™เป€เบชเบฑเป‰เบ™เบˆเบฒเบเบˆเบธเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒ เปเบฅเบฐเบžเบดเบกเบžเบงเบเบกเบฑเบ™เปƒเบชเปˆเปœเป‰เบฒเบˆเป. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒ, เปเบ•เปˆเบเบฑเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡เบญเบญเบเปƒเบ™ stdinเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบ—เปเปˆ.

tail my_file: เบญเปˆเบฒเบ™เปเบ–เบงเบˆเบฒเบเบ—เป‰เบฒเบเป„เบŸเบฅเปŒ. เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบ—เปเปˆ.

[bookmarked] Bash เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™: 21 เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”
เบซเบปเบง (เบซเบปเบง) เบขเบนเปˆเบ—เบฒเบ‡เบซเบ™เป‰เบฒ, เปเบฅเบฐเบซเบฒเบ‡ (เบซเบฒเบ‡) เบขเบนเปˆเบ—เบฒเบ‡เบซเบฅเบฑเบ‡

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เป‚เบ”เบเปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” pandas, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ head ะธ tail เบ„เบงเบ™เบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเบ—เปˆเบฒเบ™. เบ–เป‰เบฒเบšเปเปˆเปเบกเปˆเบ™เบเปเบฅเบฐเบ™เบต, เป€เบšเบดเปˆเบ‡เบฎเบนเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ™เบตเป‰, เปเบฅเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเบˆเบทเปˆเบžเบงเบเบกเบฑเบ™เป„เบ”เป‰เบ‡เปˆเบฒเบ.

เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบงเบดเบ—เบตเบเบฒเบ™เบญเบทเปˆเบ™เป†เป€เบžเบทเปˆเบญเบญเปˆเบฒเบ™เป„เบŸเบฅเปŒ, เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡ cat.

เบ—เบตเบกเบ‡เบฒเบ™ cat เบšเปเปˆเบงเปˆเบฒเบˆเบฐเบžเบดเบกเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒเปƒเบชเปˆเบซเบ™เป‰เบฒเบˆเป, เบซเบผเบท concatenates เบซเบผเบฒเบเป„เบŸเบฅเปŒ. เบกเบฑเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เป€เบกเบทเปˆเบญเบ–เบทเบเป€เบญเบตเป‰เบ™.

[bookmarked] Bash เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™: 21 เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”
เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡ cat

cat my_one_file.txt: เป€เบกเบทเปˆเบญเป„เบŸเบฅเปŒเบ”เบฝเบงเบ–เบทเบเบชเบปเปˆเบ‡เบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰, เบกเบฑเบ™เบˆเบฐเบชเบปเปˆเบ‡เบกเบฑเบ™เป„เบ›เบซเบฒ stdout.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เปƒเบซเป‰เบกเบฑเบ™เบชเบญเบ‡เป„เบŸเบฅเปŒเบซเบผเบทเบซเบผเบฒเบเบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบกเบฑเบ™เบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

cat my_file1.txt my_file2.txt: เป„เบ”เป‰เบฎเบฑเบšเบซเบผเบฒเบเป„เบŸเบฅเปŒเป€เบ›เบฑเบ™ input, เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰ concatenates เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเปเบฅเบฐเบชเบฐเปเบ”เบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เปƒเบ™ stdout.

เบ–เป‰เบฒเบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เป„เบŸเบฅเปŒเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบšเบฑเบ™เบ—เบถเบเป€เบ›เบฑเบ™เป„เบŸเบฅเปŒเปƒเบซเบกเปˆ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ >:

cat my_file1.txt my_file2.txt > my_new_file.txt

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบฎเบปเบฒเบกเบฒเบฅเบปเบกเบเบฑเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบฅเบถเบšเป„เบŸเบฅเปŒ เปเบฅเบฐเบขเบธเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ•เปˆเบฒเบ‡เป†.

โ–เบเบฒเบ™เบฅเบถเบšเป„เบŸเบฅเปŒ, เบเบฒเบ™เบขเบธเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™

rm my_file: เบฅเบถเบšเป„เบŸเบฅเปŒ my_file.

rm -r my_folder: เบฅเบถเบšเป‚เบŸเบ™เป€เบ”เบต my_folder เปเบฅเบฐเป„เบŸเบฅเปŒ เปเบฅเบฐเป‚เบŸเบ™เป€เบ”เบตเป‰เบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเบกเบฑเบ™เบกเบตเบขเบนเปˆ. เบ—เบธเบ‡ -r เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบฎเบนเบšเปเบšเบš recursive.

เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบšเปเปˆเปƒเบซเป‰เบฅเบฐเบšเบปเบšเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เปเบ•เปˆเบฅเบฐเบ„เบฑเป‰เบ‡เบ—เบตเปˆเป„เบŸเบฅเปŒเบซเบผเบทเป‚เบŸเบ™เป€เบ”เบตเบ–เบทเบเบฅเบถเบš, เปƒเบซเป‰เปƒเบŠเป‰เบ—เบธเบ‡ -f.

kill 012345: เบขเบธเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปเบฅเปˆเบ™เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰, เปƒเบซเป‰เป€เบงเบฅเบฒเบ›เบดเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เบชเบฐเบซเบ‡เปˆเบฒเบ‡เบฒเบก.

kill -9 012345: Forcbly terminates เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เปเบฅเปˆเบ™เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰. เป€เบšเบดเปˆเบ‡เบ—เบธเบ‡ -s SIGKILL เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบ„เบทเบเบฑเบ™เบเบฑเบšเบ—เบธเบ‡เบŠเบฒเบ” -9.

โ– เบ„เบปเป‰เบ™เบซเบฒ

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เป€เบžเบทเปˆเบญเบŠเบญเบเบซเบฒเบ‚เปเป‰เบกเบนเบ™. เป‚เบ”เบโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐ - grep, ag ะธ ack. เปƒเบซเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ„เบงเบฒเบกเบฎเบนเป‰เบˆเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ”เป‰เบงเบ grep. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบ—เบปเบ”เบชเบญเบš, เป€เบŠเบทเปˆเบญเบ–เบทเป„เบ”เป‰, เป€เบŠเบดเปˆเบ‡, เปเบ™เบงเปƒเบ”เบเปเปˆเบ•เบฒเบก, เปเบกเปˆเบ™เบŠเป‰เบฒเบเบงเปˆเบฒเบ„เบปเบ™เบญเบทเปˆเบ™เปเบฅเบฐเบšเปเปˆเบชเบฐเบ”เบงเบเปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒ.

[bookmarked] 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 เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒ inversion, เบกเบฑเบ™ resembles เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ NOT, เบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เบซเบผเบฒเบเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก.

grep -c my_regex my_file: เบชเบปเปˆเบ‡เบ„เบทเบ™เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบšเบ„เบนเปˆเบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเปเบšเบšเบเบฒเบ™เบŠเบญเบเบซเบฒเบ—เบตเปˆเบžเบปเบšเป€เบซเบฑเบ™เบขเบนเปˆเปƒเบ™เป„เบŸเบฅเปŒ.

grep -R my_regex my_folder: เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเปเบšเบš recursive เปƒเบ™เบ—เบธเบเป„เบŸเบฅเปŒเบ—เบตเปˆเบขเบนเปˆเปƒเบ™เป‚เบŸเบ™เป€เบ”เบตเบ—เบตเปˆเบฅเบฐเบšเบธเปเบฅเบฐเปƒเบ™เป‚เบŸเบ™เป€เบ”เบตเบ—เบตเปˆเบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบ™เบฑเป‰เบ™.

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบ—เบตเบกเบ‡เบฒเบ™ ag. เบ™เบฒเบ‡เบกเบฒเบ•เปเปˆเบกเบฒ grep, เบกเบฑเบ™เป„เบงเบ‚เบถเป‰เบ™, เบกเบฑเบ™เบชเบฐเบ”เบงเบเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบกเบฑเบ™.

[bookmarked] 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% interchangeable. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ—เบตเบกเบ‡เบฒเบ™ ag เป€เบฎเบฑเบ”เบงเบฝเบเป„เบงเบ‚เบถเป‰เบ™, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบ‚เป‰เบญเบเบญเบฐเบ—เบดเบšเบฒเบเบกเบฑเบ™.

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™.

โ– เบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™

tar my_source_directory: concatenates เป„เบŸเบฅเปŒเบˆเบฒเบเป‚เบŸเบ™เป€เบ”เบต my_source_directory เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป„เบŸเบฅเปŒ tarball เบ”เบฝเบง. เป„เบŸเบฅโ€‹เปŒโ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เปเบกเปˆเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ”โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป‚เบญเบ™โ€‹เบŠเบธเบ”โ€‹เปƒเบซเบเปˆโ€‹เบ‚เบญเบ‡โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบเบฑเบšโ€‹เบœเบนเป‰โ€‹เปƒเบ”โ€‹เบœเบนเป‰โ€‹เบซเบ™เบถเปˆเบ‡โ€‹.

[bookmarked] Bash เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™: 21 เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”
tar เบ„เปเบฒเบชเบฑเปˆเบ‡

เป„เบŸเบฅเปŒ tarball เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เปเบกเปˆเบ™เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบตเบ™เบฒเบกเบชเบฐเบเบธเบ™ .tar (เป€เบ—เบš ARchive). เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบ„เปเบฒเบงเปˆเบฒ "เป€เบ—เบš" (เป€เบ—เบš) เบ–เบทเบเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰เปƒเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเปƒเบ™เบ™เบฒเบกเบชเบฐเบเบธเบ™เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบกเบฑเบ™เบชเป‰เบฒเบ‡เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบกเบตเบขเบนเปˆเบ”เบปเบ™เบ›เบฒเบ™เปƒเบ”.

tar -cf my_file.tar my_source_directory: เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ tarball เบŠเบทเปˆ my_file.tar เบเบฑเบšเป€เบ™เบทเป‰เบญเปƒเบ™เป‚เบŸเบ™เป€เบ”เบต my_source_directory. เบ—เบธเบ‡ -c เบซเบเปเป‰เบกเบฒเบˆเบฒเบ "เบชเป‰เบฒเบ‡" (เบเบฒเบ™เบชเป‰เบฒเบ‡), เปเบฅเบฐเบ—เบธเบ‡ -f เป€เบ›เบฑเบ™ "เป„เบŸเบฅเปŒ" (เป„เบŸเบฅเปŒ).

เป€เบžเบทเปˆเบญเบชเบฐเบเบฑเบ”เป„เบŸเบฅเปŒเบˆเบฒเบ .tar-file, เปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ tar เบ”เป‰เบงเบเบ—เบธเบ‡ -x ("เบชเบฐเบเบฑเบ”", เบเบฒเบ™เบชเบฐเบเบฑเบ”เป€เบญเบปเบฒ) เปเบฅเบฐ -f ("เป„เบŸเบฅเปŒ", เป„เบŸเบฅเปŒ).

tar -xf my_file.tar: เบชเบฐเบเบฑเบ”เป„เบŸเบฅเปŒเบˆเบฒเบ my_file.tar เป„เบ›เบซเบฒเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™.

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบฎเบปเบฒเบกเบฒเบฅเบปเบกเบเบฑเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบšเบตเบšเบญเบฑเบ” เปเบฅเบฐเบšเบตเบšเบญเบฑเบ” .tar- เป„เบŸเบฅโ€‹เปŒโ€‹.

tar -cfz my_file.tar.gz my_source_directory: เบ—เบตเปˆเบ™เบตเป‰เปƒเบŠเป‰เบ—เบธเบ‡ -z ("zip", algorithm เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”) เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒ algorithm เบ„เบงเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบšเบตเบšเบญเบฑเบ”เป„เบŸเบฅเปŒ. gzip (GNUzip). เบเบฒเบ™เบšเบตเบšเบญเบฑเบ”เป„เบŸเบฅเปŒเบˆเบฐเบŠเปˆเบงเบเบ›เบฐเบขเบฑเบ”เบžเบทเป‰เบ™เบ—เบตเปˆเบ”เบดเบชเบเปŒเปƒเบ™เป€เบงเบฅเบฒเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป„เบŸเบฅเปŒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เบ–เป‰เบฒเป„เบŸเบฅเปŒเบ–เบทเบเบงเบฒเบ‡เปเบœเบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡, เบˆเบฐเบ–เบทเบเป‚เบญเบ™เป„เบ›เบซเบฒเบœเบนเป‰เปƒเบŠเป‰เบญเบทเปˆเบ™เป†, เบ™เบตเป‰เบ›เบฐเบเบญเบšเบชเปˆเบงเบ™เปƒเบ™เบเบฒเบ™เบ”เบฒเบงเป‚เบซเบผเบ”เป„เบŸเบฅเปŒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป„เบงเบ‚เบถเป‰เบ™.

Unzip เป„เบŸเบฅเปŒ .tar.gz เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบ—เบธเบ‡ -z เบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบชเบฐเบเบฑเบ”เป€เบ™เบทเป‰เบญเปƒเบ™ .tar-files, เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบปเบ™เบ—เบฐเบ™เบฒเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡. เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ™เบตเป‰:

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. เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบชเป‰เบฒเบ‡เบ™เบฒเบกเปเบเบ‡, เปƒเบซเป‰เบฃเบตเบชเบฐเบ•เบฒเบ” terminal, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰ alias เบ™เบตเป‰. เปƒเบ™โ€‹เบเปโ€‹เบฅเบฐโ€‹เบ™เบตโ€‹เบ™เบตเป‰โ€‹, เบเบฒเบ™โ€‹เบ›เป‰เบญเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ‚เบญเบ‡โ€‹เบชเบญเบ‡โ€‹เบ•เบปเบงโ€‹เบญเบฑเบโ€‹เบชเบญเบ™โ€‹เบ—เบปเบ”โ€‹เปเบ—เบ™โ€‹เบเบฒเบ™โ€‹เบ›เป‰เบญเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบซเบผเบฒเบโ€‹เบโ€‹เปˆโ€‹เบงเบฒโ€‹เบชเบฒเบกโ€‹เบญเบฒเบโ€‹เปเบโ€‹เบฑโ€‹เบชโ€‹เบ‚เบญเบ‡โ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹, เบŠเบถเปˆเบ‡โ€‹เบกเบตโ€‹เบˆเบธเบ”โ€‹เบ›เบฐโ€‹เบชเบปเบ‡โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹. เบชเบฐเบžเบฒเปเบซเปˆเบ‡ เปเบžเบฑเบเป€เบเบ” Python.

ะ’ ~/.bash_profile เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบžเบตเปˆเบกเบ™เบฒเบกเปเบเบ‡เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเปƒเบŠเป‰เป€เบฅเบทเป‰เบญเบเป†.

โ– เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš

เปƒเบ™เบšเบปเบ”เบ‚เบฝเบ™เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบงเบกเป€เบญเบปเบฒ 21 เบ„เปเบฒเบชเบฑเปˆเบ‡ Bash เบ—เบตเปˆเบ™เบดเบเบปเบกเปเบฅเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบ™เบฒเบกเปเบเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบชเบปเบ™เปƒเบˆเปƒเบ™เบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰ - เบˆเบปเปˆเบ‡เป€เบšเบดเปˆเบ‡, เบŠเบธเบ”เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบžเบดเบกเบ—เบตเปˆเบญเบธเบ—เบดเบ”เบ•เบปเบ™เป€เบžเบทเปˆเบญ Bash. เบกเบฑเบ™เป€เบ›เบฑเบ™ เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบŠเบญเบเบซเบฒเบชเบฐเบšเบฑเบš pdf เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบžเบดเบกเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰ Bash, เบˆเบปเปˆเบ‡เบˆเบทเปˆเป„เบงเป‰เบงเปˆเบฒ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบญเบทเปˆเบ™เป†, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบกเปˆเบ™เบชเปเบฒเบ„เบฑเบ™.

เบ—เปˆเบฒเบ™เบœเบนเป‰เบญเปˆเบฒเบ™เบ—เบตเปˆเบฎเบฑเบเปเบžเบ‡! เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ”เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบˆเบฐเป€เบžเบตเปˆเบกเปƒเบชเปˆเบเบฑเบšเบ„เปเบฒเบ—เบตเปˆเบชเบปเบ™เบ—เบฐเบ™เบฒเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰?

โ†’ เบญเปˆเบฒเบ™เปƒเบ™ blog เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบŠเบธเบ”เบ‚เบญเบ‡เบชเบดเปˆเบ‡เบžเบดเบกเบเปˆเบฝเบงเบเบฑเบš bash scripts

[bookmarked] Bash เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™: 21 เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™