Best of Shell2025

  1. 1
    Article
    Avatar of lobstersLobsters·1y

    Tools Worth Changing To in 2025

    As 2025 approaches, it's a good time to reevaluate and upgrade the tools used in professional settings. Noteworthy recommendations include Ghostty, a cross-platform terminal emulator; Fish, a user-friendly command line shell; Helix, a post-modern text editor; Jujutsu, a unique version control system compatible with Git; Zed, a high-performance code editor; Nix, a declarative build and deployment tool; and Ollama, a local AI model runner. Each tool offers distinct benefits and improvements over more traditional options.

  2. 2
    Video
    Avatar of bigboxswebigboxSWE·32w

    Extremely Underrated Programming Skills

    Shell proficiency, Git workflows, and build systems are foundational skills that significantly improve developer productivity. Mastering shell commands beyond basic navigation, understanding Git operations like rebase, stash, and reflog, and comprehending build systems can save hours of development time. These tools provide speed, control, and reliability in daily development work, making them more valuable than chasing trendy technologies.

  3. 3
    Video
    Avatar of techworldwithnanaTechWorld with Nana·45w

    Bash Scripting Tutorial for Beginners

    A comprehensive beginner's guide to bash scripting that transforms manual command execution into automated scripts. Covers fundamental concepts like variables, arrays, loops, and conditionals through a practical log analysis example. Shows how to create a script that automatically scans log files for errors, generates reports, and provides intelligent alerts when issues exceed thresholds. Demonstrates the progression from basic command execution to advanced automation techniques that save time and ensure consistency in DevOps workflows.

  4. 4
    Video
    Avatar of codingwithsphereCoding with Sphere·51w

    Everyone should learn Bash

    Bash scripting is an essential skill for developers that can significantly streamline development workflows. The post demonstrates practical applications through a C project example, showing how to create build scripts that compile and run programs with single commands. It covers advanced features like command-line arguments, conditional logic, and aliases for faster development. Real-world examples include automating multi-command development environments, syncing files across devices, and code generation for languages lacking generics. The author recommends learning core utilities first, then gradually building scripting knowledge through practical projects rather than studying syntax extensively upfront.

  5. 5
    Article
    Avatar of do_communityDigitalOcean Community·51w

    Bash Explained: How the Most Popular Linux Shell Works

    Bash (Bourne Again Shell) is a command-line interpreter and scripting language that serves as the default shell on most Linux distributions. It provides both an interactive interface for executing commands and a scripting environment for automation tasks. The guide covers Bash's history, features like command history and tab completion, differences from other shells, and practical applications in modern DevOps workflows including CI/CD pipelines, system administration, and cloud automation. It includes hands-on examples, common troubleshooting tips, and best practices for writing robust scripts.

  6. 6
    Article
    Avatar of logrocketLogRocket·1y

    Bash vs. Zsh: Key differences and when to use each

    Bash and Zsh are powerful Unix-based command-line shells. Bash, known for its simplicity and speed, is the default shell on most Linux systems and offers strong scripting capabilities. Zsh, with advanced customization and interactivity, is the default shell on macOS since Catalina and supports plugins through Oh My Zsh. Both shells can be run on macOS, Linux, and Windows, allowing users to select based on their preferences and system requirements.

  7. 7
    Article
    Avatar of lobstersLobsters·1y

    XKCD's "Is It Worth the Time?" Considered Harmful

    The post argues against the mindset that tasks should only be automated if it saves time immediately. It emphasizes that automating even simple tasks can develop skills and confidence, which are beneficial for automating more complex tasks in the future. Building an engineering culture that values automation can lead to greater efficiency and innovation over time.

  8. 8
    Article
    Avatar of communityCommunity Picks·1y

    a-h-abid/docker-commons: All common docker scripts in one place

    Docker Commons is a personal project designed to centralize common services using Docker for local development. It enables efficient resource management by preventing multiple redundant instances of services like MySQL and Redis. The project offers configurability to run only required services and supports both Linux and Windows environments leveraging WSL2. Setup instructions include cloning the project and configuring the environment files, while usage guidelines cover running, checking, and stopping services.

  9. 9
    Article
    Avatar of jvnsJulia Evans·47w

    New zine: The Secret Rules of the Terminal

    Julia Evans has released a new zine explaining the hidden complexities of terminal usage. The zine covers how terminals work internally, including the interaction between shells, terminal emulators, programs, and TTY drivers. It addresses common terminal inconsistencies like different quit commands, arrow key behavior, and mouse selection. The guide explains terminal conventions, escape codes, color management, and provides practical tips for debugging terminal issues and improving the user experience.

  10. 10
    Video
    Avatar of breadonpenguinsBread on Penguins·35w

    bread, why do you use the terminal for everything?

    A developer explains five key reasons for preferring terminal applications over graphical interfaces: consistent Vim keybindings across all tools, easier scripting and automation capabilities, better configuration and customization options, lower system resource consumption, and superior remote work functionality. The discussion acknowledges that graphical applications have their place for tasks like photo editing, emphasizing the importance of choosing the right tool for each specific job.

  11. 11
    Article
    Avatar of baeldungBaeldung·1y

    How to Run a Java Program in the Background

    Learn various methods to run a Java application as a background process, keep it running after terminal closure, and monitor it using logs. Explore the use of '&' operator, nohup, systemd services, screen, and tmux for effective process management.

  12. 12
    Article
    Avatar of hnHacker News·47w

    Anthropic

    Claude Code hooks allow developers to customize and extend Claude's behavior by registering shell commands that execute at specific points in the lifecycle. These hooks provide deterministic control for tasks like automatic code formatting, logging, notifications, and custom permissions. The system supports various hook events (PreToolUse, PostToolUse, Notification, Stop) with configurable matchers and JSON-based input/output. Hooks can integrate with MCP tools and offer both simple exit code and advanced JSON output formats for sophisticated control flow.

  13. 13
    Video
    Avatar of dreamsofcodeDreams of Code·21w

    10 Zsh hacks I wish I knew about sooner

    Zsh offers powerful productivity features beyond basic usage. Key capabilities include editing command buffers in your text editor, undoing terminal actions, expanding historical commands with magic-space, automating directory-based actions with chpwd hooks, opening files by extension using suffix aliases, creating reusable command snippets with global aliases, batch renaming files with zmv, bookmarking directories, building custom widgets for buffer manipulation, and creating hotkeys that insert command templates with cursor positioning.

  14. 14
    Video
    Avatar of devopstoolboxDevOps Toolbox·36w

    The Ultimate Setup For a Boring Mac Terminal (from scratch!!)

    A comprehensive guide to building an advanced terminal setup from scratch, covering terminal emulators like Ghostty, shells like Nushell, multiplexers like tmux, prompt customization with Starship, and essential CLI utilities like fzf, zoxide, and atuin. The setup emphasizes productivity, visual appeal with Catppuccin theming, and powerful data manipulation capabilities.

  15. 15
    Video
    Avatar of typecrafttypecraft·1y

    THIS is the best way to Automate Linux

    Discover a simple method to automate Linux setup using shell scripts, allowing for easy reinstallation of system configurations and packages across different computers and distributions. Learn how to create and execute scripts for package installations and system configurations, making your Linux environment reproducible and flexible. Explore more tips and tools for Linux, Vim, and development productivity.

  16. 16
    Video
    Avatar of breadonpenguinsBread on Penguins·37w

    Linux shell tricks to save you time and effort :D

    A collection of practical Linux shell tips and tricks covering ZSH command correction, alias bypassing with backslashes, CSV formatting with the column command, process identification using fuser, system boot time checking with uptime, brace expansion for directory creation, and built-in date formatting alternatives in bash and ZSH.

  17. 17
    Article
    Avatar of communityCommunity Picks·46w

    getsentry/self-hosted: Sentry, feature-complete and packaged up for low-volume deployments and proofs-of-concept

    Sentry offers a self-hosted version that provides the complete feature set of their error monitoring platform, specifically designed for low-volume deployments and proof-of-concept projects. This allows teams to run Sentry on their own infrastructure rather than using the cloud service.

  18. 18
    Article
    Avatar of hnHacker News·52w

    Command Line Handbook_

    A comprehensive handbook covering Unix/Linux command-line fundamentals, including terminals, shells, command-line applications, and shell scripting. Features over 100 annotated examples and practical tips for developers, sysadmins, and tech workers to master essential command-line skills without reading extensive manuals.

  19. 19
    Video
    Avatar of primeagenThePrimeTime·1y

    We Removed C++

    Fish 4.0 has been released, and it has completely transitioned from C++ to Rust. This significant change aims to improve the development experience, ergonomics, and safety of the code. The team behind Fish has shared insights from this extensive porting process, noting the challenges faced and the gains achieved, particularly in terms of performance and ease of contribution. Fish continues to stand out as an alternative Unix shell with its own scripting language, providing a better experience than Bash according to its developers.

  20. 20
    Article
    Avatar of hnHacker News·28w

    the terminal of the future

    Proposes a radical redesign of terminal infrastructure by combining Jupyter-like notebook interfaces with shell integration, transactional semantics, and persistent sessions. The vision includes features like undo/redo for commands, dataflow tracking, sandboxed process execution, and structured terminal logs. The author outlines a four-stage incremental adoption strategy: starting with transactional CLI semantics, adding persistent sessions with client/server architecture, implementing structured RPC with metadata-tagged I/O, and finally building a Jupyter-like frontend. This approach aims to solve longstanding terminal limitations while maintaining backward compatibility and low switching costs.

  21. 21
    Article
    Avatar of nickjanetakisNick Janetakis·1y

    Find and Replace Strings with Bash — Nick Janetakis

    Learn how to find and replace strings in Bash using parameter expansion techniques. The post also covers a POSIX compliant solution using `sed` for replacing strings, which is useful in environments where `bash` might not be available. A demo video is included to illustrate the methods discussed.

  22. 22
    Article
    Avatar of hnHacker News·48w

    nxtscape/nxtscape: Nxtscape is an open-source agentic browser.

    Nxtscape is an open-source browser built on Chromium that integrates AI agents for automated browsing tasks. It runs AI locally to maintain privacy, supports Chrome extensions, and aims to boost productivity through features like intelligent tab management and form filling. The project positions itself as a privacy-first alternative to closed-source browsers like Arc and Perplexity Comet, with plans to include an MCP store and AI-powered ad blocking.

  23. 23
    Article
    Avatar of communityCommunity Picks·48w

    MacRimi/ProxMenux: ProxMenux An Interactive Menu for Proxmox VE Management

    ProxMenux is an interactive command-line management tool for Proxmox VE that simplifies server administration through a menu-driven interface. The tool can be installed with a single bash command and provides an easy way to execute commands and scripts on Proxmox VE 8.x systems. It automatically handles dependencies including bash, curl, wget, jq, whiptail, and python3-venv, with translation support through a Python virtual environment.

  24. 24
    Article
    Avatar of jvnsJulia Evans·1y

    What's involved in getting a "modern" terminal setup?

    Achieving a modern terminal setup involves multiple components such as multiline copy-paste support, infinite shell history, useful prompts, and 24-bit color for better theming. Using tools like the `fish` shell, `neovim`, and terminals with adequate color support can enhance the experience. Configurations like setting environment variables and aliases, using frameworks like base16 for theming, and considering tools like oh-my-zsh or modern text editors like `micro` or `helix` can simplify the setup. Challenges include complex shell and text editor configurations and compatibility issues between different components.

  25. 25
    Article
    Avatar of communityCommunity Picks·47w

    NomenAK/SuperClaude: A configuration framework that enhances Claude Code with specialized commands, cognitive personas, and development methodologies.

    SuperClaude is a configuration framework that enhances Claude Code with 19 specialized commands, 9 cognitive personas, and development methodologies. Version 2.0.1 introduces streamlined architecture with @include reference system, personas as universal flags, enhanced installer with update modes, and MCP integration for Context7, Sequential, Magic, and Puppeteer. The framework provides token optimization, evidence-based development approaches, Git checkpoint support, and covers the full development lifecycle from design to deployment with domain-specific expertise for architecture, security, frontend, backend, and quality assurance workflows.