Regarding the "Shell"


#1

Hello,

Firstly, sorry if this sort of discussion is too off topic/not allowed here. I’m a beginner with using the Shell and Bash in general, and I’m just wondering what exactly is the “shell” with which we interact during the Codecademy Command Line Course? Is it just a simulation of a shell, or is it an actual fully functioning shell which exists somewhere?

I tried to figure out if it’s real by using wget and curl to find the e-ip then ping it to see if it returns anything, but the shell doesn’t return any output - leading me to believe it isn’t actually connected to the internet in a traditional sense?

Thanks, and again - sorry if this is the wrong place.


#2

wikipedia is always a good starting point:

The course teaches bash (born again shell), which is standard on most unix, unix based (linux) and unix derivative systems (mac OS)

Did you test the commands on a windows system? Given windows has it own shell, not bash. Some command might work, most will not


#3

I had a look through that Wikipedia article but I couldn’t seem to see what I was looking for.

Basically, I was curious about how the “shell” on this site was working - is there some sort of HTML element which mirrors a shell somewhere? Is it somehow taking my input and streaming it to a shell, then streaming the output back to me? Or is it just a pretend shell? So I used:

curl ipinfo.io/ip

In an attempt to get a public IP address, which I could then ping from my windows machine to see if it’s live or not, but the “shell” was not giving me any response to my curl command, so I tried a similar thing with wget and a different domain (a Google domain which I confirmed is live) and had the same result.


#4

well, its really a shell but with additional security features included (given otherwise this would compromise codecademy)

I don’t know the details, and even if i did, i wouldn’t be allowed to disclose them (for obvious security reasons)

The additional security restrictions are things like user privileges, containers, sandboxes, virtual machines, command restrictions, for example:

https://wiki.archlinux.org/index.php/Firejail


#5

That makes sense! Thank you