Another awesome class, Mumshad (and Vijin!)
Passed CKS. Primary study technique: Drilling on the labs
In more detail - I went through the lectures once and took the labs along with them. Then I went through the labs a few times, focusing on speed - did I remember the material or not? Did I remember shortcuts or not? Did I trip over my own fingers?
I went through the labs about 6 times. It took 5:15 hours the first time and 2:34 hours the last time (minus three labs). I pulled my average lab down from 8:30 minutes to 4:41.
I ALSO used the labs over at KillerCoda (Killer Shell CKS | Killercoda). These are in a completely different character than KodeKloud’s - I think they are complementary: I found both useful. I went through those labs 19 times. The first time took 3:23 hours and the last 1:05 hours (leaving out 7 labs that I did, but just kept separate). What I noticed is that, by drilling, I improved the times AND THEN I started to understand the material. I also STOPPED drilling on a lab when three in a row were within 10% of my best time - I dropped 19 labs by doing that.
There’s one self-research point that I’ll give away that helped with the labs:
When netstat is not installed and you need to get details on a process attached to a listening port (say, 1234):
$ netstat -anp | grep 1234
# oops! netstat not installed
You can:
$ apt install -y net-tools
(wait for 15-20 seconds)...or:
$ printf %X 1234 # 4D2
grep 4D2 /proc/net/tcp
2: 0000000:04D2 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 80663 1 ffff911d15679180 100 0 0 10 0
$ find /proc/*/fd/* -type l | xargs ls -l | grep 80663
<snip>
lrwx------ 1 root root ... /proc/23051/fd/3 -> socket:[80663]
$ ps -fp 23051
UID PID PPID C STIME TTY TIME CMD
root 23051 1 0 16:28 ? 00:00:00 /usr/bin/badly.behaved.server -p 1234
$ kill 23051
$ rm /usr/bin/badly.behaved.server
So, drilling on those 20-30 repetitions at a time, one set a day (mixed with other “drills”) was fun.