Muutke küpsiste eelistusi

E-raamat: Beginning Modern Unix: Learn to Live Comfortably in a Modern Unix Environment

  • Formaat: EPUB+DRM
  • Ilmumisaeg: 10-Aug-2018
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484235287
  • Formaat - EPUB+DRM
  • Hind: 61,74 €*
  • * 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: EPUB+DRM
  • Ilmumisaeg: 10-Aug-2018
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484235287

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. 

Discover how to leverage modern Unix even if youve never worked with Unix before. This book presents everything in conceptual terms that you can understand, rather than tips to be committed raw to memory.

You will learn everyday tasks ranging from basic system administrationpartitioning and mounting filesystems, software installation, network configuration, working from the command line) to Bourne shell scripting, using graphical applications, as well as fanciful things  such as emulation layers for Windows and Linux and virtualization with VirtualBox.

Its now 50 years since the creation of Unix but it is still growing. As Unix now moves to everyone's OS (open-source FreeBSD/Linux), it is the perfect time to start your journey with Beginning Modern Unix as your guide. 

What You'll Learn













Live comfortably in a modern Unix environment, both on the command-line and in the graphical world. 

Choose the right hardware for Unix

Work with Unix in real world settings

Develop Unix applications

Review advanced techniques in Shell scripting







Who This Book Is For





Everyone who uses a computer those who intend to migrate to Unix as well as those who are worried about migrating to Unix, perhaps fearing it is a pure command-line or difficult world.
About the Author xvii
About the Technical Reviewer xix
Preface xxi
Part 1: Preparing for Part I 1(86)
Chapter 1 Editing Text with Vim and Joe
5(30)
1.1 A Brief History of Unix Text Editors
5(1)
1.2 Important Terms
6(5)
1.2.1 Line
6(1)
1.2.2 Regular Expressions: What You Need To Know Right Now
7(4)
1.2.3 Remaining Terms of Endearment
11(1)
1.3 Vi IMproved (Vim)
11(18)
1.3.1 Moving Around in the Buffer
16(1)
1.3.2 Registers and Clipboard Integration
17(1)
1.3.3 Marks
18(1)
1.3.4 Find and Replace
18(1)
1.3.5 Visual Selection Modes
19(2)
1.3.6 Recording and Playing Macros
21(3)
1.3.7 Vim Utilities
24(1)
1.3.8 Vim Configuration
25(2)
1.3.9 Vim Abbreviations and Auto-Completion Framework
27(1)
1.3.10 Installing Vim
28(1)
1.4 Joe's Own Editor (Joe)
29(4)
1.4.1 Installing Joe
32(1)
1.5 Summary
33(2)
Chapter 2 Essential Unix Commands and Terminology
35(30)
2.1 Kernel, Shell, and Filesystem
35(1)
2.2 Files and Special Files
36(4)
2.2.1 The Null Device
37(1)
2.2.2 Standard Input
37(1)
2.2.3 Standard Output
38(1)
2.2.4 Standard Error
39(1)
2.2.5 The Pipe
40(1)
2.2.6 Console
40(1)
2.3 Essential Unix Commands
40(24)
2.3.1 echo <string>
40(1)
2.3.2 cd <path>
41(1)
2.3.3 pwd
41(1)
2.3.4 Is <path>
41(1)
2.3.5 mkdir <path>
41(1)
2.3.6 cp <source> <destination>
42(1)
2.3.7 mv <source> <destination>
42(1)
2.3.8 rm <path>
42(1)
2.3.9 In [ -s] <path> <additional>
42(1)
2.3.10 cat <file>
43(1)
2.3.11 test <condition>
43(1)
2.3.12 expr
44(1)
2.3.13 dd
45(1)
2.3.14 grep <regex> [ <file>]
46(1)
2.3.15 awk [ <file>]
47(1)
2.3.16 sed [ <file>]
48(1)
2.3.17 file <path>
49(1)
2.3.18 find
49(1)
2.3.19 updatedb
49(1)
2.3.20 locate <name>
49(1)
2.3.21 basename <string>
50(1)
2.3.22 dirname <string>
50(1)
2.3.23 realpath <path>
50(1)
2.3.24 head [ <file>]
51(1)
2.3.25 tail [ <file>]
51(1)
2.3.26 rev [ <file>]
51(1)
2.3.27 cut [ <file>]
52(1)
2.3.28 tr
52(1)
2.3.29 read <arg>
52(1)
2.3.30 date
53(1)
2.3.31 type <executable>
54(1)
2.3.32 wc [ <file>]
54(1)
2.3.33 less [ <file>]
54(1)
2.3.34 man <topic>
55(1)
2.3.35 set
55(1)
2.3.36 uname
56(1)
2.3.37 who
56(1)
2.3.38 cmp <file1> <file2>
56(1)
2.3.39 diff <file1> <file2>
56(1)
2.3.40 ps
57(1)
2.3.41 kill [ <sig>] <pid>
57(1)
2.3.42 sleep <n>
58(1)
2.3.43 sort [ <file>]
58(1)
2.3.44 uniq [ <file>]
58(1)
2.3.45 chmod <mode> <file>
59(1)
2.3.46 chown <user> <file>
60(1)
2.3.47 chsh [ <user>]
61(1)
2.3.48 passwd [ <user>]
61(1)
2.3.49 touch <file>
61(1)
2.3.50 tar
61(1)
2.3.51 gzip
62(1)
2.3.52 xz
63(1)
2.3.53 source <file>
63(1)
2.3.54 wget
63(1)
2.3.55 md5[ sum] <file>
64(1)
2.3.56 sha256[ sum] <file>
64(1)
2.4 Summary
64(1)
Chapter 3 Bourne Shell Scripting
65(22)
3.1 Inside Our First Shell Script
65(1)
3.2 Variable Assignment
66(3)
3.3 Arithmetic and Boolean Operations
69(1)
3.4 Command Chaining and Grouping
70(1)
3.5 Meta-Character Expansion
71(1)
3.6 Quoting: Single, Double, and Back
72(1)
3.7 Setting the Shell Prompt
73(1)
3.8 Dealing with Whitespace in Filenames
74(2)
3.9 Shell Functions
76(1)
3.10 Special Variables
77(2)
3.11 Branching and Looping
79(3)
3.12 The shift Command
82(1)
3.13 Sourcing, Aliasing, and Exporting
83(2)
3.14 Putting It All Together
85(1)
3.15 Summary
85(2)
Part 2: Preparing for Part II 87(194)
Chapter 4 PC Hardware for Unix
89(20)
4.1 A Shopping List
89(1)
4.2 Preparatory Notes
90(1)
4.3 CPU (Central Processing Unit)
91(1)
4.4 System Board/Motherboard
92(3)
4.5 RAM (Random Access Memory)
95(1)
4.6 Hard Disk
96(1)
4.7 SMPS (Switched Mode Power Supply)
97(1)
4.8 Cabinet
98(1)
4.9 Graphics Card
99(3)
4.10 Optical Drive (CD/DVD Reader and Writer)
102(1)
4.11 CPU Cooler
103(2)
4.12 Printer/Scanner
105(2)
4.12.1 Buying an HP Printer
105(1)
4.12.2 Buying an Epson Printer
106(1)
4.13 Summary
107(2)
Chapter 5 Installing and Configuring FreeBSD/Linux
109(30)
5.1 Disk Partitioning
109(3)
5.1.1 MBR (Master Boot Record)
110(1)
5.1.2 GPT (GUID Partition Table)
111(1)
5.2 Do We Have Enough Disk Space?
112(1)
5.3 The Default Partitioning Scheme
113(1)
5.4 Preparing the Computer's CMOS for Unix
114(2)
5.5 Downloading and Burning Installation Media
116(1)
5.6 Our Example Hard Disk
117(1)
5.7 Installing FreeBSD
118(7)
5.8 Installing and Configuring Linux
125(5)
5.9 Post-Install Configuration of FreeBSD
130(6)
5.9.1 Networking
131(1)
5.9.2 Software Packaging Subsystem
131(1)
5.9.3 A Friendlier Shell
131(1)
5.9.4 X Server
132(1)
5.9.5 NVIDIA Graphics Driver Addition
133(1)
5.9.6 NVIDIA and ATI Radeon Graphics Configuration
133(1)
5.9.7 User Accounts
134(1)
5.9.8 Graphical Desktop Environment
135(1)
5.9.9 Making Things Easier: A Simpler Way to Configure FreeBSD
135(1)
5.10 Dual-Booting FreeBSD and Linux on a GPT Disk
136(2)
5.11 Summary
138(1)
Chapter 6 Basic System Administration
139(34)
6.1 Being Root
139(1)
6.2 Local Filesystems
140(4)
6.3 Partition Management
144(2)
6.4 Console Configuration
146(1)
6.5 Internet Connectivity
146(4)
6.6 Sound Configuration
150(1)
6.7 X Configuration
151(2)
6.8 Running X Applications as Root
153(1)
6.9 Finding Local Files Quickly
154(1)
6.10 Configuring the Printer
155(2)
6.11 Using the Scanner
157(1)
6.12 Using an APC Powerchute UPS to Shut the System Down
158(1)
6.13 Building Stuff from Sources
159(1)
6.14 Unix Virtual Filesystems
160(2)
6.15 Additional Commands to Administer Your Desktop
162(6)
6.15.1 df
162(1)
6.15.2 du
162(1)
6.15.3 at
163(1)
6.15.4 cdrecord
164(1)
6.15.5 Loop Device Configuration
165(1)
6.15.6 smtp-cli
165(1)
6.15.7 rsync
166(2)
6.16 Mitigating the Need for Backups
168(4)
6.17 Summary
172(1)
Chapter 7 The Best of the Graphical Unix
173(40)
7.1 X Is a Client-Server System
173(2)
7.2 Desktop Environments
175(2)
7.3 Window Managers
177(3)
7.4 Starting X and the Desktop Environment
180(1)
7.5 Applications in the Desktop Environment
181(30)
7.5.1 Terminal Emulators
181(1)
7.5.2 Web Browsers
182(2)
7.5.3 Email Clients
184(3)
7.5.4 Accessing and Downloading Remote Data
187(4)
7.5.5 Playing Multimedia Content
191(5)
7.5.6 Paint Programs
196(3)
7.5.7 LibreOffice: The New and Better Office
199(1)
7.5.8 PDF Viewers
200(1)
7.5.9 PDF Creation
201(1)
7.5.10 CD/DVD Writing Frontends
202(1)
7.5.11 Internet Messaging and Chat Clients
203(2)
7.5.12 Multimedia Editing Software
205(1)
7.5.13 Fun Stuff: Games and Blogging
206(3)
7.5.14 The Question of a Graphical Integrated Development Environment
209(2)
7.6 Summary
211(2)
Chapter 8 Emulation Layers: Wine and Linuxulator
213(32)
8.1 Wine HQ: Attacking Redmond
213(2)
8.2 Installing Wine
215(1)
8.3 The Filesystem Hierarchy of Wine
216(1)
8.4 Running Windows Applications Under Wine
217(1)
8.5 Running Pinta as a Windows Application
218(1)
8.6 Maintaining Your Wine Environment
219(3)
8.7 Wine Patches
222(1)
8.8 Version Mimicking Under Wine
222(2)
8.9 Wine Libraries (DLLs)
224(2)
8.10 Tweaking Wine Still Further
226(1)
8.11 Wine Uses a Client-Server Model Too
226(2)
8.12 Graphical Tools for Wine Administration
228(3)
8.13 Developing Applications for Wine
231(1)
8.14 The 64-Bit Mess
232(2)
8.15 Yet Another Imitation Game: Linuxulator
234(10)
8.15.1 Using c6 Linuxulator
236(3)
8.15.2 Using c7 Linuxulator
239(4)
8.15.3 Installing Linux ABI Applications via rpm
243(1)
8.16 Summary
244(1)
Chapter 9 Virtualization: The New Buzzword
245(36)
9.1 What Is Virtualization (And Why Is It Important)?
245(2)
9.2 Storage for Virtual Machines
247(1)
9.3 Running an Anonymous FTP Server Under FreeBSD/Linux
247(3)
9.4 VirtualBox
250(16)
9.4.1 Installing VirtualBox
250(3)
9.4.2 Hosting Your First VirtualBox Virtual Machine
253(8)
9.4.3 Exchanging Files with the VirtualBox Host
261(1)
9.4.4 VirtualBox Extensions
261(5)
9.5 KVM
266(4)
9.6 BHyVe
270(9)
9.7 Summary
279(2)
Part 3: Preparing for Part III 281(120)
Chapter 10 Advanced Techniques in Shell Scripting
283(30)
10.1 The here-doc Tool
283(3)
10.2 Variable Type Modifiers: Readonly/Local
286(2)
10.3 Bit-Wise Operations
288(2)
10.4 Trapping Signals
290(1)
10.5 Mixed Quotes
290(2)
10.6 Recursion
292(1)
10.7 Special Shell Variables: LINENO and IFS
293(1)
10.8 The Magic of eval
294(2)
10.9 Non-POSIX Scripting
296(2)
10.10 Scripting with ncurses
298(12)
10.10.1 Message Box
299(1)
10.10.2 YesNo box
299(1)
10.10.3 Input Box
300(1)
10.10.4 Range Box
301(1)
10.10.5 Text Box
301(1)
10.10.6 Program Box
302(1)
10.10.7 Menu Box
303(1)
10.10.8 Radio List
303(1)
10.10.9 Progress Gauge
304(1)
10.10.10 Check List
305(2)
10.10.11 Time Box
307(1)
10.10.12 Calendar Box
307(1)
10.10.13 File Selection Box
308(1)
10.10.14 And There Are Many More
309(1)
10.11 Scripting with GTK
310(1)
10.12 Summary
311(2)
Chapter 11 Unix Programming with C and Vala
313(88)
11.1 Systems Programming with C
315(58)
11.1.1 The C Compilation Process
317(1)
11.1.2 Data Types in C
318(1)
11.1.3 int
319(1)
11.1.4 char
320(3)
11.1.5 boot
323(1)
11.1.6 Pointers
323(4)
11.1.7 Arrays
327(2)
11.1.8 Differentiating Between Stack and Heap
329(2)
11.1.9 Strings in C
331(4)
11.1.10 Signature of main()
335(1)
11.1.11 Branching and Looping
336(1)
11.1.12 Arithmetic and Logical Operations
337(1)
11.1.13 Functions
338(2)
11.1.14 Declarations and Definitions
340(1)
11.1.15 Structs
341(4)
11.1.16 Preprocessor
345(1)
11.1.17 Variable Argument Lists
346(2)
11.1.18 Input/Output
348(1)
11.1.19 Using System Calls for I/O
349(6)
11.1.20 Multithreading with pthreads
355(4)
11.1.21 Socket Programming
359(14)
11.1.22 Addressing the Makefile
373(1)
11.2 Graphical Application Development with Vala
373(26)
11.2.1 The Bare Essentials of 00P
374(7)
11.2.2 Charter of 00 Terminology
381(1)
11.2.3 Benefits and Drawbacks of 00 Programming
382(1)
11.2.4 The World of Vala
383(4)
11.2.5 Vala Documentation
387(1)
11.2.6 The BMI Tool Written in Vala
387(8)
11.2.7 Vala Is Not Just GUI Development!
395(4)
11.3 Summary
399(2)
Appendix: The Last Frontier 401(12)
A.1 Solution to the Difficult Step in
Chapter 1
401(1)
A.2 Sources for the Shell Script tcase from
Chapter 3
402(1)
A.3 Sources for the Shell Script extract.sh from
Chapter 3
403(1)
A.4 Setting Up a Swap Partition Shared by FreeBSD and Linux from
Chapter 5
404(2)
A.5 Sources for halt.c from
Chapter 8
406(5)
A.6 GNUmakefile for Creating an Executable from
Chapter 11
411(2)
Index 413
Manish Jain has worked with Unix for over 15 years, and has worked for companies such as IBM, Pitney Bowes, and Cognizant. In 2011, he received the Cognizant Alliance Award (Cognizants highest award for programmers) for revamping PayPals monolithic Risk Management code for failed Bank transactions to create a static library with gains in scalability and performance. This involved ~10,000 lines of code delivered in C++ (Red Hat Linux).