Introduction to Linux
This fast-paced, 2-day, hands-on course equips you with the skills and competence to work confidently and proficiently with Linux. You'll learn how to use the shell, how to manage files and directories, and how to examine, search, and edit text files. You'll meet the package management tools and discover how to examine installed packages and add new ones. You'll learn how to monitor system activity such as open network ports and active processes, and how to start and stop system services. Graphical desktop tools are surveyed briefly but the main emphasis is on working at the command line. Red Hat Linux is used as a platform for hands-on exercises in the course, however the course does not lean heavily towards any specific linux distribution but focuses on that large core of tools and utilities that are common to all distributions.
The course is designed to offer a "first sight" of Linux for end-users, developers, system administrators, database administrators, technical managers, help desk staff, or anyone who needs to understand and use Linux on a day-to-day basis. The course is not intended to provide basic computer literacy to novices. Attendees should have previous experience with some other operating system (perhaps Windows or Mac OS X) and they should be reasonably proficient at typing and entering simple commands. They should understand concepts such as files, directories (folders) and programs. However, no previous knowledge of Linux is assumed.
After completing this course you will be able to:
- Use the shell (command interpreter)
- View and manage files and directories using command line tools
- Monitor system activity and resource usage
- Construct advanced commands using filters and pipelines
- Locate and install software packages from internet repositories
- Become self-sufficient by locating and studying linux documentation
The Background to Linux
- A little bit of history (but not much)
How is Linux different from Windows?
- What is open source software?
- Is it really free?
- What platforms does it run on?
- How secure is it?
- How do the various Linux distributions differ?
- What support is available?
The scope of Linux
- Graphical desktops and tools
- Command line tools and utilities
- Software development languages
- Networking support
- Web and e-commerce support
Using the Gnome Desktop
- Starting and stopping Linux
- Logging in and logging out
- Quick Tour of desktop applications
- Switching between virtual desktops
File system basics
- Files and directories
- File ownerships and permissions
Working at the Command Line
Introducing the shell
- Starting a terminal window
- Setting terminal window preferences
- Command syntax
- Ten commands to get you started
- Command history
File system basics
- Files and directories
- File ownership, group, and access permissions
Examining files and directories
- Using absolute and relative pathnames
- Viewing text files with less
- Listing directories with ls
- Filename completion
- Finding files with find and locate
Managing the filesystem from the command line
- Copying, moving and deleting files
- Using wildcards
- Changing file ownership and permissions
- Creating and removing directories
- Introducing the shell
Filtering and processing text
- Standard input and output streams
- Redirecting input and output to files or other programs
- Eight useful filters: wc, head, tail, sort, ...
Using programs in combination
- Command substitution
Editing text files
- Surviving with vi
- Alternative editors (nano, gedit, ...)
Monitoring system activity
- Viewing resource usage with top
- Examining active processes
- Listing open network ports
- Controlling service startup (and shutdown)
- Filtering and processing text
Package management tools
- Listing installed packages (rpm)
- Package repositories
- Command-line package management tools (yum)
- Installing new packages and removing old ones
- Graphical package management tools
- Manual and automatic updates
- Package management tools
CHAPTER 6: How to get help
- Man pages and info pages
- --help command option
- Linux community web sites
- Documentation on the Internet
- Book recommendations
- Local help
Dr. Chris Brown
Dr. Chris Brown has been using UNIX as a software developer and system administrator since its pioneering days over 30 years ago, and has used Linux professionally and at home for about 10 years. He has written hands-on courses in UNIX/Linux system programming, network programming, PHP, and distributed computing, and has edited and provided instructional design support for many others.
Dr. Brown has taught UNIX and Linux extensively for more than 20 years, in Europe, USA, Canada, India, Hong Kong and Brazil. He provided in-depth technical training on SUSE Linux to Novell’s consultants and IT engineers. He developed training content for Canonical’s “Ubuntu Certified Professional” training and wrote their “Deploying Ubuntu Server” course, and was master trainer for their train-the-trainer program. He is author of the book “UNIX Distributed Programming” published by Prentice Hall, and of “SUSE Linux” published by O’Reilly. He also writes a regular column for the UK magazine “Linux Format”.
Dr Brown is an ardent supporter of Linux and the Open Source movement and brings an enthusiasm, experience, depth of knowledge, and humour to the classroom to make for an effective and enjoyable learning experience. Chris holds a BA in theoretical physics, an MA, and a Ph.D. in particle physics, all from Cambridge University. He also has RedHat RHCE, Novell NCLP and Ubuntu UCP qualifications and is a Ubuntu Certified Instructor.