<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Cli on nuteo.info</title><link>https://nuteo.info/tags/cli/</link><description>Recent content in Cli on nuteo.info</description><generator>Hugo</generator><language>th</language><copyright>© 2026 Nuteo</copyright><lastBuildDate>Mon, 03 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://nuteo.info/tags/cli/index.xml" rel="self" type="application/rss+xml"/><item><title>CLI arsenal: เครื่องมือที่ผมใช้จริง</title><link>https://nuteo.info/tools/cli-arsenal/</link><pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate><guid>https://nuteo.info/tools/cli-arsenal/</guid><description>&lt;h1 id="cli-arsenal"&gt;CLI arsenal&lt;/h1&gt;
&lt;p&gt;หน้านี้จะค่อย ๆ เพิ่ม ไม่ใช่ลิสต์ &amp;ldquo;top 10&amp;rdquo; — แต่เป็น &lt;strong&gt;ลิสต์จริง&lt;/strong&gt; ที่อยู่ใน
shell history, aliases, และ containers ของผม&lt;/p&gt;
&lt;h2 id="file--search"&gt;File &amp;amp; search&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/eza-community/eza"&gt;&lt;code&gt;eza&lt;/code&gt;&lt;/a&gt; — &lt;code&gt;ls&lt;/code&gt; ที่แสดง git status และ icons&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sharkdp/fd"&gt;&lt;code&gt;fd&lt;/code&gt;&lt;/a&gt; — &lt;code&gt;find&lt;/code&gt; เร็ว ๆ ที่มี defaults ที่พอใช้&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/BurntSushi/ripgrep"&gt;&lt;code&gt;ripgrep&lt;/code&gt;&lt;/a&gt; (&lt;code&gt;rg&lt;/code&gt;) — grep เร็ว ignore &lt;code&gt;.gitignore&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sharkdp/bat"&gt;&lt;code&gt;bat&lt;/code&gt;&lt;/a&gt; — &lt;code&gt;cat&lt;/code&gt; ที่มี syntax highlighting&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/junegunn/fzf"&gt;&lt;code&gt;fzf&lt;/code&gt;&lt;/a&gt; — fuzzy finder สำหรับทุกอย่าง&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="process--resource"&gt;Process &amp;amp; resource&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://htop.dev"&gt;&lt;code&gt;htop&lt;/code&gt;&lt;/a&gt; — interactive process viewer&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/aristocratos/btop"&gt;&lt;code&gt;btop&lt;/code&gt;&lt;/a&gt; — สวยกว่า&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nicolargo.github.io/glances/"&gt;&lt;code&gt;glances&lt;/code&gt;&lt;/a&gt; — web-based สำหรับ monitor แบบไม่ใช้ Grafana&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lsof -i :8080&lt;/code&gt; — ใครใช้ port นี้&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="networking"&gt;Networking&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ogham/dog"&gt;&lt;code&gt;dog&lt;/code&gt;&lt;/a&gt; — &lt;code&gt;dig&lt;/code&gt; สำหรับมนุษย์&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cURL&lt;/code&gt; — ยังใช้อยู่&lt;/li&gt;
&lt;li&gt;&lt;a href="https://httpie.org"&gt;&lt;code&gt;httpie&lt;/code&gt;&lt;/a&gt; — &lt;code&gt;curl&lt;/code&gt; สำหรับมนุษย์ JSON-aware&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.bitwizard.nl/mtr/"&gt;&lt;code&gt;mtr&lt;/code&gt;&lt;/a&gt; — &lt;code&gt;traceroute&lt;/code&gt; + &lt;code&gt;ping&lt;/code&gt; ในตัวเดียว&lt;/li&gt;
&lt;li&gt;&lt;a href="https://nmap.org"&gt;&lt;code&gt;nmap&lt;/code&gt;&lt;/a&gt; — สำหรับ port scan บางโอกาส&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="server-ops"&gt;Server ops&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;docker&lt;/code&gt; + &lt;code&gt;docker compose&lt;/code&gt; — containers แน่นอน&lt;/li&gt;
&lt;li&gt;&lt;a href="https://caddyserver.com"&gt;&lt;code&gt;caddy&lt;/code&gt;&lt;/a&gt; — reverse proxy + auto HTTPS&lt;/li&gt;
&lt;li&gt;&lt;a href="https://restic.net"&gt;&lt;code&gt;restic&lt;/code&gt;&lt;/a&gt; — encrypted, deduplicated backups&lt;/li&gt;
&lt;li&gt;&lt;code&gt;fail2ban&lt;/code&gt; — (หรือ &lt;a href="https://nuteo.info/th/guides/crowdsec-setup/"&gt;CrowdSec&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ufw&lt;/code&gt; — firewall&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="monitoring"&gt;Monitoring&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.netdata.cloud"&gt;&lt;code&gt;netdata&lt;/code&gt;&lt;/a&gt; — dashboard สวยต่อ host single Docker container&lt;/li&gt;
&lt;li&gt;&lt;code&gt;prometheus&lt;/code&gt; + &lt;code&gt;grafana&lt;/code&gt; — สำหรับ setup จริงจัง&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/louislam/uptime-kuma"&gt;&lt;code&gt;uptime-kuma&lt;/code&gt;&lt;/a&gt; — self-hosted status pages&lt;/li&gt;
&lt;li&gt;&lt;a href="https://humdi.net/vnstat/"&gt;&lt;code&gt;vnstat&lt;/code&gt;&lt;/a&gt; — bandwidth tracker (long-term trends)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="inside-the-shell"&gt;Inside the shell&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://fishshell.com"&gt;&lt;code&gt;fish&lt;/code&gt;&lt;/a&gt; — shell ของผม Autosuggestions ในตัว&lt;/li&gt;
&lt;li&gt;&lt;a href="https://starship.rs"&gt;&lt;code&gt;starship&lt;/code&gt;&lt;/a&gt; — prompt เร็วและ minimal&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tmux/tmux"&gt;&lt;code&gt;tmux&lt;/code&gt;&lt;/a&gt; — terminal multiplexer&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ajeetdsouza/zoxide"&gt;&lt;code&gt;zoxide&lt;/code&gt;&lt;/a&gt; — smart &lt;code&gt;cd&lt;/code&gt; ที่เรียนรู้ habits&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="reading-config"&gt;Reading config&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/dandavison/delta"&gt;&lt;code&gt;delta&lt;/code&gt;&lt;/a&gt; — &lt;code&gt;git diff&lt;/code&gt; ที่ไม่ทำร้ายสายตา&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jesseduffield/lazygit"&gt;&lt;code&gt;lazygit&lt;/code&gt;&lt;/a&gt; — TUI สำหรับ git เวลาต้องการ&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="aliases-ทขาดไมได"&gt;Aliases ที่ขาดไม่ได้&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# ~/.config/fish/config.fish (บางส่วน)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; ll &lt;span class="s2"&gt;&amp;#34;eza -l --git --icons&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; la &lt;span class="s2"&gt;&amp;#34;eza -la --git --icons&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; cat &lt;span class="s2"&gt;&amp;#34;bat --plain&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; grep &lt;span class="s2"&gt;&amp;#34;rg&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; k &lt;span class="s2"&gt;&amp;#34;kubectl&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; dc &lt;span class="s2"&gt;&amp;#34;docker compose&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; dps &lt;span class="s2"&gt;&amp;#34;docker ps --format &amp;#39;table {{.Names}}\t{{.Status}}\t{{.Ports}}&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; dlog &lt;span class="s2"&gt;&amp;#34;docker logs -f --tail 100&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;alias&lt;/span&gt; top &lt;span class="s2"&gt;&amp;#34;btop&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;มีอะไรที่ผมพลาดไหม? บอกได้ — ผมมองหา tool ใหม่ ๆ อยู่เสมอ&lt;/p&gt;</description></item></channel></rss>