Uni Hacks - Work smarter not harder đ§
Studieren beginnt mit Organisation.
Wenn man ein wenig Ahnung von Computern hat, dann kann man sich wÀhrend dem Studium sehr viel Zeit und Nerven sparen.
Die Tools die ich hier vorstelle, sollten alle auf UNIX-Systemen funktionieren (also sowohl MacOS als auch Linux), mit Windows habe ich nicht viel zu tun, aber es sollte auch dort funktionieren. Falls nicht: einfach nach «Befehl» on Windows im Internet suchen.
zum Beispiel: ls -tr on Windows
Inhalt: #
- Grundlegendes
- PDFs
- Fazit und Ausblicke
Grundlegendes #
Bevor du PDFs manipulieren willst, solltest du dich ein wenig mit der Abreitsweise und Logik deines Computers vertraut machen.
Mit einem Computer via Kommandozeile interagieren đ #
DISCLAIMER - Diese Befehle sind UNIX-eigen
Terminal finden #
Zuerst mĂŒssen wir die Kommandozeile finden đ Am besten suchst du dafĂŒr mit Spotlight â + Leertaste
Dann suchst du nach “Terminal” und hittest ENTER â”
Geschafft!
Befehle: cd - ls - man (basic) #
cd: change directory #
Du kannst dir einen Computer als eine Verschachtelung von Ordnern vorstellen, ca. so:
home
âââ Desktop
â  âââ uni
â  âââ ausarbeitung.pdf
âââ Documents
â  âââ aufgabe1.pdf
âââ Downloads
âââ exmatrikulation_muster.pdf
Normalerweise kannst du einfach in einen Ordner reingehen, in dem du darauf doppelklickst. Das Terminal-Ăquvivalent dazu is **cd**
Du befindest dich standardmĂ€Ăig in /Users/<deinUser>/
wenn du das Terminal startest.
Das kannst du auch ĂŒberprĂŒfen in dem du einfach pwd
(path 2 working directory) in dein Terminal mal eingibst.
Jetzt sind wir also in der Ebene des Users - nice. Aber eigentlich wollen wir oft in den Desktop bzw. Documents Ordner, weil dort die interessanten Files sind.
Dorthin komm man ganz einfach mit:
cd Desktop
Es gibt im Terminal eine Auto-VervollstÀndigung: zB sollte bei **cd Deskto ℠Tab-Taste** zu **cd Desktop** vervollstÀndigen.
Wenn du wieder in die Ebene ĂŒber dem Desktop (also in meinem Fall wieder zu home
) möchtest, schreib einfach:
cd ..
Wenn du gleich auf einmal in eine tiefer-gelegene Directory (richtiger Ausdruck fĂŒr Ordner) gehen möchtest:
cd Desktop/uni
Der / ist hier essentiell!
#### ls: listACHTUNG: ZurĂŒck zur ursprĂŒnglichen Ebene nicht mit “..”
Wenn du beispielsweise mit einem cd-Befehl tief hineingehst, z.B bei mir mit
cd Desktop/uni
und dann wieder auf deine ursprĂŒngliche Position zurĂŒck möchest (bei mir home) wirst du mit
nur auf die *Desktop*, nicht auf die *home*-Ebene zurĂŒckkommen. Um wieder zu deiner Startposition zurĂŒck zu kommen, schreibe:cd ..
cd -
Jetzt wissen wir, wie man mit cd sich durch seine ganzen Computer bewegen kann. Jetzt wissen wir aber nicht unbedingt, was in diesen Directories drinnen ist.
Um das zu sehen, verwendet man den Befehl ls (ls steht fĂŒr list)
Hier nochmal eine Beispiel Ordnerstruktur:
home
âââ Desktop
  âââ uni
  âââ aufgabe1
  âââ ausarbeitung.pdf
  âââ ausarbeitung1.pdf
  âââ ausarbeitung1_final.pdf
  âââ ausarbeitung1_final_v2.pdf
Jetzt gehen wir mal in aufgabe1:
cd Desktop/uni/aufgabe1
Um uns jetzt den Inhalt anzeigen zu lassen:
ls
#Ausgabe im Terminal (nicht unbedingt untereinander):
ausarbeitung.pdf
ausarbeitung1.pdf
ausarbeitung1_final.pdf
ausarbeitung1_final_v2.pdf
Man kann mithilfe von flags đłïž sehr viel an der Ausgabe Ă€ndern, z.B die Art der Sortierung der Ausgabe. Welche flags es so gibt, erfĂ€hrst du mit dem nĂ€chsten Befehl.
man: Pre-Google-Ăra đČ #
Als cd, ls und viele weitere Befehle entwickelt und geschrieben wurde, gab es noch keine Tutorials wie dieses hier, wie man sie verwenden kann bzw. was sie ĂŒberhaupt machen. Die Developer haben deswegen sogenannte man-pages verfasst (manuals)
man ls
Das Ergebnis schaut dann ungefÀhr so aus:
Um diese man-page
- zu verlassen drĂŒcke q
- nach oben zu navigieren k
- nach unten mit j
Du kannst auch lustig sein und das manual von man selbst aufrufen - es geht!
man cd geht allerdings nicht, das hat einen technischen Grund
help cd ist hierfĂŒr zu wĂ€hlen
Befehle: mkdir - mv - rm (intermediate) #
Jetzt kommen wir zu mĂ€chtigeren, aber auch “gefĂ€hrlicheren” Befehlen.
mkdir: make directory đ #
mkdir steht fĂŒr make directory - es erstellt uns also einen Ordner!
mkdir meinOrdner
mv: move! #
mv steht fĂŒr move - damit können files oder auch ganze ordner verschoben werden.
Verschieben heiĂt auch umbennen - schauen wir uns das mal. Struktur:
home
âââ Desktop
  âââ uni
  âââ aufgabe1
  âââ ausarbeitung.pdf
  âââ ausarbeitung1.pdf
  âââ ausarbeitung1_final.pdf
  âââ ausarbeitung1_final_v2.pdf
pwd
/Users/<DeinUser>/
Jetzt wollen wir die letzte Version der Ausarbeitung aus dem Uni-Ordner raus auf den Desktop ziehen und gleichzeitig umbennen.
mv Desktop/uni/aufgabe1/ausarbeitung_final_v2.pdf Desktop/sendToProf.pdf
Das Ergebnis in unserer File-Structure
home
âââ Desktop
âââ sendToProf.pdf
  âââ uni
  âââ aufgabe1
  âââ ausarbeitung.pdf
  âââ ausarbeitung1.pdf
  âââ ausarbeitung1_final.pdf Â
ACHTUNG: wenn du zB test.pdf schon in deinem Ziel Ordner hast, und du mv-st ein anderes test.pdf dorthin, dann wird das ursprĂŒngliche File ĂŒberschrieben!
rm: remove #
rm steht fĂŒr remove - damit löscht man files
*rm* sorgt dafĂŒr, dass die Dateien **wirklich gelöscht** sind - du wirst sie nicht im Papierkorb finden - sie sind weg!
um ganze Ordner zu löschen, musst du die Flag -r setzen.
rm file.pdf #löscht file
rm -r directory #löscht Ordner samt Inhalt
Befehle: curl and brew #
curl: lets go to the internet đ #
curl kann alles, was dein Browser auch kann: du kannst auf Webseiten zugreifen, Dinge downloaden etc.
brew: der einzige (nicht beste!) package manager fĂŒr mac đș #
Die Standard-Befehle auf MacOS sind zwar ganz nett, aber oft möchte man mehr FunktionalitĂ€t. Es gibt viele externe Programme, die genau das tun, was du möchtest bzw. brauchst. Um diese runterzuladen brauchst du einen sogenannten package-manager (Eine Art AppStore fĂŒr IT-Menschen).
brew ist einer der sehr bekannten, leider nicht allzu schnellen. Mit brew kannst du alle weiter unten angegebenen programme installieren.
Wie du brew installierst, kannst du am besten auf ihrer Homepage nachlesen.
Die Kommandozeile effektiv verwenden #
Nachdem du die oberen Befehle verinnerlicht hast, nun zu interessanten, mÀchtigeren Befehlen
find #
Macht was es soll, es findet Dinge.
Dieser Befehl listet alle PDFs in dem Ordner Desktop auf (nicht aber in darunter liegenden Ordnern):
find Desktop -iname '*.pdf' -maxdepth 1
Jetzt möchten wir alle PDFs die sich maximal 3 Ebenen unter Desktop befinden anzeigen:
find Desktop -iname '*.pdf' -maxdepth 3
Der Stern ist ein Placeholder, d.h es kann alles vor .pdf stehen. Wenn zB direkt davor eine Zahl stehen sollte:
[0-9].pdf
Diese Placeholder sind Ă€uĂerst mĂ€chtig. Wenn du mehr darĂŒber lesen möchtest, suche im Internet nach regex.
oder lieĂ offline nach:
man re_format
grep«» #
grep ist so etwas wie find, nur fĂŒr den Inhalt von Plain Text Dateien.
Ich wollte hier nur darauf hinweisen, dass grep existiert.
grep ist nicht Inhalt dieses Tutorials.
mv mit mehr FunktionalitÀt #
mv - einer der hÀufigsten Befehle, die ich verwende. Vor allem wenn ich nur eine bestimmte Art von Datei (und davon sehr viele) in einen Ordner verfrachten möchte.
Wanna move all the JPEGs to a specific directory (myFolder)? Easy:
mv *.jpeg myFolder
Die selbe Syntax funktioniert auch mit rm, bitte beachte dabei nur den obigen Hinweis.
PDFs #
Wer lernt, hat viel mit Dokumenten zu tun. PDFs sind dafĂŒr das Standard-Format.
Oft möchte man aus PDFs einzelne Seiten extrahieren, mehrere PDFs zu einem zusammenfĂŒgen etc.
HierfĂŒr gibt es einige Tools:
Tools #
- pdfjam (im texlive paket enthalten)
- qpdf
- ghostscript
Diese kann man alle mittels brew installieren:
brew install qpdf
brew install ghostscript
brew install texlive
Bilder zu PDF #
Jeder kennt es: Altfragen, Fotos von Slides oder auch einfach Fotos von handgeschriebenen Mitschriften werden in Uni-WhatsApp-Gruppen herumgeschickt als gĂ€be es kein morgen. SpĂ€testens in der PrĂŒfungsphase kann man da schon mal den Ăberblick verlieren.
Die Lösung:
Die ganzen Bilder zu einem PDF zusammenfĂŒgen! đđđ
StandardmĂ€Ăig sollte convert schon auf deiner Maschine installiert sein, ĂŒberprĂŒfen kannst du das, indem du convert in dein terminal eingibst.
Wenn
command not found
zurĂŒckkommt, musst du vorher noch das Paket dafĂŒr installieren:
brew install imagemagick
FĂŒr Windows gibt es einen Binary install hier
How it’s done #
Angenommen, wir haben folgende Ordnerstruktur:
altfragen
âââ 01.jpg
âââ 02.jpg
âââ 03.jpg
âââ 04.jpg
âââ 05.jpg
âââ 06.jpg
âââ 07.jpg
âââ 08.jpg
âââ 09.jpg
âââ 10.jpg
âââ 11.jpg
âââ 12.jpg
âââ 13.jpg
âââ otherFile.pdf
Wir wollen also alle jpg zu einem altfragen.pdf zusammenfĂŒgen:
convert *.jpg altfragen.pdf
Good-2-Know: Die original jpg-Files bleiben erhalten!
convert ist ein ziemlich mÀchtiger Befehl. Man kann damit auch Dateiformate konvertieren.
Mehrere PDFs zu einem PDF zusammenfĂŒgen #
HierfĂŒr benötigen wir ghostscript aka gs. Weiter oben findest du den Installationsbefehl.
Jetzt haben wir beispielsweise zwei PDFs in unserem Ordner, die wir miteinander mergen wollen:
altfragen
âââ stupidPhoto.jpg
âââ altfragen.pdf
âââ otherFile.pdf
Dabei soll otherFile vor den altfragen stehen und das ganze in out.pdf gespeichert werden. Der Befehl:
How it’s done #
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=out.pdf otherFile.pdf altfragen.pdf
Du kannst selbstverstĂ€ndlich auch mit *.pdf hier arbeiten, allerdings ist die Sortierung standardmĂ€Ăig alphabetisch.
Aus einem PDF einzelne Seiten exportieren #
Kann man mit der Preview (dt. Vorschau) machen, aber wir verwenden jetzt pdfjam.
Installationsanleitung siehe oben.
How it’s done #
Angenommen wir haben ein PDF namens langesPDF.pdf mit 10 Seiten und wollen nur Seite 3, 5 und 7,8,9,10 in clean.pdf abspeichern:
pdfjam langespdf.pdf 3,5,7-10 -o clean.pdf
Mehrere Seiten auf einer Seite drucken #
Ein Life-Saver wenn man eine Open-Book PrĂŒfung hat und Papier, Druckerfarbe, Zeit und Geld sparen möchte:
Mehrere Vorlesungs-Slides auf eine Seite zusammenfassen, zB immer vier Folien auf eine Seite
Auch dafĂŒr kann man wieder pdfjam verwenden.
Angenommen du möchtest von slides.pdf die Folien sowie in der oberen Abbildung in savePaper.pdf zusammenfassen:
pdfjam --nup 2x2 slides.pdf --landscape --a4paper --outfile savePaper.pdf
Fazit und Ausblicke #
Ich hoffe, dir hat irgendwas in diesem Artikel geholfen. Ein Teil zwei ist derzeit geplant, nÀmlich: