Name dselect Syntax dselect Description dselect is an interactive, menu-driven, frontend tool for is an interactive, menu-driven, frontend tool for dpkg dpkg and is usually invoked without parameters. The and is usually invoked without parameters. The dselect dselect command lets you interactively manage packages by selecting them for installation, removal, configuration, and so forth. Selections are made from a locally stored list of available packages, which may be updated while running command lets you interactively manage packages by selecting them for installation, removal, configuration, and so forth. Selections are made from a locally stored list of available packages, which may be updated while running dselect dselect. Package actions initiated by dselect dselect are carried out using are carried out using dpkg dpkg.

Name alien Syntax alien[--to-deb][--patch=patchfile][options]file Description Convert to or install a non-Debian (or "alien") package. Supported package types include Red Hat .rpm .rpm, Stampede .slp .slp, Slackware .tgz .tgz, and generic .tar.gz .tar.gz files. files. rpm rpm must also be installed on the system to convert an RPM package into a must also be installed on the system to convert an RPM package into a .deb .deb package. The package. The alien alien command produces an command produces an output package output package in Debian format by default after conversion. in Debian format by default after conversion.

Frequently used options -i Automatically install the output package and remove the converted package file.

-r Convert package to RPM format.

-t Convert package to a gzip tar gzip tar archive. archive.

Example Install a non-Debian package on a Debian system using alien alien with the with the -i -i option: option: #alien-ipackage.rpmOn the Examdselect, apt-get, and alien alien are important parts of Debian package management, but detailed knowledge of are important parts of Debian package management, but detailed knowledge of dpkg dpkg is of primary importance for Exam 101. is of primary importance for Exam 101.

Objective 5: Use Red Hat Package Manager (RPM) The Red Hat Package Manager is among the most popular methods for the distribution of software for Linux and is installed by default on most distributions. It automatically handles many of the management details a.s.sociated with interdependent software running on your system.

RPM Overview RPM automates the installation and maintenance of software packages. Built into each package are program files, configuration files, doc.u.mentation, and dependencies on other packages. Package files are manipulated using the rpm rpm command, which maintains a database of all installed packages and their files. Information from new packages is added to this database, and the database is consulted on a file-by-file basis for dependencies when packages are removed, queried, and installed. As with Debian packages, RPM packages have four common elements: command, which maintains a database of all installed packages and their files. Information from new packages is added to this database, and the database is consulted on a file-by-file basis for dependencies when packages are removed, queried, and installed. As with Debian packages, RPM packages have four common elements: Name An RPM package name is short and descriptive. If multiple words are used, they are separated by hyphens (not underscores, as you might expect). Typical names include binutils binutils, caching-nameserver caching-nameserver, cvs cvs, gmc gmc, kernel-source kernel-source, and telnet telnet.

Version Each package has a version. Most package versions are the same as that of the software they contain. The format of package versions varies from package to package, but most are numeric (major.minor.patchlevel).

Revision The revision tag is simply a release number for the package. It has no significance except to determine whether one package is newer than another when the version number does not change.

Architecture Packages containing binary (compiled) files are by their nature specific to a particular type of system. For PCs, the RPM architecture designation is i386 i386, meaning the Intel 80386 and subsequent line of microprocessors and compatibles.Packages optimized for later x86 CPUs will have an architecture tag appropriate for the specific CPU the code is compiled for, such as i586 i586 for Intel Pentium (and compatible) processors, for Intel Pentium (and compatible) processors, i686 i686 for Intel Pentium Pro and later processors (Pentium II, Celeron, Pentium III, and Pentium 4), or for Intel Pentium Pro and later processors (Pentium II, Celeron, Pentium III, and Pentium 4), or athlon athlon for AMD Athlon. for AMD Athlon.Other possible architecture tags include alpha, ia64, ppc alpha, ia64, ppc, and sparc sparc (for the Alpha, Itanium, PowerPC, and SPARC architectures, respectively). Another arch tag, (for the Alpha, Itanium, PowerPC, and SPARC architectures, respectively). Another arch tag, noarch noarch, is used to indicate packages that can install on any architecture.

While the filename of an RPM package is not significant, Red Hat does have a standard naming scheme for its packages that most of the other RPM-based distributions also follow. It is constructed by tying these elements together in one long string.

Running rpm The rpm rpm command provides for the installation, removal, upgrade, verification, and other management of RPM packages. command provides for the installation, removal, upgrade, verification, and other management of RPM packages. rpm rpm has a bewildering array of options, including the traditional single-letter style ( has a bewildering array of options, including the traditional single-letter style (-i) and the double-dash full word style (--install). In most cases, both styles exist and are interchangeable.

Although configuring rpm rpm may appear to be a bit daunting, its operation is simplified by being segmented into may appear to be a bit daunting, its operation is simplified by being segmented into modes. rpm modes. rpm modes are enabled using one (and only one) of the modes are enabled using one (and only one) of the mode options mode options. Within a mode, additional mode-specific options become available to modify the behavior of rpm rpm. The major modes of rpm rpm and some of the most frequently used mode-specific options follow. For complete information on how to use and manage RPM packages, see the and some of the most frequently used mode-specific options follow. For complete information on how to use and manage RPM packages, see the rpm rpm manpage or the synopsis offered by manpage or the synopsis offered by rpm --help rpm --help.

YUM Overview YUM (Yellowdog Updater Modified) is a package manager offering a fast way for installing, updating, and removing packages. The yum yum command has a very simple interface and functions similar to command has a very simple interface and functions similar to rpm, rpm, but but yum yum additionally manages all of the dependencies for you. Yum will detect if dependencies are required for the installation of an application and, if need be, fetch the required dependency and install it. Yum has the ability to support multiple repositories for packages and has a simple configuration. additionally manages all of the dependencies for you. Yum will detect if dependencies are required for the installation of an application and, if need be, fetch the required dependency and install it. Yum has the ability to support multiple repositories for packages and has a simple configuration.

YUM is configured through the /etc/yum.conf /etc/yum.conf configuration file. A sample of the configuration file follows. Repositories may be added and modified through the configuration file. A sample of the configuration file follows. Repositories may be added and modified through the /etc/yum.repos.d /etc/yum.repos.d directory: directory: #cat/etc/yum.conf [main]

cachedir=/var/cache/yum keepcache=0 debuglevel=2 logfile=/var/log/yum.log exactarch=1 obsoletes=1 gpgcheck=1 plugins=1 installonly_limit=3

#Thisisthedefault.Ifyoumakethisbiggeryumwon"tseeifthemetadata #isnewerontheremoteandsoyou"ll"gain"thebandwidthofnothavingto #downloadthenewmetadataand"pay"foritbyyumnothavingcorrect #information.

#Itisespeciallyimportant,tohavecorrectmetadata,fordistributions #likeFedorathatdon"tkeepoldpackagesaround.Ifyoudon"tlikethis #checkinginterruptingyourcommandlineusage,it"smuchbettertohave #somethingmanuallycheckthemetadataonceanhour(yum-updatesdwilldothis).

#metadata_expire=90m

#PUTYOURREPOSHEREORINseparatefilesnamedfile.repo #in/etc/yum.repos.d The most common commands used with yum yum are: are: install Install a package or packages on your system.

erase Remove a package or packages from your system.

update Update a package or packages on your system.

list List a package or group of packages on your system.

search Search package details for the given string.

Checking installed packages Check installed packages with list list: #yumlist This command will show all of the packages that are currently installed on your computer. It will also list available packages. In the following example the partial output is filtered through |more |more to display content one page at a time. Here you can see that some of the packages are installed (marked to display content one page at a time. Here you can see that some of the packages are installed (marked installed installed) and others are available through update (@update): #yumlist|more Loadedplugins:refresh-packagekit InstalledPackages Canna-libs.i5863.7p3-27.fc11installed ConsoleKit.i5860.3.0-8.fc11installed ConsoleKit-libs.i5860.3.0-8.fc11installed ConsoleKit-x11.i5860.3.0-8.fc11installed DeviceKit.i586003-1installed [email protected] [email protected] GConf2.i5862.26.2-1.fc11installed GConf2-gtk.i5862.26.2-1.fc11installed ImageMagick.i5866.5.1.2-1.fc11installed MAKEDEV.i5863.24-3installed NetworkManager.i5861:[email protected] NetworkManager-glib.i5861:[email protected] ...

You can also check to see if a particular package is installed or available for install using the list list command. The following example checks to see whether Samba is installed. From the output you see that the command. The following example checks to see whether Samba is installed. From the output you see that the samba samba package is not installed but available for installation through the repository: package is not installed but available for installation through the repository: #yumlistsamba Loadedplugins:refresh-packagekit AvailablePackages samba.i5863.3.2-0.33.fc11fedora If you need to collect information about a particular package, use the info info command. In this situation we ask for information about the command. In this situation we ask for information about the httpd httpd service: service: #yuminfohttpd Loadedplugins:refresh-packagekit InstalledPackages Name:httpd Arch:i586 Version:2.2.11 Release:8 Size:2.6M Repo:installed Summary:ApacheHTTPServer URL: License:ASL2.0 Description:TheApacheHTTPServerisapowerful,efficient,andextensible :webserver.

Checking for updates yum may be used to check for available updates for packages running on the computer. You can run the may be used to check for available updates for packages running on the computer. You can run the check-updates check-updates command to perform a check for any available package or specify a particular package you want to update. This example checks for any available updates: command to perform a check for any available package or specify a particular package you want to update. This example checks for any available updates: #yumcheck-update Loadedplugins:refresh-packagekit gtk2.i5862.16.5-1.fc11updates mysql-libs.i5865.1.36-1.fc11updates selinux-policy.noarch3.6.12-69.fc11updates selinux-policy-targeted.noarch3.6.12-69.fc11updates Installing packages Installing packages using yum yum is really quite straightforward. To install a package, you specify its name with the is really quite straightforward. To install a package, you specify its name with the install install command and the package name, along with any dependencies that will be downloaded and installed. This example installs the command and the package name, along with any dependencies that will be downloaded and installed. This example installs the samba samba package: package: #yuminstallsamba Loadedplugins:refresh-packagekit SettingupInstallProcess ResolvingDependencies -->Runningtransactioncheck --->Packagesamba.i5860:3.3.2-0.33.fc11settobeupdated -->FinishedDependencyResolution

DependenciesResolved ============================================================================ PackageArchVersionRepositorySize ============================================================================ Installing: sambai5863.3.2-0.33.fc11fedora4.4M

TransactionSummary ============================================================================ Install1Package(s) Update0Package(s) Remove0Package(s)

Totaldownloadsize:4.4M Isthisok[y/N]: DownloadingPackages: samba-3.3.2-0.33.fc11.i586.rpm|4.4MB00:06 Runningrpm_check_debug RunningTransactionTest FinishedTransactionTest TransactionTestSucceeded RunningTransaction Installing:samba-3.3.2-0.33.fc11.i5861/1

Installed: samba.i5860:3.3.2-0.33.fc11

Complete!

Removing packages Removing a package from your system is similar to the installation process. Two options remove packages: remove remove and and erase erase. They perform the same function, but remove remove should be used with caution because it also can uninstall dependent packages: should be used with caution because it also can uninstall dependent packages: #yumremovehttpd Loadedplugins:refresh-packagekit SettingupRemoveProcess ResolvingDependencies -->Runningtransactioncheck --->Packagehttpd.i5860:2.2.11-8settobeerased -->ProcessingDependency:httpd>=2.2.0forpackage: gnome-user-share-2.26.0-2.fc11.i586 -->Runningtransactioncheck --->Packagegnome-user-share.i5860:2.26.0-2.fc11settobeerased -->FinishedDependencyResolution

DependenciesResolved ========================================================================= PackageArchVersionRepositorySize ========================================================================= Removing: httpdi5862.2.11-8installed2.6M

Removingfordependencies: gnome-user-sharei5862.26.0-2.fc11installed809k

TransactionSummary ========================================================================= Install0Package(s) Update0Package(s) Remove2Package(s)

Isthisok[y/N]:Y

Name rpm Syntax rpm-i[options]

(alsorpm--install) rpm-U[options](alsorpm--upgrade) rpm-e[options](alsorpm--uninstall) rpm-q[options](alsorpm--query) rpm-V[options](alsorpm--verify) Install/upgrade mode The install mode install mode ( (rpm -i) is used to install new packages. A variant of install mode is the upgrade mode upgrade mode ( (rpm -U), where an installed package is upgraded to a more recent version. Another variant is the freshen mode freshen mode ( (rpm -F), which upgrades only packages that have an older version already installed on the system. But rpm rpm"s -F -F option has limited value, since it doesn"t handle dependency changes at all. In other words, if a new version of a package requires that another package be installed, option has limited value, since it doesn"t handle dependency changes at all. In other words, if a new version of a package requires that another package be installed, -F -F won"t automatically install the new package, even if it is listed on the command line. won"t automatically install the new package, even if it is listed on the command line.

Frequently used install and upgrade options --force Allows the replacement of existing packages and of files from previously installed packages; for upgrades, it allows the replacement of a newer package with an older one. (Literally, it is equivalent to setting all of the options --replacepkgs --replacepkgs, --replacefiles --replacefiles, and --oldpackage --oldpackage.) Use this option with caution Use this option with caution.

-h (also (also --hash --hash) Prints a string of 50 hash marks (#) during installation as a progress indicator.

--nodeps Allows you to install a package without checking for dependencies. This command should be avoided because it makes the dependency database inconsistent This command should be avoided because it makes the dependency database inconsistent.

--test Runs through all the motions except for actually writing files; it"s useful to verify that a package will install correctly prior to making the attempt. Note that verbose and hash options cannot be used with --test --test, but -vv -vv can. can.

-v Sets verbose mode. (Package names are displayed as the packages are being installed.) -vv Sets really verbose mode. The manpage describes this as "print lots of ugly debugging information."

Example 1 To install a new package, simply use the rpm -i rpm -i command with the name of a package file. If the new package depends upon another package, the install fails, like this: command with the name of a package file. If the new package depends upon another package, the install fails, like this: #rpm-igcc-2.96-113.i386.rpm error:faileddependencies: binutils>=2.11.93.0.2-6isneededbygcc-2.96-113 cpp=2.96-113isneededbygcc-2.96-113 glibc-develisneededbygcc-2.96-113 To correct the problem, the dependency must first be satisfied. In this example, gcc gcc is dependent on is dependent on binutils, cpp binutils, cpp, and glibc-devel glibc-devel, which all must be installed first (or at the same time, as in this example): #rpm-ibinutils-2.11.93.0.2-11.i386.rpmcpp-2.96-113.i386.rpm glibc-devel-2.2.5-44.i386.rpmgcc-2.96-113.i386.rpm Example 2 Upgrading an existing package to a newer version can be done with the -U -U option. Upgrade mode is really a special case of the install mode, where existing packages can be superseded by newer versions. Using option. Upgrade mode is really a special case of the install mode, where existing packages can be superseded by newer versions. Using -U -U, a package can be installed even if it doesn"t already exist, in which case it behaves just like -i -i: #rpm-Ugcc-2.96-113.i386.rpm Uninstall mode This mode is used to remove installed packages from the system. By default, rpm rpm uninstalls a package only if no other packages depend on it. uninstalls a package only if no other packages depend on it.

Frequently used uninstall options --nodeps rpm skips dependency checking with this option enabled. skips dependency checking with this option enabled. This command should be avoided because it makes the dependency database inconsistent This command should be avoided because it makes the dependency database inconsistent.

--test This option runs through all the motions except for actually uninstalling things; it"s useful to verify that a package can be uninstalled correctly without breaking other dependencies prior to making the attempt. Note that verbose and hash options cannot be used with --test --test, but -vv -vv can. can.

Example Package removal is the opposite of installation and has the same dependency constraints: #rpm-eglibc-devel error:removingthesepackageswouldbreakdependencies: glibc-develisneededbygcc-2.96-113 Query mode Installed packages and raw package files can be queried using the rpm -q rpm -q command. Query mode options exist for package and information selection. command. Query mode options exist for package and information selection.

Frequently used query package selection options -a (also --all) Display a list of all packages installed on the system. This is particularly useful when piped to grep grep if you"re not sure of the name of a package or when you want to look for packages that share a common attribute. if you"re not sure of the name of a package or when you want to look for packages that share a common attribute.

-f filename filename (also (also --file --file) Display the package that contains a particular file.

-p package_filename package_filename Query a package file (most useful with -i -i, described next).

Frequently used query information selection options -c (also --configfiles) List only configuration files.

-d (also --docfiles) List only doc.u.mentation files.

-i package package Not to be confused with the install mode install mode. Display information about an installed package, or when combined with -p -p, about a package file. In the latter case, package package is a filename. is a filename.

-l package package (also --list) (also --list) List all of the files contained in package package. When used with -p -p, the package package is a filename. is a filename.

-R (also --requires) List packages on which this package depends.

Example 1 To determine the version of the software contained in an RPM file, use the query and package information options: #rpm-qpiopenssh-3.4p1-2.i386.rpm|grepVersion Version:3.4p1Vendor:RedHat,Inc.

For installed packages, omit the -p -p option and specify a package name instead of a package filename. Notice if you have multiple versions of the same package installed, you will get output for all of the packages: option and specify a package name instead of a package filename. Notice if you have multiple versions of the same package installed, you will get output for all of the packages: #rpm-qikernel-source|grepVersion Version:2.4.9Vendor:RedHat,Inc.

Version:2.4.18Vendor:RedHat,Inc.

Version:2.4.18Vendor:RedHat,Inc.

Example 2 List the files contained in a package: #rpm-qlpgnucash-1.3.0-1.i386.rpm /usr/bin/gnc-prices /usr/bin/gnucash /usr/bin/gnucash.gnome /usr/doc/gnucash /usr/doc/gnucash/CHANGES (...outputcontinues...) For an installed package, enter query mode and use the -l -l option along with the package name: option along with the package name: #rpm-qlkernel-source /usr/src/linux-2.4.18-14 /usr/src/linux-2.4.18-14/COPYING /usr/src/linux-2.4.18-14/CREDITS /usr/src/linux-2.4.18-14/Doc.u.mentation /usr/src/linux-2.4.18-14/Doc.u.mentation/00-INDEX /usr/src/linux-2.4.18-14/Doc.u.mentation/BUG-HUNTING /usr/src/linux-2.4.18-14/Doc.u.mentation/Changes (...outputcontinues...) Example 3 List the doc.u.mentation files in a package: #rpm-qdat /usr/doc/at-3.1.7/ChangeLog /usr/doc/at-3.1.7/Copyright /usr/doc/at-3.1.7/Problems /usr/doc/at-3.1.7/README /usr/doc/at-3.1.7/timespec /usr/man/man1/at.1 /usr/man/man1/atq.1 /usr/man/man1/atrm.1 /usr/man/man1/batch.1 /usr/man/man8/atd.8 /usr/man/man8/atrun.8 Use -p -p for package filenames. for package filenames.

Example 4 List configuration files or scripts in a package: #rpm-qcat /etc/at.deny /etc/rc.d/init.d/atd Example 5 Determine what package a particular file was installed from. Of course, not all files originate from packages: #rpm-qf/etc/fstab file/etc/fstabisnotownedbyanypackage Those that are package members look like this: #rpm-qf/etc/aliases sendmail-8.11.6-15 Example 6 List the packages that have been installed on the system: #rpm-qa (...hundredsofpackagesarelisted...) To search for a subset with kernel kernel in the name, pipe the previous command to in the name, pipe the previous command to grep grep: #rpm-qa|grepkernel kernel-source-2.4.18-24.7.x kernel-pcmcia-cs-3.1.27-18 kernel-utils-2.4-7.4 kernel-doc-2.4.18-24.7.x kernel-2.4.18-24.7.x Verify mode Files from installed packages can be compared against their expected configuration from the RPM database by using rpm -V rpm -V.

Frequently used verify options --nofiles Ignores missing files.

--nomd5 Ignores MD5 checksum errors.

--nopgp Ignores PGP checking errors.On the ExamMake certain that you are aware of rpm rpm"s major operational modes and their commonly used mode-specific options. Knowledge of specific options will be necessary. Read through the rpm rpm manpage at least once. manpage at least once.

Chapter6.GNU and Unix Commands (Topic 103)

This Topic covers the essential skill of working interactively with Linux command-line utilities. Although it"s true that GUI tools are available to manage just about everything on a Linux system, a firm understanding of command-line utilities is required to better prepare you to work on any LSB-compliant Linux distribution.

The family of commands that are part of Linux and Unix systems have a long history. Individuals or groups that needed specific tools contributed many of the commands in the early days of Unix development. Those that were popular became part of the system and were accepted as default tools under the Unix umbrella. Today, Linux systems carry new and often more powerful GNU GNU versions of these historical commands, which are covered in LPI Topic 103.1. versions of these historical commands, which are covered in LPI Topic 103.1.

This LPI Topic has eight Objectives: Objective 1: Work on the Command Line This Objective states that a candidate should be able to interact with sh.e.l.ls and commands using the command line. This includes using single sh.e.l.l commands and one-line command sequences to perform basic tasks on the command line, using and modifying the sh.e.l.l environment, including defining, referencing, and exporting environment variables, using and editing command history, and invoking commands inside and outside the defined path. Weight: 4.

Objective 2: Process Text Streams Using Filters This Objective states that a candidate should be able to apply filters to text streams. Tasks include sending text files and output streams through text utility filters to modify the output, and using standard Unix commands found in the GNU coreutils coreutils package. Weight: 3. package. Weight: 3.

Objective 3: Perform Basic File Management This Objective states that candidates should be able to use the basic Linux commands to copy, move, and remove files and directories. Tasks include advanced file management operations such as copying multiple files recursively, removing directories recursively, and moving files that meet a wildcard pattern. The latter task includes using simple and advanced wildcard specifications to refer to files, as well as using find find to locate and act on files based on type, size, or time. This also includes usage of the commands to locate and act on files based on type, size, or time. This also includes usage of the commands tar, cpio tar, cpio, and dd dd for archival purposes. Weight: 4. for archival purposes. Weight: 4.

Objective 4: Use Streams, Pipes, and Redirects This Objective states that a candidate should be able to redirect streams and connect them to efficiently process textual data. Tasks include redirecting standard input, standard output, and standard error, piping the output of one command to the input of another command, using the output of one command as arguments to another command, and sending output to both stdout stdout and a file. Weight: 4. and a file. Weight: 4.

Objective 5: Create, Monitor, and Kill Processes This Objective states that a candidate should be able to manage processes. This includes knowing how to run jobs in the foreground and background, bring a job from the background to the foreground and vice versa, start a process that will run without being connected to a terminal, and signal a program to continue running after logout. Tasks also include monitoring active processes, selecting and sorting processes for display, sending signals to processes, and killing processes. Weight: 4.

Objective 6: Modify Process Execution Priorities This Objective states that a candidate should be able to manage process execution priorities. The tasks include running a program with higher or lower priority, determining the priority of a process, and changing the priority of a running process. Weight: 2.

Objective 7: Search Text Files Using Regular Expressions This Objective states that a candidate should be able to manipulate files and text data using regular expressions. This includes creating simple regular expressions containing several notational elements, as well as using regular expression tools to perform searches through a filesystem or file content. Weight: 2.

Objective 8: Perform Basic File Editing Operations Using vi This Objective states a candidate should be able to edit files using vi vi. This includes vi vi navigation, basic navigation, basic vi vi modes, and inserting, editing, deleting, copying, and finding text. Weight: 3. modes, and inserting, editing, deleting, copying, and finding text. Weight: 3.

The tools and concepts discussed here represent important and fundamental aspects of working with Linux and are essential for your success on Exam 101.

Objective 1: Work on the Command Line Every computer system requires a human interface component. For Linux system administration, a text interface is typically used. The system presents the administrator with a prompt prompt, which at its simplest is a single character such as $ $ or or # #. The prompt signifies that the system is ready to accept typed commands, which usually occupy one or more lines of text. This interface is generically called the command line command line.

It is the job of a program called a sh.e.l.l sh.e.l.l to provide the command prompt and to interpret commands. The sh.e.l.l provides an interface layer between the Linux kernel and the end user, which is how it gets its name. The original sh.e.l.l for Unix systems was written by Stephen Bourne and was called simply to provide the command prompt and to interpret commands. The sh.e.l.l provides an interface layer between the Linux kernel and the end user, which is how it gets its name. The original sh.e.l.l for Unix systems was written by Stephen Bourne and was called simply sh sh. The default Linux sh.e.l.l is bash bash, the Bourne-Again Sh.e.l.l Bourne-Again Sh.e.l.l, which is a GNU variant of sh sh. This chapter will not cover all aspects of the bash bash sh.e.l.l. At this point, we are primarily concerned with our interaction with sh.e.l.l. At this point, we are primarily concerned with our interaction with bash bash and the effective use of commands. and the effective use of commands.

The Interactive Sh.e.l.l The sh.e.l.l is a powerful programming environment, capable of automating nearly anything you can imagine on your Linux system. The sh.e.l.l is also your interactive interface to your system. When you first start a sh.e.l.l, it does some automated housekeeping to get ready for your use, and then presents a command prompt. The command prompt tells you that the sh.e.l.l is ready to accept commands from its standard input standard input device, which is usually the keyboard. Sh.e.l.ls can run standalone, as on a physical terminal, or within a window in a GUI environment. Whichever the case, their use is the same. device, which is usually the keyboard. Sh.e.l.ls can run standalone, as on a physical terminal, or within a window in a GUI environment. Whichever the case, their use is the same.

Sh.e.l.l variable basics During execution, bash bash maintains a set of maintains a set of sh.e.l.l variables sh.e.l.l variables that contain information important to the execution of the sh.e.l.l. Most of these variables are set when that contain information important to the execution of the sh.e.l.l. Most of these variables are set when bash bash starts, but they can be set manually at any time. starts, but they can be set manually at any time.

© 2024 www.topnovel.cc