Einen schnellen Einstieg was die Shell angeht findest Du auch hier: https://wiki.bsdforen.de/howto:shell-scripting
Bietet es sich von der Reihenfolge her an, erst mit Shellscripting anzufangen, dann mit Python und dann mit C und C++ weiter zu machen?
Nimm's mir nicht übel, aber so wird's vermutlich gar nix bzw. jede Menge Halbwissen.
Erst mal: Wozu?
Das ist auch deshalb wichtig, weil Bücher lesen ein (1) Teil von mehreren ist und auch ein durchaus wichtiger, aber beleibe nicht der Einzige und vermutlich nicht mal der Wichtigste.
(Vermutlich - je nach Sichtweise) der wichtigste Teil ist die Praxis, also Übung, Übung, Übung.
Aber die Frage "Wozu?" ist auch wichtig, weil davon viel für die Beantwortung deines Anliegens abhängt. Wenn du z.B. Richtung System Admin gehen willst, dann wird shell scripting und vielleicht noch Python wichtig sein, aber nicht C oder java. Dafür wird aber das solide Verstehen von OS und Netzwerken wichtig sein. Wenn du Richtung Programmierung gehen willst, dann ist zumindest ein gutes Grundverständnis von C wichtig, aber shell scripting weniger. Und überhaupt sind Sprachen eh so ein Kapitel für sich.
Nur mal als Beispiel: C wurde im Grunde als eine Art meta-Assembler erdacht und entwickelt (und ursprünglich genutzt). Zu einer Zeit und in einer Welt, in der hervorragend ausgebildete Fachleute vergleichsweise primitive Computer programmiert haben und Betriebssysteme praktisch durchgehend in Assembler programmiert wurden. *Das* ist der Kontext von C. Der Umstand, dass C *miss*braucht wurde als "Hochsprache" ist für zigtausende bugs und Sicherheitsprobleme verantwortlich.
Versteh mich nicht falsch, das ist kein C bashing! C ist immer noch ein hervorragender meta Assembler und wird nicht grundlos auch heute noch für die Programmierung von Betriebssystemen und "Schwergewichten" (server, Datenbanken ,etc) verwendet. Aber es ist ein entscheidender Unterschied, ob da ein 20-Jähriger Fummler "hackt" oder ein gut ausgebildeter Profi mit 20 Jahren Erfahrung.
Vor allem: All das wonach du fragst sind letztlich Werkzeuge. Betriebssysteme, Sprachen, usw - alles Werkzeuge. Und wie bei jedem Werkzeug ist die entscheidene Frage, was man damit machen will, wozu man es braucht.
Wenn du das für dich besser definieren und eingrenzen kannst, dann können wir dir auch bessere Antworten geben. Eins jedenfalls ist klar: Auch nur ein brauchbarer Macher in irgendeinem dieser Bereiche wirst du nicht ohne jede Menge Übung. Auch FreeBSD z.B. kann man nur bis zu einem bestimmten Punkt aus Büchern verstehen.