Windows 10 end of life could prompt torrent of e-waste as 240 million devices set for scrapheap::As Windows 10 end of life approaches, analysts are concerned that millions of devices will be scrapped due to incompatibility

  • Pazuzu
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 months ago

    A “no stupid questions” for Linux would be super helpful. A big one for me is shell commands. Like are shell commands different between distros, or do I have to install something to have certain commands? How do I even know what commands I do have?

    • abbotsbury@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      11 months ago

      Like are shell commands different between distros, or do I have to install something to have certain commands?

      Yes and no, kinda. So the most popular shell by far is Bash, which includes its own built in functions, and can also be extended with custom functions which certain distros may include in your bash config file by default. But generally, Bash and the GNU coreutils are standard, although some more “hip” distros will include other shell prompts such as zsh or fish by default, but even those tend to come with bash for script compatibility or easy switching for user preference. Some distros may include programs by default, but most of the time those are easily available in other distros through the package manager.

      How do I even know what commands I do have?

      compgen -c (or compgen -c | more for a scrollable list (press q to exit)) should do the trick, but that is a built-in bash command that may not be available on other shells, but generally you can find all the programs able to be called from shell inside the

      /bin

      /sbin

      /usr/bin

      and

      /usr/sbin

      directories. All these directories are added to a variable called $PATH, and when you type a command into your shell, these are the places that get searched for a matching program to run. You can use echo $PATH to see all the directories on your machine which are searched, or even add your own directory containing custom scripts or utilities so you can use them anywhere like an installed program.