- 1. Linux for Power Users
- 2. Setup environment
- 2.1. Setup
- 3. Introduction
- 3.1. Content
- 3.2. What is Linux?
- 3.3. Vendors and Distributions
- 3.4. Linux History
- 3.5. GNU
- 3.6. License - Free and Open Source
- 3.7. Free Software
- 3.8. Unix/Linux Design Principles
- 3.9. Unix vs Linux?
- 3.10. Resources and Getting Help
- 3.11. Linux in Israel
- 3.12. Installation
- 3.13. Exercise: Install Linux
- 4. GUI
- 4.1. Desktop GUIs
- 4.2. GUI Tasks
- 4.3. Exercise: GUI
- 5. Terminal
- 5.1. The powers of the shell
- 5.2. TAB completition
- 5.3. Command History
- 5.4. Chaining commands: Quick Apache/Nginx log analyzer
- 5.5. Remove temp files
- 5.6. Shells
- 5.7. echo
- 5.8. Actions on ENTER
- 5.9. Actions on ENTER - examples
- 5.10. Meta-characters (Wildcards)
- 5.11. Information about the shell
- 5.12. Change password using passwd
- 5.13. Getting Help
- 5.14. Documentation: man
- 5.15. whatis and man sections
- 5.16. Apropos
- 5.17. Sections of the man pages
- 5.18. Command history
- 5.19. which and !!
- 5.20. List all commands in history
- 5.21. Clear screen
- 5.22. Virtualbox: Network access resources
- 5.23. Virtualbox: Allow access from Host to Guest
- 5.24. Virtualbox: Set up host-only network on Ubuntu
- 5.25. Install ssh server
- 5.26. Set up ssh access
- 5.27. Exercise: Terminal
- 5.28. Exercise: commands
- 6. Navigating the File System
- 6.1. File system types
- 6.2. Linux file system structure
- 6.3. Show directory tree
- 6.4. Current Working directory
- 6.5. Directory listing - ls
- 6.6. File types
- 6.7. Hidden files
- 6.8. Change Directory
- 6.9. Display disk usage statistics
- 6.10. du -s
- 6.11. Display free disk space using df
- 6.12. Disk layout
- 6.13. Free Disk space with human readable numbers
- 6.14. Show inodes stats: df -hi
- 6.15. mounting external disks
- 6.16. Exercise: File system
- 6.17. Exercise: Explore /proc
- 7. Manipulating Files and Directories
- 7.1. Creating directory
- 7.2. Create a file using 'touch'
- 7.3. Create file using echo
- 7.4. Copy files and directories
- 7.5. Move files or directories
- 7.6. Removing File or Directory
- 7.7. Symbolic links
- 7.8. Hard links
- 7.9. Determining File types
- 7.10. Finding files (find)
- 7.11. find examples
- 7.12. Search indexed files
- 7.13. Comparing files using diff
- 7.14. Comparing directories using diff
- 7.15. File and Directory Name conventions
- 7.16. Exercise: files
- 7.17. Exercise: shutdown vs halt
- 8. File security - File system rights management
- 8.1. ls -l
- 8.2. chmod
- 8.3. chmod octal
- 8.4. Change ownership with chown
- 8.5. Change group only using chgrp
- 8.6. Default file permissions: umask
- 8.7. Shell Script
- 8.8. Perl
- 8.9. Python
- 8.10. Exercise: Create Bash script
- 8.11. Exercise: File security
- 8.12. Exercise: Remove write protected file
- 8.13. Exercise: chmod
- 8.14. Solution: chmod
- 9. File content
- 9.1. Text editors
- 9.2. nano - a small editor
- 9.3. Displaying file content
- 9.4. cut
- 9.5. sort
- 9.6. uniq
- 9.7. Finding text in a file
- 9.8. word count with wc
- 9.9. tr - transcribe
- 9.10. sed - the stream editor
- 9.11. Compression and archiving
- 9.12. Generate random output
- 9.13. Generate random log
- 9.14. Exercise: log file
- 9.15. Exercise: File content
- 9.16. Exercise: File content round 2
- 10. Redirection and Pipes
- 10.1. Open Channels
- 10.2. Redirection
- 10.3. Redirection bash
- 10.4. Redirection bash append
- 10.5. Redirection bash merge
- 10.6. Redirection tcsh
- 10.7. Redirect to /dev/null
- 10.8. Pipes
- 10.9. Filters
- 10.10. tee
- 10.11. Exercises: redirection
- 10.12. Exercise: HTML content
- 11. Commands and aliases
- 11.1. which
- 11.2. type
- 11.3. whereis
- 11.4. alias
- 11.5. Creating alias in bash
- 11.6. Creating alias in tcsh
- 11.7. Suppress alias
- 11.8. Alias only works in the shell it has been defined in
- 11.9. Exercises: commands and aliases
- 12. Shell
- 12.1. cal - calendar
- 12.2. bc - calculator
- 12.3. time commands
- 12.4. Separating commands
- 12.5. Combining commands
- 12.6. Bash functions
- 12.7. Execute shell file
- 12.8. Grouping commands
- 12.9. Quotes
- 12.10. Spell checking
- 12.11. hostname
- 12.12. date
- 12.13. First day of the month
- 12.14. exit and exit code
- 12.15. locale
- 12.16. Setting the prompt
- 12.17. Secondary prompt
- 12.18. set -o
- 12.19. Start up files (Login shells)
- 12.20. Start up file (Noninteractive shells too)
- 12.21. Startup files
- 12.22. logout script
- 12.23. Exercise: Prompt
- 13. System information
- 13.1. id
- 13.2. who
- 13.3. w
- 13.4. whoami
- 13.5. last
- 13.6. uname
- 13.7. free
- 13.8. vmstat
- 13.9. /proc/meminfo
- 13.10. Exercise: System information
- 14. System administration basics
- 14.1. Basic sysadmin tasks
- 14.2. sudo
- 14.3. su
- 14.4. Logfiles in /var/log
- 14.5. Exercise: sysadmin
- 15. Package Management - Installing software
- 15.1. App-store
- 15.2. Package formats
- 15.3. Package managemnt tools
- 15.4. Instalation with apt-get
- 15.5. apt-cache
- 15.6. aptitude
- 15.7. dpkg
- 15.8. yum on CentOS 7.2 x64
- 15.9. CentOS repoquery
- 15.10. yes
- 15.11. Exercise: Package management
- 16. Process and Job Management
- 16.1. uptime
- 16.2. ps
- 16.3. System load: top
- 16.4. System load: htop
- 16.5. Process state
- 16.6. Process control
- 16.7. Job control
- 16.8. Refuse to die
- 16.9. killall
- 16.10. Zombie demonstration
- 16.11. Reaping child processes demonstration
- 16.12. Stopped process demonstration
- 16.13. List open files (lsof)
- 16.14. Current working directory of a process
- 16.15. Services
- 16.16. tail multiple log files
- 17. Network Basics
- 17.1. IPv4 vs IPv6
- 17.2. ifconfig
- 17.3. Ping
- 17.4. Traceroute
- 17.5. /etc/hosts
- 17.6. Telnet
- 17.7. ssh - Secure Shell
- 17.8. Public key access
- 17.9. Generate public key
- 17.10. Add public key
- 17.11. ftp - File Transfer Protocol
- 17.12. scp - Secure Copy
- 17.13. rsync
- 17.14. curl and wget to fetch web pages
- 17.15. Command line browsers
- 17.16. Sending mail from the command line
- 17.17. Keep remote session using screen
- 17.18. Keep remote session using tmux
- 17.19. tmux multiple session
- 17.20. iftop
- 17.21. Port used by (lsof - list open files)
- 17.22. Port used by example 2
- 17.23. Network ports
- 17.24. Show ports used with netstat
- 17.25. Routing configuration
- 17.26. write
- 17.27. Chat with users using ytalk
- 17.28. Exercise: Networking
- 17.29. Exercise: lorem ipsum
- 18. Scheduling processes
- 18.1. crontab
- 18.2. Load crontab file
- 18.3. crontab examples
- 18.4. Schedule using at or batch
- 19. Boot
- 19.1. Boot stages
- 19.2. BIOS
- 19.3. Boot loader
- 19.4. Grub
- 19.5. init
- 19.6. Multiple OS-es
- 20. NFS - Network Filesystem
- 20.1. Fileserver
- 21. Variables
- 21.1. Legal variables
- 21.2. Setting and getting variables
- 21.3. Backtick or back quote
- 21.4. Command substitution
- 21.5. Exporting variables
- 21.6. env
- 21.7. set
- 21.8. unset
- 21.9. Predefined variables
- 21.10. Change PATH
- 21.11. PATH environment variable
- 22. Bash script
- 22.1. sh-bang
- 22.2. Comments in a Shell script
- 22.3. cd in subshell
- 22.4. Set a variable in a subshell
- 22.5. . (dot command)
- 22.6. Input
- 22.7. Command line parameters
- 22.8. Wildcards on the command line
- 22.9. Command line and wildcard
- 22.10. Command line $#, $*, $@
- 22.11. shift
- 22.12. read
- 22.13. prompte (read -p)
- 22.14. Read several values from one line
- 22.15. Process ID
- 22.16. Background process ID $!
- 22.17. Exit from a script
- 22.18. Exit status in $?
- 22.19. if
- 22.20. elif
- 22.21. file tests
- 22.22. File comparision tests
- 22.23. Empty string
- 22.24. Boolean tests
- 22.25. Boolean expressions
- 22.26. Testing strings - comparing their values
- 22.27. case
- 22.28. Debugging
- 22.29. while-loop
- 22.30. for loop
- 22.31. Iterate over commend line arguments
- 22.32. break
- 22.33. continue
- 22.34. Testing commands
- 22.35. Testing commands while redirecting output
- 22.36. Shell arithmetic
- 22.37. Arrays
- 22.38. Create array
- 23. Users
- 23.1. Overview
- 23.2. /etc/passwd
- 23.3. User properties
- 23.4. /etc/group
- 23.5. /etc/shadow
- 23.6. User manipulation
- 23.7. Group manipulation
- 23.8. /etc/skel
- 23.9. /etc/profile
- 23.10. Changing password
- 23.11. Change shell - chsh
- 24. More
- 24.1. Access modes
- 24.2. Process CSV file
- 24.3. Shell Pipe ideas
- 24.4. List and kill processes by username
- 24.5. Compiling software: Perl
- 24.6. Exercise: compile