Beginning Unix
  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub
Book details
Book preview
Table of contents
Citations

About This Book

  • Covering all aspects of the Unix operating system and assuming no prior knowledge of Unix, this book begins with the fundamentals and works from the ground up to some of the more advanced programming techniques
  • The authors provide a wealth of real-world experience with the Unix operating system, delivering actual examples while showing some of the common misconceptions and errors that new users make
  • Special emphasis is placed on the Apple Mac OS X environment as well as Linux, Solaris, and migrating from Windows to Unix
  • A unique conversion section of the book details specific advice and instructions for transitioning Mac OS X, Windows, and Linux users

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Beginning Unix by Paul Love, Joe Merlino, Craig Zimmerman, Jeremy C. Reed, Paul Weinstein in PDF and/or ePUB format, as well as other popular books in Computer Science & Operating Systems. We have over one million books available in our catalogue for you to explore.

Information

Publisher
Wrox
Year
2015
ISBN
9781119114505
Edition
1

1
Unix Fundamentals

The Unix operating system was created more than 30 years ago by a group of researchers at AT&T’s Bell Laboratories. During the three decades of constant development that have followed, Unix has found a home in many places, from the ubiquitous mainframe to home computers to the smallest of embedded devices. This chapter provides a brief overview of the history of Unix, discusses some of the differences among the many Unix systems in use today, and covers the fundamental concepts of the basic Unix operating system.

Brief History

In terms of computers, Unix has a long history. Unix was developed at AT&T’s Bell Laboratories after Bell Labs withdrew from a long-term collaboration with General Electric (G.E.) and MIT to create an operating system called MULTICS (Multiplexed Operating and Computing System) for G.E.’s mainframe. In 1969, Bell Labs researchers created the first version of Unix (then called UNICS, or Uniplexed Operating and Computing System), which has evolved into the common Unix systems of today.
Unix was gradually ported to different machine architectures from the original PDP-7 minicomputer and was used by universities. The source code was made available at a small fee to encourage its further adoption. As Unix gained acceptance by universities, students who used it began graduating and moving into positions where they were responsible for purchasing systems and software. When those people began purchasing systems for their companies, they considered Unix because they were familiar with it, spreading adoption further. Since the first days of Unix, the operating system has grown significantly, so that it now forms the backbone of many major corporations’ computer systems.
Unix no longer is an acronym for anything, but it is derived from the UNICS acronym. Unix developers and users use a lot of acronyms to identify things in the system and for commands.

Unix Versions

In the early days Unix was made available as source code rather than in the typical binary form. This made it easier for others to modify the code to meet their needs, and it resulted in forks in the code, meaning that there are now many disparate versions (also known as flavors).
Source code represents the internal workings of a program, specifying line by line how a program or application operates. Access to source code makes it easier to understand what is occurring in the program and allows for easier modification of the program. Most commercial programs are distributed in binary form, meaning they are ready to be run, but the internal lines of code are not readable by people.
There are primarily two base versions of Unix available: AT&T System V and Berkley Software Distribution (BSD). The vast majority of all Unix flavors are built on one of these two versions. The primary differences between the two are the utilities available and the implementations of the file structure. Most of the Unix flavors incorporate features from each base version; some include the System V version utilities in /usr/bin and the BSD version in /usr/ucb/bin, for example, so that you have the choice of using a utility with which you are comfortable. This arrangement is indicative of the Unix way of providing the flexibility to do things in different ways.
The various versions of Unix systems provide the user the power of choice: you can select the flavor that best matches your needs or system requirements. This ability to choose is considered by many as a strength, although some see it as a weakness in that these slightly differing versions and flavors create some incompatibilities (in the implementation, commands, communications, or methods, for example). There is no “true” version of Unix or one that is more official than others; there are just different implementations. Linux, for example, is a variant of Unix that was built from the ground up as a free Unix-like alternative to the expensive commercial Unix versions available when Linux was first created in 1991. Here are some of the more popular flavors of Unix available:
Sun Microsystem’s Solaris Unix Yellow Dog Linux (for Apple systems)
IBM AIX Santa Cruz Operations SCO OpenServer
Hewlett Packard HP-UX SGI IRIX
Red Hat Enterprise Linux FreeBSD
Fedora Core OpenBSD
SUSE Linux NetBSD
Debian GNU/Linux OS/390 Unix
Mac OS X Plan 9
KNOPPIX
Each of these flavors implements its version of Unix in a slightly different way, but even though the implementation of a command may vary on some systems, the core command and its functionality follow the principles of one of the two major variations. Most versions of Unix utilize SVR4 (System V) and add the BSD components as an option to allow for maximum interoperability. This is especially true with commands; for example, there are two versions of the ps command (for showing processes) available on most systems. One version of ps might reside in /usr/bin/ps (the System V version) while the other might exist in /usr/ucb/bin (BSD version); the commands operate similarly, but provide output or accept optional components in a different manner.
Many vendors have attempted to standardize the Unix operating system. The most successful attempt, a product of the noncommercial Institute for Electrical and Electronics Engineers, is standard 1003 (IEEE 1003), also known as the POSIX (Portable Operating Systems Interface) standard. That standard is also registered with the International Organization for Standardization under ISO/IEC 9945-1, which you can find at http://iso.org/iso/en/CombinedQueryResult.CombinedQueryResult?queryString=9945. The POSIX standard merged with the Single Unix Specification (SUS) standard to become one integrated standard for all Unix flavors. It retained the name POSIX standard. Not all Unix versions follow the POSIX standard to the letter, but most do adhere to the major principles outlined in the standard.
Early Unix systems were mainly commercial commodities like most software for sale; to run the operating system, you generally had to pay for that right. In 1984 an engineer named Richard Stallman began work on the GNU Project, which was an effort to create an operating system that was like Unix and that could be distributed and used freely by anyone. He currently runs the Free Software Foundation (http://gnu.org/fsf/fsf.html), and many of the programs he and his supporters have created are used in both commercial and open-source versions of Unix.
GNU stands for GNU’s Not Unix, which is a recursive acronym. The GNU Project wanted to create a Unix-like operating system, not a Unix derivative (which would imply that it was a source-code copy of Unix).
In 1991 Linus Torvalds, a Finnish graduate student, began work on a Unix-like system called Linux. Linux is actually the kernel (kernels are discussed later in this chapter), while the parts with which most people are familiar—the tools, shell, and file system—are the creations of others (usually the GNU organization). As the Linux project gained momentum, it grew into a major contender in the Unix market. Many people are first introduced to Unix through Linux, which makes available to desktop machines the functionality of a Unix machine that used to costs thousands of dollars. The strength of Linux lies in its progressive licensing, which allows for the software to be freely distributable with no royalty requirements. The only requirement for the end user is that any changes made to the software be made available to others in the community, thus permitting the software to mature at an incredibly fast rate. The license under which Linux is distributed is called the GNU Public License (GPL), available at http://gnu.org/licenses/licenses.html.
Another free variant of Unix that has gained popularity is the BSD family of software,...

Table of contents

  1. Cover
  2. Contents
  3. Title Page
  4. Copyright
  5. About the author
  6. Credits
  7. Acknowledgements
  8. Introduction
  9. 1 Unix Fundamentals
  10. 2 First Steps
  11. 3 Understanding Users and Groups
  12. 4 File System Concepts
  13. 5 Customize Your Working Environment
  14. 6 Unix Commands In-Depth
  15. 7 Editing Files with Vi
  16. 8 Advanced Tools
  17. 9 Advanced Unix Commands: Sed and AWK
  18. 10 Job Control and Process Management
  19. 11 Running Programs at Specified Times
  20. 12 Security
  21. 13 Basic Shell Scripting
  22. 14 Advanced Shell Scripting
  23. 15 System Logging
  24. 16 Unix Networking
  25. 17 Perl Programming for Unix Automation
  26. 18 Backup Tools
  27. 19 Installing Software from Source Code
  28. 20 Conversion: Unix for Mac OS Users
  29. 21 Conversion: Unix for Windows Users
  30. A Answers
  31. B Useful Unix Web Sites
  32. Index
  33. GNU General Public License
  34. Wiley End User License Agreement