Index
A
- Access Control Lists (ACL) / Access Control Lists (ACLs)
- advanced globbing / Advanced globbing
- advanced grep / Advanced grep
- advanced if-then-else / Advanced if-then-else
- advanced permissions
- about / Advanced permissions
- file attributes / File attributes
- special file permissions / Special file permissions
- Access Control Lists (ACL) / Access Control Lists (ACLs)
- advanced redirection
- about / Advanced redirecting
- command substitution / Command substitution
- process substitution / Process substitution
- aliases
- creating / Creating your own aliases
- archives
- creating / Archiving
- arrays / Arrays
- at command
- used, for scheduling / Scheduling with at and cron
- about / at
- time syntax / Time syntax
- at queue / The at queue
- at output / at output
- Atom
- about / Atom
- installation and configuration / Atom installation and configuration
- at output / at output
- at queue / The at queue
B
- Bash
- history command / The history command
- aliases, creating / Creating your own aliases
- exclamation marks / Fun with exclamation marks
- keyboard shortcuts / Keyboard shortcuts
- Bash scripts / What is Bash?
- Bash shell / What is Bash?
- basic globbing / Advanced globbing
- binaries / /bin/, /sbin/, and /usr/
- bourne shell / What is Bash?
- brace expansion / The for loop
C
- case modification / Case modification
- character classes / Character classes
- character matching / Character matching
- cheat sheets
- tips / General tips and tricks
- tricks / General tips and tricks
- for interactive commands / Cheat sheet for interactive commands
- chgrp / chown, chgrp
- chmod / chmod, umask
- chown / chown, chgrp
- command-line editors
- using / Using command-line editors
- Vim / Vim
- nano / nano
- graphical editors, combining with / Combining graphical editors with command-line editors when writing shell scripts
- command-line interface (CLI) / What is Bash?
- command-line shortcuts / Command-line shortcuts
- command line
- flags, using / Using flags on the command line
- comments
- about / Comments
- script header / Script header
- continue keyword / The continue keyword
- copy-on-write (COW) / What is a filesystem?
- cron command
- used, for scheduling / Scheduling with at and cron
- about / cron
- crontab / crontab
- crontab
- about / crontab
- syntax / Syntax for the crontab
- crontab environment variables
- about / Crontab environment variables
- PATH / PATH
- SHELL / SHELL
- MAILTO / MAILTO
D
- Debian / What is Linux?
- default values, parameter expansion
- input, checking / Input checking
- length / Parameter length
- description header / chmod, umask
- directory structure / What makes the Linux filesystem unique?
E
- egrep / Introducing egrep
- elif condition / The elif condition
- error checking
- about / Error checking
- exit status / Exit status
- functional checks / Functional checks
- test shorthand / Test shorthand
- error handling
- about / Error handling
- if-then-exit / if-then-exit
- if-then-else / if-then-else
- shorthand syntax / Shorthand syntax
- error prevention
- about / Error prevention
- arguments, checking / Checking arguments
- absolute path, managing / Managing absolute and relative paths
- relative paths, managing / Managing absolute and relative paths
- y/n, dealing with / Dealing with y/n
- exclamation marks / Fun with exclamation marks
- exclamation marks, Bash
- commands, running form history / Running commands from the history
- execute / Read, write, and execute
- extended file system (ext) / What is a filesystem?
F
- Fedora / What is Linux?
- file
- operations / Common file operations
- copying / Copying
- removing / Removing
- renaming / Renaming, moving, and linking
- moving / Renaming, moving, and linking
- linking / Renaming, moving, and linking
- finding / Finding files
- locate command, using / locate
- find command, using / find
- file attributes / File attributes
- file descriptors / Input/output redirection, File descriptors
- file ownership
- manipulating / Manipulating file permissions and ownership
- file permissions
- manipulating / Manipulating file permissions and ownership
- chmod / chmod, umask
- umask / chmod, umask
- sudo / sudo, chown, and chgrp, sudo
- chown / sudo, chown, and chgrp, chown, chgrp
- chgrp / sudo, chown, and chgrp, chown, chgrp
- Filesystem Hierarchy Standard (FHS) / What makes the Linux filesystem unique?
- flags
- versus positional parameters / Positional parameters versus flags
- using, on command line / Using flags on the command line
- with arguments / Flags with arguments
- combining, with positional arguments / Combining flags with positional arguments
- for loop
- about / The for loop
- globbing / Globbing and the for loop
- function libraries
- about / Function libraries
- source command / Source
- practical examples / More practical examples
- functions
- about / Functions explained
- used, for printing Hello world! / Hello world!
- abstraction of commands, complex example / More complexity
- variable scopes / Variable scopes
- practical examples / Practical examples
- augmenting, with parameters / Augmenting functions with parameters
- script, creating for printing text in different color / Colorful
- values, returning / Returning values
G
- getopts
- versus getopt / The getopts shell builtin
- syntax / The getopts syntax
- getopts shell builtin
- about / The getopts shell builtin
- multiple flags / Multiple flags
- flags, with arguments / Flags with arguments
- flags, combining with positional arguments / Combining flags with positional arguments
- getopts shell builtin, flags
- globbing
- about / Globbing, What is globbing?, More globbing
- disabling / Disabling globbing, and other options
- for loop / Globbing and the for loop
- GNU zip / Archiving
- graphical editors
- Atom / Atom
- Notepad++ / Notepad++
- combining, with command-line editor / Combining graphical editors with command-line editors when writing shell scripts
- graphical user interfaces (GUIs) / What is Bash?
- grep / grep
- Group ID (GID) / Users, groups, and others
- groups / Users, groups, and others
H
- help
- obtaining / Getting help
- heredocs
- variables, using / Heredocs and variables
- using, for script input / Using heredocs for script input
- strings / Here strings
- here documents / Here documents
- history command / The history command
- hypervisor / Setting up VirtualBox
I
- if-then-else / A recap on if-then-else
- in-place editing / In-place editing
- input redirection
- about / Input/output redirection, Input redirection
- password, generating / Generating a password
- integrated development environment (IDE) / Notepad++
- interactive commands / Cheat sheet for interactive commands
- interactive commands, for file manipulation
- interactive commands, for navigation
- about / Navigation
- cd command / cd
- ls command / ls
- pwd command / pwd
- interactive commands, for permission and ownership manipulation
- interactive scripts
- versus non-interactive scripts / Interactive versus non-interactive scripts
- interactive while loop
- creating / Creating an interactive while loop
- ISO image
- download link / Creating an Ubuntu virtual machine
K
- keyboard shortcuts / Keyboard shortcuts
- keyboard shortcuts, Bash
- terminal, copying from / Copying and pasting from the terminal
- terminal, pasting from / Copying and pasting from the terminal
- reverse search / Reverse search
- KISS principle / Keep It Simple, Stupid (KISS)
L
- libraries / /bin/, /sbin/, and /usr/
- line anchors / Line anchors
- Linux / What is Linux?
- Linux filesystem
- basics / The Linux filesystem explained
- about / What is a filesystem?, What makes the Linux filesystem unique?
- structure / Structure of the Linux filesystem
- tree structure / Tree structure
- top-level directories, overview / Overview of top-level directories
- multiple partitions / What about multiple partitions?
- /bin/, /sbin/, and /usr/ / /bin/, /sbin/, and /usr/
- /etc/ / /etc/
- /opt/, /tmp/, and /var/ / /opt/, /tmp/, and /var/
- file, types / Everything is a file, Different types of files
- logging script
- results / Logging script results
- crontab environment variables / Crontab environment variables
- with redirection / Logging with redirection
- considerations / Final logging considerations
- verbosity / A note on verbosity
- Long Term Support (LTS) / Creating an Ubuntu virtual machine
- loop
- breaking / Breaking the loop
- loop control
- about / Loop control
- and nesting / Loop control and nesting
M
- Metal-As-A-Server (MAAS) / Installing Ubuntu on the virtual machine
- MobaXterm / Accessing the virtual machine via SSH
- multiple flags / Multiple flags
- multiple users
- working with / Working with multiple users
N
- nesting / Nesting
- Network Address Translation (NAT) / Creating the virtual machine in VirtualBox
- non-interactive scripts
- versus interactive scripts / Interactive versus non-interactive scripts
- Notepad++
- reference / Notepad++
O
- output redirection
- about / Input/output redirection, Redirecting output, Redirect all output, Special output redirection
- stdout / stdout
- stderr / stderr
- to /dev/null / /dev/null
- to /dev/zero / /dev/zero
P
- parameter expansion
- about / Dealing with y/n, Parameter expansion
- default values / Default values
- parameters
- used, for augmenting functions / Augmenting functions with parameters
- pattern removal / Pattern removal
- pattern substitution / Pattern substitution
- permissions
- on normal files / RWX
- on directories / RWX
- advanced permissions / Advanced permissions
- physical installation
- and virtua machine, comparing / Choosing between a virtual machine and a physical installation
- pipes
- about / Pipes
- used, for binding stdout to stdin / Binding stdout to stdin
- used, for creating password / Yet another password generator
- used, for setting password in script / Setting passwords in a script
- tee command / tee
- piping / grep
- positional arguments
- combining, with read command / Combining positional arguments and read
- flags, combining / Combining flags with positional arguments
- positional parameters
- versus flags / Positional parameters versus flags
- practical examples, function libraries
- working directory / Current working directory
- type checking / Type checking
- yes-no check / Yes-no check
- practical examples, functions
- error handling / Error handling
- print working directory (PWD) / Tree structure
- pseudo Terminal slave / File descriptors
- PuTTY / Accessing the virtual machine via SSH
R
- read / Read, write, and execute
- read, write and execute (RWX) / RWX
- readability
- about / Readability
- comments / Comments
- verbosity / Verbosity
- read command
- combining, with positional arguments / Combining positional arguments and read
- recap parameter substitutions / Parameter substitutions – recap
- Red Hat / What is Linux?
- redirections
- redirecting / Redirecting redirections
- used, for logging script / Logging with redirection
- regular expressions
- about / Introducing regular expressions, What is a regular expression?
- grep / grep
- greediness / Greediness
- character matching / Character matching
- line anchors / Line anchors
- character classes / Character classes
- similarities / Similarities with regular expressions
- using, with egrep / Using regular expressions with egrep and sed
- using, with sed / Using regular expressions with egrep and sed
- using, in tests / Using regular expressions in tests
S
- scheduling
- with at command / Scheduling with at and cron
- with cron command / Scheduling with at and cron
- scripts
- running / Running scripts
- Secure Shell (SSH) protocol
- about / What is Bash?
- virtual machine, accessing / Accessing the virtual machine via SSH
- sed
- about / sed, the stream editor
- in-place editing / In-place editing
- line manipulation / Line manipulation
- shebang / The shebang
- shell built-in / /bin/, /sbin/, and /usr/
- shell scripting
- graphical editors, using / Using graphical editors for shell scripting
- shorthand / Verbosity of commands
- special file permissions
- SUID / Special file permissions
- SGID / Special file permissions
- sticky bit / Special file permissions
- stdout
- binding, to stdin / Binding stdout to stdin
- stream editing / Stream editing
- string / /bin/, /sbin/, and /usr/
- substring expansion / Substring expansion
- sudo / sudo
T
- tarball / Archiving
- tests
- regular expressions, using in / Using regular expressions in tests
- test shorthand, error checking
- variable refresher / Variable refresher
- bash debugging / Bash debugging
- time syntax, at command / Time syntax
- tmpfs filesystem / /opt/, /tmp/, and /var/
- top-level directory / Overview of top-level directories
- tree structure / Tree structure
U
- Ubuntu
- about / What is Linux?
- installing, on virtual machine / Installing Ubuntu on the virtual machine
- Ubuntu Server 18.04 LTS / Creating an Ubuntu virtual machine
- Ubuntu virtual machine
- creating / Creating an Ubuntu virtual machine
- umask / chmod, umask
- Universally Unique Identifier (UUID) / /etc/
- Unix Filesystem Standard (UFS) / What makes the Linux filesystem unique?
- until loop / The until loop
- User ID (UID) / Users, groups, and others
- user input
- dealing with / Dealing with user input
- about / Basic input
- parameters / Parameters and arguments
- arguments / Parameters and arguments
- users / Users, groups, and others
V
- variable manipulation
- about / Variable manipulation
- pattern substitution / Pattern substitution
- pattern removal / Pattern removal
- case modification / Case modification
- substring expansion / Substring expansion
- variables
- about / /bin/, /sbin/, and /usr/, What is a variable?
- need for / Why do we need variables?
- naming / Variable naming
- VDI (VirtualBox Disk Image) / Creating the virtual machine in VirtualBox
- verbosity
- in comments / Verbosity in comments
- of commands / Verbosity of commands
- of command output / Verbosity of command output
- about / A note on verbosity
- VHD (Virtual Hard Disk) / Creating the virtual machine in VirtualBox
- Vim
- about / Vim, Vim summary
- .vimrc / .vimrc
- cheat sheet / Vim cheat sheet
- vimtutor / Vim summary
- VirtualBox
- setting up / Setting up VirtualBox
- reference / Setting up VirtualBox
- virtual machine, creating / Creating the virtual machine in VirtualBox
- virtual machine
- about / Choosing between a virtual machine and a physical installation
- Ubuntu, installing / Installing Ubuntu on the virtual machine
- accessing, via SSH / Accessing the virtual machine via SSH
W
- What You See Is What You Get (WYSIWYG) / nano
- while loop / The while loop
- write / Read, write, and execute