Ich verwende Ubuntu 10 und stelle schnell fest, dass die Groß- und Kleinschreibung beachtet wird, wenn dies unpraktisch ist (z. B. beim automatischen Vervollständigen von Dateipfaden mit Tabulator im Terminal), aber auch die Groß- und Kleinschreibung nicht berücksichtigt wird, wenn die Befehle MV und CP verwendet werden (ebenfalls unpraktisch) beim Versuch, einen Dateinamen in einem anderen Fall zu duplizieren).
Im Wesentlichen muss dieser Befehl funktionieren, aber er funktioniert nicht.
cp ./filename.txt ./FileName.txt
Am Ende habe ich nur filename.txt
:
Wie kann ich dieselbe Datei mit einem anderen Fall, aber demselben Namen im selben Verzeichnis erhalten?
BEARBEITEN: Der Kommentar von Maerics unten hat mir geholfen, mich daran zu erinnern, dass ich tatsächlich auf einem gemeinsam genutzten Windows-Laufwerk entwickle, auf dem NTFS ausgeführt wird, wobei die Groß- und Kleinschreibung nicht berücksichtigt wird. Aus diesem Grund wird die Datei nicht kopiert, obwohl CP und MV keinen Fehler generieren (oder eher kopiert, aber Windows ersetzt die bereits vorhandene).
Antworten:
NTFS 1 und VFAT unterscheiden nicht zwischen Groß- und Kleinschreibung, sondern nur zwischen Groß- und Kleinschreibung. Das heißt , wenn Sie eine Datei mit dem Namen erstellen
FileName.txt
, wird das Dateisystem der gemischten Fall Namen erhalten, sondern Sie die Datei mit dem, was Fall Kombination aus denselben Buchstaben zugreifen können, wieFILENAME.TXT
,filename.txt
oderfileNAME.txt
. Dies erklärt, dass Sie nicht zwei Dateien mit derselben Schreibweise mit nur einer Variation von Groß- / Kleinbuchstaben im selben Verzeichnis haben können.SMB-exportierte Dateisysteme müssen dieses Verhalten implementieren, um Windows-Clients nicht zu verwirren.
ZFS kann so konfiguriert werden, dass es sich mit der
casesensitivity=mixed
Eigenschaft so verhält .1 Technisch unterscheidet NTFS zwischen Groß- und Kleinschreibung, aber die Betriebssysteme, die Dateisysteme dieses Typs bereitstellen, sind fast immer so konfiguriert, dass diese zugrunde liegende Funktion ausgeblendet wird und nur die Groß- und Kleinschreibung beibehalten wird. Windows kann jedoch die Groß- und Kleinschreibung durch Ändern dieses Registerschlüssels aktivieren,
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\kernel\dword:ObCaseInsensitive
und Linux kann diese Dateisysteme abhängig von den Optionenignore_case
undwindows_names
mount mit verschiedenen Verhaltensweisen bereitstellen .quelle
Sie können die Vervollständigung des Dateinamens ohne Berücksichtigung der Groß- und Kleinschreibung in Bash aktivieren, indem Sie die folgende Zeile hinzufügen
$HOME/.inputrc
:Zu den Dateinamen: Dies hängt vom Dateisystem ab. Auf Linux-Dateisystemen sollte es kein Problem geben. Auf anderen Dateisystemen kann das Verhalten mit Optionen für den Befehl mount gesteuert werden.
mount(8)
Weitere Informationen zu den verfügbaren Optionen zum Mounten finden Sie auf der Handbuchseite .quelle
Ist dies eine Eigenschaft des Dateisystems oder etwas anderes?
Es funktioniert gut für mich.
quelle
Ubuntu unterscheidet nicht teilweise zwischen Groß- und Kleinschreibung. Es wird immer zwischen Groß- und Kleinschreibung unterschieden.
filename.txt
undFilename.txt
sind zwei verschiedene Dateien und können im selben Verzeichnis abgelegt werden. Also dieser Befehl:funktioniert problemlos im selben Verzeichnis.
quelle
filename.txt
in Ihrem aktuellen Verzeichnis?