Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
Python für Data Science 24.3.0
Logo
Python für Data Science 24.3.0
  • Einführung
  • Arbeitsbereich
    • IPython
      • Starten der IPython-Shell
      • IPython-Beispiele
      • IPython-Magie
      • Shell-Befehle in IPython
      • Unix-Shell
        • Navigieren durch Dateien und Verzeichnisse
        • Dateien und Verzeichnisse erstellen, aktualisieren und löschen
        • Pipes und Filter
        • grep und find
        • Shell-Variablen
      • Objekte anzeigen mit display
      • foo.ipynb
      • Notebooks importieren
      • IPython-Erweiterungen
      • Fehleranalyse
    • Jupyter
    • NumPy
      • Einführung in NumPy
      • ndarray – ein N-dimensionales Array-Objekt
      • dtype
      • Arithmetik
      • Indizierung und Slicing
      • Transponieren von Arrays und Vertauschen von Achsen
      • Universelle Funktionen (ufunc)
      • Array-orientierte Programmierung – Vektorisierung
      • Bedingte Logik als Array-Operationen – where
      • Mathematische und statistische Methoden
      • Methoden für boolesche Arrays
      • Sortieren
      • unique und andere Mengenlogik
      • Dateieingabe und -ausgabe mit Arrays
    • pandas
      • Einführung in die Datenstrukturen von pandas
      • Python-Datenstrukturen in pandas überführen
      • Indexierung
      • Datum und Uhrzeit
      • Daten auswählen und filtern
      • Hinzufügen, Ändern und Löschen von Daten
      • Manipulation von Zeichenketten
      • Arithmetik
      • Deskriptive Statistik
      • Sortieren und Ranking
      • Unterteilen und Kategorisieren von Daten
      • Kombinieren und Zusammenführen von Datensätzen
      • Gruppenoperationen
      • Aggregation
      • Apply
      • Pivot-Tabellen und Kreuztabellen
      • dtype konvertieren
  • Daten lesen, speichern und bereitstellen
    • Open-Data
    • pandas IO tools
    • Serialisierungsformate
      • Datenserialisierung
      • CSV
        • CSV-Beispiel
      • JSON
        • JSON-Beispiel
      • Excel
      • XML/HTML
        • XML/HTML-Beispiele
        • BeautifulSoup
      • YAML
        • Beispiel
      • TOML
        • Beispiel
      • Pickle
        • Pickle-Beispiele
      • Protocol Buffers (Protobuf)
      • Andere Formate
    • Intake
      • Intake installieren
      • Intake für die Datenwissenschaften
      • Intake-GUI : Erkunden von Daten in einer grafischen Oberfläche
      • Intake für das Data-Engineering
    • httpx
      • httpx-Installation und Beispielanwendung
      • Modul erstellen
    • Dateisysteme
    • Geodaten
    • PostgreSQL
      • Foreign Data Wrappers (FDW)
      • Prozedurale Programmiersprachen
      • DB-API 2.0
      • Psycopg
      • Objektrelationale Abbildung
      • SQLAlchemy
      • Alembic
      • ipython-sql
      • PostGIS
        • PostGIS installieren
        • Optimieren von PostgreSQL für GIS-Datenbankobjekte
        • Laden von Geodaten
      • Datenbank-Sicherheit
      • PostgreSQL-Performance
      • pgMonitor
      • pganalyze
    • NoSQL-Datenbanken
      • Schlüssel-Werte-Datenbanksysteme
      • Spaltenorientierte Datenbanksysteme
      • Dokumentenorientierte Datenbanksysteme
      • Graphdatenbanksysteme
      • Objektdatenbanksysteme
      • XML-Datenbanksysteme
    • Application Programming Interface (API)
      • FastAPI
        • Installation
        • Beispiel
        • Erweiterungen
      • gRPC
        • gRPC-Beispiel
        • gRPC testen
    • Glossar
  • Daten bereinigen und validieren
    • Verwalten fehlender Daten mit pandas
    • Erkennen und Filtern von Ausreißern
    • String-Vergleiche
    • Daten deduplizieren
    • Hypothesis: Property -basiertes Testen
    • TDDA: Test-Driven Data Analysis
    • Datenvalidierung mit Voluptuous (Schemadefinitionen)
    • Normalisierung und Vorverarbeitung
    • Satelitendaten Geostandorten zuordnen
  • Daten visualisieren
  • Performance
    • iPython Profiler
    • scalene
    • perflint
    • pandas parallelisieren
    • Dask
    • Einführung in Multithreading, Multiprocessing und async
    • Threading-Beispiel
    • Multi-Processing-Beispiel
    • Threading und Forking kombinieren
    • asyncio Beispiel
  • Produkt erstellen
    • Code verwalten mit Git
      • Arbeitsbereiche
      • Git-Installation und -Konfiguration
      • Mit Git arbeiten
      • Rückblick
      • Git-Tags
      • Git-Verzweigungen
      • Git rebase
      • Änderungen zurücknehmen
      • Git Best Practices
      • Git-Workflows
        • Feature-Branches
        • Deployment und Release Branches
        • Trunk-Based Development
        • Git Flow
        • Merge-Strategien: Merge vs. Squash vs. Rebase
        • Commits für ein sauberes Log ändern
        • Monorepos und große Repositories
        • Repos aufteilen und zusammenführen
        • CI-freundliche Git-Repos
      • Fortgeschrittenes Git
        • Git Cherry-Pick
        • Regressionen finden mit git bisect
        • Git Notes
        • Git Hooks
          • pre-commit-Framework
          • pre-commit-Skripte
          • Unterstützte Git-Hooks
          • pre-commit in CI-Pipelines
          • Hooks überspringen
          • Vorlage für Git-Repositories
        • Jupyter Notebooks unter Git
        • Shell-Konfiguration und Kommandozeilen-Werkzeuge
        • Stapelverarbeitung
        • Git für Binärdateien
        • Git LFS entfernen
        • Visual Studio Code
          • GitLab VS Code Extension
        • GitLab
          • Rollen, Gruppen und Berechtigungen
          • Merge-Requests
          • GitLab CI/CD
            • GitLab Pages
            • npm-Deployment mit rsync
            • Docker-Container bauen
            • Multi-Arch-Images mit Buildah
            • Migration von GitHub-Aktionen
          • GitLab Package-Registry
        • git-big-picture
        • etckeeper
        • Git’s Datenbank-Interna
      • Git-Glossar
    • Daten verwalten mit DVC
      • Projekt erstellen
      • Pipelines
      • Parametrisierung
      • Versuchsmetriken
      • Pipelines anzeigen
      • Reproduzieren
      • Vim- und IDE-Integration
      • FastDS
    • Python-Umgebungen
      • uv
        • CI/CD-Pipelines
        • Dependency-Bot
        • Python Docker Container mit uv
      • Spack
        • Spack-Installation
        • Kombinatorische Builds
        • Vorteile der Build-Automatisierung
        • Use Case 1: Verwalten kombinatorischer Installationen
        • Use Case 2: Python und andere interpretierte Sprachen
        • Zukünftige Features
        • Spack verwenden
        • Environments, spack.yaml und spack.lock
        • Spack Mirrors
    • Erstellen von Programmbibliotheken und -paketen
    • Dokumentieren
    • Lizenzieren
    • Zitieren
      • Daten zitieren
      • Software zitieren
        • Erstellen eines DOI mit Zenodo
        • CodeMeta
        • Citation File Format
        • Git2PROV
        • HERMES
      • Software-Journale
    • Testen
    • Logging
    • Code-Qualität und Komplexität überprüfen und verbessern
      • Code-Smells
      • flake8
      • Mypy
      • Pytype
      • Wily
      • Pystra
      • Pysa
      • check-manifest
      • Black
      • isort
      • prettier
      • Rope
    • Sicherheit
  • Web-Applikationen erstellen
  • Stichwortverzeichnis
Back to top
View this page

Navigieren durch Dateien und Verzeichnisse¶

Zuerst wollen wir herausfinden, wo wir uns befinden, indem wir den Befehl pwd ausführen:

[1]:
!pwd
/Users/veit/cusy/trn/Python4DataScience-de/docs/workspace/ipython/unix-shell

Hier ist die Antwort das iPython-Kapitel des Jupyter-Tutorials in meinem Home-Verzeichnis /Users/veit.

Unter Windows sieht das Home-Verzeichnis aus wie C:\Documents and Settings\veit oder C:\Users\veit und unter Linux wie /home/veit.

Um den Inhalt dieses Verzeichnisses zu sehen, können wir ls verwenden:

To see the contents of our this directory, we can use ls:

[2]:
!ls
create-delete.ipynb           index.rst
create-delete.ipynb.license   pipes-filters.ipynb
file-system.ipynb             pipes-filters.ipynb.license
file-system.ipynb.license     shell-variables.ipynb
grep-find.ipynb               shell-variables.ipynb.license
grep-find.ipynb.license
  • ein nachgestelltes / kennzeichnet ein Verzeichnis

  • @ zeigt einen Link an

  • * steht für eine ausführbare Datei

Abhängig von euren Standardoptionen kann die Shell auch Farben verwenden, um anzuzeigen, ob ein Eintrag eine Datei oder ein Verzeichnis ist.

ls-Optionen und Argumente¶

[3]:
!ls -F ../
debugging.ipynb
debugging.ipynb.license
display.ipynb
display.ipynb.license
examples.ipynb
examples.ipynb.license
extensions.rst
importing.ipynb
importing.ipynb.license
index.rst
magics.ipynb
magics.ipynb.license
mypackage/
myscript.py
shell.ipynb
shell.ipynb.license
start.rst
tab-completion-for-anything.png*
tab-completion-for-anything.png.license
tab-completion-for-modules.png*
tab-completion-for-modules.png.license
tab-completion-for-objects.png*
tab-completion-for-objects.png.license
unix-shell/

ls ist der Befehl, mit der Option -F und dem Argument ../.

  • Optionen beginnen entweder mit einem einzelnen Bindestrich (-) oder zwei Bindestrichen (--) und ändern das Verhalten eines Befehls.

  • Argumente sagen dem Befehl, womit er operieren soll.

  • Optionen und Argumente werden manchmal auch als Parameter bezeichnet.

  • Jeder Teil wird durch Leerzeichen getrennt.

  • Auch die Großschreibung ist wichtig, z. B.

    • ls -s zeigt neben den Namen auch die Größe der Dateien und Verzeichnisse an, während

    • ls -S die Dateien und Verzeichnisse nach Größe sortiert.

[4]:
!ls -s
total 160
24 create-delete.ipynb            8 index.rst
 8 create-delete.ipynb.license   16 pipes-filters.ipynb
32 file-system.ipynb              8 pipes-filters.ipynb.license
 8 file-system.ipynb.license     16 shell-variables.ipynb
24 grep-find.ipynb                8 shell-variables.ipynb.license
 8 grep-find.ipynb.license
[5]:
!ls -S
file-system.ipynb             create-delete.ipynb.license
grep-find.ipynb               file-system.ipynb.license
create-delete.ipynb           grep-find.ipynb.license
pipes-filters.ipynb           pipes-filters.ipynb.license
shell-variables.ipynb         shell-variables.ipynb.license
index.rst

Alle Optionen und Argumente anzeigen¶

ls hat viele weitere Optionen, und mit man könnt ihr euch diese anzeigen lassen:

[6]:
!man ls
LS(1)                       General Commands Manual                      LS(1)

NAME
     ls – list directory contents

SYNOPSIS
     ls [-@ABCFGHILOPRSTUWabcdefghiklmnopqrstuvwxy1%,] [--color=when]
        [-D format] [file ...]

DESCRIPTION
     For each operand that names a file of a type other than directory, ls
     displays its name as well as any requested, associated information.  For
     each operand that names a file of type directory, ls displays the names
     of files contained within that directory, as well as any requested,
     associated information.

     If no operands are given, the contents of the current directory are
     displayed.  If more than one operand is given, non-directory operands are
     displayed first; directory and non-directory operands are sorted
     separately and in lexicographical order.

     The following options are available:

     -@      Display extended attribute keys and sizes in long (-l) output.

     -A      Include directory entries whose names begin with a dot (‘.’)
             except for . and ...  Automatically set for the super-user unless
             -I is specified.
…

Unzulässige Optionen¶

Wenn ihr versucht, eine Option zu verwenden, die nicht unterstützt wird, geben die Befehle normalerweise eine Fehlermeldung aus, z. B. für:

[7]:
!ls -z
ls: invalid option -- z
usage: ls [-@ABCFGHILOPRSTUWXabcdefghiklmnopqrstuvwxy1%,] [--color=when] [-D format] [file ...]

Versteckte Dateien¶

Mit der Option -a könn ihr alle Dateien anzeigen:

[8]:
!ls -a
.                             grep-find.ipynb
..                            grep-find.ipynb.license
.ipynb_checkpoints            index.rst
create-delete.ipynb           pipes-filters.ipynb
create-delete.ipynb.license   pipes-filters.ipynb.license
file-system.ipynb             shell-variables.ipynb
file-system.ipynb.license     shell-variables.ipynb.license

Zusätzlich zu den versteckten Verzeichnissen .. und . seht ihr möglicherweise auch ein Verzeichnis namens .ipynb_checkpoints. Diese Datei enthält normalerweise Schnappschüsse der Jupyter-Notebooks.

Verzeichnisbaum anzeigen¶

[9]:
!tree
.
├── create-delete.ipynb
├── create-delete.ipynb.license
├── file-system.ipynb
├── file-system.ipynb.license
├── grep-find.ipynb
├── grep-find.ipynb.license
├── index.rst
├── pipes-filters.ipynb
├── pipes-filters.ipynb.license
├── shell-variables.ipynb
└── shell-variables.ipynb.license

1 directory, 11 files

Verzeichnis wechseln¶

Auf den ersten Blick mag für manche irritierend wirken, dass sie mit !cd nicht in ein anderes Verzeichnis wechseln können.

[10]:
!pwd
/Users/veit/cusy/trn/Python4DataScience-de/docs/workspace/ipython/unix-shell
[11]:
!cd ..
[12]:
!pwd
/Users/veit/cusy/trn/Python4DataScience-de/docs/workspace/ipython/unix-shell

Der Grund dafür ist, dass Jupyter eine temporäre Subshell verwendet. Wenn ihr dauerhaft in ein anderes Verzeichnis wechseln wollt, müsst ihr den magischen Befehl %cd verwenden.

[13]:
%cd ..
/Users/veit/cusy/trn/Python4DataScience-de/docs/workspace/ipython
[14]:
!pwd
/Users/veit/cusy/trn/Python4DataScience-de/docs/workspace/ipython

Mit der Funktion %automagic können diese auch ohne das vorangestellte %-Zeichen verwendet werden:

[17]:
%automagic

Automagic is ON, % prefix IS NOT needed for line magics.
[18]:
cd ..
/Users/veit/cusy/trn/Python4DataScience-de/docs/workspace

Absolute und relative Pfade¶

[19]:
cd .
/Users/veit/cusy/trn/Python4DataScience-de/docs/workspace
[20]:
cd ../..
/Users/veit/cusy/trn/Python4DataScience-de
[21]:
cd ..
/Users/veit/cusy/trn
[22]:
cd /
/
[23]:
cd
/Users/veit
[24]:
cd ~
/Users/veit
[25]:
cd /Users/veit
/Users/veit
Next
Dateien und Verzeichnisse erstellen, aktualisieren und löschen
Previous
Unix-Shell
Copyright © 2019–2024, Veit Schiele
Made with Sphinx and @pradyunsg's Furo
On this page
  • Navigieren durch Dateien und Verzeichnisse
    • ls-Optionen und Argumente
      • Alle Optionen und Argumente anzeigen
      • Unzulässige Optionen
      • Versteckte Dateien
    • Verzeichnisbaum anzeigen
    • Verzeichnis wechseln
      • Absolute und relative Pfade