Section 1.2. The Command Line: What s the Big Deal?


1.2. The Command Line: What's the Big Deal?

One of the revolutionary things that UNIX (and thus Linux) did was to separate operating system commands from the operating system itself. The commands to display files, show the contents of directories, set permissions, and so on were, in the "olden days," an integral part of an operating system. UNIX removed all that from the operating system proper, leaving only a small "kernel" of necessary functionality in the operating system. The rest became executables that lived outside of the operating system and could be changed, enhanced, or even replaced individually by (advanced) users without modifying the operating system. The most significant of these standalone pieces was the command processor itself, called the shell.

The shell is the program that takes command-line input, decides what program(s) you are asking to have run, and then runs those programs. Before there were Graphical User Interfaces, the shell was the user interface to UNIX. As more developers began working with UNIX, different shells were developed to provide different features for usability. Now there are several shells to choose from, though the most popular is bash. Some BSD/UNIX die hards still swear by csh, a.k.a. the C-shell, though most of its best features have been incorporated into bash.

Tip

There are actually quite a few shells to choose from, and several editors for entering text. Our recommendation: If you learn only one shell, learn bash. If you learn only one editor, learn vi. Some basic shell scripting will go a long way to eliminating mundane, repetitive tasks. Some basic vi editing will let you do things so much faster than what GUI editors support. (More on editing in Chapter 2.)


Since commands could be developed and deployed apart from the operating system, UNIX and Linux have, over the years, had a wide variety of tools and commands developed for them. In fact, much of what is called Linux is really the set of GNU tools which began development as Open Source long before Linux even existed. These tools, while not technically part of the operating system, are written to work atop any UNIX-like operating system and programmers have come to expect them on any Linux system that they use. Some commands and utilities have changed over the years, some are much the same as they first were in the early days of UNIX.

Developers, encouraged by the openness of Open Source (and perhaps having too much free time on their hands) have continued to create new utilities to help them get their job done better/faster/cheaper. That Linux supports such a model has helped it to grow and spread. Thus Linux presents the first time user with a mind-boggling array of commands to try to learn. We will describe a few essential tools and help you learn about more.



    Java Application Development with Linux
    Java Application Development on Linux
    ISBN: 013143697X
    EAN: 2147483647
    Year: 2004
    Pages: 292

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net