Muutke küpsiste eelistusi

E-raamat: Linux Yourself: Concept and Programming

(CCET, Panjab University)
  • Formaat: 474 pages
  • Ilmumisaeg: 30-Aug-2021
  • Kirjastus: CRC Press
  • Keel: eng
  • ISBN-13: 9780429820526
Teised raamatud teemal:
  • Formaat - PDF+DRM
  • Hind: 68,89 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 474 pages
  • Ilmumisaeg: 30-Aug-2021
  • Kirjastus: CRC Press
  • Keel: eng
  • ISBN-13: 9780429820526
Teised raamatud teemal:

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Numerous people still believe that learning and getting expertise in Linux is not easy and only a professional can understand how a Linux system works. Now days, Linux has gained much popularity both at home as well at workplace. This book, Linux Yourself: Concept & Programming , aims to help and guide the people of all ages to offer a deep insight into the Linux concept, its usage, programming, administration and several other connected topics in an easy approach This book can also be used as textbook for undergraduate/ postgraduate engineering students and others who have passion to gain expertise in field of Computer Science /Information Technology as Linux developer or administrator.

The word ‘yourself in the title refers to the fact that the content of this book is designed in such a way that it gives a good beginning to understand Linux concept to lead yourself as good Linux professional in various platform. There are no pre-requisites to understand the contents from this book and a person with basic knowledge of C programming language will be able to grasp the concept with ease. With this mindset, all the topics are presented in such a way that it should be simple, clear explanation and straightforward with many examples and figures.

Linux is distinguished by its own power and flexibility, along with open source accessibility and community as compared to other operating system like Windows, MacOS, and others. I am of the sincere view that readers of all levels will find this book worthwhile and will be able to learn or sharpen their skills. Some Key features of this book is summarized below;

  • Provide a deep conceptual learning and expertise in programming skill for any user about Linux, UNIX and their features.
  • Elaborate GUI and CUI interface including Linux Commands, Various Shells and Vi Editors.
  • Detailed briefing of File management and File systems to understand Linux system architecture easily.
  • Promotes hands-on practices of regular expressions and advance filters like sed & awk through many helpful examples.
  • Described the insight view of, Shell Scripting, Process, thread, system calls, signal, Inter process communication, X- window system and many more aspects to understand the system programming in Linux environment.
  • Provide the detailed description of Linux administration by elaborating LILO, GRUB, RPM based package and program installation and compilation that can be very helpfull in managing the Linux system in a very efficient way.
  • Described some famous Linux distributions to understand the similarity among all popular available Linux and others features as case studies.


This book aims to provide a deep insight into the concept of Linux, its usage, programming and several other connected topics. The book promotes hands-on practices of regular expressions and filters like sed and awk through many concretely executed examples.
Preface xvii
Acknowledgments xxiii
Author xxv
Section I Linux Concept
1 Getting Started
3(32)
1.1 Getting Started with OS
3(1)
1.2 A Brief Overview of Unix and Linux
4(1)
1.3 Unix/Linux History
5(3)
1.4 The GNU Project
8(2)
1.4.1 Open-Source Software
9(1)
1.5 Features and Advantages of Linux
10(2)
1.5.1 Advantages
11(1)
1.6 Linux Distributions
12(1)
1.7 Installation Procedure and Issues
12(3)
1.7.1 Linux Installation
12(1)
1.7.2 Key Issues to Install Linux
13(1)
1.7.3 Key Steps of Linux Installation
14(1)
1.8 Linux Architecture
15(1)
1.9 Shell and Its Features
16(2)
1.10 An Overview of Kernels
18(3)
1.10.1 Kernel Module
19(1)
1.10.2 Linux Versions
20(1)
1.11 The GNOME and KDE Desktops
21(1)
1.11.1 The Window Manager for GUI
21(1)
1.11.2 GNOME Desktop
21(1)
1.11.3 KDE Desktop
22(1)
1.12 Boot Loaders
22(2)
1.12.1 BIOS
23(1)
1.13 Linux Interface: GUI and CUI
24(2)
1.14 Login and Logout
26(4)
1.14.1 Login
26(1)
1.14.2 Logout
27(2)
1.14.3 Switching Users
29(1)
1.14.4 Shutdown
29(1)
1.15 Start-Up Scripts and Run Levels
30(1)
1.15.1 Start-Up Script
30(1)
1.15.2 Run Levels (Mit, inittab, and rc Files)
30(1)
1.16 Summary
31(1)
1.17 Review Exercises
31(2)
References
33(2)
2 Linux Commands
35(20)
2.1 Command Syntax, Options, and Arguments
36(2)
2.2 Internal and External Commands
38(1)
2.3 Command Location and User Commands
39(5)
2.3.1 User Commands
44(1)
2.3.2 Universal Commands
44(1)
2.3.3 System Commands
44(1)
2.4 Communication and Other Commands
44(7)
2.7 Summary
51(1)
2.8 Review Exercises
52(1)
References
53(2)
3 The Shell
55(34)
3.1 What is a Shell?
55(1)
3.2 Why Use a Shell in Linux?
56(1)
3.3 The Login Shell (Shell Prompt)
56(1)
3.4 Command Line Structure of Shells
57(1)
3.5 sh Command
58(1)
3.6 Basics and Interpretive Cycle of Shells
59(1)
3.7 Starting a Terminal Shell
60(1)
3.8 Shell Variables: User-Defined and Predefined
61(7)
3.8.1 Global Variables
61(3)
3.8.2 Local Variables
64(4)
3.8.2.1 Variable "Type"
64(1)
3.8.2.2 Creating and Setting User-Defined Variables: =, $, set(export), unset
64(2)
3.8.2.3 How to Set a Local variable into a Global Environment Variable
66(1)
3.8.2.4 How to Unset a Local Variable from a Global Environment Variable
67(1)
3.8.2.5 How to Set the PATH Environment Variable
67(1)
3.9 Various Shell Types
68(3)
3.9.1 Bourne Shell (sh)
69(1)
3.9.2 Bourne Again Shell (bash)
69(2)
3.10 Command Execution
71(5)
3.10.1 Sequence Commands
72(1)
3.10.2 Grouped Commands
73(1)
3.10.3 Chained Commands
73(1)
3.10.4 Condition Commands
74(2)
3.11 Standard Input/Output Redirection
76(2)
3.12 Pipes
78(1)
3.13 tee Command
78(1)
3.14 xargs Command
79(1)
3.15 Backslash (\) and Quotes
80(2)
3.16 Building Shell Commands
82(1)
3.17 Shell Scripts
83(1)
3.18 Summary
84(1)
3.19 Review Exercises
85(2)
References
87(2)
4 vi Editor
89(30)
4.1 Introduction
89(2)
4.1.1 Invoke vi
89(2)
4.2 Modes in vi Editor
91(2)
4.3 Start, Edit, and Close Files
93(2)
4.3.1 Editing
94(1)
4.3.2 Saving Your Work and Quitting
94(1)
4.3.3 Open and Recover File from a Crash (:recover and -r)
94(1)
4.4 Various vi Commands
95(6)
4.4.1 Moving the Cursor
96(1)
4.4.2 Inserting or Appending Text
96(1)
4.4.3 Replacing Text
97(1)
4.4.4 Undoing Mistakes
97(1)
4.4.5 Screen Navigation
98(1)
4.4.6 Deleting Text
98(2)
4.4.7 Cutting, Pasting, and Copying Text
100(1)
4.5 Global Replacement
101(4)
4.6 Command Combinations
105(2)
4.7 vi Programming
107(3)
4.8 vim (vi Improved) and nvi (New vi)
110(2)
4.9 GNOME Editor: gedit
112(1)
4.9.1 Key Features of gedit
112(1)
4.10 Emacs Editor and Commands
113(3)
4.10.1 Starting and Quitting emacs
114(2)
4.11 Summary
116(1)
4.12 Review Exercises
116(2)
References
118(1)
5 Regular Expressions and Filters
119(30)
5.1 Regular Expressions
119(1)
5.1.1 What's the Variance between BRE and ERE?
120(1)
5.1.2 Meaning of Various Characters and Metacharacters in Regular Expressions
120(1)
5.2 grep Family
120(7)
5.2.1 grep Associated with Exit Status
123(4)
5.3 Other Regular Filters (with Examples)
127(17)
5.3.1 cat: Concatenate Files and Display the File Contents
127(2)
5.3.2 The comm Command: to Compare Two Sorted Files Line by Line
129(1)
5.3.3 The cut Command: Remove Sections from Each Line of Files
130(1)
5.3.4 The expand Command: to Convert Tabs into Spaces
130(1)
5.3.5 The compress Command: to Compress Data
131(1)
5.3.6 The fold Command: to Break Each Line of Input Text to Fit in Specified Line Width
131(1)
5.3.7 The head Command: to Display the Starting Part of File
132(1)
5.3.8 The more Command: File Checking Filter for Control Viewing
133(1)
5.3.9 The less Command: to Scroll and View Text
133(1)
5.3.10 The nl Command: to Number the Lines in a File
134(2)
5.3.11 Perl: Practical Extraction and Report Language
136(1)
5.3.12 The pr Command: Formatting Text Files for Printing
136(1)
5.3.13 The split Command: to Break a File into Parts
136(1)
5.3.14 The strings Command: to Print the Strings of Printable Characters in Files
137(1)
5.3.15 The tail Command: to Display the Ending Part of a File
138(1)
5.3.16 The tac Command: to Concatenate and Print Files in Reverse
139(1)
5.3.17 The tee Command: to Duplicate Standard Input
140(1)
5.3.18 The tr Command: to Translate Characters
141(1)
5.3.19 The uniq Command: to Report or Omit Repeated Lines
141(1)
5.3.20 The sort Command: to Sort Lines of a Text File
142(1)
5.3.21 The we Command: to Count Lines, Words, and Characters
142(1)
5.3.22 The zcat Command: to Display Contents of Compressed Files
143(1)
5.4 Summary
144(1)
5.5 Review Exercises
145(3)
References
148(1)
6 Advanced Filters: sed
149(26)
6.1 Pattern-Matching Programming Language
149(1)
6.2 sed Overview
150(1)
6.3 Basic Syntax and Addressing of sed
151(2)
6.4 Writing sed Scripts
153(1)
6.5 Basic sed Commands
154(12)
6.5.1 Substitute Patterns
156(1)
6.5.2 Replacement Characters
157(1)
6.5.3 Append, Insert, and Change
158(4)
6.5.4 The Delete Command and the Use of the Exclamation Sign (!)
162(3)
6.5.5 The Transform Command
165(1)
6.5.6 Pattern and Hold Spaces
165(1)
6.5.7 Quit
166(1)
6.6 Advanced sed Commands
166(4)
6.7 sed Advantages
170(1)
6.8 sed Drawbacks
171(1)
6.9 Summary
171(1)
6.10 Review Exercises
172(2)
References
174(1)
7 Advanced Filters: awk
175(32)
7.1 Awk Introduction and Concept
175(1)
7.2 Awk Features over Sed
176(1)
7.3 Structure of an AWK Program
177(1)
7.4 Writing and Executing AWK Program
178(2)
7.4.1 To Make Executable awk Programs
179(1)
7.4.2 Standard Options with awk
179(1)
7.5 Awk Patterns and Actions
180(2)
7.5.1 Pattern
180(1)
7.5.2 Actions
181(1)
7.6 BEGIN and END Patterns
182(1)
7.7 Awk Variables
182(1)
7.8 Records and Fields
183(2)
7.9 Simple Output from AWK
185(4)
7.9.1 The print Statement
185(4)
7.10 Fancier Output
189(2)
7.10.1 Output into Files
191(1)
7.11 Arithmetic and Variables
191(3)
7.11.1 Constant
191(1)
7.11.2 Variable
192(2)
7.12 Computing with AWK
194(2)
7.13 Handling Text
196(1)
7.14 String Manipulation
197(1)
7.15 Array and Operators
198(2)
7.15.1 Multidimensional Arrays
199(1)
7.15.2 Operators in awk
200(1)
7.16 Built-in Functions
200(2)
7.17 Summary
202(1)
7.18 Review Exercises
203(2)
References
205(2)
8 Shell Scripting
207(38)
8.1 Shell Script
207(1)
8.2 Creating a Script
208(1)
8.3 Making a Script Executable: chmod
209(2)
8.3.1 Path of Script File
210(1)
8.4 Interactive Script: Read
211(2)
8.5 Shell Variable
213(5)
8.5.1 Positional Parameter Variable: Command-Line Arguments
213(3)
8.5.2 Environment Variable
216(2)
8.6 Shell Arithmetic
218(4)
8.6.1 Arithmetic Operator
221(1)
8.6.2 Logical Operator
222(1)
8.6.3 Conditional Operator
222(1)
8.7 Control Structure
222(8)
8.7.1 if Statement
223(1)
8.7.2 if then else Statement
224(1)
8.7.3 while Statement
225(1)
8.7.4 do-while Statement
225(1)
8.7.5 Loop (for) Statement
225(3)
8.7.6 switch/case Statement
228(2)
8.8 String Operators
230(1)
8.9 Functions
230(4)
8.10 Advanced Shell Scripting
234(4)
8.10.1 Array
234(3)
8.10.2 Test command
237(1)
8.11 Examples of Shell Scripting Program
238(2)
8.12 Summary
240(1)
8.13 Review Exercises
241(2)
References
243(2)
9 Linux System Administration
245(36)
9.1 Checking Space
245(2)
9.2 Disk Usage Limit
247(1)
9.3 Kernel Administration
248(3)
9.3.1 Listing Kernel Modules with lsmod
250(1)
9.4 Compiling and Installing
251(4)
9.5 Modifying
255(1)
9.6 LILO and GRUB
256(4)
9.6.1 LInux LOader
256(2)
9.6.2 GRand Unified Boot loader
258(2)
9.7 Root User (add sudo)
260(3)
9.8 Additional Packages
263(4)
9.8.1 Red Hat Package Manager
264(3)
9.8.2 Installation and Uninstallation
267(1)
9.9 GNOME and KDE
267(2)
9.10 Installing and Managing Software on RPM-Based Systems
269(1)
9.11 Installing Programs from Source Code
269(3)
9.12 Network Management: telnet, rlogin, and rdesktop Commands
272(3)
9.12.1 Connect Windows desktop from Linux system
275(1)
9.13 Summary
275(1)
9.14 Review Exercises
276(1)
References
277(4)
Section II Linux Programming
10 File Management
281(40)
10.1 Filename and Type
281(2)
10.1.1 Hidden Filenames
283(1)
10.1.2 File Type
283(1)
10.2 Linux File System Architecture
283(1)
10.3 File and Directory Structure
284(4)
10.3.1 Root (/) Directory
284(1)
10.3.2 Home Directories
285(1)
10.3.3 Pathnames
286(1)
10.3.4 System Directories
286(2)
10.4 Inodes
288(1)
10.5 File Operation
288(11)
10.5.1 Creating files: touch, cat
289(2)
10.5.2 Listing Files: ls
291(1)
10.5.3 Displaying Files: cat, more, head, and less:
292(2)
10.5.4 Printing Files: lpr, lpq, and lprm
294(2)
10.5.5 Searching and Linking File: find, In
296(3)
10.6 Directories
299(7)
10.6.1 Special Directories
299(1)
10.6.2 Paths and Pathnames: Absolute, Relative
300(1)
10.6.3 Creating and Deleting Directories mkdir, rmdir
300(2)
10.6.4 Displaying Directory Contents: is
302(1)
10.6.5 Moving through Directories cd
303(1)
10.6.6 Locate Directory: pwd
303(1)
10.6.7 Scanning Directories: opendir, readdir, telldir, seekdir, and closedir
304(2)
10.7 Archiving and Compressing Files
306(5)
10.7.1 Archiving and Compressing Files with File Roller
307(1)
10.7.2 Archive Files and Devices: tar
307(1)
10.7.3 File Compression: gzip, bzip2, and zip
308(3)
10.8 File and Directory Attributes: is -1,1s -d
311(1)
10.9 File Permissions: chmod, Chown, chdir, getcwd, unlink, link, symlink
312(6)
10.10 Summary
318(1)
10.11 Review Exercises
319(1)
References
320(1)
11 Linux File Systems
321(26)
11.1 Introduction
321(1)
11.2 Disk Partitioning
322(2)
11.3 Disk Partition into File System
324(1)
11.4 File System Layout
325(2)
11.5 Managing File System
327(1)
11.5.1 File system Types
327(1)
11.6 Mounting File Systems
328(7)
11.6.1 Automounting Devices
331(1)
11.6.2 Creating File System
332(1)
11.6.3 Checking and Repairing File systems: fsck
333(2)
11.7 Errors: strerror, perror
335(1)
11.8 The /proc File System
336(2)
11.9 The Linux File System: ext, ext2, ext3, ext4, Journaling
338(2)
11.10 Logical Volume Management (LVM)
340(1)
11.11 Virtual File System (VFS)
341(1)
11.12 File System Conversion
342(2)
11.12.1 Converting ext2 to ext3
343(1)
11.12.2 Converting ext2 to ext4
343(1)
11.12.3 Converting ext3 to ext4
344(1)
11.13 Summary
344(1)
11.14 Review Exercise
345(1)
References
346(1)
12 Linux System Programming
347(32)
12.1 Getting Started
347(4)
12.1.1 Editing with vim
347(2)
12.1.2 Program Compilation with gcc/g++ Compiler
349(1)
12.1.3 Automate Program Execution with GNU Make Utility
349(2)
12.1.4 GNU Debugger (GDB)
351(1)
12.2 File I/O
351(1)
12.3 Processes
352(12)
12.3.1 Listing Processes, PID, PPID
352(3)
12.3.2 Process State
355(1)
12.3.3 Process Context
356(1)
12.3.4 Creation of New Process: fork(), vfork(), execv(), system()
356(3)
12.3.5 Terminating Process
359(1)
12.3.6 Process Priorities
360(1)
12.3.7 Zombie and Daemon Process
361(3)
12.4 Threads
364(6)
12.4.1 Thread Creation
364(1)
12.4.2 Thread Kill or Termination
365(1)
12.4.3 Thread Data Structure
366(1)
12.4.4 Synchronization, Critical Section, and Semaphore
366(3)
12.4.5 Demarcation between Process and Thread
369(1)
12.5 Device File
370(1)
12.6 Signals
371(2)
12.7 Various System Calls
373(1)
12.8 POSIX
374(1)
12.9 Summary
375(1)
12.10 Review Exercise
376(2)
References
378(1)
13 Linux Inter-Process Communications
379(26)
13.1 Basic Concept
379(2)
13.2 Shared Memory
381(5)
13.2.1 System V Shared Memory API
382(2)
13.2.2 POSIX Shared Memory APIs
384(2)
13.3 Message Queue
386(6)
13.3.1 System V Message Queues
387(2)
13.3.2 POSIX Message Queues
389(3)
13.4 Pipes: Named and Unnamed
392(3)
13.4.1 Creating pipes in C
393(1)
13.4.2 named pipes : FIFO
394(1)
13.5 Sockets
395(6)
13.6 Summary
401(1)
13.7 Review Exercises
402(2)
References
404(1)
14 X Window System Overview and Programming
405(24)
14.1 X window System and Its Customization
405(3)
14.1.1 X Client, X Server, and X-Protocol
406(2)
14.1.2 Xlib
408(1)
14.2 X Toolkits
408(3)
14.2.1 Window Manager: Motif
410(1)
14.3 Creating and Managing A Window
411(2)
14.3.1 Basic Window Concept
411(1)
14.3.2 Window Operation
412(1)
14.4 Starting and Stopping X
413(1)
14.5 X Architecture and Application
414(1)
14.5.1 Client and Server Architecture
414(1)
14.6 The X Programming Model
415(6)
14.6.1 Xlib Overview
417(1)
14.6.2 Xlib Usage
417(3)
14.6.3 Event-Driven Applications
420(1)
14.7 Desktop Environment
421(2)
14.7.1 KDE
422(1)
14.7.2 GNOME
422(1)
14.8 Upgrading X Window Tools
423(1)
14.9 Summary
423(1)
14.10 Review Exercise
424(1)
References
425(4)
Section III Case Studies
15 Linux Distributions (Linux Distro)
429(12)
15.1 Getting Started with Various Linux Distributions
429(2)
15.1.1 Why So Many Distros?
430(1)
15.2 Red Hat Enterprise Linux /Fedora
431(3)
15.3 Debian GNU/Linux:
434(1)
15.4 Ubuntu Linux:
435(3)
15.5 Ethical aspects of using Linux:
438(1)
References
438(3)
Index 441
Dr. Sunil K. Singh, is working as Professor & Head, Department of Computer Science & Engineering at Chandigarh College of Engineering and Technology (CCET- Degree Wing), Panjab University, Sector-26, Chandigarh. He did his graduation (Bachelor of Engineering), post-graduation (Master of Engineering), Doctor of Philosophy (Ph.D.) in computer science & engineering and have a great passion in both teaching and research. Dr Singh expertise areas are High Performance Computing, Reconfigurable computing, Unix/Linux, Computer System Architecture, Embedded system and Computer Network. He has published more than 50 research papers in reputed International/National Journals and Conferences. He is a reviewer of several renowned research Journals and member of professional bodies like ACM, IE, IDES, LMISTE, ACEEE, IACSIT, IAENG and others. He also contributed in Eminent Speaker Program (ESP) of ACM India.