Contents Menu Expand Light mode Dark mode Auto light/dark mode
Python für Data Science 24.1.0
Logo
Python für Data Science 24.1.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
    • Entfernte 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
    • Pandas DataFrame-Validierung mit Bulwark
    • 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
      • log und reflog
      • 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
        • CI-freundliche Git-Repos
      • Fortgeschrittenes Git
        • Git Cherry-Pick
        • Regressionen finden mit git bisect
        • Git Notes
        • Git Hooks
          • pre-commit-Framework
          • pre-commit-Skripte
          • Weitere pre-commit-Hooks
          • pre-commit in CI-Pipelines
          • Hooks überspringen
          • Vorlage für Git-Repositories
        • Jupyter Notebooks unter Git
        • Git für Binärdateien
        • Visual Studio Code
          • GitLab VS Code Extension
        • GitLab
          • Rollen, Gruppen und Berechtigungen
          • Merge-Requests
          • GitLab CI/CD
          • 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
    • Umgebungen reproduzieren
      • 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
      • Pipenv
        • Installation
        • Nutzung
        • Deterministische Builds
        • Workflows
        • Umgebungsvariablen
        • Pipenv und Spack
    • Erstellen von Programmbibliotheken und -paketen
    • Dokumentieren
    • Lizenzieren
    • Zitieren
      • Daten zitieren
      • Software zitieren
      • Software-Journale
    • Testen
    • Logging
      • Logging-Beispiele
    • Code-Qualität und Komplexität überprüfen und verbessern
      • flake8
      • check-manifest
      • Mypy
      • Pytype
      • Wily
      • PyRe
      • Pysa
      • Black
      • isort
      • prettier
      • Code-Smells und Anti-Patterns
      • Rope
    • Sicherheit
  • Web-Applikationen erstellen
  • Stichwortverzeichnis
Back to top
Edit 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   grep-find.ipynb       pipes-filters.ipynb
file-system.ipynb     index.rst             shell-variables.ipynb
  • 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                  myscript.py
display.ipynb                    shell.ipynb
examples.ipynb                   start.rst
extensions.rst                   tab-completion-for-anything.png*
importing.ipynb                  tab-completion-for-modules.png*
index.rst                        tab-completion-for-objects.png*
magics.ipynb                     unix-shell/
mypackage/

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 136
24 create-delete.ipynb   40 grep-find.ipynb       16 pipes-filters.ipynb
32 file-system.ipynb      8 index.rst             16 shell-variables.ipynb
[5]:
!ls -S
grep-find.ipynb       create-delete.ipynb   shell-variables.ipynb
file-system.ipynb     pipes-filters.ipynb   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)

NNAAMMEE
     llss – list directory contents

SSYYNNOOPPSSIISS
     llss [--@@AABBCCFFGGHHIILLOOPPRRSSTTUUWWaabbccddeeffgghhiikkllmmnnooppqqrrssttuuvvwwxxyy11%%,,] [----ccoolloorr=_w_h_e_n]
        [--DD _f_o_r_m_a_t] [_f_i_l_e _._._.]

DDEESSCCRRIIPPTTIIOONN
     For each operand that names a _f_i_l_e of a type other than directory, llss
     displays its name as well as any requested, associated information.  For
     each operand that names a _f_i_l_e of type directory, llss 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 (--ll) output.

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

     …

macOS 13.4                      August 31, 2020                     macOS 13.4

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 [-@ABCFGHILOPRSTUWabcdefghiklmnopqrstuvwxy1%,] [--color=when] [-D format] [file ...]

Versteckte Dateien#

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

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

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
├── file-system.ipynb
├── grep-find.ipynb
├── index.rst
├── pipes-filters.ipynb
└── shell-variables.ipynb

1 directory, 6 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:

[16]:
%automagic

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

Absolute und relative Pfade#

[18]:
cd .
/Users/veit/cusy/trn/Python4DataScience-de/docs/workspace
[19]:
cd ../..
/Users/veit/cusy/trn/Python4DataScience-de
[20]:
cd ..
/Users/veit/cusy/trn
[21]:
cd /
/
[22]:
cd
/Users/veit
[23]:
cd ~
/Users/veit
[24]:
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