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ährendls -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