ubuntuusers.de

MS-DOS DIR command Ergebnisse

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

villamarinella

Anmeldungsdatum:
11. August 2015

Beiträge: 55

Hallo,

etwas vermisse ich ja.

In MS-DOS kam nach dem DIR Befehl eine Auflistung der Files ( ok, ls, kann ich )

die Anzahl der Files, ls ??

die Gesamtgröße der Files ls ??

und der restliche Speicherplatz auf dem Laufwerk. ls ??

siehe WIKI: Unter Unix/Linux wird anstelle von dir der Befehl ls verwendet, um Dateien und Verzeichnisse auszugeben.

Danke

VM

villamarinella

(Themenstarter)

Anmeldungsdatum:
11. August 2015

Beiträge: 55

Sorry dafür Eure Zeit zu verschwenden um mir das in einem Shell Script darzulegen.

Ich habe eine GUI Lösung die mir alles ANZEIGT DAS ICH WISSEN MUSS.

Ich habe mir FILELIGHT installiert.

Sorry, war so auf mein mms-dos fixiert............sorry

VM

lubux

Anmeldungsdatum:
21. November 2012

Beiträge: 14315

villamarinella schrieb:

etwas vermisse ich ja.

In MS-DOS kam nach dem DIR Befehl eine Auflistung der Files ( ok, ls, kann ich )

villamarinella schrieb:

Sorry dafür Eure Zeit zu verschwenden um mir das in einem Shell Script darzulegen.

dir gibt es in Ubuntu auch:

:~$ file $(which dir)
/bin/dir: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x359aba3734318ea6d8f5ae1b047d85d72f5f8a15, stripped

Siehe z. B. auch die manpage für dir: http://manpages.ubuntu.com/manpages/precise/de/man1/dir.1.html

pünktchen

Anmeldungsdatum:
16. August 2015

Beiträge: 54

villamarinella schrieb:

die Anzahl der Files, ls ??

ls -A | wc -w

funktioniert, wenn keine Leerzeichen im Datei- oder Verzeichnisnamen vorhanden sind. Sicherer ist da zeilenweise Ausgabe inklusiver der Dateien, die mit einem Punkt beginnen (so genannte versteckte Dateien)

i=`ls -lA | wc -l` ; i=$(($i-1)) ; echo $i

die Gesamtgröße der Files ls ??

du -sh

und der restliche Speicherplatz auf dem Laufwerk. ls ??

df -h --output=avail <mountpoint>

z.B. restlicher verfügbarer Plattenplatz der eigenen /home-Partition

df -h --output=avail ~

z.B. restlicher verfügbarer Plattenplatz der /-Partition

df -h --output=avail /

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

pünktchen schrieb:

villamarinella schrieb:

i=`ls -lA | wc -l` ; i=$(($i-1)) ; echo $i

Nun, wozu die letzte Zuweisung? Wieso die veralteten Backticks?

1
i=$(ls -lA | wc -l); echo $(($i-1))

robutst gegen Sonderzeichen aber mit anderen Bedingungen, find, die zu beachten sind:

1
echo $(($(find . -printf "o" | wc -c) - 1))

pünktchen

Anmeldungsdatum:
16. August 2015

Beiträge: 54

user unknown schrieb:

Nun, wozu die letzte Zuweisung? Wieso die veralteten Backticks?

War nur als Anregung gedacht. Optimierungen sind immer möglich und willkommen. Und für Nutzer, die nicht so gewandt auf der Konsole und beim Shellscripting sind, ist es manchmal lesbarer, auch wenn es umständlich anmutet.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

pünktchen schrieb:

user unknown schrieb:

Nun, wozu die letzte Zuweisung? Wieso die veralteten Backticks?

War nur als Anregung gedacht. Optimierungen sind immer möglich und willkommen. Und für Nutzer, die nicht so gewandt auf der Konsole und beim Shellscripting sind, ist es manchmal lesbarer, auch wenn es umständlich anmutet.

Inwiefern ist es lesbarer, und wieso nur für weniger gewandte Nutzer?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13185

user unknown schrieb:

1
echo $(($(find . -printf "o" | wc -c) - 1))

Mensch, warum quotest Du denn da das "o"? 😉

pünktchen

Anmeldungsdatum:
16. August 2015

Beiträge: 54

user unknown schrieb:

Inwiefern ist es lesbarer, und wieso nur für weniger gewandte Nutzer?

Weil ich denke, dass nicht jeder Anwender das Shellscripting, Kommandosubstitution und reguläre Ausdrücke so auf der Pfanne hat wie Du. 😉 Und davon, dass es "nur" für weniger gewandte Nutzer so wäre, schrieb ich nichts.

Wie gesagt, sollte nur eine Anregung sein. Schön, dass Du es besser weißt.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

pünktchen schrieb:

user unknown schrieb:

Inwiefern ist es lesbarer, und wieso nur für weniger gewandte Nutzer?

Weil ich denke, dass nicht jeder Anwender das Shellscripting, Kommandosubstitution und reguläre Ausdrücke so auf der Pfanne hat wie Du.

Dein Code benutzt doch die gleichen Elemente, nur eine Zuweisung zusätzlich zu i und gibt dann i aus.

😉 Und davon, dass es "nur" für weniger gewandte Nutzer so wäre, schrieb ich nichts.

Du schriebst:

Und für Nutzer, die nicht so gewandt auf der Konsole und beim Shellscripting sind, ist es manchmal lesbarer, auch wenn es umständlich anmutet.

Daraus schloss ich, dass es für andere User nicht manchmal lesbarer ist, denn wieso sonst solltest Du dann die Frage auf weniger gewandte Nutzer einschränken, wenn es für alle gilt?

Findest Du

1
2
a = 7
echo $a

auch lesbarer als

1
echo 7

Wie gesagt, sollte nur eine Anregung sein. Schön, dass Du es besser weißt.

Nun, mir kam die Behauptung nicht schlüssig vor, deswegen fragte ich nach, wie Du sie begründest.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

rklm schrieb:

user unknown schrieb:

1
echo $(($(find . -printf "o" | wc -c) - 1))

Mensch, warum quotest Du denn da das "o"? 😉

Ja, wieso eigentlich?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13185

user unknown schrieb:

pünktchen schrieb:

Findest Du

1
2
a = 7
echo $a

Kleine Anmerkung: für die Shell muss es so sein:

1
2
a=7
echo $a

Wie gesagt, sollte nur eine Anregung sein. Schön, dass Du es besser weißt.

Nun, mir kam die Behauptung nicht schlüssig vor, deswegen fragte ich nach, wie Du sie begründest.

Ja, ich habe den Punkt auch nicht verstanden - insbesondere, was die Backticks vs. $(...) angeht. Da ist die moderne Variante viel lesbarer - erst recht, wenn man einen Editor mit Klammererkennung hat (das kann sogar vim).

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

rklm schrieb:

user unknown schrieb:

pünktchen schrieb:

Findest Du

1
2
a = 7
echo $a

Kleine Anmerkung: für die Shell muss es so sein:

1
2
a=7
echo $a

Ja, das sollte Pseudocode sein.

Worum es mir ging war, dass in beiden Fällen die rechte Seite, die 7, verstanden werden muss. Echo muss auch jeweils verstanden werden. Wieso soll etwas einfacher sein, wenn ein zusätzlicher Schritt, die Zuweisung, dazukommt (der zugegeben nicht schwer zu verstehen ist)?

Wie gesagt, sollte nur eine Anregung sein. Schön, dass Du es besser weißt.

Nun, mir kam die Behauptung nicht schlüssig vor, deswegen fragte ich nach, wie Du sie begründest.

Ja, ich habe den Punkt auch nicht verstanden - insbesondere, was die Backticks vs. $(...) angeht. Da ist die moderne Variante viel lesbarer - erst recht, wenn man einen Editor mit Klammererkennung hat (das kann sogar vim).

Weil das so offensichtlich lesbarer ist nahm ich an, die Lesbarkeit müsse sich auf den anderen Teil der Aussage beziehen.

pünktchen

Anmeldungsdatum:
16. August 2015

Beiträge: 54

Abschließend von mir: Zu den Backticks habe ich mich überhaupt nicht geäußert. Mir ist es relativ egal, ob die altmodisch sind. Ich verwende sie ab und zu, je nach Lust und Laune. Das Ergebnis ist sowieso dasselbe. Die Lesbarkeit bezog ich darauf, dass ich einzelne Ablaufschritte so auch darstelle durch eine Aneinanderreihung einzelner Kommandos. Dass man das immer eleganter machen kann, ist mir klar. Ich dachte nur daran, dass es Menschen gibt, die noch nicht so firm sind im Umgang mit dem Terminal und dem Erstellen von Shellskripten. Aber schön, dass ich mich da getäuscht habe. 😉

Keine weiteren Kommentare dazu.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17608

Wohnort: Berlin

pünktchen schrieb:

Ich dachte nur daran, dass es Menschen gibt, die noch nicht so firm sind im Umgang mit dem Terminal und dem Erstellen von Shellskripten.

Diese Aussage habe ich bereits verstanden. Ich verstehe nur nicht, inwiefern Dein Code diesen etwas erleichtern soll.

Aber schön, dass ich mich da getäuscht habe. 😉

Strohmann - das hat niemand behauptet.

Keine weiteren Kommentare dazu.

Du hast jetzt Deine Aussage bekräftigt und ausgedrückt, dass Du unsere Kritik nicht verstanden hast, in dem Du uns unterstellst, wir würden denken, es gäbe keine Anfänger. Was Du nicht gezeigt hast ist, inwiefern Deine Codealternative relevant ist für die Frage, ob ein Anfänger das liest.

Implizit beantwortet das aber meine Frage, ob Du etwas über die Verstehensprozesse in Anfängerhirnen weisst, was ich nicht weiss. Damit ist mir auch geholfen.

Antworten |