Bash - Katze versteckt . Datei oder schreiben Sie

Sagen wir mal ich mache eine Datei .history.txt:

touch .history.txt

und ich versuche, zu schreiben:

cat > .history.txt

nachdem Sie dies getan haben, dass alles was ich bekomme ist:

bash: .history.txt: is a directory

Was ich brauche, ist in der Lage zu schreiben einen text dazu, wie ich wäre in der Lage, jede normale Datei. Irgendwelche Ideen, was ich falsch mache?

  • Sie verwendet mkdir .history.txt irgendwann (oder etwas anderes Tat) und Sie haben ein Verzeichnis anstelle einer Datei. Was bedeutet ls -ld .history.txt{,/*} sagen?
  • Etwas anderes muss es getan haben, denke ich, aber wie kann ich eigentlich eine Datei?
  • Eine Datei muss nicht existieren, zu schreiben. cat > .history.txt sollte sich auf seine eigenen. Sie müssen entweder entfernen Sie das vorhandene Verzeichnis rm -rf .history.txt oder verwenden Sie einen anderen Dateinamen.
  • Die Methoden, die Sie Liste eine Datei. Verwenden ls -a zu zeigen, Dateien und Verzeichnisse, die bereits existieren, und löschen Sie entweder einige oder wählen Sie eine nicht verwendete name. Die "dot bedeutet hidden" übereinkommens unerheblich ist.
  • touch hätte erstellt eine leere Datei, wenn ein Verzeichnis nicht bereits existiert. That being said, so wäre das cat Befehl als hätte : > .history.txt. Die shell erstellt die Ausgabedatei, ob oder ob nicht der Befehl schreibt etwas oder sogar korrekt läuft (D. H. no-such-command > .history.txt erstellen der Datei auch).
  • Weil soweit ich weiß touch file sollte eine Datei im Gegensatz zu mkdir
  • Eine Datei unbedingt braucht, um zu existieren (für eine definition von "existieren") zu schreiben. Die shell erstellt die Datei für Sie mit cat > .history.txt.
  • touch hat Dateien zu erzeugen, aber das ist ein Nebeneffekt in Sinne. touch updates Zeitstempel auf was auch immer Argumente, die es bekommt (Datei oder Verzeichnis).
  • Danke für Eure Antworten.

InformationsquelleAutor Clutchy | 2015-05-04
Schreibe einen Kommentar