OPS145 Lab 2 Newversion

From Littlesvr Wiki
Jump to navigation Jump to search

!!!THIS PAGE IS NOT READY YET!!!

Multi-user systems

Linux was intended from its beginnings to be a multi-user system. A multi-user system allows multiple people to use it at the same time. That concept is hard to understand if you think of a computer as having one screen, one keyboard, and one mouse.

But originally systems like Unix (the Linux predecessor) were used as workstations by multiple people at once. They got around the problem of sharing one monitor and one keyboard by using dumb terminals. A dumb terminal might look like a computer but it isn't. It's just a screen plus a keyboard plus a serial port connection (like a slow network connection) to the actual computer (sometimes called a mainframe).

Other systems like Microsoft DOS (which eventually got a graphical interface and was then called Windows) had no such capabilities, and were much simpler. That made them the perfect choice for this new thing called a Personal Computer (PC). You didn't need much sysadmin training to put DOS on a PC.

For decades the mainframe was powerful enough to serve the needs of all the employees, but cheap enough that it wasn't going to get replaced with personal computers for each employee.

Eventually PCs got much cheaper, and since it was no longer financially viable to stick to mainframes: Microsoft took over the computer world with its DOS and later Windows operating systems.

Why terminals still exist

It turns out that when you create an operating system intended to be used by one user on their personal computer: you don't consider security or even multi-tasking performance as priorities.

In the 1980s and 1990s the entire world was plagued by viruses, blue screens of death, and abysmal server performance because the demand for IT increased exponentially but Unix was expensive, Unix administrators were hard to find, so Windows was the only option for many.

Luckily Linus Torvalds wrote an operating system kernel mostly compatible with Unix, and together with hundreds and thousands of other developers a new operating system was born which did not suffer from the MS DOS legacy problems: Linux.

Dumb terminals have almost completely dissapeared. They're now only used by very large companies who like to pay IBM lots of money for basic IT services. I've recently seen a green screen being used by a bank teller, and smiled.

The mainframes of the 1970s have been replaced by PC-compatible servers and server farms. Two types of terminals are still used pervasively:

  • For regular users: a web browser is just a pretty version of a dumb terminal. All the content lives on the server, and all the actions performed by the website visitor are performed on the server.
  • The server administrators use almost identical terminals now as were used 50 years ago, except they're software terminals instead of hardware terminals. A graphical interface, while inviting with its apparent ease of use, is simply not efficient enough to allow complex administration tasks on remote servers. You are going to learn to use this sort of terminal in OPS145 and the rest of the OPS stream.

What can you do in a terminal

If you're a server administrator: just about everything that you can do can be done in a terminal. For example:

  • Copying and moving files and directories.
  • Creating users and controlling their access privileges.
  • Configuring and controlling services (e.g. a web server).
  • Monitoring server activity.
  • Installing and uninstalling software.
  • Configuring networking.
  • Configuring other hardware (like hard drives).
  • Starting and stopping machines on demand.
  • Creating, deploying, and monitoring all sorts of automation.

Terminals are probably completely new to you, and though they're older than your grandparents: don't imagine that they're ancient garbage. Most of the exciting computer things created in your lifetime were built and are managed in terminals. Once you learn the basics: you'll impress yourself with what you can accomplish by typing commands rather than opening windows and clicking buttons. That's what OPS145 is for.


Also:

  • Types of things you can do in a terminal
  • Look in home directory and subdirectories in Nemo and terminal (ls, ls -l, ls -l -h, cd, pwd)
  • File not found, permission denied error exampls
  • Create some text files in Xed, view them with cat
  • Case sensitivity examples
  • Download example files using firefox
  • View a long text file in Xed, cat, less
  • Plain text files vs doc files; plain text vs xls; file command
  • Different image types, can't view in terminal, can check with file command
  • Extensions mostly don't matter in linux
  • Linux filesystem structure: one root, common directories