Whether accessing (remotely) or not, users need a (user account) before being granted access to thesystem; for the purposes of accounting, security, logging and resource management.Since each particular user account has varying degrees of control over the system and its resources,having the ability to verify the true identity of a given user is crucial, so a method exists that verifieseach user account (username) against a corresponding (password); in a process known as (logging in).All Unix-like systems are similar. As with many operating systems for servers, the Unix-like systemscan host multiple users and programs simultaneously. Some features are specific to Unix-like systems.The Unix-like systems provide a common command line interface called the shell. They also provide acommon programming interface for the C language. The latter fact allows most Unix-like systems torun the same application software and desktop environments.Unix is popular with programmers for a variety of reasons. A primary reason for its popularity is the building-block approach, where a suite of simple tools can be streamed together to produce verysophisticated results. Another reason is the philosophy that 'everything is a file', which means that astandardized set of operations and functionality can be performed on different file types (directories vs.regular files), hardware devices, and even system processes. The shellWikipedia has more about this subject:Unix shellThe shell is a program unique to Unix-like systems. It lets you type commands to launchother programs.When you login to the system through a text-only terminal, Unix gives you a login shell. If your systemhas a graphical user interface such as GNOME, KDE, or anything that uses X Window System, youcan access the shell through a program called a console emulator or terminal emulator. This emulatesthe text-only terminal that the shell requires for running.Unfortunately, the shell and the commands are hard to learn. Further, many commands require"arguments" to work. For example, the rm command, which removes files, needs one or more"arguments" naming the files to delete. This book has a Explanations/Shell Prompt chapter whichintroduces the shell and its many features.One can automate tasks by saving shell commands in a text file called a shell script. For example, shellscripts are used to boot the system.The Unix shell is unique to Unix-like systems. Actually, there are multiple shells available for Unix.These shells extend their features in different ways. For the "Bourne-compatible" shells, there is a book in Wikibooks,Bourne Shell Scripting, to describe them. Most shell scripts are for Bourne-compatibleshells. The C languageUnix is the origin of the popular C language. Every program on the computer links to the C librarywhich provides basic system features including access to the kernel. Even if an application is written inanother language, like C++, it still links to the C library. An interpreted language like perl needs a perlinterpreter linked to the C library.This dependence on C can be a disadvantage. Most Unix-like kernels are written entirely in C; mostcommon programs use C, C++ or Objective-C. It is difficult to add code to these programs in another language such as Fortran. In contrast, some non-Unix systems allow different programming languagesto interact more easily.This book does not describe how to program with C; that is the job of the book Programming:C.However, planned additions to this book will describe how to build and run Unix programs when youobtain their C source code.