GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kann ein Linux-Befehl Großbuchstaben haben?

Ja, es kann, und es gibt bereits einige. Zum Beispiel /usr/bin/X :)

[email protected]:~$ ls {/usr{/local,},}/{s,}bin | grep '[A-Z]'
MAKEDEV
amuFormat.sh
GET
HEAD
Mail
POST
X
X11
Xephyr
Xnest
Xorg
NetworkManager

[email protected]:~$ zcat ~/.cache/apt-file /archive.ubuntu.com_ubuntu_dists_precise_Contents-i386.gz | tail -n +33 | cut -f1 | grep -P '^(usr/)?s?bin/.*[A-Z]' | wc -l
758

Das ist also 758 in Ubuntu 12.04. Vollständige Liste:https://gist.github.com/5264777


Es gibt keine Beschränkung für Befehlsnamen unter Unix. Jede Datei kann ein Befehl sein. Und ein Dateiname kann eine beliebige Folge von einem oder mehreren (allerdings bis zu einer gewissen Grenze) Zeichen sein, außer ASCII NUL oder ASCII / . zsh hebt diese Einschränkung sogar für Funktionen auf, bei denen Sie einen beliebigen String als Funktionsnamen haben können.

Ein paar Anmerkungen:

  • Sie werden Schwierigkeiten haben, eine Befehlsdatei namens . zu erstellen oder ..;-).
  • Vermeiden Sie Namen, die bereits von Standardbefehlen oder Shell-Einbauten oder Schlüsselwörtern belegt sind (zumindest von den gängigsten Shells wie bash , zsh , tcsh oder ksh ). Dabei können Großbuchstaben helfen, da sie in der Regel nicht von Standardbefehlen verwendet werden.
  • Beschränken Sie sich besser auf ASCII-Zeichen. Nicht-ASCII-Zeichen werden in den verschiedenen verfügbaren Zeichensätzen nicht gleich ausgedrückt
  • Beschränken Sie sich dabei auf Buchstaben, Ziffern, Bindestriche, Punkte und Unterstriche. Alles andere kann, obwohl es legal ist, das eine oder andere Problem mit diesem oder jenem Tool verursachen (zum Beispiel | , = , & und viele andere müssten in Shells maskiert werden, wenn Sie : verwenden , Ihr Befehl kann nicht als Login-Shell verwendet werden ...). Vielleicht möchten Sie sogar . ausschließen und - die in Funktionsnamen in vielen Shells nicht erlaubt sind, falls Sie Benutzern erlauben möchten, Ihren Befehl in eine Shell-Funktion einzuschließen.
  • Mach das erste Zeichen zu einem Buchstaben. Wieder keine strenge Anforderung. Aber der Unterstrich wird manchmal für besondere Dinge verwendet (wie in zsh die Funktionen der Vervollständigungssysteme beginnen mit _ ) und nur aus Ziffern bestehende Befehle können bei Dingen wie cmd>output.log ein Problem darstellen . Dateien, deren Name mit einem Punkt beginnt, werden durch Dinge wie ls versteckt oder Shell-Globings und viele Dateimanager.

Der bekannteste Befehl ist stty , das auch als STTY verfügbar war . Es war sehr praktisch, das Terminal mit STTY SANE auf das normale Verhalten zurückzusetzen .


Linux
  1. Haben Sie eine Kuh an der Linux-Befehlszeile

  2. Linux-mv-Befehl

  3. Linux-Du-Befehl

  4. Linux-IP-Befehl

  5. Linux-cd-Befehl

Welcher Linux-Befehl

Datumsbefehl in Linux

Kostenloser Befehl unter Linux

W-Befehl unter Linux

Bei Befehl unter Linux

3 Linux-Befehle, die Sie vergessen haben