Linux for Programmers with Shell Programming Training in Cupertino

Enroll in or hire us to teach our Linux for Programmers with Shell Programming class in Cupertino, California by calling us @303.377.6176. Like all HSG classes, Linux for Programmers with Shell Programming may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, Linux for Programmers with Shell Programming may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

 
This 2 - day course is an introduction to writing Linux shell scripts. Topics include the use of pipes and filters, shell variables, start - up scripts, looping and decision constructs, and script exit status. Hands - on exercises include writing scripts to schedule recurring tasks, automate system maintenance, create archives and backups, connect to remote machines, and send and retrieve files across the ne twork. Students are also introduced to software tools available under Linux
Course Length: 2 Days
Course Tuition: $790 (US)

Prerequisites

Students should be comfortable using Linux and be able to edit text files using a text editor. Prior experience using a programming language is recommended.

Course Outline

 

1. Linux Filters
Perspective
grep
sort
head and tail
tr
cut
od
paste
split
uniq
sed
gawk
more and less
tee
lp

2. Shell Programming
Shells
Scripting Rationale
Scripting Prerequisites
Creating a bash Script
bash Startup Scripts
A Script’s Environment
Exporting Variables
Exit Status
Programming the Shell
Parameter Passing
Operators
Decision Making-if
Complex Decisions
Arithmetic
Looping Constructs-for
Input and Output-echo and read
Looping Constructs-while
Functions
Interrupts

3. Networking Tools
TCP/IP
IP Addresses
Network Configuration Files
Client / Server Computing
telnet
ping
ftp
ssh
scp

4. Software Tools
Building a Linux Utility
Creating a Utility
The C Compiler
Libraries
Static vs. Shared Libraries
make
Data Compression

5. Administrative Tools
Setting the Date
Adding Users
Ownerships
sudo
df
du
tar
at
crontab
Managing Software
rpm
yum

6. Appendix A: The Visual (vi) Editor
vi Modes
Starting and Stopping vi
Last Line Mode Commands
Cursor Movement Commands
Delete and Search Command

Linux Unix Uses & Stats

Linux Unix is Used For:
Desktop Mainframe Computers Mobile Devices Embedded Devices
Difficulty
Popularity
Year Created
1991/1971
Pros
Performance:
Linux supports many efficient tools and operates them seamlessly. Because it's architecture is lightweight it runs faster than both Windows 8.1 and 10. 
 
Security:
Because Linux is an open-source software,  anyone can contribute code to help enhance the users’ experience i.e., adding features, fixing bugs, reducing security risks, and more.
 
 
Software Development:
The terminal in Linux is a *wild card*. You can do almost anything with it. This includes software installation, application and server configurations, file system management, and etc.
 
Large-scale:
Open-source projects benefit from having an attentive community. As a result, Linux is more secure than Windows. Instead of installing anti viruses to clean malware, you just have to stick to the recommended repositories. 
 
Efficient: 
Developers have the convenience of running servers, training machine learning models, accessing remote machines, and compiling and running scripts from the same terminal window. 
 
Free: 
Linux is free (you can put it on as many systems as you like) and you can change it to suit your needs.
Cons
Learning Curve: 
Linux is not for everyone, there is a learning curve in switching to Ubuntu. To actually learn Linux efficiently would take a user one to several years.
 
No Tech Support:
Unlike Windows, there isn’t a dedicated tech support, so getting help for things is up to you. 
 
Designer Compatabilty:
Linux is not as user friendly as Windows or as ‘straight out of the box design’ As an example for design choices, Adobe hasn’t released any of its products to Linux users. So it’s impossible to run them directly. The Ubuntu alternative is a free software called GIMP. 
 
Gaming Capabilities: 
Most games aren’t available in Linux. But that’s not to say you can’t make it happen, it's just not as easy.   
Linux Unix Job Market
Average Salary
$85k-$105k
Job Count
n/a
Top Job Locations

New York City
Boston
San Francisco 

Complimentary Skills to have along with Linux Unix
The following are types of jobs that may require Linux skills.  The top 15 job titles on Dice.com that mention Linux in their postings are:
- DevOps Engineer
- Software Engineer
- Java Developer
- Systems Engineer
- Systems Administrator
- Senior Software Engineer
- Network Engineer
- Python Developer
- Linux Systems Administrator
- Software Developer
- System Administrator
- Linux Administrator
- Linux Engineer
- Senior Java Developer
- C++ Developer

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.