Table of Contents
Exercise 30. Lather, Rinse, Repeat: The Grand Rote Learning
Amount of information in this guide is pretty big. You cannot retain it without long enough practice and some hardcore grinding. So the only task left for you will be filling in this table, and imprinting this table in your memory every day until you know it.
You may want to ask why do you need to memorize all this stuff if you can always look it up. Well, the short answer will be because you can not. What this means is that to look up things efficiently you already need what to look for, and to know what to look for, you need a solid foundation. Once you have this foundation, once you understand what is important and what is not, and how the system is organized, you will be able to efficiently look things up.
You may wonder why in my guide there are many detailed tables containing lists of many fields which contain information which you will almost never need. What you must understand, though, is that you should train yourself to look any console program this way. You should approach to this information not like to a fiction book, where you may not pay attention do details and still understand it pretty well. You should approach all those data as mathematical formulas, where every single symbol has its meaning, and even more so, if you do not understand what particular symbol means, you will not be able to go further.
Sometimes it is perfectly okay to left something unexplained, but make yourself a present of going deeper, even if it will be every so often. Give yourself a present by making research about this particular utility, understand what it tells you and why. If you will do this, if you will look deep inside, your understanding of an Operating System (Linux in our case) will increase dramatically.
Documentation
man, info
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
man | |
info | |
man 1 | |
man 2 | |
man 3 | |
man 4 | |
man 5 | |
man 6 | |
man 7 | |
man 8 | |
man 9 | |
man -k | |
man -wK | |
bold text</code> | |
italic text</code> | |
[] | |
-a | -b | |
argument ... | |
[expression] ... |
Google and useful resources
Search term/resource_______________________________ | Meaning ______________________________________ |
---|---|
(a|b) c | |
site:foo.bar | |
"a long query" | |
http://en.wikipedia.org | |
http://stackexchange.com/ | |
http://www.cyberciti.biz/ | |
http://tldp.org/ | |
programname.site |
Package management: Debian package management utility aptitude
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
aptitude | |
aptitude search | |
aptitude install | |
dpkg -l | |
dpkg -L | |
Desired action | |
Package status | |
http://www.debian.org/distrib/packages |
System boot: runlevels, /etc/init.d, rcconf, update-rc.d
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
rcconf | |
update-rc.d | |
sysv-rc-conf | |
runlevel | |
runlevel 1 | |
runlevel 2 | |
runlevel 6 |
Processes: Working with proccesses, ps, kill
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
ps | |
kill | |
ps ax | |
ps axue | |
ps axue --forest | |
signal | |
HUP | |
TERM | |
KILL | |
Why KILL -9 is bad? |
Job chedulers: cron, at
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
crontab -l | |
crontab -e | |
crontab -r | |
crontab /foo | |
crontab > foo | |
* * * * * | |
at | |
atq | |
atq | |
atrm | |
batch |
Logging, /var/log, rsyslog, logger
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
logger | |
grep -irl | |
find . -mmin -5 | |
tail -f | |
logrotate | |
logging daemon | |
log level daemon | |
log rotation |
Filesystems
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
Filesystem | |
File | |
Directory | |
Inode | |
Block | |
Mounting | |
UUID | |
Journal | |
MBR | |
Partition | |
Partition table |
Mounting, mount, /etc/fstab
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
parted | |
cfdisk | |
fdisk | |
mount | |
umount | |
mount -a | |
/etc/fstab | |
fsck | |
blkid | |
logging daemon | |
log rotation |
Creating and modifying filesystems, mkfs, tune2fs
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
tune2fs | |
mkfs | |
Block size | |
Reserverd block count | |
Maximum mount count | |
Check interval |
Changing root directory, chroot
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
chroot | |
ldd | |
Root directory | |
Chroot | |
Dynamic Dependency |
Moving data arount: tar, dd
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
tar | |
dd | |
losetup |
Security permissions, chown, chmod
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
chmod | |
chown | |
umask | |
Permission | |
Permission mode | |
Permission class | |
Umask mechanism |
Networking
Network conecept __________________________________ | Meaning ______________________________________ |
---|---|
OSI model | |
DOD model | |
Communications protocol | |
Ethernet | |
MAC address | |
Ethernet boradcast address | |
TCP/IP | |
IP | |
IP packet | |
IP address | |
IP subnet | |
Port | |
Network socket | |
Local socket address | |
Remote socket address | |
Socket pair | |
Routing | |
Default gateway | |
IP boadcast address | |
ICMP | |
TCP | |
TCP packet | |
UDP | |
UDP packet | |
Hostname |
Interface configuration, ifconfig, netstat, iproute2, ss
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
/etc/network/interfaces | |
auto | |
allow-hotplug | |
/etc/hosts | |
/etc/hostname | |
localhost | |
loopback interface | |
Pseudo-interface |
Configuration files, /etc/network/interfaces
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
/etc/network/interfaces | |
auto | |
allow-hotplug | |
/etc/hosts | |
/etc/hostname | |
localhost | |
loopback interface | |
Pseudo-interface |
Packet filter configuration, iptables
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
iptables-save | |
iptables | |
modprobe | |
nc | |
tcpdump | |
LINKTYPE_LINUX_SLL | |
Ethernet frame header | |
IPv4 header | |
TCP segment | |
netfilter | |
iptables | |
iptables tables | |
iptables chains | |
iptables target |
Secure shell, ssh, sshd, scp
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
ssh | |
sshd | |
scp | |
ssh-keygen | |
Host keys | |
Auth keys | |
Data encryption ciphers | |
Data integrity algorithms | |
SSH session key |
Performance: getting performance stats, uptime, free, top
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
uptime | |
free | |
vmstat | |
top | |
CPU usage (us,sy,id,wa) | |
Memory (swpd, free, buff, cache, inact, active) | |
Slab allocation | |
Disk (IOPS, read, write) | |
Process (PR, NI, VIRT, RES, SHR, Status) |
Kernel: kernel messages, dmesg
Command or concept ________________________________ | Meaning ______________________________________ |
---|---|
dmseg | |
/var/log/dmesg | |
/var/log/messages | |
/var/log/syslog | |
/var/log/kern.log | |
Kernel message buffer |