This might be a stupid question, but hear me out.
I regularly document steps to install various software for myself on my wiki
More recently, I managed to use different custom text in the source markdown to prepend # and $ automatically, so commands can be copied more easily while still clarifying if it should be run as a normal user or as root.

Run command as user

$ some cool command

Run command as root/superuser with sudo

# some dangerous command

I usually remove and sudo and use the # prefix. However, in some cases, the sudo actually does something different that needs to be highlighted. For example, I might use it to execute a command as the user www-data

sudo -u www-data cp /var/www/html/html1 /var/www/html/html2

I often use $ as a prefix, but # would also make sense.
How would you prefix that line?

4 points
*

Edit: looks like this is wrong lol, that’s what I get for not verifying. So maybe $ does make more sense!

Original message:

I think I’d go with #.

The non-root user probably doesn’t have permission to run the sudo command as www-data user, but root does.

Unless you previously set permissions for the non-root user to sudo as www-data.

permalink
report
reply
2 points

The non-root user probably doesn’t have permission to run the sudo command as www-data user, but root does.

You are wrong. E. g. in Debian (and Ubuntu) the default sudoers file contains

%sudo   ALL=(ALL:ALL) ALL

that means that any user in the sudo group is permitted to execute any command as any other user. The same for redhat/fedora, but the group name is wheel there.

permalink
report
parent
reply
1 point

lol thanks for the correction

permalink
report
parent
reply
5 points

I would use $ too for the example you’ve posted - it is just assuming a different user.

As long as it is not root, I wouldn’t put it with #.

permalink
report
reply
4 points

Neither because it makes it hard to copy paste. If you have to pick one then $ because # is for comments in bash.

permalink
report
reply
6 points

You can just get around this by using some css tricks to display the dollar and pound signs.

permalink
report
parent
reply
1 point

It’s not actually part of the command, just some css to add the prefix visually.

permalink
report
parent
reply
1 point

That’s OK then. If you can double click the text field the the prefix is not highlighted, then I’m happy :)

permalink
report
parent
reply
13 points

I don’t work much with Linux systems these days, but I would vote for $ sudo over #. Two reasons:

  1. It’s easy to overlook the prompt. That part is basically “some characters before the actual command”, so I don’t normally pay attention it.
  2. # is also used for comments. I think it would be confusing to use the same character for two widely different things.
permalink
report
reply
3 points

So $ sudo in general any time I need to run something as root?
I’ll have to think about that some more. I think I rather dislike “forcing” sudo on all commands as root.

permalink
report
parent
reply
3 points

Ok, maybe I misunderstood your question. I though you were proposing # instead of $ sudo and I meant to say that being explicit is better.

permalink
report
parent
reply
1 point

I typed the post in a minute and published, so it definitely isn’t the most coherent or well thought out post.
I’m currently using # for commands executed by the root user or sudo.
Currently, I only use sudo if the command depends on one of its features. Like the example above where I execute a command as the www-data user.
My dilemma was whether to use $ sudo or # sudo for those few cases. But based on yours and other comments, it might make sense to use $ sudo for commands executed as root as well.

permalink
report
parent
reply
3 points

Personally i prefer the $ sudo because honestly i don’t always notice the symbol at the beginning but sudo is really easy to keep track of whats root and what isn’t

permalink
report
reply
2 points

I hadn’t thought of it like that. Thanks

permalink
report
parent
reply

Linux

!linux@lemmy.ml

Create post

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 6.6K

    Monthly active users

  • 6.5K

    Posts

  • 177K

    Comments