this post was submitted on 22 Dec 2023
455 points (95.6% liked)

Technology

59038 readers
3443 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 10 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.