From 552d57ad308e5c24bf4c6f2c14086c7202c861f9 Mon Sep 17 00:00:00 2001 From: Mahmudun Nabi Kajal Date: Tue, 9 Apr 2024 22:55:09 +0600 Subject: [PATCH] bn: added bengali translation --- README-bn.md | 624 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 624 insertions(+) create mode 100644 README-bn.md diff --git a/README-bn.md b/README-bn.md new file mode 100644 index 0000000..151626e --- /dev/null +++ b/README-bn.md @@ -0,0 +1,624 @@ +🌍 +*[āĻŦāĻžāĻ‚āϞāĻž](README-bn.md) ∙ [ČeÅĄtina](README-cs.md) ∙ [Deutsch](README-de.md) ∙ [ΕÎģÎģΡÎŊΚÎēÎŦ](README-el.md) ∙ [English](README.md) ∙ [EspaÃąol](README-es.md) ∙ [Français](README-fr.md) ∙ [Indonesia](README-id.md) ∙ [Italiano](README-it.md) ∙ [æ—ĨæœŦčĒž](README-ja.md) ∙ [한ęĩ­ė–´](README-ko.md) ∙ [polski](README-pl.md) ∙ [PortuguÃĒs](README-pt.md) ∙ [RomÃĸnă](README-ro.md) ∙ [Đ ŅƒŅŅĐēиК](README-ru.md) ∙ [SlovenÅĄÄina](README-sl.md) ∙ [ĐŖĐēŅ€Đ°Ņ—ĐŊҁҌĐēа](README-uk.md) ∙ [įŽ€äŊ“中文](README-zh.md) ∙ [įšéĢ”ä¸­æ–‡](README-zh-Hant.md)* + + +# āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϞāĻžāχāύ⧇āϰ āĻļāĻŋāĻ˛ā§āĻĒ + +*āĻĻā§āϰāĻˇā§āϟāĻŦā§āϝ: āφāĻŽāĻŋ āĻāϟāĻŋāϕ⧇ āϏāĻ‚āĻļā§‹āϧāύ āĻ•āϰāĻžāϰ āĻĒāϰāĻŋāĻ•āĻ˛ā§āĻĒāύāĻž āĻ•āϰāĻ›āĻŋ āĻāĻŦāĻ‚ āĻāϟāĻŋāϕ⧇ āφāϰāĻ“ āĻŦā§āϝāĻžāĻĒāĻ• āĻ—āĻžāχāĻĄā§‡ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϜāύ āύāϤ⧁āύ āϏāĻš-āϞ⧇āĻ–āϕ⧇āϰ āϏāĻ¨ā§āϧāĻžāύ āĻ•āϰāĻ›āĻŋ⧎ āϝāĻĻāĻŋāĻ“ āĻāϟāĻŋ āϖ⧁āĻŦ āϜāύāĻĒā§āϰāĻŋāϝāĻŧ, āĻāϟāĻŋ āφāϰāĻ“ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āĻāĻŦāĻ‚ āĻ•āĻŋāϛ⧁āϟāĻž āĻ—āĻ­ā§€āϰ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āϞāĻŋāĻ–āϤ⧇ āϚāĻžāύ āĻāĻŦāĻ‚ āĻāχ āωāĻĒāĻžāĻĻāĻžāύ⧇āϰ āĻāĻ•āϜāύ āĻŦāĻŋāĻļ⧇āώāĻœā§āĻž āĻšāĻ“āϝāĻŧāĻžāϰ āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋ āĻĨāĻžāϕ⧇āύ āĻāĻŦāĻ‚ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰāĻžāϰ āĻ•āĻĨāĻž āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰāϤ⧇ āχāĻšā§āϛ⧁āĻ• āĻšāύ, āϤāĻžāĻšāϞ⧇ āĻ…āύ⧁āĻ—ā§āϰāĻš āĻ•āϰ⧇ āφāĻŽāĻžāϕ⧇ josh (0x40) holloway.com-āĻ āĻāĻ•āϟāĻŋ āύ⧋āϟ āĻĻāĻŋāύāĨ¤ –[jlevy](https://github.com/jlevy), [āĻšāϞ⧋āĻ“āϝāĻŧ⧇](https://www.holloway.com)āĨ¤ āϧāĻ¨ā§āϝāĻŦāĻžāĻĻ!* + +- [āĻŽā§‡āϟāĻž](#āĻŽā§‡āϟāĻž) +- [āĻŽā§‚āϞāύ⧀āϤāĻŋ](#āĻŽā§‚āϞāύ⧀āϤāĻŋ) +- [āĻĻ⧈āύāĻ¨ā§āĻĻāĻŋāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ](#āĻĻ⧈āύāĻ¨ā§āĻĻāĻŋāύ-āĻŦā§āϝāĻŦāĻšāĻžāϰ) +- [āĻĢāĻžāχāϞ āĻāĻŦāĻ‚ āĻĄā§‡āϟāĻž āĻĒā§āϰāĻ•ā§āϰāĻŋ⧟āĻžāĻ•āϰāĻŖ](#āĻĢāĻžāχāϞ-āĻāĻŦāĻ‚-āĻĄā§‡āϟāĻž-āĻĒā§āϰāĻ•ā§āϰāĻŋ⧟āĻžāĻ•āϰāĻŖ) +- [āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚](#āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ-āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚) +- [āĻāĻ•-āϞāĻžāχāύāĻžāϰ](#āĻāĻ•-āϞāĻžāχāύāĻžāϰ) +- [āĻ…āĻ¸ā§āĻĒāĻˇā§āϟ āĻ•āĻŋāĻ¨ā§āϤ⧁ āωāĻĒāĻ•āĻžāϰ⧀](#āĻ…āĻ¸ā§āĻĒāĻˇā§āϟ-āĻ•āĻŋāĻ¨ā§āϤ⧁-āωāĻĒāĻ•āĻžāϰ⧀) +- [āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŽā§āϝāĻžāĻ•āĻ“āĻāϏ](#āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ-āĻŽā§āϝāĻžāĻ•āĻ“āĻāϏ) +- [āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āωāχāĻ¨ā§āĻĄā§‹āϜ](#āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ-āωāχāĻ¨ā§āĻĄā§‹āϜ) +- [āφāϰāĻ“ āϰāĻŋāϏ⧋āĻ°ā§āϏ](#āφāϰāĻ“-āϰāĻŋāϏ⧋āĻ°ā§āϏ) +- [āĻ…āĻ¸ā§āĻŦā§€āĻ•ā§ƒāϤāĻŋ](#āĻ…āĻ¸ā§āĻŦā§€āĻ•ā§ƒāϤāĻŋ) + + +![curl -s 'https://raw.githubusercontent.com/jlevy/the-art-of-command-line/master/README.md' | egrep -o '`\w+`' | tr -d '`' | cowsay -W50](cowsay.png) + +āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϞāĻžāχāύ⧇ āĻĻāĻ•ā§āώāϤāĻž āĻ…āĻ°ā§āϜāύ āĻĒā§āϰāĻžāϝāĻŧāĻļāχ āωāĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰāĻž āĻšāϝāĻŧ āĻŦāĻž āϰāĻšāĻ¸ā§āϝāĻŽāϝāĻŧ āĻŦāϞ⧇ āĻŽāύ⧇ āĻ•āϰāĻž āĻšāϝāĻŧ, āϤāĻŦ⧇ āĻāϟāĻŋ āχāĻžā§āϜāĻŋāύāĻŋ⧟āĻžāϰ āĻšāĻŋāϏāĻžāĻŦ⧇ āφāĻĒāύāĻžāϰ āĻĢā§āϞ⧇āĻ•ā§āϏāĻŋāĻŦāĻŋāϞāĻŋāϟāĻŋ āĻāĻŦāĻ‚ āĻĒā§āϰ⧋āĻĄāĻžāĻ•ā§āϟāĻŋāĻ­āĻŋāϟāĻŋ āωāĻ¨ā§āύāϤ āĻ•āϰ⧇ āϏ⧁āĻ¸ā§āĻĒāĻˇā§āϟ āĻāĻŦāĻ‚ āϏ⧂āĻ•ā§āĻˇā§āĻŽ āωāĻ­āϝāĻŧ āωāĻĒāĻžāϝāĻŧ⧇āĨ¤ āĻāϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āϞāĻžāχāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āωāĻĒāϰ āύ⧋āϟ āĻāĻŦāĻ‚ āϟāĻŋāĻĒāϏ⧇āϰ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āϝāĻž āφāĻŽāϰāĻž āϞāĻŋāύāĻžāĻ•ā§āϏ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻŦāϞ⧇ āĻŽāύ⧇ āĻ•āϰ⧇āĻ›āĻŋāĨ¤ āĻ•āĻŋāϛ⧁ āϟāĻŋāĻĒāϏ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ•, āĻāĻŦāĻ‚ āĻ•āĻŋāϛ⧁ āĻŽā§‹āϟāĻžāĻŽā§āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ, āĻĒāϰāĻŋāĻļā§€āϞāĻŋāϤ āĻŦāĻž āĻ…āĻ¸ā§āĻĒāĻˇā§āϟāĨ¤ āĻāχ āĻĒ⧃āĻˇā§āĻ āĻžāϟāĻŋ āĻĻā§€āĻ°ā§āϘ āύāϝāĻŧ, āϤāĻŦ⧇ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻāĻ–āĻžāύ⧇ āĻĨāĻžāĻ•āĻž āϏāĻŽāĻ¸ā§āϤ āφāχāĻŸā§‡āĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āĻ¸ā§āĻŽāϰāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āϤāĻŦ⧇ āφāĻĒāύāĻŋ āĻ…āύ⧇āĻ• āĻ•āĻŋāϛ⧁ āϜāĻžāύ⧇āύāĨ¤ + +āĻāχ āĻ•āĻžāϜāϟāĻŋ [āĻ…āύ⧇āĻ• āϞ⧇āĻ–āĻ• āĻāĻŦāĻ‚ āĻ…āύ⧁āĻŦāĻžāĻĻāĻ•āĻĻ⧇āϰ](AUTHORS.md) āĻĢāϞāĻžāĻĢāϞāĨ¤ +āĻāϰ āĻ•āĻŋāϛ⧁ +[āĻŽā§‚āϞāϤ](http://www.quora.com/What-are-some-lesser-known-but-useful-Unix-commands) +[āĻĻ⧇āĻ–āĻž āϗ⧇āϛ⧇](http://www.quora.com/What-are-the-most-useful-Swiss-army-knife-one-liners-on-Unix) +[Quora](http://www.quora.com/What-are-some-time-saving-tips-that-every-Linux-user-should-know)-āĻ, +āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻŋ āĻāĻ–āύ GitHub-āĻ āĻ¸ā§āĻĨāĻžāύāĻžāĻ¨ā§āϤāϰāĻŋāϤ āĻšāϝāĻŧ⧇āϛ⧇, āϝ⧇āĻ–āĻžāύ⧇ āĻŽā§‚āϞ āϞ⧇āĻ–āϕ⧇āϰ āĻšā§‡āϝāĻŧ⧇ āĻŦ⧇āĻļāĻŋ āĻĒā§āϰāϤāĻŋāĻ­āĻžāĻŦāĻžāύ āϞ⧋āϕ⧇āϰāĻž āĻ…āύ⧇āĻ• āωāĻ¨ā§āύāϤāĻŋ āĻ•āϰ⧇āϛ⧇āĨ¤ +[**āĻĻāϝāĻŧāĻž āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻļā§āύ āϜāĻŽāĻž āĻĻāĻŋāύ**](https://airtable.com/shrzMhx00YiIVAWJg) āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϞāĻžāχāύ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āϕ⧋āύ āĻĒā§āϰāĻļā§āύ āĻĨāĻžāϕ⧇āĨ¤ [**āĻĻāϝāĻŧāĻž āĻ•āϰ⧇ āĻ…āĻŦāĻĻāĻžāύ āϰāĻžāϖ⧁āύ**](/CONTRIBUTING.md) āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āϕ⧋āύāĻ“ āĻ¤ā§āϰ⧁āϟāĻŋ āĻŦāĻž āĻāĻŽāύ āĻ•āĻŋāϛ⧁ āĻĻ⧇āϖ⧇āύ āϝāĻž āφāϰāĻ“ āĻ­āĻžāϞ āĻšāϤ⧇ āĻĒāĻžāϰ⧇! + +## āĻŽā§‡āϟāĻž + +āϏ⧁āϝ⧋āĻ—: + +- āĻāχ āĻ—āĻžāχāĻĄāϟāĻŋ āĻŦāĻŋāĻ—āĻŋāύāĻžāĻ°ā§āϏ āĻāĻŦāĻ‚ āĻ…āĻ­āĻŋāĻœā§āĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āωāĻ­ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝāĨ¤ āϞāĻ•ā§āĻˇā§āϝāϗ⧁āϞāĻŋ āĻšāϞ *āĻŦā§āϰ⧇āĻĄāĻĨ* (āϏāĻŦāĻ•āĻŋāϛ⧁ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ), *āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟāϤāĻž* (āϏāĻŦāĻšā§‡ā§Ÿā§‡ āϏāĻžāϧāĻžāϰāĻŖ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āωāĻĻāĻžāĻšāϰāĻŖ āĻĻāĻŋāύ), āĻāĻŦāĻ‚ *āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤāϤāĻž* (āϝāĻž āĻ…āĻ¤ā§āϝāĻžāĻŦāĻļā§āϝāĻ• āύ⧟ āĻŦāĻž āĻ…āĻ¨ā§āϝāĻ¤ā§āϰ āϏāĻšāĻœā§‡āχ āĻĻ⧇āĻ–āĻž āϝāĻžā§Ÿ āĻāĻŽāύ āĻŦāĻŋāώ⧟āϗ⧁āϞāĻŋ āĻā§œāĻŋā§Ÿā§‡ āϚāϞ⧁āύ)āĨ¤ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϟāĻŋāĻĒ āĻ•āĻŋāϛ⧁ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϤ⧇ āĻ…āĻ¤ā§āϝāĻžāĻŦāĻļā§āϝāĻ• āĻŦāĻž āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāϗ⧁āϞāĻŋāϰ āωāĻĒāϰ āωāĻ˛ā§āϞ⧇āĻ–āϝ⧋āĻ—ā§āϝāĻ­āĻžāĻŦ⧇ āϏāĻŽā§Ÿ āĻŦāĻžāρāϚāĻžā§ŸāĨ¤ +- āĻāϟāĻŋ āϞāĻŋāύāĻžāĻ•ā§āϏ⧇āϰ āϜāĻ¨ā§āϝ āϞ⧇āĻ–āĻž āĻšā§Ÿā§‡āϛ⧇, "[āĻŽā§āϝāĻžāĻ•āĻ“āĻāϏ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ](#āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ-āĻŽā§āϝāĻžāĻ•āĻ“āĻāϏ)" āĻāĻŦāĻ‚ "[āωāχāĻ¨ā§āĻĄā§‹āϜ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ](#āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ-āωāχāĻ¨ā§āĻĄā§‹āϜ)" āĻŦāĻŋāĻ­āĻžāĻ—āϗ⧁āϞāĻŋ āĻŦā§āϝāϤ⧀āϤāĨ¤ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āφāχāĻŸā§‡āĻŽāϗ⧁āϞāĻŋāϰ āĻ…āύ⧇āĻ•āϗ⧁āϞāĻŋ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āχāωāύāĻŋāĻ•ā§āϏ āĻŦāĻž āĻŽā§āϝāĻžāĻ•āĻ“āĻāϏ (āĻŦāĻž āĻāĻŽāύāĻ•āĻŋ āϏāĻžāχāĻ—āωāχāύ) āĻ āĻĒā§āϰāϝ⧋āĻœā§āϝ āĻŦāĻž āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ +- āĻĢā§‹āĻ•āĻžāϏāϟāĻŋ āχāĻ¨ā§āϟāĻžāϰāĻ…ā§āϝāĻžāĻ•āϟāĻŋāĻ­ āĻŦā§āϝāĻžāĻļ⧇āϰ āωāĻĒāϰ, āϝāĻĻāĻŋāĻ“ āĻ…āύ⧇āĻ• āϟāĻŋāĻĒāϏ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻļ⧇āϞ āĻāĻŦāĻ‚ āϏāĻžāϧāĻžāϰāĻŖ āĻŦā§āϝāĻžāĻļ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟāĻŋāĻ‚ āĻ āĻĒā§āϰāϝ⧋āĻœā§āϝāĨ¤ +- āĻāϟāĻŋāϤ⧇ "āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ" āχāωāύāĻŋāĻ•ā§āϏ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻāĻŦāĻ‚ āĻŦāĻŋāĻļ⧇āώ āĻĒā§āϝāĻžāϕ⧇āϜ āχāύāĻ¸ā§āϟāϞ⧇āϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻšā§Ÿ āĻāĻŽāύ āωāϭ⧟āχ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ°ā§Ÿā§‡āϛ⧇ -- āϝāϤāĻ•ā§āώāĻŖ āύāĻž āϏ⧇āϗ⧁āϞāĻŋ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤāĻŋāϰ āϝ⧋āĻ—ā§āϝāϤāĻž āĻ…āĻ°ā§āϜāύ⧇āϰ āϜāĻ¨ā§āϝ āϝāĻĨ⧇āĻˇā§āϟ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ + +Notes: + +āĻāχ āĻĒ⧃āĻˇā§āĻ āĻžāϟāĻŋ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āϰāĻžāĻ–āĻžāϰ āϜāĻ¨ā§āϝ, āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁āϟāĻŋ āϏāϰāĻžāϏāϰāĻŋ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšā§ŸāύāĻŋāĨ¤ āϗ⧁āĻ—āϞ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϰ āϝāĻ–āύ āϧāĻžāϰāĻŖāĻž āĻŦāĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϟāĻŋ āϜāĻžāύāĻž āĻĨāĻžāĻ•āĻŦ⧇ āϤāĻ–āύ āφāĻĒāύāĻŋ āĻ…āĻ¨ā§āϝ āϕ⧋āĻĨāĻžāĻ“ āĻĨ⧇āϕ⧇ āφāϰāĻ“ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āϜāĻžāύāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύāĨ¤ āύāϤ⧁āύ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāϤ⧇ `apt`, `yum`, `dnf`, `pacman`, `pip` āĻŦāĻž `brew` (āϝāĻž āĻĒā§āϰāϝ⧋āĻœā§āϝ) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ +- āĻ•āĻŽāĻžāĻ¨ā§āĻĄ, āĻ…āĻĒāĻļāύ, āĻĒāĻžāχāĻĒ āχāĻ¤ā§āϝāĻžāĻĻāĻŋāϰ āϕ⧀ āĻ•āĻžāϜ āϤāĻž āϜāĻžāύāϤ⧇ [āĻāĻ•ā§āϏāĻĒā§āϞ⧇āχāύāϏ⧇āϞ](http://explainshell.com/) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + + +## āĻŽā§‚āϞ āĻŦāĻŋāώ⧟ + + - āĻŦ⧇āϏāĻŋāĻ• āĻŦā§āϝāĻžāĻļ āĻļāĻŋāϖ⧁āύāĨ¤ `man bash` āϟāĻžāχāĻĒ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻ•āĻŽāĻĒāĻ•ā§āώ⧇ āĻĒ⧁āϰ⧋āϟāĻž āĻ¸ā§āĻ•āĻŋāĻŽ āĻ•āϰ⧁āύ; āĻāϟāĻž āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰāĻž āĻŦ⧇āĻļ āϏāĻšāϜ āĻāĻŦāĻ‚ āϤāϤāϟāĻž āĻĻā§€āĻ°ā§āϘ āύ⧟āĨ¤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻļ⧇āϞāϗ⧁āϞāĻŋ āĻ­āĻžāϞ⧋ āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻŦā§āϝāĻžāĻļ āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀ āĻāĻŦāĻ‚ āϏāĻŦāϏāĻŽā§Ÿ āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧ (*āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ* zsh, fish, āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻļ⧇āĻ–āĻž, āφāĻĒāύāĻžāϰ āύāĻŋāĻœā§‡āϰ āĻ˛ā§āϝāĻžāĻĒāϟāĻĒ⧇ āĻĒā§āϰāϞ⧁āĻŦā§āϧ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ, āφāĻĒāύāĻžāϕ⧇ āĻ…āύ⧇āĻ• āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϤ⧇ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧ āĻ•āϰ⧇, āϝ⧇āĻŽāύ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž)āĨ¤ + +- āĻ…āĻ¨ā§āϤāϤ āĻāĻ•āϟāĻŋ āĻŸā§‡āĻ•ā§āϏāϟ-āĻŦ⧇āϏāĻĄ āĻāĻĄāĻŋāϟāϰ āĻ­āĻžāϞāĻ­āĻžāĻŦ⧇ āĻļāĻŋāϖ⧁āύāĨ¤ āĻŽā§ŒāϞāĻŋāĻ• āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ (āĻ“āĻĒ⧇āύāĻŋāĻ‚, āĻāĻĄāĻŋāϟāĻŋāĻ‚, āϏ⧇āĻ­āĻŋāĻ‚, āϏāĻžāĻ°ā§āϚāĻŋāĻ‚) āϜāĻ¨ā§āϝ `nano` āĻāĻĄāĻŋāϟāϰ āĻšāϞ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϏāĻšāϜāĨ¤ āϝāĻžāχāĻšā§‹āĻ•, āĻāĻ•āϟāĻŋ āĻŸā§‡āĻ•ā§āϏāϟ āϟāĻžāĻ°ā§āĻŽāĻŋāύāĻžāϞ⧇ āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϜāĻ¨ā§āϝ, Vim (`vi`) āĻāϰ āϕ⧋āύ⧋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āύ⧇āχ, āϝāĻž āĻļ⧇āĻ–āĻž āĻ•āĻ āĻŋāύ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĻā§āϰ⧁āϤ āĻāĻŦāĻ‚ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϝ⧁āĻ•ā§āϤ āĻāĻĄāĻŋāϟāϰāĨ¤ āĻ…āύ⧇āĻ• āϞ⧋āĻ• āĻ•ā§āϞāĻžāϏāĻŋāĻ• Emacs āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇, āĻŦāĻŋāĻļ⧇āώ āĻ•āϰ⧇ āĻŦāĻĄāĻŧ āĻāĻĄāĻŋāϟāĻŋāĻ‚ āĻ•āĻžāĻœā§‡āϰ āϜāĻ¨ā§āϝāĨ¤ (āĻ…āĻŦāĻļā§āϝāχ, āϝ⧇āϕ⧋āύ āφāϧ⧁āύāĻŋāĻ• āϏāĻĢāϟāĻ“āϝāĻŧā§āϝāĻžāϰ āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āĻĒā§āϰāĻ•āĻ˛ā§āĻĒ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āĻŸā§‡āĻ•ā§āϏāϟ-āĻŦ⧇āϏāĻĄ āĻāĻĄāĻŋāϟāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āύ⧇āχ āĻāĻŦāĻ‚ āφāϧ⧁āύāĻŋāĻ• āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•āĻžāϞ āφāχāĻĄāĻŋāχ āĻāĻŦāĻ‚ āϏāϰāĻžā§āϜāĻžāĻŽāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇āĻ“ āĻĒāϰāĻŋāϚāĻŋāϤ āĻšāĻ“āϝāĻŧāĻž āωāϚāĻŋāϤāĨ¤) + +- āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āϏāĻ¨ā§āϧāĻžāύ āĻ•āϰāĻž: + - `man` āĻĻāĻŋā§Ÿā§‡ āĻ…āĻĢāĻŋāϏāĻŋ⧟āĻžāϞ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāύ āĻĒ⧜āϤ⧇ āϜāĻžāύāĻž (āϜāĻžāύāϤ⧇ āχāĻšā§āϛ⧁āĻ•āĻĻ⧇āϰ āϜāĻ¨ā§āϝ, `man man` āϏ⧇āĻ•āĻļāύ āύāĻžāĻŽā§āĻŦāĻžāϰāϗ⧁āϞ⧋ āϤāĻžāϞāĻŋāĻ•āĻž āĻ•āϰ⧇, āϝ⧇āĻŽāύ 1 āĻšāϞ "āϰ⧇āϗ⧁āϞāĻžāϰ" āĻ•āĻŽāĻžāĻ¨ā§āĻĄ, 5 āĻšāϞ āĻĢāĻžāχāϞ/āĻ•āύāϭ⧇āύāĻļāύ, āĻāĻŦāĻ‚ 8 āĻšāϞ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύāĻŋāĻ¸ā§āĻŸā§āϰ⧇āĻļāύ)āĨ¤ `apropos` āĻĻāĻŋā§Ÿā§‡ āĻŽā§āϝāĻžāύ āĻĒ⧇āϜāϗ⧁āϞ⧋ āϖ⧁āρāϜ⧁āύāĨ¤ + - āϜāĻžāύāĻž āϝ⧇ āĻ•āĻŋāϛ⧁ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻŸā§‡āĻŦāϞ āύ⧟, āĻŦāϰāĻ‚ Bash āĻŦāĻŋāĻ˛ā§āϟāχāύ, āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ `help` āĻāĻŦāĻ‚ `help -d` āĻĻāĻŋā§Ÿā§‡ āĻāϗ⧁āϞ⧋āϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻĒ⧇āϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āφāĻĒāύāĻŋ `type command` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϜāĻžāύāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ āϝ⧇ āĻāĻ•āϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻāĻ•ā§āϏāĻŋāĻ•āĻŋāωāĻŸā§‡āĻŦāϞ, āĻļ⧇āϞ āĻŦāĻŋāĻ˛ā§āϟāχāύ āύāĻžāĻ•āĻŋ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāϞāĻžā§ŸāĻžāϏāĨ¤ + - `curl cheat.sh/command` āĻāĻ•āϟāĻŋ āĻļ⧇āϞ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϏāĻžāϧāĻžāϰāĻŖ āωāĻĻāĻžāĻšāϰāĻŖāϏāĻš āĻāĻ•āϟāĻŋ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ "āϚāĻŋāϟ āĻļāĻŋāϟ" āĻĻ⧇āĻŦ⧇āĨ¤ + +- āφāωāϟāĻĒ⧁āϟ āĻāĻŦāĻ‚ āχāύāĻĒ⧁āϟ āϰāĻŋāĻĄāĻŋāϰ⧇āĻ•āĻļāύ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϜāĻžāύ⧁āύ `>` āĻāĻŦāĻ‚ `<` āĻāĻŦāĻ‚ āĻĒāĻžāχāĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ `|`. āϜāĻžāύ⧁āύ `>` āφāωāϟāĻĒ⧁āϟ āĻĢāĻžāχāϞāϟāĻŋ āĻ“āĻ­āĻžāϰāϰāĻžāχāϟ āĻ•āϰ⧇ āĻāĻŦāĻ‚ `>>` āĻ…ā§āϝāĻžāĻĒ⧇āĻ¨ā§āĻĄ āĻ•āϰ⧇āĨ¤ stdout āĻāĻŦāĻ‚ stderr āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϜāĻžāύ⧁āύāĨ¤ + +- āĻĢāĻžāχāϞ āĻ—ā§āϞāĻŦ āĻāĻ•ā§āϏāĻĒā§āϝāĻžāύāĻļāύ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϜāĻžāύ⧁āύ `*` (āĻāĻŦāĻ‚ āϏāĻŽā§āĻ­āĻŦāϤ `?` āĻāĻŦāĻ‚ `[`...`]`) āĻāĻŦāĻ‚ āϕ⧋āϟāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻĄāĻžāĻŦāϞ `"` āĻāĻŦāĻ‚ āϏāĻŋāĻ™ā§āϗ⧇āϞ `'` āϕ⧋āĻŸā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝāĨ¤ (āύāĻŋāĻšā§‡ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āĻāĻ•ā§āϏāĻĒā§āϝāĻžāύāĻļāύ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāϰāĻ“ āĻĻ⧇āϖ⧁āύāĨ¤) + +- āĻŦā§āϝāĻžāϏ āϜāĻŦ āĻŽā§āϝāĻžāύ⧇āϜāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āĻĒāϰāĻŋāϚāĻŋāϤ āĻšāύ: `&`, **ctrl-z**, **ctrl-c**, `jobs`, `fg`, `bg`, `kill`, āχāĻ¤ā§āϝāĻžāĻĻāĻŋāĨ¤ + +- `ssh` āϜāĻžāύ⧁āύ āĻāĻŦāĻ‚ āĻĒāĻžāϏāĻ“āϝāĻŧāĻžāĻ°ā§āĻĄāĻšā§€āύ āĻ…āĻĨ⧇āĻ¨ā§āϟāĻŋāϕ⧇āĻļāύ⧇āϰ āĻŽā§‚āϞ āĻŦāĻŋāώāϝāĻŧāϗ⧁āϞāĻŋ āϜāĻžāύ⧁āύ `ssh-agent`, `ssh-add` āχāĻ¤ā§āϝāĻžāĻĻāĻŋāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡āĨ¤ + + - āĻŽā§ŒāϞāĻŋāĻ• āĻĢāĻžāχāϞ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāĻĒāύāĻž: `ls` āĻāĻŦāĻ‚ `ls -l` (āĻŦāĻŋāĻļ⧇āώ āĻ•āϰ⧇, `ls -l`-āĻāϰ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ•āϞāĻžāĻŽā§‡āϰ āĻ…āĻ°ā§āĻĨ āϕ⧀ āϤāĻž āĻļāĻŋāϖ⧁āύ), `less`, `head`, `tail` āĻāĻŦāĻ‚ `tail -f` (āĻŦāĻž āĻāĻŽāύāĻ•āĻŋ āφāϰāĻ“ āĻ­āĻžāϞ, `less +F`), `ln` āĻāĻŦāĻ‚ `ln -s` (āĻšāĻžāĻ°ā§āĻĄ āĻŦāύāĻžāĻŽ āϏāĻĢā§āϟ āϞāĻŋāĻ™ā§āϕ⧇āϰ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āĻāĻŦāĻ‚ āϏ⧁āĻŦāĻŋāϧāĻžāϗ⧁āϞāĻŋ āĻļāĻŋāϖ⧁āύ), `chown`, `chmod`, `du` (āĻĄāĻŋāĻ¸ā§āĻ• āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻāĻ•āϟāĻŋ āĻĻā§āϰ⧁āϤ āϏāĻžāϰāϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇āϰ āϜāĻ¨ā§āϝ: `du -hs *`)āĨ¤ āĻĢāĻžāχāϞ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāĻĒāύāĻžāϰ āϜāĻ¨ā§āϝ, `df`, `mount`, `fdisk`, `mkfs`, `lsblk`āĨ¤ āĻļāĻŋāϖ⧁āύ āĻāĻ•āϟāĻŋ āχāύ⧋āĻĄ āϕ⧀ (`ls -i` āĻŦāĻž `df -i`)āĨ¤ + +- āĻŽā§ŒāϞāĻŋāĻ• āύ⧇āϟāĻ“ā§ŸāĻžāĻ°ā§āĻ• āĻŽā§āϝāĻžāύ⧇āϜāĻŽā§‡āĻ¨ā§āϟ: `ip` āĻ…āĻĨāĻŦāĻž `ifconfig`, `dig`, `traceroute`, `route`āĨ¤ + +- āĻāĻ•āϟāĻŋ āĻ­āĻžāĻ°ā§āϏāύ āĻ•āĻ¨ā§āĻŸā§āϰ⧋āϞ āĻŽā§āϝāĻžāύ⧇āϜāĻŽā§‡āĻ¨ā§āϟ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻļāĻŋāϖ⧁āύ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ, āϝ⧇āĻŽāύ `git`āĨ¤ + +- āϰ⧇āϗ⧁āϞāĻžāϰ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ āĻ­āĻžāϞ⧋āĻ­āĻžāĻŦ⧇ āϜāĻžāύ⧁āύ āĻāĻŦāĻ‚ `grep`/`egrep` āĻāϰ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĢā§āĻ˛ā§āϝāĻžāĻ— āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϜāĻžāύ⧁āύāĨ¤ `-i`, `-o`, `-v`, `-A`, `-B`, āĻāĻŦāĻ‚ `-C` āĻ…āĻĒāĻļāύāϗ⧁āϞāĻŋ āϜāĻžāύāĻžāϰ āĻŽāϤ⧋āĨ¤ + +- āĻĒā§āϝāĻžāϕ⧇āϜ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāϤ⧇ `apt-get`, `yum`, `dnf` āĻ…āĻĨāĻŦāĻž `pacman` (āĻĄāĻŋāĻ¸ā§āĻŸā§āϰ⧋āϰ āωāĻĒāϰ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻļāĻŋāϖ⧁āύāĨ¤ āĻāĻŦāĻ‚ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύ āϝ⧇ āĻĒāĻžāχāĻĨāύ-āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āϞāĻžāχāύ āϟ⧁āϞ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϰ `pip` āφāϛ⧇ (āύāĻŋāĻšā§‡ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ `pip` āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϏāĻšāϜ)āĨ¤ + + +## āĻĻ⧈āύāĻ¨ā§āĻĻāĻŋāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ + +- Bash-āĻ, **Tab** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āϟ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•āϰāϤ⧇ āĻŦāĻž āϏāĻŦ āωāĻĒāϞāĻŦā§āϧ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āϤāĻžāϞāĻŋāĻ•āĻž āĻĻ⧇āĻ–āϤ⧇ āĻāĻŦāĻ‚ **ctrl-r** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻšāĻŋāĻ¸ā§āĻŸā§āϰāĻŋāϤ⧇ āϖ⧁āρāϜāϤ⧇ (āϚāĻžāĻĒāĻžāϰ āĻĒāϰ, āϖ⧁āρāϜāϤ⧇ āϟāĻžāχāĻĒ āĻ•āϰ⧁āύ, āφāϰāĻ“ āĻŽā§āϝāĻžāĻšā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āĻĻāĻŋā§Ÿā§‡ āϘ⧁āϰāϤ⧇ **ctrl-r** āĻŦāĻžāϰāĻŦāĻžāϰ āϚāĻžāĻĒ⧁āύ, āĻĒāĻžāĻ“ā§ŸāĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϟāĻŋ āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ **Enter** āϚāĻžāĻĒ⧁āύ, āĻ…āĻĨāĻŦāĻž āĻĢāϞāĻžāĻĢāϞāϟāĻŋ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āϞāĻžāχāύ⧇ āϰ⧇āϖ⧇ āĻāĻĄāĻŋāϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĄāĻžāύ āϤ⧀āϰ āϚāĻžāĻĒ⧁āύ)āĨ¤ + +- Bash-āĻ, **ctrl-w** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āĻļ⧇āώ āĻļāĻŦā§āĻĻāϟāĻŋ āĻŽā§āϛ⧇ āĻĢ⧇āϞāϤ⧇, āĻāĻŦāĻ‚ **ctrl-u** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻ•āĻžāĻ°ā§āϏāĻžāϰ āĻĨ⧇āϕ⧇ āϞāĻžāχāύ⧇āϰ āĻļ⧁āϰ⧁ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āϟ āĻŽā§āϛ⧇ āĻĢ⧇āϞāϤ⧇āĨ¤ āĻļāĻŦā§āĻĻ āĻĻā§āĻŦāĻžāϰāĻž āϏāϰāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ **alt-b** āĻāĻŦāĻ‚ **alt-f** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ, āϞāĻžāχāύ⧇āϰ āĻļ⧁āϰ⧁āϤ⧇ āĻ•āĻžāĻ°ā§āϏāĻžāϰ āϏāϰāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ **ctrl-a** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ, āϞāĻžāχāύ⧇āϰ āĻļ⧇āώ⧇ āĻ•āĻžāĻ°ā§āϏāĻžāϰ āϏāϰāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ **ctrl-e** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ, āϞāĻžāχāύ⧇āϰ āĻļ⧇āώ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻŽā§āϛ⧇ āĻĢ⧇āϞāϤ⧇ **ctrl-k** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ, āĻ¸ā§āĻ•ā§āϰāĻŋāύ āĻ•ā§āϞāĻŋ⧟āĻžāϰ āĻ•āϰāϤ⧇ **ctrl-l** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ Bash-āĻāϰ āϏāĻŦ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āϕ⧀āĻŦāĻžāρāϧāĻžāĻ‡ā§Ÿā§‡āϰ āϜāĻ¨ā§āϝ `man readline` āĻĻ⧇āϖ⧁āύāĨ¤ āĻ…āύ⧇āĻ• āφāϛ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, **alt-.** āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āĻĻāĻŋā§Ÿā§‡ āϘ⧁āϰ⧇, āĻāĻŦāĻ‚ **alt-*** āĻāĻ•āϟāĻŋ āĻ—ā§āϞāĻŦāϕ⧇ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻ•āϰ⧇āĨ¤ + + +- āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ­āĻžāĻŦ⧇, āφāĻĒāύāĻŋ āϝāĻĻāĻŋ vi-āĻ¸ā§āϟāĻžāχāϞ⧇āϰ āϕ⧀-āĻŦāĻžāρāϧāĻžāχ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āϰ⧇āύ, āϤāĻžāĻšāϞ⧇ `set -o vi` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ (āĻāĻŦāĻ‚ `set -o emacs` āĻāϟāĻŋāϕ⧇ āĻĢāĻŋāϰāĻŋāϝāĻŧ⧇ āĻĻāĻŋāϤ⧇)āĨ¤ + +- āϞāĻŽā§āĻŦāĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϗ⧁āϞāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āφāĻĒāύāĻžāϰ āϏāĻŽā§āĻĒāĻžāĻĻāĻ• āϏ⧇āϟ āĻ•āϰāĻžāϰ āĻĒāϰ⧇ (āϝ⧇āĻŽāύ `export EDITOR=vim`), **ctrl-x** **ctrl-e** āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϟāĻŋāϕ⧇ āĻŽāĻžāĻ˛ā§āϟāĻŋ-āϞāĻžāχāύ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāϕ⧇ āϖ⧁āϞāĻŦ⧇āĨ¤ āĻ…āĻĨāĻŦāĻž vi āĻ¸ā§āϟāĻžāχāϞ⧇, **escape-v**āĨ¤ + +- āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ• āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϗ⧁āϞāĻŋ āĻĻ⧇āĻ–āϤ⧇, `history` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āφāĻŦāĻžāϰ āϚāĻžāϞāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ `!n` (āϝ⧇āĻ–āĻžāύ⧇ `n` āĻšāϞ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āύāĻŽā§āĻŦāϰ) āĻĻāĻŋāϝāĻŧ⧇ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰ⧁āύāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻ…āύ⧇āĻ• āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āϰ⧂āĻĒ āϰāϝāĻŧ⧇āϛ⧇ āϝāĻž āφāĻĒāύāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āϏāĻŽā§āĻ­āĻŦāϤ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āĻĻāϰāĻ•āĻžāϰ⧀ āĻšāϞ āĻļ⧇āώ āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ `!$` āĻāĻŦāĻ‚ āĻļ⧇āώ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ `!!` (āĻŽā§āϝāĻžāύ āĻĒ⧇āĻœā§‡ "HISTORY EXPANSION" āĻĻ⧇āϖ⧁āύ)āĨ¤ āϝāĻžāχāĻšā§‹āĻ•, āĻāϗ⧁āϞāĻŋ āĻĒā§āϰāĻžāϝāĻŧāĻļāχ **ctrl-r** āĻāĻŦāĻ‚ **alt-.** āĻĻāĻŋāϝāĻŧ⧇ āϏāĻšāĻœā§‡āχ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻž āϝāĻžāϝāĻŧāĨ¤ + +- `cd` āĻĻāĻŋāϝāĻŧ⧇ āφāĻĒāύāĻžāϰ āĻšā§‹āĻŽ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϤ⧇ āϝāĻžāύāĨ¤ `~` āĻĒā§āϰāĻŋāĻĢāĻŋāĻ•ā§āϏ (āϝ⧇āĻŽāύ `~/.bashrc`) āĻĻāĻŋāϝāĻŧ⧇ āφāĻĒāύāĻžāϰ āĻšā§‹āĻŽ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āĻĢāĻžāχāϞāϗ⧁āϞāĻŋāϤ⧇ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰ⧁āύāĨ¤ `sh` āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟāϗ⧁āϞāĻŋāϤ⧇ āĻšā§‹āĻŽ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϕ⧇ `$HOME` āĻšāĻŋāϏāĻžāĻŦ⧇ āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰ⧁āύāĨ¤ + +- āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϤ⧇ āĻĢāĻŋāϰ⧇ āϝ⧇āϤ⧇: `cd -`āĨ¤ + + - āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϟāĻžāχāĻĒ āĻ•āϰāĻžāϰ āĻ…āĻ°ā§āϧ⧇āĻ• āĻĒāĻĨ āĻ…āϤāĻŋāĻ•ā§āϰāĻŽ āĻ•āϰ⧇āύ āĻ•āĻŋāĻ¨ā§āϤ⧁ āφāĻĒāύāĻžāϰ āĻŽāύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇āύ, āĻļ⧁āϰ⧁āϤ⧇ āĻāĻ•āϟāĻŋ `#` āϝ⧋āĻ— āĻ•āϰāϤ⧇ **alt-#** āϟāĻŋāĻĒ⧁āύ āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻŽāĻ¨ā§āϤāĻŦā§āϝ āĻšāĻŋāϏāĻžāĻŦ⧇ āϞāĻŋāϖ⧁āύ (āĻŦāĻž **ctrl-a**, ** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ #**, **āĻāĻ¨ā§āϟāĻžāϰ**)āĨ¤ āϤāĻžāϰāĻĒāϰ āφāĻĒāύāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āχāϤāĻŋāĻšāĻžāϏ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻāϟāĻŋāϤ⧇ āĻĢāĻŋāϰ⧇ āφāϏāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ + +- `xargs` (āĻŦāĻž `parallel`) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āĻāϟāĻž āϖ⧁āĻŦāχ āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀āĨ¤ āĻŽāύ⧇ āϰāĻžāĻ–āĻŦ⧇āύ āφāĻĒāύāĻŋ āĻĒā§āϰāϤāĻŋ āϞāĻžāχāύ⧇ āĻ•āϤāϗ⧁āϞāĻŋ āφāχāĻŸā§‡āĻŽ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāĻŦ⧇āύ (`-L`) āϏ⧇āχāϏāĻžāĻĨ⧇ āϏāĻŽāĻžāĻ¨ā§āϤāϰāĻžāϞāϤāĻž (`-P`) āύāĻŋāϝāĻŧāĻ¨ā§āĻ¤ā§āϰāĻŖ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āύāĻŋāĻļā§āϚāĻŋāϤ āύāĻž āĻšāύ āϝ⧇ āĻāϟāĻŋ āϏāĻ āĻŋāĻ• āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇ āĻ•āĻŋāύāĻž, āĻĒā§āϰāĻĨāĻŽā§‡ `xargs echo` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“, `-I{}` āϏāĻšāϜāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖ: +```bash + find . -name '*.py' | xargs grep some_function + cat hosts | xargs -I{} ssh root@{} hostname +``` + +- `pstree -p` āĻšāϞ āĻĒā§āϰāϏ⧇āϏ āĻŸā§āϰāĻŋāϰ āĻāĻ•āϟāĻŋ āϏāĻšāĻžā§ŸāĻ• āĻĒā§āϰāĻĻāĻ°ā§āĻļāύāĨ¤ + +- āύāĻžāĻŽ āĻ…āύ⧁āϏāĻžāϰ⧇ āĻĒā§āϰāϏ⧇āϏ āϖ⧁āρāϜāϤ⧇ āĻŦāĻž āϏāĻŋāĻ—āĻ¨ā§āϝāĻžāϞ āĻĒāĻžāĻ āĻžāϤ⧇ `pgrep` āĻāĻŦāĻ‚ `pkill` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ (`-f` āϏāĻšāĻžā§ŸāĻ•)āĨ¤ + +- āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϏāĻŋāĻ—āĻ¨ā§āϝāĻžāϞāϗ⧁āϞāĻŋ āϜāĻžāύ⧁āύ āϝāĻž āφāĻĒāύāĻŋ āĻĒā§āϰāϏ⧇āϏāϗ⧁āϞāĻŋāϤ⧇ āĻĒāĻžāĻ āĻžāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϟāĻŋ āĻĒā§āϰāϏ⧇āϏ āĻ¸ā§āĻĨāĻ—āĻŋāϤ āĻ•āϰāϤ⧇, `kill -STOP [pid]` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āĻĒā§‚āĻ°ā§āĻŖ āϤāĻžāϞāĻŋāĻ•āĻžāϰ āϜāĻ¨ā§āϝ, `man 7 signal` āĻĻ⧇āϖ⧁āύāĨ¤ + +- āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āϚāĻžāύ āϝ⧇ āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻžāĻ•āĻ—ā§āϰāĻžāωāĻ¨ā§āĻĄ āĻĒā§āϰāϏ⧇āϏ āϚāĻŋāϰāĻ•āĻžāϞ āϚāϞāϤ⧇ āĻĨāĻžāϕ⧇ āϤāĻŦ⧇ `nohup` āĻŦāĻž `disown` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- `netstat -lntp` āĻŦāĻž `ss -plat` (TCP āĻāϰ āϜāĻ¨ā§āϝ; UDP āĻāϰ āϜāĻ¨ā§āϝ `-u` āϝ⧋āĻ— āĻ•āϰ⧁āύ) āĻŦāĻž `lsof -iTCP -sTCP:LISTEN -P -n` (āϝāĻž macOS-āĻāĻ“ āĻ•āĻžāϜ āĻ•āϰ⧇) āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϕ⧋āύ āĻĒā§āϰāϏ⧇āϏāϗ⧁āϞāĻŋ āĻļ⧁āύāϛ⧇ āϤāĻž āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤ + +- āĻ–ā§‹āϞāĻž āϏāϕ⧇āϟ āĻāĻŦāĻ‚ āĻĢāĻžāχāϞāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ `lsof` āĻāĻŦāĻ‚ `fuser` āĻĻ⧇āϖ⧁āύāĨ¤ + +- āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āϤāĻ•ā§āώāĻŖ āϚāϞāϛ⧇ āϤāĻž āϜāĻžāύāϤ⧇ `uptime` āĻŦāĻž `w` āĻĻ⧇āϖ⧁āύāĨ¤ + +- `alias` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, `alias ll='ls -latr'` āĻāĻ•āϟāĻŋ āύāϤ⧁āύ `ll` āĻļāĻ°ā§āϟāĻ•āĻžāϟ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĨ¤ + +- āϏāĻžāϧāĻžāϰāĻŖāϤ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻ…ā§āϝāĻžāϞāĻŋ⧟āĻžāϏ, āĻļ⧇āϞ āϏ⧇āϟāĻŋāĻ‚āϏ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‚āĻļāύāϗ⧁āϞāĻŋ `~/.bashrc` āĻ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ [āϞāĻ—āχāύ āĻļ⧇āϞāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āĻāϟāĻŋ āϏ⧋āĻ°ā§āϏ āĻ•āϰāĻžāϰ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻž āĻ•āϰ⧁āύ](http://superuser.com/a/183980/7106)āĨ¤ āĻāϟāĻŋ āφāĻĒāύāĻžāϰ āϏ⧇āϟāφāĻĒāϟāĻŋ āφāĻĒāύāĻžāϰ āϏāĻŽāĻ¸ā§āϤ āĻļ⧇āϞ āϏ⧇āĻļāύ⧇ āωāĻĒāϞāĻŦā§āϧ āĻ•āϰāĻŦ⧇āĨ¤ + +- āϞāĻ—āχāύ āĻ•āϰāĻžāϰ āϏāĻŽā§Ÿ āϝ⧇āϏāĻŦ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϗ⧁āϞāĻŋ āϚāĻžāϞāĻžāύ⧋ āωāϚāĻŋāϤ āĻāĻŦāĻ‚ āĻāύāĻ­āĻžāχāϰāύāĻŽā§‡āĻ¨ā§āϟ āϭ⧇āϰāĻŋā§Ÿā§‡āĻŦāϞ⧇āϰ āϏ⧇āϟāĻŋāĻ‚āϏāϗ⧁āϞāĻŋ `~/.bash_profile` āĻ āϰāĻžāϖ⧁āύāĨ¤ āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•ā§āϝāĻžāϞ āĻāύāĻ­āĻžāχāϰāύāĻŽā§‡āĻ¨ā§āϟ āϞāĻ—āχāύ āĻāĻŦāĻ‚ `cron` āϜāĻŦ āĻĨ⧇āϕ⧇ āφāĻĒāύāĻŋ āϝ⧇ āĻļ⧇āϞāϗ⧁āϞāĻŋ āϞāĻžā§āϚ āĻ•āϰ⧇āύ āϏ⧇āϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āφāϞāĻžāĻĻāĻž āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻšāĻŦ⧇āĨ¤ + +- āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āφāĻĒāύāĻžāϰ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ āĻĢāĻžāχāϞāϗ⧁āϞāĻŋ (āϝ⧇āĻŽāύ `.bashrc` āĻāĻŦāĻ‚ `.bash_profile`) āĻ—āĻŋāĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāχāϜ āĻ•āϰ⧁āύāĨ¤ + + - āϝāĻ–āύ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āĻāĻŦāĻ‚ āĻĢāĻžāχāϞ⧇āϰ āύāĻžāĻŽā§‡ āĻšā§‹ā§ŸāĻžāχāϟāĻ¸ā§āĻĒ⧇āϏ āĻĨāĻžāϕ⧇ āϤāĻ–āύ āϏāĻžāĻŦāϧāĻžāύāϤāĻž āĻ…āĻŦāϞāĻŽā§āĻŦāύ āĻ•āϰāĻž āĻĒā§āĻ°ā§Ÿā§‹āϜāύāĨ¤ āφāĻĒāύāĻžāϰ āĻŦā§āϝāĻžāϏ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞāϗ⧁āϞāĻŋāϕ⧇ āωāĻĻā§āϧ⧃āϤāĻŋ āĻĻāĻŋāϝāĻŧ⧇ āϘāĻŋāϰ⧇ āϰāĻžāϖ⧁āύ, āϝ⧇āĻŽāύ `"$FOO"`āĨ¤ āĻĢāĻžāχāϞ⧇āϰ āύāĻžāĻŽāϗ⧁āϞāĻŋāϕ⧇ āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āύāĻžāϞ āĻ•ā§āϝāĻžāϰ⧇āĻ•ā§āϟāĻžāϰāϗ⧁āϞāĻŋāϕ⧇ āϏāĻ•ā§āώāĻŽ āĻ•āϰāϤ⧇ `-0` āĻŦāĻž `-print0` āĻ…āĻĒāĻļāύāϗ⧁āϞāĻŋāϕ⧇ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āϰ⧁āύ, āϝ⧇āĻŽāύ `locate -0 pattern | xargs -0 ls -al` āĻŦāĻž `find / -print0 -type d | xargs -0 ls -al`āĨ¤ āĻšā§‹ā§ŸāĻžāχāϟāĻ¸ā§āĻĒ⧇āϏ āϧāĻžāϰāĻŖāĻ•āĻžāϰ⧀ āĻĢāĻžāχāϞ⧇āϰ āύāĻžāĻŽāϗ⧁āϞāĻŋāϤ⧇ āĻāĻ•āϟāĻŋ āĻĢāϰ āϞ⧁āĻĒ⧇ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋ āĻ•āϰāϤ⧇, āφāĻĒāύāĻžāϰ IFS āϕ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āύāĻŋāωāϞāĻžāχāύ āĻšāĻŋāϏāĻžāĻŦ⧇ āϏ⧇āϟ āĻ•āϰ⧁āύ `IFS=$'\n'` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āĨ¤ + +- āĻŦā§āϝāĻžāϏ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡, āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āφāωāϟāĻĒ⧁āĻŸā§‡āϰ āϜāĻ¨ā§āϝ `set -x` (āĻŦāĻž āϭ⧇āϰāĻŋā§Ÿā§‡āĻ¨ā§āϟ `set -v`, āϝāĻž āĻ…āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āĻāĻŦāĻ‚ āĻŽāĻ¨ā§āϤāĻŦā§āϝ āϏāĻš āϰ āĻ•āĻžāρāϚāĻž āχāύāĻĒ⧁āϟ āϞāĻ— āĻ•āϰ⧇) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āϝāĻĻāĻŋ āφāĻĒāύāĻžāϰ āϕ⧋āύāĻ“ āĻ­āĻžāϞ āĻ•āĻžāϰāĻŖ āύāĻž āĻĨāĻžāϕ⧇ āϤāĻŦ⧇ āĻ¸ā§āĻŸā§āϰāĻŋāĻ•ā§āϟ āĻŽā§‹āĻĄāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ: āĻ¤ā§āϰ⧁āϟāĻŋāϗ⧁āϞāĻŋāϤ⧇ (āĻ…-āĻļā§‚āĻ¨ā§āϝ āĻĒā§āϰāĻ¸ā§āĻĨāĻžāύ āϕ⧋āĻĄ) āĻŦāĻžāϤāĻŋāϞ āĻ•āϰāϤ⧇ `set -e` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āĻ…āϏ⧇āϟ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰāϗ⧁āϞāĻŋ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰāϤ⧇ `set -u` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āĻĒāĻžāχāĻĒ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻ¤ā§āϰ⧁āϟāĻŋāϗ⧁āϞāĻŋāϤ⧇ āĻŦāĻžāϤāĻŋāϞ āĻ•āϰāϤ⧇ `set -o pipefail` āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύ (āϝāĻĻāĻŋāĻ“ āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāϟāĻŋ āĻ•āϰ⧇āύ āϤāĻŦ⧇ āĻāϟāĻŋ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāϰāĻ“ āĻĒāĻĄāĻŧ⧁āύ, āĻ•āĻžāϰāĻŖ āĻāχ āĻŦāĻŋāώāϝāĻŧāϟāĻŋ āĻ•āĻŋāϛ⧁āϟāĻž āϏ⧂āĻ•ā§āĻˇā§āĻŽ)āĨ¤ āφāϰāĻ“ āϜāĻĄāĻŧāĻŋāϤ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ, EXIT āĻŦāĻž ERR āĻ `trap` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āĻāĻ•āϟāĻŋ āĻĻāϰāĻ•āĻžāϰ⧀ āĻ…āĻ­ā§āϝāĻžāϏ āĻšāϞ āĻāχāϰāĻ•āĻŽ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻļ⧁āϰ⧁ āĻ•āϰāĻž, āϝāĻž āĻāϟāĻŋāϕ⧇ āϏāĻžāϧāĻžāϰāĻŖ āĻ¤ā§āϰ⧁āϟāĻŋāϗ⧁āϞāĻŋāϕ⧇ āϏāύāĻžāĻ•ā§āϤ āĻāĻŦāĻ‚ āĻŦāĻžāϤāĻŋāϞ āĻ•āϰāĻŦ⧇ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻŦāĻžāĻ°ā§āϤāĻž āĻŽā§āĻĻā§āϰāĻŖ āĻ•āϰāĻŦ⧇: +```bash + set -euo pipefail + trap "echo 'error: Script failed: see failed command above'" ERR +``` + +- āĻŦā§āϝāĻžāĻļ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡, āϏāĻžāĻŦāĻļ⧇āϞ (āϝāĻž āĻŦāĻ¨ā§āϧāύ⧀ āĻĻāĻŋā§Ÿā§‡ āϞ⧇āĻ–āĻž āĻšā§Ÿ) āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϗ⧁āϞ⧋āϕ⧇ āĻ—ā§āϰ⧁āĻĒ āĻ•āϰāĻžāϰ āĻāĻ•āϟāĻŋ āϏ⧁āĻŦāĻŋāϧāĻžāϜāύāĻ• āωāĻĒāĻžā§ŸāĨ¤ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āωāĻĻāĻžāĻšāϰāĻŖ āĻšāϞ⧋ āĻ…āĻ¸ā§āĻĨāĻžā§Ÿā§€āĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻ­āĻŋāĻ¨ā§āύ āĻ“ā§ŸāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϤ⧇ āϝāĻžāĻ“ā§ŸāĻž, āϝ⧇āĻŽāύ: +```bash + # do something in current dir + (cd /some/other/dir && other-command) + # continue in original dir +``` + +- āĻŦā§āϝāĻžāĻļ⧇, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϧāϰāϪ⧇āϰ āϭ⧇āϰāĻŋā§Ÿā§‡āĻŦāϞ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŖ āĻ°ā§Ÿā§‡āϛ⧇āĨ¤ āĻāĻ•āϟāĻŋ āϭ⧇āϰāĻŋā§Ÿā§‡āĻŦāϞ⧇āϰ āĻ…āĻ¸ā§āϤāĻŋāĻ¤ā§āĻŦ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāϤ⧇: `${name:?error message}`āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻŦā§āϝāĻžāĻļ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡āϰ āĻāĻ•āϟāĻŋ āĻāĻ•āĻ• āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻšā§Ÿ, āϤāĻžāĻšāϞ⧇ āϞāĻŋāϖ⧁āύ `input_file=${1:?usage: $0 input_file}`āĨ¤ āĻāĻ•āϟāĻŋ āϭ⧇āϰāĻŋā§Ÿā§‡āĻŦāϞ āϝāĻĻāĻŋ āĻ–āĻžāϞāĻŋ āĻĨāĻžāϕ⧇ āϤāĻžāĻšāϞ⧇ āĻāĻ•āϟāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āϟ āĻŽāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇: `${name:-default}`⧎ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āϤ⧀ āωāĻĻāĻžāĻšāϰāϪ⧇ āĻāĻ•āϟāĻŋ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ (āϐāĻšā§āĻ›āĻŋāĻ•) āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āϝ⧋āĻ— āĻ•āϰāϤ⧇ āϚāĻžāύ, āϤāĻžāĻšāϞ⧇ āφāĻĒāύāĻŋ `output_file=${2:-logfile}` āĻāϰ āĻŽāϤ⧋ āĻ•āĻŋāϛ⧁ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āϝāĻĻāĻŋ `$2` āĻŦāĻžāĻĻ āĻĻ⧇āĻ“ā§ŸāĻž āĻšā§Ÿ āĻāĻŦāĻ‚ āĻāχāĻ­āĻžāĻŦ⧇ āĻ–āĻžāϞāĻŋ āĻĨāĻžāϕ⧇, `output_file` `logfile` āĻ āϏ⧇āϟ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤ āĻĒāĻžāϟāĻŋāĻ—āĻŖāĻŋāϤ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŖ: `i=$(((i + 1) % 5 ))`āĨ¤ āĻ•ā§āϰāĻŽ: `{1..10}`āĨ¤ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻŸā§āϰāĻŋāĻŽāĻŋāĻ‚: `${var%suffix}` āĻāĻŦāĻ‚ `${var#prefix}`āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ āϝāĻĻāĻŋ `var=foo.pdf`, āϤāĻžāĻšāϞ⧇ `echo ${var%.pdf}.txt` `foo.txt` āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻ•āϰ⧇āĨ¤ + +- `{`...`}` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŦā§āϰ⧇āϏ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŖ āĻāĻ•āχ āϧāϰāύ⧇āϰ āĻĒāĻžāĻ ā§āϝ āĻĒ⧁āύāϰāĻžāϝāĻŧ āϟāĻžāχāĻĒ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āφāχāĻŸā§‡āĻŽāϗ⧁āϞāĻŋāϰ āϏāĻ‚āĻŽāĻŋāĻļā§āϰāĻŖ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āĻ•āĻŽāĻžāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāϟāĻŋ `mv foo.{txt,pdf} some-dir` (āϝāĻž āωāĻ­āϝāĻŧ āĻĢāĻžāχāϞāχ āϏāϰāĻžāύ⧋ āĻšāϝāĻŧ), `cp somefile{,.bak}` (āϝāĻž `cp somefile somefile.bak`) āĻŦāĻž `mkdir'-āĻāϰ āĻŽāϤ⧋ āωāĻĻāĻžāĻšāϰāϪ⧇ āϏāĻšāĻžāϝāĻŧāĻ• -p āĻĒāϰ⧀āĻ•ā§āώāĻž-{a,b,c}/subtest-{1,2,3}` (āϝāĻž āϏāĻŽāĻ¸ā§āϤ āϏāĻŽā§āĻ­āĻžāĻŦā§āϝ āϏāĻŽāĻ¨ā§āĻŦāϝāĻŧ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋ āĻŸā§āϰāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰ⧇)āĨ¤ āĻŦā§āϰ⧇āϏ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŖ āĻ…āĻ¨ā§āϝ āϕ⧋āύ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāϪ⧇āϰ āφāϗ⧇ āϏāĻžā§āϚāĻžāϞāĻŋāϤ āĻšāϝāĻŧ. + +- āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāϪ⧇āϰ āĻ•ā§āϰāĻŽ āĻšāϞ: āĻŦāĻ¨ā§āϧāύ⧀ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŖ; āϟāĻŋāĻ˛ā§āĻĄ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤāĻŋ, āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻāĻŦāĻ‚ āϭ⧇āϰāĻŋā§Ÿā§‡āĻŦāϞ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŖ, āĻ—āĻžāĻŖāĻŋāϤāĻŋāĻ• āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŖ, āĻāĻŦāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ (āĻāĻ•āϟāĻŋ āĻŦāĻžāĻŽ-āĻĨ⧇āϕ⧇-āĻĄāĻžāύ āĻĢā§āϝāĻžāĻļāύ⧇ āϏāĻŽā§āĻĒāĻ¨ā§āύ); āĻļāĻŦā§āĻĻ āĻŦāĻŋāĻ­āĻžāϜāύ; āĻāĻŦāĻ‚ āĻĢāĻžāχāϞ⧇āϰ āύāĻžāĻŽ āϏāĻŽā§āĻĒā§āϰāϏāĻžāϰāĻŖāĨ¤ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, `{1..20}` āĻāϰ āĻŽāϤ⧋ āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāϏāϰ `{$a..$b}` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϭ⧇āϰāĻŋā§Ÿā§‡āĻŦāϞ āĻĻāĻŋāϝāĻŧ⧇ āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰāĻž āϝāĻžāϝāĻŧ āύāĻžāĨ¤ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ `seq` āĻŦāĻž `for` āϞ⧁āĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ, āϝ⧇āĻŽāύ, `seq $a $b` āĻŦāĻž `for((i=a; i<=b; i++)); do... ; done`āĨ¤) + +- āĻāĻ•āϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āφāωāϟāĻĒ⧁āϟ `<(āĻ•āĻŋāϛ⧁ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ)` (āĻĒā§āϰāϏ⧇āϏ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĒāϰāĻŋāϚāĻŋāϤ) āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ⧇āϰ āĻŽāϤ⧋ āφāϚāϰāĻŖ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻĻā§‚āϰāĻŦāĻ°ā§āϤ⧀ āĻāĻ•āϟāĻŋāϰ āϏāĻžāĻĨ⧇ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ `/etc/hosts` āϤ⧁āϞāύāĻž āĻ•āϰ⧁āύ: +```sh + diff /etc/hosts <(ssh somehost cat /etc/hosts) +``` + +- āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āϞ⧇āĻ–āĻžāϰ āϏāĻŽāϝāĻŧ āφāĻĒāύāĻŋ āφāĻĒāύāĻžāϰ āϏāĻŽāĻ¸ā§āϤ āϕ⧋āĻĄ āϕ⧋āρāĻ•āĻĄāĻŧāĻž āĻŦāĻ¨ā§āϧāύ⧀āϤ⧇ āϰāĻžāĻ–āϤ⧇ āϚāĻžāχāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āϝāĻĻāĻŋ āĻ•ā§āϞ⧋āϜāĻŋāĻ‚ āĻŦā§āϰ⧇āϏāϟāĻŋ āĻ…āύ⧁āĻĒāĻ¸ā§āĻĨāĻŋāϤ āĻĨāĻžāϕ⧇, āφāĻĒāύāĻžāϰ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟāϟāĻŋ āĻāĻ•āϟāĻŋ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āĻ¤ā§āϰ⧁āϟāĻŋāϰ āĻ•āĻžāϰāϪ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻ•āϰāĻž āĻĨ⧇āϕ⧇ āφāϟāĻ•āĻžāύ⧋ āĻšāĻŦ⧇āĨ¤ āφāĻĒāύāĻžāϰ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āϝāĻ–āύ āĻ“āϝāĻŧ⧇āĻŦ āĻĨ⧇āϕ⧇ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāĻž āĻšāĻŦ⧇ āϤāĻ–āύ āĻāϟāĻŋ āĻŦā§‹āϧāĻ—āĻŽā§āϝ āĻšāϝāĻŧ, āĻ•āĻžāϰāĻŖ āĻāϟāĻŋ āφāĻ‚āĻļāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāĻž āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟāϗ⧁āϞāĻŋāϕ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ āĻšāϤ⧇ āĻŦāĻžāϧāĻž āĻĻ⧇āϝāĻŧ: +```bash +{ + # Your code here +} +``` + +- āĻāĻ•āϟāĻŋ "āĻāĻ–āĻžāύ⧇ āύāĻĨāĻŋ" āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧ [āχāύāĻĒ⧁āĻŸā§‡āϰ āĻāĻ•āĻžāϧāĻŋāĻ• āϞāĻžāχāύ⧇āϰ āĻĒ⧁āύāσāύāĻŋāĻ°ā§āĻĻ⧇āĻļ](https://www.tldp.org/LDP/abs/html/here-docs.html) āϝ⧇āύ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āĻĨ⧇āϕ⧇: +``` +cat <logfile 2>&1` āĻ…āĻĨāĻŦāĻž `some-command &>logfile`āĨ¤ āĻĒā§āϰāĻžā§ŸāĻļāχ, āĻāĻ•āϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻāĻ•āϟāĻŋ āĻ–ā§‹āϞāĻž āĻĢāĻžāχāϞ āĻšā§āϝāĻžāĻ¨ā§āĻĄā§‡āϞāϕ⧇ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āχāύāĻĒ⧁āĻŸā§‡ āϰ⧇āϖ⧇ āύāĻž āϝāĻžā§Ÿ āϤāĻž āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ, āφāĻĒāύāĻŋ āϝ⧇ āϟāĻžāĻ°ā§āĻŽāĻŋāύāĻžāϞ⧇ āφāϛ⧇āύ āϏ⧇āϟāĻŋāϕ⧇ āĻŦ⧇āρāϧ⧇ āϰ⧇āϖ⧇, `>> 2+3 +5 +``` + + +## āĻĢāĻžāχāϞ āĻāĻŦāĻ‚ āĻĄā§‡āϟāĻž āĻĒā§āϰāϏ⧇āϏāĻŋāĻ‚ + +- āĻŦāĻ°ā§āϤāĻŽāĻžāύ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϤ⧇ āύāĻžāĻŽ āĻ…āύ⧁āϏāĻžāϰ⧇ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰāϤ⧇, `find . -iname '*something*'` (āĻŦāĻž āĻ…āύ⧁āϰ⧂āĻĒ)āĨ¤ āύāĻžāĻŽā§‡āϰ āĻĻā§āĻŦāĻžāϰāĻž āϝ⧇āϕ⧋āύ⧋ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āϖ⧁āρāϜāϤ⧇, `locate something` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ (āϤāĻŦ⧇ āĻŽāύ⧇ āϰāĻžāĻ–āĻŦ⧇āύ `updatedb` āϏāĻŽā§āĻĒā§āϰāϤāĻŋ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻĢāĻžāχāϞāϗ⧁āϞāĻŋāϕ⧇ āχāĻ¨ā§āĻĄā§‡āĻ•ā§āϏ āύāĻžāĻ“ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇)āĨ¤ + +- āĻ‰ā§ŽāϏ āĻŦāĻž āĻĄā§‡āϟāĻž āĻĢāĻžāχāϞ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϏāĻžāϧāĻžāϰāĻŖ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ⧇āϰ āϜāĻ¨ā§āϝ, `grep -r`-āĻāϰ āĻšā§‡āϝāĻŧ⧇ āĻ…āύ⧇āĻ• āωāĻ¨ā§āύāϤ āĻŦāĻž āĻĻā§āϰ⧁āϤāϤāϰ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āϰāϝāĻŧ⧇āϛ⧇, āϝāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āϰāϝāĻŧ⧇āϛ⧇ (āĻĒ⧁āϰāĻžāύ⧋ āĻĨ⧇āϕ⧇ āύāϤ⧁āύ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻŽā§‹āϟāĻžāĻŽā§āϟāĻŋ āĻ•ā§āϰāĻŽā§‡) [`ack`](https://github.com/beyondgrep /ack2), [`ag`](https://github.com/ggreer/the_silver_searcher) ("āĻĻā§āϝ āϏāĻŋāϞāĻ­āĻžāϰ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύāĻ•āĻžāϰ⧀"), āĻāĻŦāĻ‚ [`rg`](https://github.com/BurntSushi/ripgrep) ( ripgrep)āĨ¤ + +- HTML āϕ⧇ āĻŸā§‡āĻ•ā§āϏāĻŸā§‡ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻ•āϰāϤ⧇: `lynx -dump -stdin` + +- āĻŽāĻžāĻ°ā§āĻ•āĻĄāĻžāωāύ, āĻāχāϚāϟāĻŋāĻāĻŽāĻāϞ āĻāĻŦāĻ‚ āϏāĻŦ āϧāϰāύ⧇āϰ āύāĻĨāĻŋ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ⧇āϰ āϜāĻ¨ā§āϝ, [`pandoc`](http://pandoc.org/) āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻāĻ•āϟāĻŋ āĻŽāĻžāĻ°ā§āĻ•āĻĄāĻžāωāύ āĻĄāϕ⧁āĻŽā§‡āĻ¨ā§āϟāϕ⧇ āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āĻĢāϰāĻŽā§āϝāĻžāĻŸā§‡ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻ•āϰāϤ⧇: `pandoc README.md --from markdown --to docx -o temp.docx` + +- āϝāĻĻāĻŋ āφāĻĒāύāĻžāϕ⧇ XML āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇āχ āĻšāϝāĻŧ, `xmlstarlet` āĻĒ⧁āϰāĻžāύ⧋ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ­āĻžāϞ⧋āĨ¤ + +- JSON-āĻāϰ āϜāĻ¨ā§āϝ, [`jq`](http://stedolan.github.io/jq/) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āχāĻ¨ā§āϟāĻžāϰ⧇āĻ•ā§āϟāĻŋāĻ­ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ, [`jid`](https://github.com/simeji/jid) āĻāĻŦāĻ‚ [`jiq`](https://github.com/fiatjaf/jiq) āĻĻ⧇āϖ⧁āύāĨ¤ + +- YAML āĻāϰ āϜāĻ¨ā§āϝ, [`shyaml`](https://github.com/0k/shyaml) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- Excel āĻŦāĻž CSV āĻĢāĻžāχāϞ⧇āϰ āϜāĻ¨ā§āϝ, [csvkit](https://github.com/onyxfish/csvkit) `in2csv`, `csvcut`, `csvjoin`, `csvgrep` āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤ + +- Amazon S3 āĻāϰ āϜāĻ¨ā§āϝ, [`s3cmd`](https://github.com/s3tools/s3cmd) āϏ⧁āĻŦāĻŋāϧāĻžāϜāύāĻ• āĻāĻŦāĻ‚ [`s4cmd`](https://github.com/bloomreach/s4cmd) āĻĻā§āϰ⧁āϤāϤāϰāĨ¤ Amazon-āĻāϰ [`aws`](https://github.com/aws/aws-cli) āĻāĻŦāĻ‚ āωāĻ¨ā§āύāϤ [`saws`](https://github.com/donnemartin/saws) āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ AWS-āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āĻ•āĻžāĻœā§‡āϰ āϜāĻ¨ā§āϝ āĻ…āĻĒāϰāĻŋāĻšāĻžāĻ°ā§āϝ . + +- āχāωāύāĻŋāϕ⧇āϰ `-u` āĻāĻŦāĻ‚ `-d` āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāϗ⧁āϞāĻŋ āϏāĻš `sort` āĻāĻŦāĻ‚ `uniq` āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϜāĻžāύ⧁āύ -- āύ⧀āĻšā§‡ āĻ“āϝāĻŧāĻžāύ-āϞāĻžāχāύāĻžāϰ āĻĻ⧇āϖ⧁āύāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ `comm` āĻĻ⧇āϖ⧁āύāĨ¤ + +- āĻŸā§‡āĻ•ā§āϏāϟ āĻĢāĻžāχāϞ āĻŽā§āϝāĻžāύāĻŋāĻĒ⧁āϞ⧇āϟ āĻ•āϰāϤ⧇ `cut`, `paste` āĻāĻŦāĻ‚ `join` āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϜāĻžāύ⧁āύāĨ¤ āĻ…āύ⧇āϕ⧇ `cut` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āύ āĻ•āĻŋāĻ¨ā§āϤ⧁ `join` āϭ⧁āϞ⧇ āϝāĻžāύāĨ¤ + +- āύāϤ⧁āύ āϞāĻžāχāύ (`-l`), āĻ…āĻ•ā§āώāϰ (`-m`), āĻļāĻŦā§āĻĻ (`-w`) āĻāĻŦāĻ‚ āĻŦāĻžāχāϟ (`-c`) āĻ—āĻŖāύāĻž āĻ•āϰāϤ⧇ `wc` āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϜāĻžāύ⧁āύāĨ¤ + +- stdin āĻĨ⧇āϕ⧇ āĻĢāĻžāχāϞ⧇ āĻ…āύ⧁āϞāĻŋāĻĒāĻŋ āĻ•āϰāϤ⧇ `tee` āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϜāĻžāύ⧁āύ āĻāĻŦāĻ‚ stdout āĻāϰ āĻŽāϤ⧋ `ls -al | tee file.txt`āĨ¤ + +- āĻ—ā§āϰ⧁āĻĒāĻŋāĻ‚, āϰāĻŋāĻ­āĻžāĻ°ā§āϏāĻŋāĻ‚ āĻĢāĻŋāĻ˛ā§āĻĄ āĻāĻŦāĻ‚ āĻĒāϰāĻŋāϏāĻ‚āĻ–ā§āϝāĻžāύāĻ—āϤ āĻ—āĻŖāύāĻž āϏāĻš āφāϰāĻ“ āϜāϟāĻŋāϞ āĻ—āĻŖāύāĻžāϰ āϜāĻ¨ā§āϝ, [`datamash`](https://www.gnu.org/software/datamash/) āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύāĨ¤ + +- āĻœā§‡āύ⧇ āϰāĻžāϖ⧁āύ āϝ⧇ āϞ⧋āϕ⧇āϞ āϏ⧂āĻ•ā§āĻˇā§āĻŽ āωāĻĒāĻžāϝāĻŧ⧇ āĻ…āύ⧇āĻ• āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϞāĻžāχāύ āϏāϰāĻžā§āϜāĻžāĻŽāϕ⧇ āĻĒā§āϰāĻ­āĻžāĻŦāĻŋāϤ āĻ•āϰ⧇, āϝāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻŦāĻžāĻ›āĻžāχ āĻ•ā§āϰāĻŽ (āϏāĻ‚āϝ⧋āϜāύ) āĻāĻŦāĻ‚ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āϰāϝāĻŧ⧇āϛ⧇āĨ¤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϞāĻŋāύāĻžāĻ•ā§āϏ āχāĻ¨ā§āϏāϟāϞ⧇āĻļāύ āχāωāĻāϏ āχāĻ‚āϞāĻŋāĻļ⧇āϰ āĻŽāϤ⧋ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧ āϏ⧇āϟāĻŋāĻ‚āϝāĻŧ⧇ `LANG` āĻŦāĻž āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āϞ⧋āϕ⧇āϞ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āϏ⧇āϟ āĻ•āϰāĻŦ⧇āĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏāĻšā§‡āϤāύ āĻĨāĻžāϕ⧁āύ āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āϞ⧋āϕ⧇āϞ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇āύ āϤāĻžāĻšāϞ⧇ āϏāĻžāϜāĻžāύ⧋ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāĻŦ⧇āĨ¤ āĻāĻŦāĻ‚ āĻœā§‡āύ⧇ āϰāĻžāϖ⧁āύ i18n āϰ⧁āϟāĻŋāύāϗ⧁āϞāĻŋ āϏāĻžāϜāĻžāύ⧋āϰ āĻŦāĻž āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϗ⧁āϞāĻŋ *āĻ…āύ⧇āĻ•āĻŦāĻžāϰ* āϧ⧀āϰ āĻ—āϤāĻŋāϤ⧇ āϚāĻžāϞāĻžāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ•āĻŋāϛ⧁ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋāϤ⧇ (āϝ⧇āĻŽāύ āύ⧀āĻšā§‡āϰ āϏ⧇āϟ āĻ…āĻĒāĻžāϰ⧇āĻļāύ āĻŦāĻž āĻ¸ā§āĻŦāϤāĻ¨ā§āĻ¤ā§āϰāϤāĻž āĻ…āĻĒāĻžāϰ⧇āĻļāύ) āφāĻĒāύāĻŋ āύāĻŋāϰāĻžāĻĒāĻĻ⧇ āϧ⧀āϰ i18n āϰ⧁āϟāĻŋāύ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖāϰ⧂āĻĒ⧇ āωāĻĒ⧇āĻ•ā§āώāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āĻāĻŦāĻ‚ `export LC_ALL=C` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϐāϤāĻŋāĻšā§āϝāĻ—āϤ āĻŦāĻžāχāϟ-āĻ­āĻŋāĻ¤ā§āϤāĻŋāĻ• āϏāĻžāϜāĻžāύ⧋āϰ āĻ•ā§āϰāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ + +- āφāĻĒāύāĻŋ `TZ=Pacific/Fiji date`-āĻāϰ āĻŽāϤ⧋ āĻĒāϰāĻŋāĻŦ⧇āĻļ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāĻļā§€āϞ āϏ⧇āϟāĻŋāĻ‚āϏ⧇āϰ āϏāĻžāĻĨ⧇ āϤāĻžāϰ āφāĻšā§āĻŦāĻžāύ⧇āϰ āĻĒā§āϰāĻŋāĻĢāĻŋāĻ•ā§āϏāĻŋāĻ‚ āĻĻā§āĻŦāĻžāϰāĻž āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āĻĒāϰāĻŋāĻŦ⧇āĻļ āϏ⧇āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ + +- āϏāĻžāϧāĻžāϰāĻŖ āĻĄā§‡āϟāĻž āĻŽā§āĻ‚āĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ āĻŽā§ŒāϞāĻŋāĻ• `awk` āĻāĻŦāĻ‚ `sed` āϜāĻžāύ⧁āύāĨ¤ āωāĻĻāĻžāĻšāϰāϪ⧇āϰ āϜāĻ¨ā§āϝ [āĻ“āϝāĻŧāĻžāύ-āϞāĻžāχāύāĻžāϰ](#āĻ“āϝāĻŧāĻžāύ-āϞāĻžāχāύāĻžāϰ) āĻĻ⧇āϖ⧁āύāĨ¤ + +- āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āĻĢāĻžāχāϞ⧇āϰ āϜāĻžāϝāĻŧāĻ—āĻžāϝāĻŧ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻāϰ āϏāĻŽāĻ¸ā§āϤ āϘāϟāύāĻž āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāϤ⧇: +```sh + perl -pi.bak -e 's/old-string/new-string/g' my-files-*.txt +``` + +- āĻāĻ•āĻžāϧāĻŋāĻ• āĻĢāĻžāχāϞ⧇āϰ āύāĻžāĻŽ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž āĻĢāĻžāχāϞāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ āĻāĻŦāĻ‚ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāϤ⧇, [`repren`](https://github.com/jlevy/repren) āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύāĨ¤ (āĻ•āĻŋāϛ⧁ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ `rename` āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻāĻ•āĻžāϧāĻŋāĻ• āύāĻžāĻŽ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧ, āϤāĻŦ⧇ āϏāϤāĻ°ā§āĻ• āĻĨāĻžāϕ⧁āύ āĻ•āĻžāϰāĻŖ āĻāϰ āĻ•āĻžāĻ°ā§āϝāĻ•āĻžāϰāĻŋāϤāĻž āϏāĻŽāĻ¸ā§āϤ āϞāĻŋāύāĻžāĻ•ā§āϏ āĻŦāĻŋāϤāϰāϪ⧇ āĻāĻ• āύāϝāĻŧāĨ¤) +```sh + # Full rename of filenames, directories, and contents foo -> bar: + repren --full --preserve-case --from foo --to bar . + # Recover backup files whatever.bak -> whatever: + repren --renames --from '(.*)\.bak' --to '\1' *.bak + # Same as above, using rename, if available: + rename 's/\.bak$//' *.bak +``` + +- āϝ⧇āĻŽāύ āĻŽā§āϝāĻžāύ āĻĒ⧇āϜ āĻŦāϞāϛ⧇, `rsync` āϏāĻ¤ā§āϝāĻŋāχ āĻāĻ•āϟāĻŋ āĻĻā§āϰ⧁āϤ āĻāĻŦāĻ‚ āĻ…āϏāĻžāϧāĻžāϰāĻŖ āĻŦāĻšā§āĻŽā§āĻ–ā§€ āĻĢāĻžāχāϞ āĻ•āĻĒāĻŋ āĻ•āϰāĻžāϰ āϟ⧁āϞāĨ¤ āĻāϟāĻŋ āĻŽā§‡āĻļāĻŋāύ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϏāĻŋāĻ™ā§āĻ•ā§āϰ⧋āύāĻžāχāϜ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻĒāϰāĻŋāϚāĻŋāϤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧāĻ­āĻžāĻŦ⧇ āϏāĻŽāĻžāύāĻ­āĻžāĻŦ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰāĨ¤ āϝāĻ–āύ āύāĻŋāϰāĻžāĻĒāĻ¤ā§āϤāĻž āĻŦāĻŋāϧāĻŋāύāĻŋāώ⧇āϧ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧ, āϤāĻ–āύ `scp` āĻāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ `rsync` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ¸ā§āĻ•ā§āĻ°ā§āϝāĻžāϚ āĻĨ⧇āϕ⧇ āĻĒ⧁āύāϰāĻžāϝāĻŧ āφāϰāĻŽā§āĻ­ āύāĻž āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĨāĻžāύāĻžāĻ¨ā§āϤāϰ āĻĒ⧁āύāϰ⧁āĻĻā§āϧāĻžāϰ⧇āϰ āĻ…āύ⧁āĻŽāϤāĻŋ āĻĻ⧇āϝāĻŧāĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻāϟāĻŋ [āĻĻā§āϰ⧁āϤāϤāĻŽ āωāĻĒāĻžāϝāĻŧ](https://web.archive.org/web/20130929001850/http://linuxnote.net/jianingy/en/linux/a-fast-way-to-remove-huge- number-of-files.html) āĻŦāĻĄāĻŧ āϏāĻ‚āĻ–ā§āϝāĻ• āĻĢāĻžāχāϞ āĻŽā§āϛ⧇ āĻĢ⧇āϞāϤ⧇: +```sh +mkdir empty && rsync -r --delete empty/ some-dir && rmdir some-dir +``` + +- āĻĢāĻžāχāϞāϗ⧁āϞāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ…āĻ—ā§āϰāĻ—āϤāĻŋ āύāĻŋāϰ⧀āĻ•ā§āώāϪ⧇āϰ āϜāĻ¨ā§āϝ, [`pv`](http://www.ivarch.com/programs/pv.shtml), [`pycp`](https://github.com/dmerejkowsky/pycp) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ , [`pmonitor`](https://github.com/dspinellis/pmonitor), [`progress`](https://github.com/Xfennec/progress), `rsync --progress`, āĻ…āĻĨāĻŦāĻž, āĻŦā§āϞāϕ⧇āϰ āϜāĻ¨ā§āϝ -āϞ⧇āϭ⧇āϞ āĻ•āĻĒāĻŋ āĻ•āϰāĻž, `dd status=progress`āĨ¤ + +- āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āĻĨ⧇āϕ⧇ āĻāϞ⧋āĻŽā§‡āϞ⧋ āϞāĻžāχāύāϗ⧁āϞāĻŋ āĻāϞ⧋āĻŽā§‡āϞ⧋ āĻ•āϰāϤ⧇ āĻŦāĻž āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰāϤ⧇ `shuf` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- `sort` āĻāϰ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāϗ⧁āϞāĻŋ āϜāĻžāύ⧁āύāĨ¤ āϏāĻ‚āĻ–ā§āϝāĻžāϰ āϜāĻ¨ā§āϝ, āĻŽāĻžāύ⧁āώ⧇āϰ-āĻĒāĻžāĻ āϝ⧋āĻ—ā§āϝ āϏāĻ‚āĻ–ā§āϝāĻžāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ `-n`, āĻŦāĻž `-h` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ (āϝ⧇āĻŽāύ `du -h` āĻĨ⧇āϕ⧇)āĨ¤ āϕ⧀āϗ⧁āϞāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āϤāĻž āϜāĻžāύ⧁āύ (`-t` āĻāĻŦāĻ‚ `-k`)āĨ¤ āĻŦāĻŋāĻļ⧇āώ āĻ•āϰ⧇, āϖ⧇āϝāĻŧāĻžāϞ āϰāĻžāϖ⧁āύ āϝ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻĒā§āϰāĻĨāĻŽ āĻ•ā§āώ⧇āĻ¤ā§āϰ āĻ…āύ⧁āϏāĻžāϰ⧇ āϏāĻžāϜāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϕ⧇ `-k1,1` āϞāĻŋāĻ–āϤ⧇ āĻšāĻŦ⧇; `-k1` āĻŽāĻžāύ⧇ āĻĒ⧁āϰ⧋ āϞāĻžāχāύ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ āϏāĻžāϜāĻžāύ⧋āĨ¤ āĻ¸ā§āĻĨāĻŋāϤāĻŋāĻļā§€āϞ āϏāĻžāϜāĻžāύ⧋ (`sort -s`) āĻĻāϰāĻ•āĻžāϰ⧀ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻĒā§āϰāĻĨāĻŽā§‡ āĻ•ā§āώ⧇āĻ¤ā§āϰ 2 āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻžāĻ›āĻžāχ āĻ•āϰāϤ⧇, āϤāĻžāϰāĻĒāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ 1 āĻĻā§āĻŦāĻžāϰāĻž āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧāĻ­āĻžāĻŦ⧇, āφāĻĒāύāĻŋ `sort -k1,1 | sort -s -k2,2`āĨ¤ + +- āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻ•āĻ–āύāĻ“ Bash-āĻ āĻāĻ•āϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϞāĻžāχāύ⧇ āĻāĻ•āϟāĻŋ āĻŸā§āϝāĻžāĻŦ āϞāĻŋāϟāĻžāϰ⧇āϞ āϞāĻŋāĻ–āϤ⧇ āϚāĻžāύ (āϝ⧇āĻŽāύ -t āφāĻ°ā§āϗ⧁āĻŽā§‡āĻ¨ā§āϟ āϏāĻžāϜāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ), **ctrl-v** **[Tab]** āϟāĻŋāĻĒ⧁āύ āĻŦāĻž `$'\t'` (āĻĒāϰ⧇āϰāϟāĻŋ āĻ­āĻžāϞ āĻ•āĻžāϰāĻŖ āφāĻĒāύāĻŋ āĻāϟāĻŋ āĻ•āĻĒāĻŋ/āĻĒ⧇āĻ¸ā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ)āĨ¤ + +- āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄ āĻĒā§āϝāĻžāϚ āĻ•āϰāĻžāϰ āĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āϟ⧁āϞ āĻšāϞ `diff` āĻāĻŦāĻ‚ `patch`āĨ¤ āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻāĻ•āϟāĻŋ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ⧇āϰ āϏāĻžāϰāĻžāĻ‚āĻļ āĻĒāϰāĻŋāϏāĻ‚āĻ–ā§āϝāĻžāύ⧇āϰ āϜāĻ¨ā§āϝ `diffstat` āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ⧇āϰ āϜāĻ¨ā§āϝ `sdiff` āĻĻ⧇āϖ⧁āύāĨ¤ āύ⧋āϟ `diff -r` āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϰ āϜāĻ¨ā§āϝ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤ `diff -r tree1 tree2 | āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āϏāĻžāϰāĻžāĻ‚āĻļ⧇āϰ āϜāĻ¨ā§āϝ diffstat`āĨ¤ āĻĢāĻžāχāϞ āϤ⧁āϞāύāĻž āĻāĻŦāĻ‚ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰāϤ⧇ `vimdiff` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- āĻŦāĻžāχāύāĻžāϰāĻŋ āĻĢāĻžāχāϞ⧇āϰ āϜāĻ¨ā§āϝ, āϏāĻžāϧāĻžāϰāĻŖ āĻšā§‡āĻ•ā§āϏ āĻĄāĻžāĻŽā§āĻĒ⧇āϰ āϜāĻ¨ā§āϝ `hd`, `hexdump` āĻŦāĻž `xxd` āĻāĻŦāĻ‚ āĻŦāĻžāχāύāĻžāϰāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻžāϰ āϜāĻ¨ā§āϝ `bvi`, `hexedit` āĻŦāĻž `biew` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- āĻāĻ›āĻžāĻĄāĻŧāĻžāĻ“ āĻŦāĻžāχāύāĻžāϰāĻŋ āĻĢāĻžāχāϞ⧇āϰ āϜāĻ¨ā§āϝ, `strings` (āĻĒā§āϞāĻžāϏ `grep`, āχāĻ¤ā§āϝāĻžāĻĻāĻŋ) āφāĻĒāύāĻžāϕ⧇ āĻĒāĻžāĻ ā§āϝ⧇āϰ āĻŦāĻŋāϟ āϖ⧁āρāĻœā§‡ āĻĒ⧇āϤ⧇ āĻĻ⧇āϝāĻŧāĨ¤ + +- āĻŦāĻžāχāύāĻžāϰāĻŋ āĻĄāĻŋāĻĢ⧇āϰ āϜāĻ¨ā§āϝ (āĻĄā§‡āĻ˛ā§āϟāĻž āĻ•āĻŽā§āĻĒā§āϰ⧇āĻļāύ), `xdelta3` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- āĻŸā§‡āĻ•ā§āϏāϟ āĻāύāϕ⧋āĻĄāĻŋāĻ‚ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻ•āϰāϤ⧇, `iconv` āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύāĨ¤ āĻ…āĻĨāĻŦāĻž āφāϰāĻ“ āωāĻ¨ā§āύāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ `uconv`; āĻāϟāĻŋ āĻ•āĻŋāϛ⧁ āωāĻ¨ā§āύāϤ āχāωāύāĻŋāϕ⧋āĻĄ āϜāĻŋāύāĻŋāϏ āϏāĻŽāĻ°ā§āĻĨāύ āĻ•āϰ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖ āĻ¸ā§āĻŦāϰ⧂āĻĒ: +```sh + # Displays hex codes or actual names of characters (useful for debugging): + uconv -f utf-8 -t utf-8 -x '::Any-Hex;' < input.txt + uconv -f utf-8 -t utf-8 -x '::Any-Name;' < input.txt + # Lowercase and removes all accents (by expanding and dropping them): + uconv -f utf-8 -t utf-8 -x '::Any-Lower; ::Any-NFD; [:Nonspacing Mark:] >; ::Any-NFC;' < input.txt > output.txt +``` + +- āĻĢāĻžāχāϞāϗ⧁āϞāĻŋāϕ⧇ āϟ⧁āĻ•āϰ⧋ āϟ⧁āĻ•āϰ⧋āϤ⧇ āĻŦāĻŋāĻ­āĻ•ā§āϤ āĻ•āϰāϤ⧇, āĻĻ⧇āϖ⧁āύ `split` (āφāĻ•āĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻŋāĻ­āĻ•ā§āϤ āĻ•āϰāϤ⧇) āĻāĻŦāĻ‚ `csplit` (āĻāĻ•āϟāĻŋ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻŋāĻ­āĻ•ā§āϤ āĻ•āϰāϤ⧇)āĨ¤ + +- āϤāĻžāϰāĻŋāĻ– āĻāĻŦāĻ‚ āϏāĻŽāϝāĻŧ: āϏāĻšāĻžāϝāĻŧāĻ• [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) āĻĢāĻ°ā§āĻŽā§āϝāĻžāĻŸā§‡ āĻŦāĻ°ā§āϤāĻŽāĻžāύ āϤāĻžāϰāĻŋāĻ– āĻāĻŦāĻ‚ āϏāĻŽāϝāĻŧ āĻĒ⧇āϤ⧇, `date -u +"%Y-%m-%dT%H:%M:%SZ"` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ (āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāϗ⧁āϞāĻŋ [āĻšāĻšā§āϛ⧇](https://stackoverflow.com/questions/7216358/date-command-on-os-x-doesnt-have-iso-8601-i- āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ) [āϏāĻŽāĻ¸ā§āϝāĻžāĻĒā§‚āĻ°ā§āĻŖ](https://unix.stackexchange.com/questions/164826/date-command-iso-8601-option))āĨ¤ āϤāĻžāϰāĻŋāĻ– āĻāĻŦāĻ‚ āϏāĻŽāϝāĻŧ⧇āϰ āĻ…āĻ­āĻŋāĻŦā§āϝāĻ•ā§āϤāĻŋāϗ⧁āϞāĻŋ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāϤ⧇, [`dateutils`](http://www.fresse.org/dateutils/) āĻĨ⧇āϕ⧇ `dateadd`, `datediff`, `strptime` āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- āĻ•āĻŽā§āĻĒā§āϰ⧇āϏ āĻ•āϰāĻž āĻĢāĻžāχāϞ⧇ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ `zless`, `zmore`, `zcat`, āĻāĻŦāĻ‚ `zgrep` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- āĻĢāĻžāχāϞ⧇āϰ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝāϗ⧁āϞāĻŋ `chattr` āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϏ⧇āϟ āĻ•āϰāĻž āϝāĻžāϝāĻŧ āĻāĻŦāĻ‚ āĻĢāĻžāχāϞ⧇āϰ āĻ…āύ⧁āĻŽāϤāĻŋāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āύāĻŋāĻŽā§āύ-āĻ¸ā§āϤāϰ⧇āϰ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ…āĻĢāĻžāϰ āĻ•āϰ⧇āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āĻĻ⧁āĻ°ā§āϘāϟāύāĻžāϜāύāĻŋāϤ āĻĢāĻžāχāϞ āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻžāϰ āĻŦāĻŋāϰ⧁āĻĻā§āϧ⧇ āϰāĻ•ā§āώāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻ…āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧀āϝāĻŧ āĻĒāϤāĻžāĻ•āĻž: `sudo chattr +i /critical/directory/or/file` + +- āĻĢāĻžāχāϞ⧇āϰ āĻ…āύ⧁āĻŽāϤāĻŋ āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻāĻŦāĻ‚ āĻĒ⧁āύāϰ⧁āĻĻā§āϧāĻžāϰ āĻ•āϰāϤ⧇ `getfacl` āĻāĻŦāĻ‚ `setfacl` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖ āĻ¸ā§āĻŦāϰ⧂āĻĒ: +```sh + getfacl -R /some/path > permissions.txt + setfacl --restore=permissions.txt +``` + +- āĻĻā§āϰ⧁āϤ āĻ–āĻžāϞāĻŋ āĻĢāĻžāχāϞ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇, `truncate` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ ([āĻ¸ā§āĻĒāĻžāĻ°ā§āϏ āĻĢāĻžāχāϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧇](https://en.wikipedia.org/wiki/Sparse_file)), `fallocate` (ext4, xfs, btrfs āĻāĻŦāĻ‚ ocfs2 āĻĢāĻžāχāϞāϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ), `xfs_mkfile ` (āĻĒā§āϰāĻžāϝāĻŧ āϕ⧋āύ⧋ āĻĢāĻžāχāϞ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ, xfsprogs āĻĒā§āϝāĻžāϕ⧇āĻœā§‡ āφāϏ⧇), `mkfile` (āϏ⧋āϞāĻžāϰāĻŋāϏ, āĻŽā§āϝāĻžāĻ• āĻ“āĻāϏ⧇āϰ āĻŽāϤ⧋ āχāωāύāĻŋāĻ•ā§āϏ-āĻāϰ āĻŽāϤ⧋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϜāĻ¨ā§āϝ)āĨ¤ + +## āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ + +- āĻ“āϝāĻŧ⧇āĻŦ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ, `curl` āĻāĻŦāĻ‚ `curl -I` āϏ⧁āĻŦāĻŋāϧāĻžāϜāύāĻ•, āĻ…āĻĨāĻŦāĻž āϤāĻžāĻĻ⧇āϰ `wget` āϏāĻŽāϤ⧁āĻ˛ā§āϝ, āĻ…āĻĨāĻŦāĻž āφāϰāĻ“ āφāϧ⧁āύāĻŋāĻ• [`httpie`](https://github.com/jkbrzt/httpie)āĨ¤ + +- āĻŦāĻ°ā§āϤāĻŽāĻžāύ āϏāĻŋāĻĒāĻŋāχāω/āĻĄāĻŋāĻ¸ā§āϕ⧇āϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āϜāĻžāύāϤ⧇, āĻ•ā§āϞāĻžāϏāĻŋāĻ• āϟ⧁āϞ āĻšāϞ `top` (āĻŦāĻž āĻ­āĻžāϞ⧋ `top`), `iostat` āĻāĻŦāĻ‚ `iotop`āĨ¤ āĻŽā§ŒāϞāĻŋāĻ• CPU āĻāĻŦāĻ‚ āĻŦāĻŋāĻļāĻĻ āĻĒā§āϰāϤāĻŋ-āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ āĻĄāĻŋāĻ¸ā§āĻ• āĻĒāϰāĻŋāϏāĻ‚āĻ–ā§āϝāĻžāύ āĻāĻŦāĻ‚ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āĻ…āĻ¨ā§āϤāĻ°ā§āĻĻ⧃āĻˇā§āϟāĻŋāϰ āϜāĻ¨ā§āϝ `iostat -mxz 15` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āϏāĻ‚āϝ⧋āϗ⧇āϰ āĻŦāĻŋāĻŦāϰāϪ⧇āϰ āϜāĻ¨ā§āϝ, `netstat` āĻāĻŦāĻ‚ `ss` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- āĻāĻ•āϟāĻŋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āϕ⧀ āϘāϟāϛ⧇ āϤāĻžāϰ āĻāĻ•āϟāĻŋ āĻĻā§āϰ⧁āϤ āĻ“āĻ­āĻžāϰāĻ­āĻŋāωāϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ, `dstat` āĻŦāĻŋāĻļ⧇āώāĻ­āĻžāĻŦ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰāĨ¤ āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāϰāĻŖ āϏāĻš āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āĻ“āĻ­āĻžāϰāĻ­āĻŋāωāϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ, [`glances`](https://github.com/nicolargo/glances) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- āĻŽā§‡āĻŽāϰāĻŋ āĻ¸ā§āĻŸā§āϝāĻžāϟāĻžāϏ āϜāĻžāύāϤ⧇, āϚāĻžāϞāĻžāύ āĻāĻŦāĻ‚ `free` āĻāĻŦāĻ‚ `vmstat` āĻāϰ āφāωāϟāĻĒ⧁āϟ āĻŦ⧁āĻā§āύāĨ¤ āĻŦāĻŋāĻļ⧇āώ āĻ•āϰ⧇, "cached" āĻŽāĻžāύāϟāĻŋ āϞāĻŋāύāĻžāĻ•ā§āϏ āĻ•āĻžāĻ°ā§āύ⧇āϞ āĻĻā§āĻŦāĻžāϰāĻž āĻĢāĻžāχāϞ āĻ•ā§āϝāĻžāĻļ⧇ āĻšāĻŋāϏāĻžāĻŦ⧇ āϧāĻžāϰāĻŖ āĻ•āϰāĻž āĻŽā§‡āĻŽāϰāĻŋ, āϤāĻžāχ āĻ•āĻžāĻ°ā§āϝāĻ•āϰāĻ­āĻžāĻŦ⧇ "āĻŽā§āĻ•ā§āϤ" āĻŽāĻžāύ⧇āϰ āĻĻāĻŋāϕ⧇ āĻ—āĻŖāύāĻž āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ + +- āϜāĻžāĻ­āĻž āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻŽāĻžāϛ⧇āϰ āĻāĻ•āϟāĻŋ āĻ­āĻŋāĻ¨ā§āύ āϕ⧇āϟāϞāĻŋ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ“āϰāĻžāĻ•āϞ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āϝāĻžāĻ¨ā§āϝ āĻ•āĻŋāϛ⧁ JVM-āĻ āĻāĻ•āϟāĻŋ āϏāĻšāϜ āĻ•ā§ŒāĻļāϞ āĻšāϞ āϝ⧇ āφāĻĒāύāĻŋ `kill -3 ` āϚāĻžāϞāĻžāϤ⧇ āĻĒāĻžāϰ⧇āύ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§āĻŸā§āϝāĻžāĻ• āĻŸā§āϰ⧇āϏ āĻāĻŦāĻ‚ āĻ¸ā§āϤ⧂āĻĒ āϏāĻžāϰāĻžāĻ‚āĻļ (āĻĒā§āϰāϜāĻ¨ā§āĻŽāĻ—āϤ āφāĻŦāĻ°ā§āϜāύāĻž āϏāĻ‚āĻ—ā§āϰāĻšā§‡āϰ āĻŦāĻŋāĻŦāϰāĻŖ āϏāĻš, āϝāĻž āĻ…āĻ¤ā§āϝāĻ¨ā§āϤ āϤāĻĨā§āϝāĻĒā§‚āĻ°ā§āĻŖ āĻšāϤ⧇ āĻĒāĻžāϰ⧇) stderr/logs āĻ āĻĄāĻžāĻŽā§āĻĒ āĻ•āϰāĻž āĻšāĻŦ⧇āĨ¤ JDK āĻāϰ `jps`, `jstat`, `jstack`, `jmap` āĻĻāϰāĻ•āĻžāϰ⧀āĨ¤ [SJK āϟ⧁āϞāϏ](https://github.com/aragozin/jvm-tools) āφāϰāĻ“ āωāĻ¨ā§āύāϤāĨ¤ + +- āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āϏāĻŽāĻ¸ā§āϝāĻž āĻļāύāĻžāĻ•ā§āϤ āĻ•āϰāϤ⧇ āφāϰāĻ“ āĻ­āĻžāϞ⧋ āĻŸā§āϰ⧇āϏāĻžāϰāϰ⧁āϟ āĻšāĻŋāϏ⧇āĻŦ⧇ [`mtr`](http://www.bitwizard.nl/mtr/) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- āĻāĻ•āϟāĻŋ āĻĄāĻŋāĻ¸ā§āĻ• āϕ⧇āύ āĻĒā§‚āĻ°ā§āĻŖ āϤāĻž āĻĻ⧇āĻ–āĻžāϰ āϜāĻ¨ā§āϝ, [`ncdu`](https://dev.yorhel.nl/ncdu) `du -sh *` āĻāϰ āĻŽāϤ⧋ āϏāĻžāϧāĻžāϰāĻŖ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āĻšā§‡āϝāĻŧ⧇ āϏāĻŽāϝāĻŧ āĻŦāĻžāρāϚāĻžāϝāĻŧāĨ¤ + +- āϕ⧋āύ āϏāϕ⧇āϟ āĻŦāĻž āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻž āĻŦā§āϝāĻžāĻ¨ā§āĻĄāωāχāĻĨ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϛ⧇ āϤāĻž āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāϤ⧇, [`iftop`](http://www.ex-parrot.com/~pdw/iftop/) āĻ…āĻĨāĻŦāĻž [`nethogs`](https://github.com/raboof/nethogs) āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύāĨ¤ + +- `ab` āϟ⧁āϞ (Apache āĻāϰ āϏāĻžāĻĨ⧇ āφāϏ⧇) āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇āϰ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āĻĻā§āϰ⧁āϤ āĻāĻŦāĻ‚ āύ⧋āĻ‚āϰāĻž āĻšā§‡āĻ• āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϏāĻšāĻžāϝāĻŧāĻ•āĨ¤ āφāϰ⧋ āϜāϟāĻŋāϞ āϞ⧋āĻĄ āĻĒāϰ⧀āĻ•ā§āώāĻžāϰ āϜāĻ¨ā§āϝ, `siege` āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰ⧁āύāĨ¤ + +- āφāϰāĻ“ āϗ⧁āϰ⧁āϤāϰ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚āϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ, [`wireshark`](https://wireshark.org/), [`tshark`](https://www.wireshark.org/docs/wsug_html_chunked/AppToolstshark.html), āĻ…āĻĨāĻŦāĻž [ `ngrep`](http://ngrep.sourceforge.net/)āĨ¤ + +- `strace` āĻāĻŦāĻ‚ `ltrace` āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϜāĻžāύ⧁āύāĨ¤ āĻāϟāĻŋ āϏāĻšāĻžāϝāĻŧāĻ• āĻšāϤ⧇ āĻĒāĻžāϰ⧇ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽ āĻŦā§āϝāĻ°ā§āĻĨ āĻšāϝāĻŧ, āĻšā§āϝāĻžāĻ‚ āĻšāϝāĻŧ āĻŦāĻž āĻ•ā§āĻ°ā§āϝāĻžāĻļ āĻšāϝāĻŧ āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āϕ⧇āύ āϜāĻžāύ⧇āύ āύāĻž, āĻŦāĻž āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āϧāĻžāϰāĻŖāĻž āĻĒ⧇āϤ⧇ āϚāĻžāύāĨ¤ āĻĒā§āϰ⧋āĻĢāĻžāχāϞāĻŋāĻ‚ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ (`-c`), āĻāĻŦāĻ‚ āϚāϞāĻŽāĻžāύ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻžāϰ āĻ•ā§āώāĻŽāϤāĻž (`-p`) āύ⧋āϟ āĻ•āϰ⧁āύāĨ¤ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ•āϞ āĻŽāĻŋāϏ āĻāĻĄāĻŧāĻžāϤ⧇ āĻŸā§āϰ⧇āϏ āϚāĻžāχāĻ˛ā§āĻĄ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ (`-f`) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- āĻļ⧇āϝāĻŧāĻžāϰ āĻ•āϰāĻž āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻšā§‡āĻ• āĻ•āϰāϤ⧇ `ldd` āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϜāĻžāύ⧁āύ — āĻ•āĻŋāĻ¨ā§āϤ⧁ [āĻāϟāĻŋ āĻ•āĻ–āύ⧋āχ āĻ…āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āϤ āĻĢāĻžāχāϞ⧇ āϚāĻžāϞāĻžāĻŦ⧇āύ āύāĻž](http://www.catonmat.net/blog/ldd-arbitrary-code-execution/)āĨ¤ + +- āĻ•āĻŋāĻ­āĻžāĻŦ⧇ `gdb` āĻĻāĻŋāϝāĻŧ⧇ āϚāϞāĻŽāĻžāύ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧋āĻ— āĻ•āϰāϤ⧇ āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻāϰ āĻ¸ā§āĻŸā§āϝāĻžāĻ• āĻŸā§āϰ⧇āϏ āĻĒ⧇āϤ⧇ āĻšāϝāĻŧ āϤāĻž āϜāĻžāύ⧁āύāĨ¤ + +- `/proc` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āϞāĻžāχāĻ­ āϏāĻŽāĻ¸ā§āϝāĻž āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ•āĻ–āύāĻ“ āĻ•āĻ–āύāĻ“ āĻāϟāĻŋ āφāĻļā§āϚāĻ°ā§āϝāϜāύāĻ•āĻ­āĻžāĻŦ⧇ āϏāĻšāĻžāϝāĻŧāĻ•āĨ¤ āωāĻĻāĻžāĻšāϰāĻŖ: `/proc/cpuinfo`, `/proc/meminfo`, `/proc/cmdline`, `/proc/xxx/cwd`, `/proc/xxx/exe`, `/proc/xxx/fd/` , `/proc/xxx/smaps` (āϝ⧇āĻ–āĻžāύ⧇ `xxx` āĻšāϞ āĻĒā§āϰāϏ⧇āϏ āφāχāĻĄāĻŋ āĻŦāĻž āĻĒāĻŋāĻĄ)āĨ¤ + +- āĻ…āϤ⧀āϤ⧇ āϕ⧇āύ āĻ•āĻŋāϛ⧁ āϭ⧁āϞ āĻšāϝāĻŧ⧇āϛ⧇ āϤāĻž āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ, [`sar`](http://sebastien.godard.pagesperso-orange.fr/) āϖ⧁āĻŦ āϏāĻšāĻžāϝāĻŧāĻ• āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻāϟāĻŋ CPU, āĻŽā§‡āĻŽāϰāĻŋ, āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āχāĻ¤ā§āϝāĻžāĻĻāĻŋāϰ āϐāϤāĻŋāĻšāĻžāϏāĻŋāĻ• āĻĒāϰāĻŋāϏāĻ‚āĻ–ā§āϝāĻžāύ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤ + +- āĻ—āĻ­ā§€āϰāϤāϰ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŦāĻ‚ āĻ•āĻ°ā§āĻŽāĻ•ā§āώāĻŽāϤāĻž āĻŦāĻŋāĻļā§āϞ⧇āώāϪ⧇āϰ āϜāĻ¨ā§āϝ, `stap` ([SystemTap](https://sourceware.org/systemtap/wiki)), [`perf`](https://en.wikipedia.org/wiki/Perf_%28Linux%29), āĻāĻŦāĻ‚ [`sysdig`](https://github.com/draios/sysdig)āĨ¤ + +- āφāĻĒāύāĻŋ `uname` āĻŦāĻž `uname -a` (āϏāĻžāϧāĻžāϰāĻŖ Unix/kernel āϤāĻĨā§āϝ) āĻ…āĻĨāĻŦāĻž `lsb_release -a` (Linux distro info) āĻĻāĻŋāϝāĻŧ⧇ āϕ⧋āύ OS-āĻ āφāϛ⧇āύ āϤāĻž āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤ + +- 'dmesg' āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āϝāĻ–āύāχ āĻ•āĻŋāϛ⧁ āϏāĻ¤ā§āϝāĻŋāχ āĻŽāϜāĻžāϰ āĻ•āĻžāϜ āĻ•āϰ⧇ (āĻāϟāĻŋ āĻšāĻžāĻ°ā§āĻĄāĻ“āϝāĻŧā§āϝāĻžāϰ āĻŦāĻž āĻĄā§āϰāĻžāχāĻ­āĻžāϰ āϏāĻŽāĻ¸ā§āϝāĻž āĻšāϤ⧇ āĻĒāĻžāϰ⧇)āĨ¤ + +- āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āĻŽā§āϛ⧇ āĻĢ⧇āϞ⧇āύ āĻāĻŦāĻ‚ āĻāϟāĻŋ `du` āĻĻā§āĻŦāĻžāϰāĻž āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āĻ•āϰāĻž āĻĒā§āϰāĻ¤ā§āϝāĻžāĻļāĻŋāϤ āĻĄāĻŋāĻ¸ā§āϕ⧇āϰ āĻ¸ā§āĻĨāĻžāύ āĻ–āĻžāϞāĻŋ āύāĻž āĻ•āϰ⧇, āϤāĻžāĻšāϞ⧇ āĻĢāĻžāχāϞāϟāĻŋ āĻāĻ•āϟāĻŋ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āĻĻā§āĻŦāĻžāϰāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇ āĻ•āĻŋāύāĻž āϤāĻž āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύ: +`lsof | grep deleted | grep "filename-of-my-big-file"` + + +## āĻāĻ•-āϞāĻžāχāύāĻžāϰ + +āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϗ⧁āϞāĻŋāϕ⧇ āĻāĻ•āĻ¤ā§āϰāĻŋāϤ āĻ•āϰāĻžāϰ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ: + +- āĻ•āĻ–āύ⧋ āĻ•āĻ–āύ⧋ āĻāϟāĻž āĻ…āϏāĻžāϧāĻžāϰāĻŖāĻ­āĻžāĻŦ⧇ āϏāĻšāĻžāϝāĻŧāĻ• āϝ⧇ āφāĻĒāύāĻŋ `āϏāĻ°ā§āϟ`/`āχāωāύāĻŋāĻ•` āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻŸā§‡āĻ•ā§āϏāϟ āĻĢāĻžāχāϞ⧇āϰ āχāĻ¨ā§āϟāĻžāϰāϏ⧇āĻ•āĻļāύ, āχāωāύāĻŋāϝāĻŧāύ āĻāĻŦāĻ‚ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ āϏ⧇āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āϧāϰ⧁āύ `a` āĻāĻŦāĻ‚ `b` āĻšāϞ āĻĒāĻžāĻ ā§āϝ āĻĢāĻžāχāϞ āϝāĻž āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇āχ āĻ…āύāĻ¨ā§āϝāĨ¤ āĻāϟāĻŋ āĻĻā§āϰ⧁āϤ, āĻāĻŦāĻ‚ āĻ…āύ⧇āĻ• āĻ—āĻŋāĻ—āĻžāĻŦāĻžāχāϟ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āύāĻŋāĻ°ā§āĻŦāĻŋāϚāĻžāϰ⧇ āφāĻ•āĻžāϰ⧇āϰ āĻĢāĻžāχāϞāϗ⧁āϞāĻŋāϤ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤ (āϏāĻ°ā§āϟ āĻŽā§‡āĻŽāϰāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āϏ⧀āĻŽāĻžāĻŦāĻĻā§āϧ āύāϝāĻŧ, āϝāĻĻāĻŋāĻ“ `/tmp` āĻāĻ•āϟāĻŋ āϛ⧋āϟ āϰ⧁āϟ āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύ⧇ āĻĨāĻžāĻ•āϞ⧇ `-T` āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšāϤ⧇ āĻĒāĻžāϰ⧇) āωāĻĒāϰ⧇ `LC_ALL` āĻāĻŦāĻ‚ `āϏāĻ°ā§āϟ` āĻāϰ `-u` āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āύ⧋āϟāϟāĻŋāĻ“ āĻĻ⧇āϖ⧁āύ (āύ⧀āĻšā§‡ āĻ¸ā§āĻĒāĻˇā§āϟāϤāĻžāϰ āϜāĻ¨ā§āϝ āϛ⧇āĻĄāĻŧ⧇ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧ⧇āϛ⧇)āĨ¤ +```sh + sort a b | uniq > c # c is a union b + sort a b | uniq -d > c # c is a intersect b + sort a b b | uniq -u > c # c is set difference a - b +``` + +- āĻĻ⧁āϟāĻŋ JSON āĻĢāĻžāχāϞ āĻĒā§āϰāĻŋāĻ¨ā§āϟ-āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻ•āϰ⧁āύ, āϤāĻžāĻĻ⧇āϰ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏāϕ⧇ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ•āϰ⧁āύ, āϤāĻžāϰāĻĒāϰ āϰāĻ™ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻĢāϞāĻžāĻĢāϞ āĻĒ⧃āĻˇā§āĻ āĻžāϝāĻŧ āĻ•āϰ⧁āύ: +``` + diff <(jq --sort-keys . < file1.json) <(jq --sort-keys . < file2.json) | colordiff | less -R +``` + +- `grep . *` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āĻāĻ•āϟāĻŋ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϰ āϏāĻŽāĻ¸ā§āϤ āĻĢāĻžāχāϞ⧇āϰ āĻŦāĻŋāώāϝāĻŧāĻŦāĻ¸ā§āϤ⧁ āĻĻā§āϰ⧁āϤ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāϤ⧇ (āϝāĻžāϤ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āϞāĻžāχāύ āĻĢāĻžāχāϞ⧇āϰ āύāĻžāĻŽā§‡āϰ āϏāĻžāĻĨ⧇ āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšāϝāĻŧ), āĻŦāĻž `head-100 *` (āϤāĻžāχ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĢāĻžāχāϞ⧇āϰ āĻāĻ•āϟāĻŋ āĻļāĻŋāϰ⧋āύāĻžāĻŽ āĻĨāĻžāϕ⧇)āĨ¤ āĻāϟāĻŋ `/sys`, `/proc`, `/etc`-āĻāϰ āĻŽāϤ⧋ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āϏ⧇āϟāĻŋāĻ‚āϏ⧇ āĻ­āϰāĻž āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϰ āϜāĻ¨ā§āϝ āωāĻĒāϝ⧋āĻ—ā§€ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ + + +- āĻāĻ•āϟāĻŋ āĻŸā§‡āĻ•ā§āϏāϟ āĻĢāĻžāχāϞ⧇āϰ āϤ⧃āϤ⧀āϝāĻŧ āĻ•āϞāĻžāĻŽā§‡ āϏāĻŽāĻ¸ā§āϤ āϏāĻ‚āĻ–ā§āϝāĻžāϰ āϏāĻŽāĻˇā§āϟāĻŋ (āĻāϟāĻŋ āϏāĻŽā§āĻ­āĻŦāϤ 3X āĻĻā§āϰ⧁āϤ āĻāĻŦāĻ‚ āϏāĻŽāϤ⧁āĻ˛ā§āϝ Python āĻĨ⧇āϕ⧇ 3X āĻ•āĻŽ āϕ⧋āĻĄ): +```sh + awk '{ x += $3 } END { print x }' myfile +``` + +- āĻĢāĻžāχāϞ⧇āϰ āϤāĻžāϞāĻŋāĻ•āĻž āφāĻ•āĻžāϰ/āϤāĻžāϰāĻŋāĻ– āĻĻ⧇āĻ–āϤ⧇, āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤāĻŋāĻŽā§‚āϞāĻ• `ls -l` āĻāϰ āĻŽāϤ⧋ āϤāĻŦ⧇ `ls` āĻāϰ āĻšā§‡āϝāĻŧ⧇ āĻĒāĻĄāĻŧāĻž āϏāĻšāϜāĨ¤: +```sh + find . -type f -ls +``` + +- āĻŦāϞ⧁āύ āφāĻĒāύāĻžāϰ āĻ•āĻžāϛ⧇ āĻāĻ•āϟāĻŋ āĻŸā§‡āĻ•ā§āϏāϟ āĻĢāĻžāχāϞ āφāϛ⧇, āϝ⧇āĻŽāύ āĻāĻ•āϟāĻŋ āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϞāĻ—, āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŽāĻžāύ āϝāĻž āĻ•āĻŋāϛ⧁ āϞāĻžāχāύ⧇ āĻĒā§āϰāĻĻāĻ°ā§āĻļāĻŋāϤ āĻšāϝāĻŧ, āϝ⧇āĻŽāύ āĻāĻ•āϟāĻŋ `acct_id` āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āϝāĻž URL-āĻ āωāĻĒāĻ¸ā§āĻĨāĻŋāϤāĨ¤ āφāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻĒā§āϰāϤāĻŋāϟāĻŋ `acct_id`-āĻāϰ āϜāĻ¨ā§āϝ āĻ•āϤāϗ⧁āϞāĻŋ āĻ…āύ⧁āϰ⧋āϧ⧇āϰ āĻšāĻŋāϏāĻžāĻŦ āϚāĻžāύ: +```sh + egrep -o 'acct_id=[0-9]+' access.log | cut -d= -f2 | sort | uniq -c | sort -rn +``` + +- āĻ•ā§āϰāĻŽāĻžāĻ—āϤ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϗ⧁āϞāĻŋ āĻĒāĻ°ā§āϝāĻŦ⧇āĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇, `watch` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ, āϝ⧇āĻŽāύ `watch -d -n 2 'ls -rtlh | tail` āĻĻāĻŋāϝāĻŧ⧇ āĻāĻ•āϟāĻŋ āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϰ āĻĢāĻžāχāϞ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšā§‡āĻ• āĻ•āϰ⧁āύ āĻŦāĻž āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āϏ⧇āϟāĻŋāĻ‚āϏ⧇ āφāĻĒāύāĻžāϰ āĻ“āϝāĻŧāĻžāχāĻĢāĻžāχ āϏ⧇āϟāĻŋāĻ‚āϏ⧇āϰ āϏāĻŽāĻ¸ā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ `watch -d -n 2 ifconfig` āĻĻāĻŋāϝāĻŧ⧇āĨ¤ + +- āĻāχ āύāĻĨāĻŋ āĻĨ⧇āϕ⧇ āĻāĻ•āϟāĻŋ āĻāϞ⧋āĻŽā§‡āϞ⧋ āϟāĻŋāĻĒ āĻĒ⧇āϤ⧇ āĻāχ āĻĢāĻžāĻ‚āĻļāύāϟāĻŋ āϚāĻžāϞāĻžāύ (āĻŽāĻžāĻ°ā§āĻ•āĻĄāĻžāωāύ āĻĒāĻžāĻ°ā§āϏ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āφāχāĻŸā§‡āĻŽ āĻŦ⧇āϰ āĻ•āϰ⧇): +```sh + function taocl() { + curl -s https://raw.githubusercontent.com/jlevy/the-art-of-command-line/master/README.md | + sed '/cowsay[.]png/d' | + pandoc -f markdown -t html | + xmlstarlet fo --html --dropdtd | + xmlstarlet sel -t -v "(html/body/ul/li[count(p)>0])[$RANDOM mod last()+1]" | + xmlstarlet unesc | fmt -80 | iconv -t US + } +``` + + +## āĻ…āĻ¸ā§āĻĒāĻˇā§āϟ āĻ•āĻŋāĻ¨ā§āϤ⧁ āωāĻĒāĻ•āĻžāϰ⧀ + +- `expr`: āĻ—āĻŖāĻŋāϤāĻŋāĻ• āĻŦāĻž āĻŦ⧁āϞāĻŋ⧟āĻžāύ āĻ…āĻĒāĻžāϰ⧇āĻļāύ āĻĒāĻžāϰāĻĢāϰāĻŽ āĻ•āϰ⧁āύ āĻŦāĻž āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āϏāĻžāϧāĻžāϰāĻŖ āĻ…āĻĒāĻžāϰ⧇āĻļāύ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻ•āϰ⧁āύ + +- `m4`: āϏāĻšāϜ āĻŽā§āϝāĻžāĻ•ā§āϰ⧋ āĻĒā§āϰāϏ⧇āϏāϰ + +- `yes`: āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻ…āύ⧇āĻ•āĻŦāĻžāϰ āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻ•āϰ⧁āύ + +- `cal`: āϏ⧁āĻ¨ā§āĻĻāϰ āĻ•ā§āϝāĻžāϞ⧇āĻ¨ā§āĻĄāĻžāϰ + +- `env`: āĻāĻ•āϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϚāĻžāϞāĻžāύ (āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ) + +- `printenv`: āĻĒāϰāĻŋāĻŦ⧇āĻļ⧇āϰ āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻ•āϰ⧁āύ (āĻŦāĻžāĻ— āĻ–ā§‹āρāϜāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻŦāĻ‚ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟāĻŋāĻ‚ āϜāĻ¨ā§āϝ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ) + +- `look`: āĻāĻ•āϟāĻŋ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁ āĻšāĻ“āϝāĻŧāĻž āχāĻ‚āϰ⧇āϜāĻŋ āĻļāĻŦā§āĻĻ (āĻŦāĻž āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ⧇āϰ āϞāĻžāχāύ) āϖ⧁āρāϜ⧁āύ + +- `cut`, `paste` āĻāĻŦāĻ‚ `join`: āĻĄā§‡āϟāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧁āύ + +- `fmt`: āĻŸā§‡āĻ•ā§āϏāϟ āĻĒā§āϝāĻžāϰāĻžāĻ—ā§āϰāĻžāĻĢ āĻĢāĻ°ā§āĻŽā§āϝāĻžāϟ āĻ•āϰ⧁āύ + +- `pr`: āĻŸā§‡āĻ•ā§āϏāϟ āĻĒ⧃āĻˇā§āĻ āĻžāϗ⧁āϞāĻŋ / āĻ•āϞāĻžāĻŽā§‡ āĻĢāĻ°ā§āĻŽā§āϝāĻžāϟ āĻ•āϰ⧁āύ + +- `fold`: āĻŸā§‡āĻ•ā§āϏāĻŸā§‡āϰ āϞāĻžāχāύāϗ⧁āϞāĻŋ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āĻ•āϰ⧁āύ + +- `column`: āĻŸā§‡āĻ•ā§āϏāϟ āĻĢāĻŋāĻ˛ā§āĻĄāϗ⧁āϞāĻŋ āϏāĻžāϰāĻŋāĻŦāĻĻā§āϧ, āĻ¸ā§āĻĨāĻŋāϰ-āĻĒā§āϰāĻ¸ā§āĻĨ āĻ•āϞāĻžāĻŽ āĻŦāĻž āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻĢāĻ°ā§āĻŽā§āϝāĻžāϟ āĻ•āϰ⧁āύ + +- `expand` āĻāĻŦāĻ‚ `unexpand`: āĻŸā§āϝāĻžāĻŦ āĻāĻŦāĻ‚ āĻ¸ā§āĻĒ⧇āϏ āĻŽāĻ§ā§āϝ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧁āύ + +- `nl`: āϞāĻžāχāύ āύāĻŽā§āĻŦāϰ āϝ⧋āĻ— āĻ•āϰ⧁āύ + +- `seq`: āϏāĻ‚āĻ–ā§āϝāĻž āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻ•āϰ⧁āύ + +- `bc`: āĻ•ā§āϝāĻžāϞāϕ⧁āϞ⧇āϟāϰ + +- `factor`: āϗ⧁āĻŖāύ⧀āϝāĻŧ āϏāĻ‚āĻ–ā§āϝāĻž + +- [`gpg`](https://gnupg.org/): āĻĢāĻžāχāϞāϗ⧁āϞāĻŋ āĻāύāĻ•ā§āϰāĻŋāĻĒā§āϟ āĻāĻŦāĻ‚ āϏāĻžāχāύ āĻ•āϰ⧁āύ + +- `toe`: āϟāĻžāĻ°ā§āĻŽāĻŋāύāĻĢā§‹ āĻāĻ¨ā§āĻŸā§āϰāĻŋāϰ āĻŸā§‡āĻŦāĻŋāϞ + +- `nc`: āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āĻāĻŦāĻ‚ āĻĄā§‡āϟāĻž āĻŸā§āϰāĻžāĻ¨ā§āϏāĻĢāĻžāϰ + +- `socat`: āϏāϕ⧇āϟ āϰāĻŋāϞ⧇ āĻāĻŦāĻ‚ āϟāĻŋāϏāĻŋāĻĒāĻŋ āĻĒā§‹āĻ°ā§āϟ āĻĢāϰāĻ“āϝāĻŧāĻžāĻ°ā§āĻĄāĻžāϰ (āύ⧇āϟāĻ•ā§āϝāĻžāĻŸā§‡āϰ āĻŽāϤ⧋) + +- [`slurm`](https://github.com/mattthias/slurm): āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻŸā§āϰāĻžāĻĢāĻŋāĻ• āĻ­āĻŋāĻœā§āϝ⧁āϝāĻŧāĻžāϞāĻžāχāĻœā§‡āĻļāύ + +- `dd`: āĻĢāĻžāχāϞ āĻŦāĻž āĻĄāĻŋāĻ­āĻžāχāϏ āĻŽāĻ§ā§āϝ⧇ āĻĄā§‡āϟāĻž āĻŽā§āĻ­āĻŋāĻ‚ + +- `file`: āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ⧇āϰ āĻĒā§āϰāĻ•āĻžāϰ āϏāύāĻžāĻ•ā§āϤ āĻ•āϰ⧁āύ + +- `tree`: āĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋ āĻāĻŦāĻ‚ āϏāĻžāĻŦāĻĄāĻŋāϰ⧇āĻ•ā§āϟāϰāĻŋāϗ⧁āϞāĻŋ āĻāĻ•āϟāĻŋ āύ⧇āĻ¸ā§āϟāĻŋāĻ‚ āĻŸā§āϰāĻŋ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧁āύ; āĻāϞāĻāϏ⧇āϰ āĻŽāϤ⧋ āĻ•āĻŋāĻ¨ā§āϤ⧁ āϰāĻŋāĻ•āĻžāĻ°ā§āϏāĻŋāĻ­ + +- `stat`: āĻĢāĻžāχāϞ āϤāĻĨā§āϝ + +- `time`: āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϚāĻžāϞāĻžāύ⧋ āĻāĻŦāĻ‚ āϏāĻŽāϝāĻŧ āĻ—āĻŖāύāĻž āĻ•āϰ⧁āύ + +- `timeout`: āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āϏāĻŽāϝāĻŧ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϚāĻžāϞāĻžāύ⧋ āĻāĻŦāĻ‚ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŋāϤ āϏāĻŽāϝāĻŧ⧇āϰ āĻĒāϰ āĻĒā§āϰāϏ⧇āϏ āĻŦāĻ¨ā§āϧ āĻ•āϰ⧁āύ + +- `lockfile`: āϕ⧇āĻŦāϞāĻŽāĻžāĻ¤ā§āϰ `rm -f` āĻĻā§āĻŦāĻžāϰāĻž āϏāϰāĻžāϤ⧇ āĻĒāĻžāϰāĻž āϏ⧇āĻŽāĻžāĻĢā§‹āϰ āĻĢāĻžāχāϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ + +- `logrotate`: āϞāĻ— āϘ⧁āϰāĻžāύ⧋, āĻ•āĻŽā§āĻĒā§āϰ⧇āϏ āĻāĻŦāĻ‚ āĻŽā§‡āχāϞ āĻ•āϰ⧁āύ + +- `watch`: āĻĢāϞāĻžāĻĢāϞ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĒ⧁āύāϰāĻžāϝāĻŧ āĻ“āϝāĻŧāĻžāϞāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύāϗ⧁āϞāĻŋ āĻšāĻžāχāϞāĻžāχāϟ āĻ•āϰ⧁āύ + +- [`when-changed`](https://github.com/joh/when-changed): āĻĢāĻžāχāϞ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻĻ⧇āĻ–āĻž āϝāĻžāϝāĻŧ āϝāĻ–āύāχ āφāĻĒāύāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϕ⧋āύāĻ“ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϚāĻžāϞāĻžāύ⧋ āĻšāϝāĻŧāĨ¤ āĻĻ⧇āϖ⧁āύ `inotifywait` āĻāĻŦāĻ‚ `entr` āĻāĻ“āĨ¤ + +- `tac`: āĻĢāĻžāχāϞāϗ⧁āϞāĻŋ āωāĻ˛ā§āĻŸā§‡ āĻĒā§āϰāĻŋāĻ¨ā§āϟ āĻ•āϰ⧁āύ + +- `comm`: āϏāĻžāϰāĻŋ āĻ…āύ⧁āϝāĻžāϝāĻŧā§€ āĻŦāĻŋāĻ¨ā§āϝāĻžāϏāĻŋāϤ āĻĢāĻžāχāϞāϗ⧁āϞāĻŋ āϤ⧁āϞāύāĻž āĻ•āϰ⧁āύ + +- `strings`: āĻŦāĻžāχāύāĻžāϰāĻŋ āĻĢāĻžāχāϞ āĻĨ⧇āϕ⧇ āĻŸā§‡āĻ•ā§āϏāϟ āωāĻ¤ā§āϤ⧋āϞāύ āĻ•āϰ⧁āύ + +- `tr`: āĻ…āĻ•ā§āώāϰ āĻ…āύ⧁āĻŦāĻžāĻĻ āĻŦāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ + +- `iconv` āĻŦāĻž `uconv`: āĻŸā§‡āĻ•ā§āϏāϟ āχāύāϕ⧋āĻĄāĻŋāĻ‚ āĻāϰ āϜāĻ¨ā§āϝ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ + +- `split` āĻāĻŦāĻ‚ `csplit`: āĻĢāĻžāχāϞāϗ⧁āϞāĻŋ āĻŦāĻŋāĻ­āĻžāϜāύ āĻ•āϰ⧁āύ + +- `sponge`: āϏāĻŽāĻ¸ā§āϤ āχāύāĻĒ⧁āϟ āĻĒāĻĄāĻŧ⧇ āĻĒāϰ āϞ⧇āĻ–āĻžāϰ āφāϗ⧇ āĻĒāĻĄāĻŧ⧇, āĻāϟāĻŋ āĻāĻ•āχ āĻĢāĻžāχāϞ āĻĨ⧇āϕ⧇ āĻĒāĻĄāĻŧāĻž āĻāĻŦāĻ‚ āϞ⧇āĻ–āĻžāϰ āϜāĻ¨ā§āϝ āωāĻĒāϝ⧋āĻ—ā§€, āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, `grep -v something some-file | sponge some-file` + +- `units`: āĻāĻ•āĻ• āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻāĻŦāĻ‚ āĻ—āĻŖāύāĻž; āĻĢāĻžāϰāϞāĻ‚ āĻĒā§āϰāϤāĻŋ āĻĢāĻ°ā§āϟāύāĻžāχāϟ āĻĨ⧇āϕ⧇ āϟ⧁āχāĻĒāϏ āĻĒā§āϰāϤāĻŋ āĻŦā§āϞāĻŋāĻ‚āϕ⧇ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻ•āϰ⧇ (āĻĻ⧇āϖ⧁āύ āφāϰāĻ“ `/usr/share/units/definitions.units`) + +- `apg`: āĻāϞ⧋āĻŽā§‡āϞ⧋ āĻĒāĻžāϏāĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ + +- `xz`: āωāĻšā§āϚ-āĻ…āύ⧁āĻĒāĻžāϤ⧇ āĻĢāĻžāχāϞ āϏāĻ‚āĻ•ā§āώ⧇āĻĒāĻŖ + +- `ldd`: āĻĄāĻžāϝāĻŧāύāĻžāĻŽāĻŋāĻ• āϞāĻžāχāĻŦā§āϰ⧇āϰāĻŋ āϤāĻĨā§āϝ + +- `nm`: āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻĢāĻžāχāϞ āĻĨ⧇āϕ⧇ āϏāĻŋāĻŽā§āĻŦāϞāϗ⧁āϞāĻŋ + +- `ab` āĻŦāĻž [`wrk`](https://github.com/wg/wrk): āĻ“āϝāĻŧ⧇āĻŦ āϏāĻžāĻ°ā§āĻ­āĻžāϰāϗ⧁āϞāĻŋāϰ āĻŦ⧇āĻžā§āϚāĻŽāĻžāĻ°ā§āĻ• + +- `strace`: āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ•āϞ āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ + +- [`mtr`](http://www.bitwizard.nl/mtr/): āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ āϜāĻ¨ā§āϝ āĻ­āĻžāϞ⧋ āĻŸā§āϰ⧇āϏāĻžāϰ⧁āϟ + +- `cssh`: āĻ­āĻŋāϜ⧁āϝāĻŧāĻžāϞ āϏāĻŽāϤāϞ āĻļ⧇āϞ + +- `rsync`: āĻāϏāĻāϏāĻāχāϚ āĻ“ āϞ⧋āĻ•āĻžāϞ āĻĢāĻžāχāϞ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĢāĻžāχāϞ āĻāĻŦāĻ‚ āĻĢā§‹āĻ˛ā§āĻĄāĻžāϰ āϏāĻŋāĻ™ā§āĻ• + +- [`wireshark`](https://wireshark.org/) āĻāĻŦāĻ‚ [`tshark`](https://www.wireshark.org/docs/wsug_html_chunked/AppToolstshark.html): āĻĒā§āϝāĻžāϕ⧇āϟ āĻ•ā§āϝāĻžāĻĒāϚāĻžāϰ āĻāĻŦāĻ‚ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻĄāĻŋāĻŦāĻžāĻ—āĻŋāĻ‚ + +- [`ngrep`](http://ngrep.sourceforge.net/): āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āϞ⧇āϝāĻŧāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ āĻ—ā§āϰ⧇āĻĒ + +- `host` āĻāĻŦāĻ‚ `dig`: DNS āϞ⧁āĻ•āĻžāĻĒ + +- `lsof`: āĻĒā§āϰāϏ⧇āϏ āĻĢāĻžāχāϞ āĻĄā§‡āϏāĻ•ā§āϰāĻŋāĻĒā§āϟāϰ āĻāĻŦāĻ‚ āϏāϕ⧇āϟ āϤāĻĨā§āϝ + +- `dstat`: āωāĻĒāϝ⧁āĻ•ā§āϤ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ + +- [`glances`](https://github.com/nicolargo/glances): āωāĻšā§āϚ āĻ¸ā§āϤāϰ⧇āϰ, āĻŽāĻžāĻ˛ā§āϟāĻŋ-āϏāĻžāĻŦāϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ“āĻ­āĻžāϰāĻ­āĻŋāω + +- `iostat`: āĻĄāĻŋāĻ¸ā§āĻ• āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ + +- `mpstat`: āϏāĻŋāĻĒāĻŋāχāω āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ + +- `vmstat`: āĻŽā§‡āĻŽā§‹āϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ + +- `htop`: āϟāĻĒ⧇āϰ āωāĻ¨ā§āύāϤ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖ + +- `last`: āϞāĻ—āχāύ āχāϤāĻŋāĻšāĻžāϏ + +- `w`: āϕ⧇ āϞāĻ— āχāύ āĻ•āϰ⧇āϛ⧇āύ + +- `id`: āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ / āĻ—ā§āϰ⧁āĻĒ āĻĒāϰāĻŋāϚāĻŋāϤāĻŋ āϤāĻĨā§āϝ + +- [`sar`](http://sebastien.godard.pagesperso-orange.fr/): āϐāϤāĻŋāĻšāĻžāϏāĻŋāĻ• āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ + +- [`iftop`](http://www.ex-parrot.com/~pdw/iftop/) āĻŦāĻž [`nethogs`](https://github.com/raboof/nethogs): āϏāϕ⧇āϟ āĻŦāĻž āĻĒā§āϰāϏ⧇āϏ āĻĻā§āĻŦāĻžāϰāĻž āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻŦā§āϝāĻŦāĻšāĻžāϰ + +- `ss`: āϏāϕ⧇āϟ āĻĒāϰāĻŋāĻ¸ā§āĻĨāĻŋāϤāĻŋ + +- `dmesg`: āĻŦ⧁āϟ āĻāĻŦāĻ‚ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¤ā§āϰ⧁āϟāĻŋ āĻŦāĻžāĻ°ā§āϤāĻž + +- `sysctl`: āϰāĻžāύ āϟāĻžāχāĻŽā§‡ āϞāĻŋāύāĻžāĻ•ā§āϏ āĻ•āĻžāĻ°ā§āύ⧇āϞ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻĻ⧇āϖ⧁āύ āĻāĻŦāĻ‚ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰ⧁āύ + +- `hdparm`: SATA/ATA āĻĄāĻŋāĻ¸ā§āĻ• āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ / āĻ•āĻžāĻ°ā§āϝāĻ•āϞāĻžāĻĒ / āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ + +- `lsblk`: āĻŦā§āϞāĻ• āĻĄāĻŋāĻ­āĻžāχāϏ āϤāĻžāϞāĻŋāĻ•āĻž: āφāĻĒāύāĻžāϰ āĻĄāĻŋāĻ¸ā§āĻ• āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āĻ• āĻĒāĻžāĻ°ā§āϟāĻŋāĻļāύāϗ⧁āϞāĻŋāϰ āĻāĻ•āϟāĻŋ āĻŸā§āϰāĻŋ āĻ­āĻŋāω + +- `lshw`, `lscpu`, `lspci`, `lsusb`, `dmidecode`: āĻšāĻžāĻ°ā§āĻĄāĻ“āϝāĻŧā§āϝāĻžāϰ āϤāĻĨā§āϝ, āϝ⧇āĻŽāύ CPU, BIOS, RAID, āĻ—ā§āϰāĻžāĻĢāĻŋāĻ•ā§āϏ, āĻĄāĻŋāĻ­āĻžāχāϏ, āχāĻ¤ā§āϝāĻžāĻĻāĻŋāĨ¤ + +- `lsmod` āĻāĻŦāĻ‚ `modinfo`: āĻ•āĻžāĻ°ā§āύ⧇āϞ āĻŽāĻĄāĻŋāωāϞāϗ⧁āϞāĻŋāϰ āĻŦāĻŋāĻŦāϰāĻŖ āϤāĻžāϞāĻŋāĻ•āĻž āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻĻ⧇āĻ–āĻžāύ + +- `fortune`, `ddate`, āĻāĻŦāĻ‚ `sl`: āφāĻšāĻŽ, āĻšā§āĻŽ, āĻāϟāĻž āĻ¸ā§āϟāĻŋāĻŽ āϞ⧋āϕ⧋āĻŽā§‹āϟāĻŋāĻ­āϗ⧁āϞāĻŋ āĻāĻŦāĻ‚ āϜāĻŋāĻĒāĻŋ āωāĻ•ā§āϤāĻŋāϗ⧁āϞāĻŋ āϝ⧇āĻŽāύ āφāĻĒāύāĻŋ āϝ⧋āĻ—ā§āϝ āĻŽāύ⧇ āĻ•āϰ⧇āύ āϤāĻž āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇ + + +## āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŽā§āϝāĻžāĻ•āĻ“āĻāϏ + +āĻāχāϗ⧁āϞāĻŋ āĻŽā§āϝāĻžāĻ•āĻ“āĻāϏ⧇ *āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ* āĻĒā§āϰāĻžāϏāĻ™ā§āĻ—āĻŋāĻ• āφāχāĻŸā§‡āĻŽāĨ¤ + +- `brew` (āĻšā§‹āĻŽāĻŦā§āϰ⧁) āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž `port` (āĻŽā§āϝāĻžāĻ•āĻĒā§‹āĻ°ā§āϟāϏ) āϏāĻš āĻĒā§āϝāĻžāϕ⧇āϜ āĻŦā§āϝāĻŦāĻ¸ā§āĻĨāĻžāĻĒāύāĻžāĨ¤ āĻāϗ⧁āϞāĻŋ āωāĻĒāϰ⧇āϰ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϗ⧁āϞāĻŋāϰ āĻ…āύ⧇āĻ•āϗ⧁āϞāĻŋ macOS-āĻ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ + +- āϝ⧇āϕ⧋āύ⧋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ āφāωāϟāĻĒ⧁āϟ āĻāĻ•āϟāĻŋ āĻĄā§‡āĻ¸ā§āĻ•āϟāĻĒ āĻ…ā§āϝāĻžāĻĒ⧇ `pbcopy` āϏāĻš āĻ•āĻĒāĻŋ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ `pbpaste` āĻĻāĻŋāϝāĻŧ⧇ āĻāĻ•āϟāĻŋ āĻĨ⧇āϕ⧇ āχāύāĻĒ⧁āϟ āĻĒ⧇āĻ¸ā§āϟ āĻ•āϰ⧁āύāĨ¤ + +- āĻŽā§āϝāĻžāϕ⧋āϏ āϟāĻžāĻ°ā§āĻŽāĻŋāύāĻžāϞ⧇ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āϕ⧀āϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ Alt āϕ⧀ āĻšāĻŋāϏāĻžāĻŦ⧇ āϏāĻ•ā§āϰāĻŋāϝāĻŧ āĻ•āϰāϤ⧇ (āϝ⧇āĻŽāύ āωāĻĒāϰ⧇āϰ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϗ⧁āϞāĻŋāϤ⧇ āϝ⧇āĻŽāύ **alt-b**, **alt-f**, āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇), āĻĒāĻ›āĻ¨ā§āĻĻāϗ⧁āϞāĻŋ āϖ⧁āϞ⧁āύ -> āĻĒā§āϰ⧋āĻĢāĻžāχāϞ -> āϕ⧀āĻŦā§‹āĻ°ā§āĻĄ āĻāĻŦāĻ‚ "āĻŽā§‡āϟāĻž āϕ⧀ āĻšāĻŋāϏāĻžāĻŦ⧇ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ" āύāĻŋāĻ°ā§āĻŦāĻžāϚāύ āĻ•āϰ⧁āύāĨ¤ + +- āĻāĻ•āϟāĻŋ āĻĄā§‡āĻ¸ā§āĻ•āϟāĻĒ āĻ…ā§āϝāĻžāĻĒ āĻĻāĻŋāϝāĻŧ⧇ āĻāĻ•āϟāĻŋ āĻĢāĻžāχāϞ āϖ⧁āϞāϤ⧇, `open` āĻŦāĻž `open -a /Applications/Whatever.app` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- āĻ¸ā§āĻĒāϟāϞāĻžāχāϟ: `mdfind` āĻĻāĻŋāϝāĻŧ⧇ āĻĢāĻžāχāϞ āĻ…āύ⧁āϏāĻ¨ā§āϧāĻžāύ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ `mdls` āĻĻāĻŋāϝāĻŧ⧇ āĻŽā§‡āϟāĻžāĻĄā§‡āϟāĻž (āϝ⧇āĻŽāύ āĻĢāĻŸā§‹ EXIF āϤāĻĨā§āϝ) āϤāĻžāϞāĻŋāĻ•āĻžāϭ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύāĨ¤ + +- āϏāĻšā§‡āϤāύ āĻĨāĻžāϕ⧁āύ macOS āĻŦāĻŋāĻāϏāĻĄāĻŋ āχāωāύāĻŋāĻ•ā§āϏ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇, āĻāĻŦāĻ‚ āĻ…āύ⧇āĻ• āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āϰ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ `ps`, `ls`, `tail`, `awk`, `sed`) āϞāĻŋāύāĻžāĻ•ā§āϏ āĻĨ⧇āϕ⧇ āĻ…āύ⧇āĻ• āϏ⧂āĻ•ā§āĻˇā§āĻŽ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āϰāϝāĻŧ⧇āϛ⧇, āϝāĻž āĻŽā§‚āϞāϤ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ V āĻĻā§āĻŦāĻžāϰāĻž āĻĒā§āϰāĻ­āĻžāĻŦāĻŋāϤāĨ¤ -āĻ¸ā§āϟāĻžāχāϞ āχāωāύāĻŋāĻ•ā§āϏ āĻāĻŦāĻ‚ āϜāĻŋāĻāύāχāω āϟ⧁āϞāϏāĨ¤ āφāĻĒāύāĻŋ āĻĒā§āϰāĻžāϝāĻŧāĻļāχ āĻāĻ•āϟāĻŋ āĻŽā§āϝāĻžāύ āĻĒ⧃āĻˇā§āĻ āĻžāϰ āĻļāĻŋāϰ⧋āύāĻžāĻŽ "BSD āĻœā§‡āύāĻžāϰ⧇āϞ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŽā§āϝāĻžāύ⧁āϝāĻŧāĻžāϞ" āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰ⧇ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝāϟāĻŋ āĻŦāϞāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āĻ•āĻŋāϛ⧁ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ GNU āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖāϗ⧁āϞāĻŋāĻ“ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻž āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇ (āϝ⧇āĻŽāύ GNU awk āĻāĻŦāĻ‚ sed āĻāϰ āϜāĻ¨ā§āϝ `gawk` āĻāĻŦāĻ‚ `gsed`)āĨ¤ āĻ•ā§āϰāϏ-āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ āĻŦā§āϝāĻžāĻļ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āϞāĻŋāĻ–āϞ⧇, āĻāχ āϧāϰāύ⧇āϰ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāϗ⧁āϞāĻŋ āĻāĻĄāĻŧāĻŋāϝāĻŧ⧇ āϚāϞ⧁āύ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, Python āĻŦāĻž `perl` āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύ) āĻŦāĻž āϏāĻžāĻŦāϧāĻžāύ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύāĨ¤ + +- macOS āĻĒā§āϰāĻ•āĻžāĻļ⧇āϰ āϤāĻĨā§āϝ āĻĒ⧇āϤ⧇, `sw_vers` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +## āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āωāχāĻ¨ā§āĻĄā§‹āϜ + +āĻāχ āφāχāĻŸā§‡āĻŽāϗ⧁āϞāĻŋ āĻĒā§āϰāĻžāϏāĻ™ā§āĻ—āĻŋāĻ• *āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ* āωāχāĻ¨ā§āĻĄā§‹āĻœā§‡āĨ¤ + +### āωāχāĻ¨ā§āĻĄā§‹āĻœā§‡āϰ āĻ…āϧ⧀āύ⧇ āχāωāύāĻŋāĻ•ā§āϏ āϟ⧁āϞ āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āωāĻĒāĻžāϝāĻŧ + +- [Cygwin](https://cygwin.com/) āχāύāĻ¸ā§āϟāϞ āĻ•āϰ⧇ āĻŽāĻžāχāĻ•ā§āϰ⧋āϏāĻĢāϟ āωāχāĻ¨ā§āĻĄā§‹āĻœā§‡āϰ āĻ…āϧ⧀āύ⧇ āχāωāύāĻŋāĻ•ā§āϏ āĻļ⧇āϞ⧇āϰ āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰ⧁āύāĨ¤ āĻāχ āύāĻĨāĻŋāϤ⧇ āĻŦāĻ°ā§āĻŖāĻŋāϤ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϜāĻŋāύāĻŋāϏāχ āĻŦāĻžāĻ•ā§āϏ⧇āϰ āĻŦāĻžāχāϰ⧇ āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇āĨ¤ + +- Windows 10-āĻ, āφāĻĒāύāĻŋ [Windows Subsystem for Linux (WSL)](https://msdn.microsoft.com/commandline/wsl/about) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ, āϝāĻž āχāωāύāĻŋāĻ•ā§āϏ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϞāĻžāχāύ āχāωāϟāĻŋāϞāĻŋāϟāĻŋāϗ⧁āϞāĻŋāϰ āϏāĻžāĻĨ⧇ āĻāĻ•āϟāĻŋ āĻĒāϰāĻŋāϚāĻŋāϤ āĻŦā§āϝāĻžāĻļ āĻĒāϰāĻŋāĻŦ⧇āĻļ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤ + +- āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻŽā§‚āϞāϤ āωāχāĻ¨ā§āĻĄā§‹āĻœā§‡ āϜāĻŋāĻāύāχāω āĻĄā§‡āϭ⧇āϞāĻĒāĻžāϰ āϟ⧁āϞāϏ (āϝ⧇āĻŽāύ āϜāĻŋāϏāĻŋāϏāĻŋ) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āϚāĻžāύ, āϤāĻžāĻšāϞ⧇ [āĻŽāĻŋāύāϜāĻŋāĻĄāĻŦā§āϞāĻŋāω](http://www.mingw.org/) āĻāĻŦāĻ‚ āĻāϰ [āĻāĻŽāĻāϏāĻ“ā§ŸāĻžāχāĻāϏ](http://www.mingw.org/wiki/msys) āĻĒā§āϝāĻžāϕ⧇āϜāϟāĻŋ āĻŦāĻŋāĻŦ⧇āϚāύāĻž āĻ•āϰ⧁āύ, āϝāĻž āĻŦā§āϝāĻžāϏ, āĻ—āĻžāĻ“āĻ•, āĻŽā§‡āĻ• āĻāĻŦāĻ‚ āĻ—ā§āϰ⧇āĻĒ⧇āϰ āĻŽāϤ⧋ āχāωāϟāĻŋāϞāĻŋāϟāĻŋ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰ⧇āĨ¤ āϏāĻžāχāĻ—āωāχāύ⧇āϰ āϤ⧁āϞāύāĻžā§Ÿ āĻāĻŽāĻāϏāĻ“ā§ŸāĻžāχāĻāϏ⧇āϰ āϏāĻŦ āĻĢāĻŋāϚāĻžāϰ āύ⧇āχāĨ¤ āχāωāύāĻŋāĻ•ā§āϏ āϟ⧁āϞāϏ⧇āϰ āύ⧇āϟāĻŋāĻ­ āωāχāĻ¨ā§āĻĄā§‹āϜ āĻĒā§‹āĻ°ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŽāĻŋāύāϜāĻŋāĻĄāĻŦā§āϞāĻŋāω āĻŦāĻŋāĻļ⧇āώāĻ­āĻžāĻŦ⧇ āωāĻĒāϝ⧋āĻ—ā§€āĨ¤ + +- āωāχāĻ¨ā§āĻĄā§‹āĻœā§‡āϰ āĻ…āϧ⧀āύ⧇ āχāωāύāĻŋāĻ•ā§āϏ⧇āϰ āĻšā§‡āĻšāĻžāϰāĻž āĻāĻŦāĻ‚ āĻ…āύ⧁āĻ­ā§‚āϤāĻŋ āĻĒāĻžāĻ“āϝāĻŧāĻžāϰ āφāϰ⧇āĻ•āϟāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāϞ [āĻ•ā§āϝāĻžāĻļ](https://github.com/dthree/cash)āĨ¤ āĻŽāύ⧇ āϰāĻžāĻ–āĻŦ⧇āύ āϝ⧇ āĻāχ āĻĒāϰāĻŋāĻŦ⧇āĻļ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϖ⧁āĻŦ āĻ•āĻŽ āχāωāύāĻŋāĻ•ā§āϏ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻāĻŦāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āϞāĻžāχāύ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āωāĻĒāϞāĻŦā§āϧāĨ¤ + +### āĻĻāϰāĻ•āĻžāϰ⧀ āωāχāĻ¨ā§āĻĄā§‹āϜ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϞāĻžāχāύ āϟ⧁āϞ + +- āφāĻĒāύāĻŋ `wmic` āĻļāĻŋāϖ⧇ āĻāĻŦāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϞāĻžāχāύ āĻĨ⧇āϕ⧇ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āωāχāĻ¨ā§āĻĄā§‹āϜ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ…ā§āϝāĻžāĻĄāĻŽāĻŋāύāĻŋāĻ¸ā§āĻŸā§āϰ⧇āĻļāύ āĻ•āĻžāϜ āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻāĻŦāĻ‚ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ + +- āύ⧇āϟāĻŋāĻ­ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āϞāĻžāχāύ āωāχāĻ¨ā§āĻĄā§‹āϜ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āϟ⧁āϞāϏāϗ⧁āϞāĻŋāϰ āĻŽāĻ§ā§āϝ⧇ āϰāϝāĻŧ⧇āϛ⧇ `ping`, `ipconfig`, `tracert` āĻāĻŦāĻ‚ `netstat`āĨ¤ + +- āφāĻĒāύāĻŋ `Rundll32` āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ [āĻ…āύ⧇āĻ• āĻĻāϰāĻ•āĻžāϰ⧀ āωāχāĻ¨ā§āĻĄā§‹āϜ āĻ•āĻžāϜ] (http://www.thewindowsclub.com/rundll32-shortcut-commands-windows) āϏāĻŽā§āĻĒāĻžāĻĻāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ + +### Cygwin āϟāĻŋāĻĒāϏ āĻāĻŦāĻ‚ āĻ•ā§ŒāĻļāϞ + + - āϏāĻžāχāĻ—āωāχāύ⧇āϰ āĻĒā§āϝāĻžāϕ⧇āϜ āĻŽā§āϝāĻžāύ⧇āϜāĻžāϰ āĻĻāĻŋā§Ÿā§‡ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āχāωāύāĻŋāĻ•ā§āϏ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽ āχāύāĻ¸ā§āϟāϞ āĻ•āϰ⧁āύāĨ¤ + +- āφāĻĒāύāĻžāϰ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ-āϞāĻžāχāύ āωāχāĻ¨ā§āĻĄā§‹ āĻšāĻŋāϏ⧇āĻŦ⧇ `mintty` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ + +- `/dev/clipboard` āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āωāχāĻ¨ā§āĻĄā§‹āϜ āĻ•ā§āϞāĻŋāĻĒāĻŦā§‹āĻ°ā§āĻĄ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰ⧁āύāĨ¤ + +- āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻĢāĻžāχāϞ āϤāĻžāϰ āύāĻŋāĻŦāĻ¨ā§āϧāĻŋāϤ āĻ…ā§āϝāĻžāĻĒā§āϞāĻŋāϕ⧇āĻļāύ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϖ⧁āϞāϤ⧇ `cygstart` āϰāĻžāύ āĻ•āϰ⧁āύāĨ¤ + +- `regtool` āĻĻāĻŋā§Ÿā§‡ āωāχāĻ¨ā§āĻĄā§‹āϜ āϰ⧇āϜāĻŋāĻ¸ā§āĻŸā§āϰāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰ⧁āύāĨ¤ + +- āϞāĻ•ā§āĻˇā§āϝ āϰāĻžāϖ⧁āύ āϝ⧇ āĻāĻ•āϟāĻŋ `C:\` āωāχāĻ¨ā§āĻĄā§‹āϜ āĻĄā§āϰāĻžāχāĻ­ āĻĒāĻžāĻĨ āϏāĻžāχāĻ—āωāχāύ⧇āϰ āĻ…āϧ⧀āύ⧇ `/cygdrive/c` āĻšā§Ÿā§‡ āϝāĻžā§Ÿ, āĻāĻŦāĻ‚ āϏāĻžāχāĻ—āωāχāύ⧇āϰ `/` āωāχāĻ¨ā§āĻĄā§‹āĻœā§‡āϰ `C:\cygwin` āĻāϰ āĻ…āϧ⧀āύ⧇ āĻĒā§āϰāĻĻāĻ°ā§āĻļāĻŋāϤ āĻšā§ŸāĨ¤ `cygpath` āĻĻāĻŋā§Ÿā§‡ āϏāĻžāχāĻ—āωāχāύ āĻāĻŦāĻ‚ āωāχāĻ¨ā§āĻĄā§‹āϜ-āĻ¸ā§āϟāĻžāχāϞ āĻĢāĻžāχāϞ āĻĒāĻžāĻĨ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϰ⧂āĻĒāĻžāĻ¨ā§āϤāϰ āĻ•āϰ⧁āύāĨ¤ āĻāϟāĻŋ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟāϗ⧁āϞāĻŋāϤ⧇ āϏāĻŦāĻšā§‡ā§Ÿā§‡ āωāĻĒāϝ⧋āĻ—ā§€ āϝāĻž āωāχāĻ¨ā§āĻĄā§‹āϜ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāϗ⧁āϞāĻŋāϕ⧇ āφāĻšā§āĻŦāĻžāύ āĻ•āϰ⧇āĨ¤ + +## āφāϰāĻ“ āϰāĻŋāϏ⧋āĻ°ā§āϏ + +- [awesome-shell](https://github.com/alebcay/awesome-shell): āĻļ⧇āϞ āϟ⧁āϞ āĻāĻŦāĻ‚ āϏāĻŽā§āĻĒāĻĻ āĻāĻ•āϟāĻŋ āϏāĻžāϜāĻžāύ⧋ āϤāĻžāϞāĻŋāĻ•āĻžāĨ¤ +- [awesome-osx-command-line](https://github.com/herrbischoff/awesome-osx-command-line): āĻŽā§āϝāĻžāĻ•āĻ“āĻāϏ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āϞāĻžāχāύ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āφāϰāĻ“ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āĻ—āĻžāχāĻĄāĨ¤ +- [Strict mode](http://redsymbol.net/articles/unofficial-bash-strict-mode/): āĻ­āĻžāϞ āĻļ⧇āϞ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āϞ⧇āĻ–āĻžāϰ āϜāĻ¨ā§āϝ āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀ āĻŽā§‹āĻĄāĨ¤ +- [shellcheck](https://github.com/koalaman/shellcheck): āĻāĻ•āϟāĻŋ āĻļ⧇āϞ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ¸ā§āĻĨāĻŋāϰ āĻŦāĻŋāĻļā§āϞ⧇āώāĻŖ āϏāϰāĻžā§āϜāĻžāĻŽāĨ¤ āĻĒā§āϰāĻžāϝāĻŧāχ, āĻŦā§āϝāĻžāĻļ / āĻāϏ / āĻœā§‡āĻĄāĻŦā§āϞāĻŋāωāĻāϏ⧇āϰ āϜāĻ¨ā§āϝ āϞāĻŋāĻ¨ā§āϟāĨ¤ +- [Filenames and Pathnames in Shell](http://www.dwheeler.com/essays/filenames-in-shell.html): āĻļ⧇āϞ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡ āĻĢāĻžāχāϞāύ⧇āĻŽ āϏāĻ āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻšā§āϝāĻžāĻ¨ā§āĻĄāϞ āĻ•āϰāĻžāϰ āĻ•āĻĨāĻžāϰ āĻĻ⧁āσāĻ–āϜāύāĻ• āϛ⧋āϟāĻŦāĻŋāĻļ⧇āώāϤāĻžāĨ¤ +- [Data Science at the Command Line](http://datascienceatthecommandline.com/#tools): āĻāĻ•āχ āύāĻžāĻŽā§‡āϰ āĻŦāχ āĻĨ⧇āϕ⧇ āϤāĻĨā§āϝ āĻŦāĻŋāĻœā§āĻžāĻžāύ⧇ āĻ•āĻžāĻœā§‡ āϏāĻšāĻžāϝāĻŧāĻ• āφāϰāĻ“ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻāĻŦāĻ‚ āϏāϰāĻžā§āϜāĻžāĻŽāĨ¤ + +## āĻ…āĻ¸ā§āĻŦā§€āĻ•ā§ƒāϤāĻŋ + +āϖ⧁āĻŦ āϛ⧋āϟ āĻ•āĻžāϜ āĻŦā§āϝāϤ⧀āϤ, āϕ⧋āĻĄāϟāĻŋ āĻāĻŽāύāĻ­āĻžāĻŦ⧇ āϞ⧇āĻ–āĻž āĻšāϝāĻŧ āϝāĻžāϤ⧇ āĻ…āĻ¨ā§āϝāϰāĻž āĻĒāĻĄāĻŧāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻ•ā§āώāĻŽāϤāĻžāϰ āϏāĻžāĻĨ⧇ āĻĻāĻžāϝāĻŧāĻŋāĻ¤ā§āĻŦ āφāϏ⧇āĨ¤ āφāĻĒāύāĻŋ āĻŦā§āϝāĻžāĻļ⧇ āĻ•āĻŋāϛ⧁ āĻ•āϰāϤ⧇ *āĻĒāĻžāϰ⧇āύ* āϤāĻžāϰ āĻŽāĻžāύ⧇ āĻāχ āύāϝāĻŧ āϝ⧇ āφāĻĒāύāĻžāϰ āωāϚāĻŋāϤ! ;) + + +## License + +[![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/88x31.png)](http://creativecommons.org/licenses/by-sa/4.0/) + +āĻāχ āĻ•āĻžāϜāϟāĻŋ [Creative Commons Attribution-ShareAlike 4.0 International License](http://creativecommons.org/licenses/by-sa/4.0/) āĻāϰ āĻ…āϧ⧀āύ⧇ āϞāĻžāχāϏ⧇āĻ¨ā§āϏ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤