5

I'm a brand new user of Linux/Ubuntu (14.04)

I am looking for BASH.

I clicked the UbuntuSoftwareCenter at the left and then the "All Software" icon at the top. I enter "Bash" into the search field at the top right, and at the top of the results is "GNU Bourne Again SHell" and it's flagged as "Installed" (green check, etc.) But I cannot "do" anything with it from there - I cannot open the program, drag it to the left menu bar, etc. Nothing.

So, still in Ubuntu Software Center, I instead click "Installed" at the top , but now the program "GNU Bourne Again SHell" is nowhere to be found.

So, I closed the window then clicked "Dash" and entered "BASH" or "Bourne" or "SHell" (in varying capitalizations), and I also opened up the "Applications" section to show all... there's no "BASH"

Can anyone explain what I was seeing and where I can find the supposedly installed BASH, and pin it to the left menu?

muru
  • 197,895
  • 55
  • 485
  • 740
mike65535
  • 171
  • 1
    It's somewhat similar to Windows: In Windows console-commands like 'cd' are builtin to the cmd.exe. You cannot find them in the startmenu, you need to launch the console. The additional difference between Linux and Windows is that in Windows you ususally only have one "shell" (ie. the cmd-shell) and only one "terminal (emulator)" - thus they are 'merged' into one. cmd.exe = shell + terminal-emulator. Strictly speaking, though, this is not completely correct in the Win world but it's enough to understand the way things work ;-) – ljrk Sep 23 '15 at 11:13

3 Answers3

9

Many programs in Ubuntu need something or the other to run in. Graphical programs like the file manager (typically Nautilus) or the browser (Firefox, or Google Chrome, for example) need an instance of the X Window System (typically provided by X.Org's X server) to run.

Correspondingly, command-line programs like Bash, apt-get, lynx, etc., to be run interactively, need a terminal emulator to run. By default, Ubuntu has GNOME Terminal, XTerm and the TTYs (managed by getty, accessible by pressing CtrlAltF1-F6 - back to GUI by CtrlAltF7) via which you can interact with command line programs.

To run a command-line program, then, you need to run a terminal emulator (for example, GNOME Terminal) first.

The terminal emulator programs typically run bash by default (since that is the default login shell for users in Ubuntu). Therefore, to run bash, usually all you need to do is run Terminal.

Without a terminal to run in, when you started Bash or Dash, they probably quit immediately. Nothing to see here, folks.

See:


Making a launcher icon for a command line program is a different issue. For that, see How can I edit/create new launcher items in Unity by hand?, and use Terminal=true instead of Terminal=false.

muru
  • 197,895
  • 55
  • 485
  • 740
  • I would add a parentheses that if you curiously pressC+A+F#, you can go back with C+A+F7! – Kroltan Sep 23 '15 at 02:55
  • 1
    @Kroltan perhaps I should link to http://askubuntu.com/a/157620/158442. – muru Sep 23 '15 at 02:56
  • @muru Yeah, but if someone coughlike mecough presses that out of curiosity, they won't have a browser to see that page :P – Kroltan Sep 23 '15 at 02:58
  • 1
    @Kroltan sadly accessing AU via lynx or its kin is difficult. I added a note about C-A-F7. – muru Sep 23 '15 at 03:05
4

bash is a shell; basically a program that reads commands and executes them. It is one of the interfaces between the kernel and the user.

I do not know what do you call "apps", but if I understand correctly, bash is under the level of what you call "an app". But it's a fundamental part of the system...

Have a good read here: http://www.tutorialspoint.com/unix/unix-getting-started.htm --- the diagram below is a graphic example of a Unix system architecture from that site (it's a link, not a copy...)

enter image description here

You can run bash in a terminal, in a virtual console, in a background program. Your system is probably running several instance of bash right now.

As far as any Unix system is designed, the graphical interface and the graphical applications are just another kind of application programs --- this is one of the reason that Ubuntu (and all other Unixes) can use several different graphic interfaces.

Rmano
  • 31,947
2

The terminal is NOT BASH. Make sure you remember that :)

Bash is a shell - "a program that reads commands and executes them. It is one of the interfaces between the kernel and the user." Credit - rmano

TellMeWhy
  • 17,484