From WhyNotWiki
Jump to: navigation, search Retrieved on 2007-05-11 11:18.

What is a shell at all?

A shell is a program that allows you to interact with a computer's files and processes (running programs). A shell lets you run programs. It executes them and displays the output of the program to you. There are many small programs that help you do basic tasks. So actually you are not learning how to use a shell, but how to use many small programs. The shell itself has also some built-in commands which can be used to write so called shell scripts. Those are also programs. But you said you did not want to know about programming. So at the moment just forget about shell scripts.

No windows?

Why do those programs not open windows, you may ask. All the programs we will use in this article work in text mode. They provide a command-line interface (CLI) to the user. That means all user interaction works through the keyboard and output in text form. That has several advantages over a window based user interface:

  • Bandwidth: Using a graphical user interface over the network is slow because all information is transferred as images. And images take up a lot of space and networks are quite slow. Text data is much much smaller and can thus be transaferred over a network thousands of times faster.
  • Server resource: Graphical user interfaces use a lot of server resources (memory, processor time) for every connected user and for every running program. Linux is a multi-user system. That means multiple users can be logged in on one computer at the same time. On a big system there can be hundreds of users. If every user used a graphical user interface the system could handle much less [fewer] users.
  • Monitors: Servers often are rack mounted systems that have no monitor connected (head-less). So for the system administrator there is no need for a graphical user interface and so it is often not installed at all.

Note: It really is possible to control a Linux machine with a graphical user interface over the network. But it is not done often.

Connecting to the remote machine

Today remote Linux machines are usually accessed with SSH (Secure Shell). SSH is a protocol and a shell that lets you execute commands on the remote machine and transfer files to and from the remote machine. SSH encrypts all data as it is sent over the network. It is safe to use even if your computer is connected to the network over WLAN. So you need a SSH client on your local computer to be able to connect to the remote computer.

Retrieved from ""
Personal tools