Preface
Acknowledgments
Chapter0A“QuickStart”intotheUNIXOperatingSystem
0.1Introduction.
0.2TheStructureofaUNIXCommand
0.3LoggingOnandLoggingOff
0.3.1ConnectingviaaUNIXTerminal
0.3.2ConnectingviaPuTryonaMicrosoftWindowsMachine
0.3.3ConnectingviaaTelnetClientonaMicrosoftWindowsMachine
0.4FileMaintenanceCommandsandHelponUNIXCommandUsage
0.4.1FileandDirectoryStructure
0.4.2ViewingtheContentsofFiles
0.4.3Creating,Deleting,andManagingFiles
0.4.4Creating,Deleting,andManagingDirectories
0.4.5ObtainingHelpwiththemanCommand
0.4.6OtherMethodsofObtainingHelp
0.5UtilityCommands
0.5.1ExaminingSystemSetups
0.5.2PrintingandGeneralUtilityCommands
0.5.3CommunicationsCommand
0.6CommandAliases
Summary
Problems
Chapter1OverviewofOperatingSystems
1.1Introduction
1.2WhatIsanOperatingSystem?
1.3OperatingSystemServices
1.4CharacterversusGraphicalUserInterfaces
1.5TypesofOperatingSystems
1.6TheUNIXFamily
Summary
Problems
Chapter2BriefHistoryoftheUNIXOperatingSystem
2.1Introduction
22TheDevelopmentoftheUNIXOperatingSystem
2.2.1Beginnings
2.22ResearchOperatingSystem
2.2.3AT&TSystemV
2.2.4BerkeleySoftwareDistributions
2.2.5TheHistoryofShells
2.2.6CurrentandFutureDevelopments-LINUX
2.3VariationsinUNIXSystems
2.4WebResources
Summary
Problems
Chapter3GettingStarted
3.iIntroduction
3.2ComputerSystemSoftware
3.2.1Main/PrimaryStorage
3.2.2CentralProcessingUnit(CPU)
3.2.3Disk
3.2.4Bus
3.2.5I/ODevices
3.3UNIXSoftwareArchitecture
3.3.1DeviceDriverLayer
3.3.2TheUNIXKernel
3.3.3TheSystemCallInterface
3.3.4LanguageLibraries
3.3.5UNIXShell
3.3.6Applications
3.4LoggingOnandLoggingOff
3.5CorrectingMistakes
3.6SomeImportantSystemSetups
Summary
Problems
Chapter4UNIXShells
4.1Introduction
4.2VariousUNIXShells
4.2.1ShellPrograms
4.2.2WhichShellSuitsYourNeeds?
4.2.3WaystoChangeYourShell
4.2.4ShellStart-upFilesandEnvironmentVariables
4.3ShellMetacharacters
Summary
Problems
Chapter5EditingTextFiles
5.1Introduction
5.2HowtoDoShortandSimpleEditsbyUsingthepieoEditor
5.2.1CreatingtheTextofanE-mailMessagewiththepi~oTextEditor
5.2.2HowtoStart,SaveaFile,andEdit
5.2.3GeneralKeystrokeCommandsandCursorMovement
5.2.4Cutting/PastingandSearching
5.3ObtainingMoreControlbyUsingtheviEditor
5.3.1ShellScriptFile
5.3.2HowtoStart,SaveaFile,andExit
5.3.3TheFormatofaviCommandandtheModesofOperation
5.3.4CursorMovementandEditingCommands
5.3.5YankandPut(CopyandPaste)andSubstitute(SearchandReplace)
5.3.6SettingtheviEnvironment
5.3.7ExecutingShellCommandsfromWithinvi
5.4GettingMaximumControlUsingtheemaesEditor
5.4.1emacsScreenDisplay,GeneralemacsConceptsandFeatures
5.4.2DOSAliasesExample
5.4.3HowtoStart,SaveaFile,andExit
5.4.4CursorMovementandEditingCommands
5.4.5KeyboardMacros
5.4.6CutorCopyandPasteandSearchandReplace
5.4.7HowtoDoPurelyGraphicalEditingwithGNUemacs
5.4.8EditingDataFiles
5.4.9HowtoStart,SaveaFile,andExit
5.4.10emacsGraphicalMenus
5.4.11CreatingandEditingCPrograms
5.4.12WorkinginMultipleBuffers
Summary
Problems
Chapter6ElectronicMail
6.1Introduction
6.1.1E-mailProtocols
6.1.2E-mailFeatures
6.2HowtoUsetheUNIXmailCommandEffectively
6.3GraphicalE-mailwithKmail
6.3.1StartingoutwithKmail
6.3.2ReadingE-mailinKmail
6.3.3SendingE-mailinKmail
6.3.4SimpleFilteringofE-mailintoFolders
6.4pine-AnotherFull-ScreenDisplayE-mailSystem
6.4.1SendinganE-mailMessagebyUsingpinewithanAttachmentCreatedinvi
6.4.2SendingE-mailwithpine
6.4.3ReadingE-mailwithpine
6.4.4DisposingofE-mailinFoldersinpine
6.4.5UsingthepineAddressBook
6.4.6ASummaryofpineCommands
Summary
Problems
Chapter7FilesandFileSystemStracture
7.1Introduction
7.2TheUNIXFileConcept
7.3TypesofFiles
7.3.1Simple/OrdinaryFile
7.3.2Directory
7.3.3LinkFile
7.3.4Special(Device)File
7.3.5NamedPipe(FIFO)
7.3.6Socket
7.4FileSystemStructure
7.4.1FileSystemOrganization
7.4.2HomeandPresentWorkingDirectories
7.4.3Pathnames:AbsoluteandRelative
7.4.4SomeStandardDirectoriesandFiles
7.5NavigatingtheFileStructure
7.5.1DeterminingtheAbsolutePathnameforYourHomeDirectory
7.5.2BrowsingtheFileSystem
7.5.3CreatingFiles
7.5.4CreatingandRemovingDirectories
7.5.5DeterminingFileAttributes
7.5.6DeterminingtheTypeofaFile'sContents
7.6FileRepresentationandStorageinUNIX
7.7StandardFilesandFileDescriptors
7.8EndofFile(eof)Marker
Summary
Problems
Chapter8FileSecurity
8.1Introduction
8.2Password-BasedProtection
8.3Encryption-BasedProtection
8.4ProtectionBasedonAccessPermission
8.4.1TypesofUsers
8.4.2TypesofFileOperations/AccessPermissions
8.4.3AccessPermissionsforDirectories
8.5DeterminingandChangingFileAccessPrivileges
8.5.1DeterminingFileAccessPrivileges
8.5.2ChangingFileAccessPrivileges
8.5.3AccessPrivilegesforDirectories
8.5.4DefaultFileAccessPrivileges
8.6SpecialAccessBits
8.6.1TheSet-User-ID(SUID)Bit
8.6.2TheSet-Group-ID(SGID)Bit
8.6.3TheStickyBit
Summary
Problems
Chapter9BasicFileProcessing
9.1Introduction
9.2ViewingContentsofTextFiles
9.2.1ViewingCompleteFiles
9.2.2ViewingFilesOnePageataTime
9.2.3ViewingtheHeadorTailofaFile
9.3Copying,Moving,andRemovingFiles
9.3.1CopyingFiles
9.3.2MovingFiles
9.3.3Removing/DeletingFiles
9.3.4DeterminingFileSize
9.4AppendingtoFiles
9.5CombiningFiles
9.6ComparingFiles
9.7RemovingRepeatedLines
9.8PrintingFilesandControllingPrintJobs
9.8.1UNIXMechanismforPrintingFiles
9.8.2PrintingFiles
9.8.3FindingtheStatusofYourPrintRequests
9.8.4CancelingYourPrintJobs
Summary
Problems
Chapter10AdvancedFileProcessing
10.1Introduction
10.2RegularExpressions
10.3CompressingFiles
10.3.1ThecompressCommand
10.3.2TheuncompressCommand
10.3.3ThegzipCommand
10.3.4ThegunzipCommand
10.3.5ThegzexeCommand
10.3.6ThezcatCommand
10.3.7ThepackandunpackCommands
10.4SortingFiles
10.5SearchingforCommandsandFiles
10.6SearchingFiles
10.7CuttingandPasting
10.8EncodingandDecoding
10.9FileEncrypfonandDecryprion
Summary
Problems
Chapter11FileSharing
11.1Introduction..
11.2DuplicateSharedFiles
11.3CommonLoginforMembersofaTeam
11.4SettingAppropriateAccessPermissionsonSharedFile
11.5CommonGroupforMembersoraTeam
11.6FileSharingviaLinks
11.6.1HardLinks
11.6.2DrawbacksofHardLinks
11.6.3Soft/SymbolicLinks
11.6.4ProsandConsofSymbolicLinks
Summary
Problems
Chapter12RedirectionandPiping
12.1Introduction
12.2StandardFiles
12.3InputRedirection
12.4OutputRedirection
12.5CombiningInputandOutputRedirection
12.6I/ORedirectionwithFileDescriptors
12.7RedirectingStandardError
12.8RedirectingstdoutandstderrinOneCommand
12.9Redirectingstdin,stdout,andstderrinOneCommand
12.10RedirectingwithoutOverwritingFileContents(Appending)
12.11UNIXPipes
12.12RedirectionandPipingCombined
12.13ErrorandRedirectionintheCShell
12.14RecapofI/OandErrorRedirection
12.15FIFOS
Summary
Problems
Chapter13Processes
13.1Introduction
13.2RunningMultipleProcessesSimultaneously
13.3UNIXProcessStates
13.4ExecutionofshellCommands
13.5ProcessAttributes
13.6ProcessandJobControl
13.6.1ForegroundandBackgroundProcessandRelatedCommands
13.6.2UNIXDaemons
13.6.3SequentialandParalldExecutionofCommands
13.6.4AbnormalTerminationofCommandsandProcesses
13.7ProcessHierarchyinUNIX
Summary
Problems
Chapter14NetworkingandInteraetworking
14.1Introduction
14.2ComputerNetworksandIntemetworks
14.3TheReasonsforComputerNetworksandIntemetworks
14.4NetworkModels
14.5TheTCP/IPProtocolSuite
14.5.1TheTCPandUDP
14.5.2RoutingofApplicationData-TheIntemetProtocol(IP)
14.5.3IPv4AddressesinDottedDecimalNotation
14.5.4SymbolicNames
14.5.5TranslatingNamestoIPAddresses-TheDomainNameSystem
14.5.6RequestForComments(RFCs)
14.6InternetServicesandProtocols
14.7TheClient-ServerSoftwareModel
14.8ApplicationSoftware
14.8.1DisplayingtheHostName
14.8.2DisplayingListofUsersUsingHostsonaNetwork
14.8.3DisplayingtheStatusofHostsonaNetwork
14.8.4TestingaNetworkConnection
14.8.5DisplayingInformationAboutUsers
14.8.6RemoteLogin
14.8.7RemoteCommandExecution
14.8.8FileTransfer
14.8.9RemoteCopy
14.8.10SecureShellandRelatedCommands
14.8.11InteractiveChat
14.8.12TracingtheRoutefromOneSitetoAnotherSite
14.9ImportantIntemetOrganizations
14.10WebResources
Summary
Problems
Chapter15IntroductoryBourneShellProgramming
15.1Introduction
15.2RunningaBourneShellScript
15.3ShellVariablesandRelatedCommands
15.3.1ReadingandWritingShellVariables
15.3.2CommandSubstitution
15.3.3ExportingEnvironment
15.3.4ResettingVariables
15.3.5CreatingRead-OnlyUser-DefinedVariables
15.3.6ReadingfromStandardInput
15.4PassingArgumentstoShellScripts
15.5CommentsandProgramHeaders
15.6ProgramControlFlowCommands
15.6.1Theif-then-elif-else-fiStatement
15.6.2TheforStatement
15.6.3ThewhileStatement
15.6.4TheuntilStatement
15.6.5ThebreakandcontinueCommands
15.6.6ThecaseStatement
Summary
Problems
Chapter16AdvancedBourneShellProgramming
16.1Introduction
162NumericDataProcessing
16.3TheHereDocument
16.4Interrupt(Signal)Processing
16.5TheexecCommandandFileI/O
16.5.1ExecutionofaCommandWithoutCreatingaNewProcess
16.5.2FileI/OviatheexecCommand
16.6FunctionsintheBourneShell
16.6.1TheReasonsforFunctions
16.6.2FunctionDefinition
16.6.3FunctionInvocation/Call
16.7DebuggingShellPrograms
Summary
Problems
Chapter17IntroductoryCShellProgramming
17.1Introduction
17.2RunningaCShellScript
17.3ShellVariablesandRelatedCommands
17.3.1ReadingandWritingShellVariables
17.3.2CommandSubstitution
17.3.3ExportingEnvironment
17.3.4ResettingVariables
17.3.5ReadingfiomStandardInput
17.4PassingArgumentstoShellScripts
17.5CommentsandProgramHeaders
17.6ProgramControlFlowCommands
17.6.1Theif-then-else-endifStatement
17.6.2TheforeachStatement
17.6.3ThewhileStatement
17.6.4Thebreak,continue,andgotocommands
17.6.5TheswitchStatement
Summary
Problems
Chapter18AdvancedCShellProgramming
18.1Introduction
18.2NumericDataProcessing
18.3ArrayProcessing
18.4TheHereDocument
18.5Interrupt(Signal)Processing
18.6DebuggingShellPrograms
Summary
Problems
Chapter19FileSystemBackup
19.1Introduction
19.2ArchivingandRestoringFilesviatar
19.2.1ArchivingFiles
19.2.2RestoringArchivedFiles
192.3CopyingDirectoryHierarchies
19.3SoftwareDistributioninthetarFormat
Summary
Problems
Chapter20UNIXToolsforSoftwareDevelopment
20.1Introduction
20.2ComputerProgrammingLanguages
20.3TheCompilationProcess
20.4TheSoftwareEngineeringLifeCycle
20.5ProgramGenerationTools
20.5.1GeneratingCSourceFiles
20.5.2IndentingCSourceCode
20.5.3CompilingC,C++,andJAVAPrograms
20.5.4HandlingModule-BasedCSoftware
20.5.5BuildingObjectFilesintoaLibrary
20.5.6WorkingwithLibraries
20.5.7VersionControl
20.6StaticAnalysisTools
20.6.1VerifyingCodeforPortability
20.6.2SourceCodeMetrics
20.7DynamicAnalysisTools
20.7.1TracingProgramExecution
20.7.2SourceCodeDebugging
20.7.3Run-TimePerformance
20.8WebResources
Summary
Problems
Chapter21UNIXGUIBasics
21.1Introduction
21.2BasicsofXfree86
21.2.1WhatIsXfree86SimilarTo,andWhatAdvantage(s)DoesItHave?
21.2.2TheKeyComponentsofInteractivity-EventsandRequests
21.2.3TheRoleofaWindowManagerintheUserInterface,andfvwm2
21.2.4CustomizingXFree86andfvwm2
21.3TheKDEDesktopManager
21.3.1LoggingInandLoggingOut
21.3.2TheKDEPanel
21.3.3NewPackageInstallation
21.3.4KWMWindowManager
21.3.5TheKDEControlCenter
21.3.6FileManagementwithKonqueror
21.4TheMacOSXAquaGUI
21.4.1TheAppearanceoftheMacDesktop
21.4.2TheDock
21.4.3CustomizingtheDock
21.4.4TheFinkPackageManagerforInstallingUNIXApplications
21.4.5SystemPreferenceChangesandtheTerminalInspector
21.4.6TheFinderPreferences
21.4.7UsingtheOSXFindertoSearchtheEntireFileSystem
21.5WebResources
Summary
Problems...
Appendix:CommandDictionary
Glossary
Index