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
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?
| i=$(ls -lA | wc -l); echo $(($i-1))
|
robutst gegen Sonderzeichen aber mit anderen Bedingungen, find, die zu beachten sind:
| 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
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
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 13185
|
user unknown schrieb:
| 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
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
auch lesbarer als
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
Anmeldungsdatum: 10. August 2005
Beiträge: 17608
Wohnort: Berlin
|
rklm schrieb: user unknown schrieb:
| echo $(($(find . -printf "o" | wc -c) - 1))
|
Mensch, warum quotest Du denn da das "o"? 😉
Ja, wieso eigentlich?
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 13185
|
user unknown schrieb: pünktchen schrieb:
Findest Du
Kleine Anmerkung: für die Shell muss es so sein: 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
Anmeldungsdatum: 10. August 2005
Beiträge: 17608
Wohnort: Berlin
|
rklm schrieb: user unknown schrieb: pünktchen schrieb:
Findest Du
Kleine Anmerkung: für die Shell muss es so sein:
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
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.
|