Wie kann ich feststellen, ob ich unter Linux einen Symlink, eine Verknüpfung oder einen Ordner habe? Bitte sehen Sie folgenden Screenshot.
Wie Sie sehen, ls
listet der Befehl Objekte auf, bei denen einige dunkelblau und andere hellblau (cyan) gefärbt sind. Was sind diese Objekte in Cyan? Handelt es sich um tatsächliche symbolische Links?
Wie Sie sehen können, kann ich nicht cd
zu dem namens HDD.
root@dm500hd:/# cd hdd
-sh: cd: can't cd to hdd
Ich denke, es muss umleiten /media/hdd
und ich habe festgestellt, dass der Festplattenordner fehlt.
Gibt es eine Möglichkeit, dies zu beheben?
Update: Hier sind die Ergebnisse des ls -al
Befehls.
Wie Sie sehen, heißt es hdd -> /media/hdd
und es ist rot gefärbt. Bedeutet dies, dass es kaputt ist oder automatisch bereitgestellt wird, dh wenn eine physische Festplatte angeschlossen ist?
Update: Hier ist das Ergebnis des grep media /etc/auto*
Befehls.
Was machen diese /etc/auto.master:/media/net
und /etc/auto.network
Einträge?
Hier sind die Ergebnisse des ls -Fal /media
Befehls.
Hilft das? ...
Hier finden Sie Ergebnisse stat
und file
Befehle sowie Auflistungen von / usr und / bin.
Hilft mir das in irgendeiner Weise? ... Hilft es Ihnen, mir zu helfen? ...
Als eine Seite nicht, was Sie wissen sollten, ist, dass dies eine Linux-basierte STB mit BusyBox ist, es ist ein eingebettetes System. Daher werden möglicherweise nicht alle Befehle unterstützt.
Update: Letzter Screenshot mit Dateien und unterstützten Befehlen in / sbin und / usr / sbin.
Update: Neue Freigabe hinzugefügt ...
Ich habe jetzt diese alte Freigabe entfernt und eine mit dem gleichen Namen wie zuvor neu erstellt und jetzt auch eine zweite Freigabe hinzugefügt. Jetzt habe ich zwei davon.
SHARES
remote share local share
mydream dream1
mydream2 dream2
LOCATIONS
remote local
C:\mydream /media/net/dream1
C:\mydream2 /media/net/dream2
Die Aufnahmen befinden sich in / media / net / dream1 / movie.
Außerdem habe ich für die Freigabe dream2 beschlossen, sie nicht als Festplattenersatz im Mount Manager bereitzustellen, da ich vermute, dass nicht mehr als eine Festplatte als Festplatte fungieren kann. Wo würde es aufnehmen? Zu beiden Orten? Mit der doppelten Datenrate? ... Ich denke nicht, dass es möglich ist.
Aus diesem Grund gibt es für die dream2-Freigabe keinen Unterordner mit dem Namen movie. Nur diejenigen, die beim Erstellen als Festplattenersatz angegeben wurden, erhalten den Filmunterordner.
Wenn ich cd
von der Wurzel auf hdd geht es zu /media/net/dream1
. Wenn ich cd
zu ..
(Elternteil) es geht zurück zu root (/)
.
An der Wurzel
ls -al
gibt hdd -> media/hdd
.
ls -al hdd
gibt hdd -> media/hdd
.
ls -al media
gibt /media/net/dream1
.
Auch wenn ich cd
dazu einen /media
anderen hdd
Symlink habe. Ich habe es vorher nicht bemerkt. Ich denke, dies wird automatisch erstellt, wenn eine Freigabe eingehängt wird. Und wenn ich cd
zu dieser Festplatte gehe geht es zu /media/net/dream1
.
Ein Symlink hdd
(/ hdd), der auf einen anderen hdd
Symlink (/ media / hdd) verweist, der wiederum auf den Freigabeordner (/ media / net / dream1) verweist? ..... Mir wird schwindlig ...
Dies war vor Version 3.2.3 oder mindestens 3.2.0 des Enigma2-Images nicht der Fall.
Bearbeiten: Durch Einstellen der zweiten Freigabe als Festplattenersatz wird diese zur aktiven Freigabe für die Aufnahme. Gleichzeitig ist die Freigabe, die zuvor als Festplattenersatz festgelegt wurde, nicht mehr aktiv, auch wenn sie weiterhin auf "Ja" festgelegt ist (als Festplattenersatz fungieren).
Wenn dream1 zuerst als Ersatz für die Festplatte verwendet wurde ("yes" als Ersatz) und dream2 dann als Ersatz für die Festplatte festgelegt ist, wird es zur neuen Freigabe für die Aufnahme. Ich kann weiterhin in dream1 gespeicherte Videodateien anzeigen, aber nicht mehr aufzeichnen. Wenn ich wieder dream1 für die Aufnahme verwenden möchte, muss ich zunächst dream2 auf "no" setzen (nicht mehr als Festplattenersatz fungieren) und dann dream1 auf "yes" zurücksetzen.
Nein, es kann nicht gleichzeitig auf zwei Freigaben aufgezeichnet werden. Einer von ihnen muss gehen. Es ist also entweder Traum1 oder Traum2, nicht beides. Obwohl ich erwähnen sollte, dass es möglich ist, mehr als einen Dienst (Fernsehsender) aufzuzeichnen, wenn beide auf demselben Transponder sind, erhalten Sie andernfalls die Meldung "no free tuner". Dies ist ein STB mit nur einem Tuner.
ls -al
Wirklichkeit werden alle Dateien (-a) in einer langen (-l) Liste angezeigt. Ja, das gibt mir mehr Informationen, aber hilft es mir, einen symbolischen Link zu identifizieren? Wenn es einen Pfeil nach rechts gibt, kann ich dann feststellen, ob es sich um einen symbolischen Link handelt? Die andere Kennung ist natürlich der Farbcode, aber einige von Ihnen schlagen vor, dass die Farbe nicht vertrauenswürdig ist.ls -al
zeigte der Befehlhdd -> media/hdd
. Und jetzt ist es möglichcd
zu hdd und der Link funktioniert. Aber was interessant ist, dassls -al media
Showshdd -> /media/net/mydream
und dies ist in der Tat, wo es geht, wenn ichcd
auf HDD. Der "mydream" ist der Name der Freigabe. Warum erhalte ich unterschiedliche Ergebnisse?Antworten:
Sie können file, stat oder ls verwenden.
Datei:
Mit dem Befehl file werden Dateien unabhängig von ihrer Erweiterung nach Typ (Symlink, Verzeichnis, Gerät) oder Inhalt (Text, GZIP, Bild, TAR, ...) klassifiziert:
ls:
stat:
Der Befehl stat gibt Dateimetadaten wie Berechtigungen, Größe, Anzahl der Blöcke usw. aus.
quelle
file hdd
sich auf? Ich verstehe es nicht ...stat hdd
gibt mir-sh: stat: not found
.bash:
quelle
Der einfachste Weg, um herauszufinden, um welche Art von Entität es sich bei einer bestimmten Datei handelt, ist die Verwendung des
file
Befehls. Die Ausgabe ist klar und vernünftig, ohne dass Sie sich daran erinnern müssen, wie diels
Klassifikatorzeichen lauten, oder dass Sie sich auf farbige Ausgaben verlassen müssen, die von Benutzer zu Benutzer und von Maschine zu Maschine variieren können. Beispielsweise:Wenn Sie sich auf einem System befinden, ohne dass
file
Sie sich befinden, können Sie denstat
Befehl verwenden, der Ihnen sagt, um welche Art von Dateieintrag es sich handelt und wohin er zeigt. Um herauszufinden, ob ein Link defekt ist, müssen Siestat -L
Links dereferenzieren. Wenn der Link defekt ist, wird ein Fehler ausgegeben.Was den zweiten Teil Ihrer Frage
media
betrifft , wird das Verzeichnis häufig von Automountern verwaltet. Der/media/hdd
Eintrag wird möglicherweise von Ihrem System für USB-Massenspeichergeräte verwendet oder wartet möglicherweise sogar auf den richtigen Festplattentyp (ATA vs. SCSI vs. Xen-Block-Gerät). Unterbrochene Links schaden nichts, es sei denn, ein Programm versucht, sie zu verwenden, und die Medienlinks dienen wirklich Ihrer Bequemlichkeit. Sie können den/hdd
Link ohne Bedenken verlassen oder nach Belieben entfernen.quelle
-sh: file: not found
wenn ichfile
und eingeben./usr/bin/file
file
Befehl nicht, unterstützt denstat
Befehl jedoch, wenn er kompiliert wurde. Möglicherweise befindet er sich weiterhin außerhalb von $ PATH oder an einem unbekannten Ort wie / sbin / stat oder / usr / sbin / stat.file
oderstat
. Ich habe die von Ihnen angegebenen Pfade eingecheckt (siehe Abbildung oben). Wie auch immer ... Sie sagen, dass in einem idealen Linux-System derfile
Befehl, gefolgt vom Suchpfad der Zieldatei oder des Zielordners, mir verraten würde, um welche Art von Entität es sich handelt?/usr/bin/busybox
und es werden alle Befehle angezeigt, für die es Unterstützung gibt, auch wenn die Befehle nicht installiert sind. Um einen Busybox-Befehl zu verwenden, können Sie ihn ausführen/usr/bin/busybox <command> <parameters>
. Wenn also angegeben wird, dass der Befehl stat unterstützt wird, können Sie ihn ausführen/usr/bin/busybox stat /hdd
. Zur einfachen Verwendung können Sie Symlinks für Busybox mit dem Namen des aufzurufenden Befehls erstellen. Wenn es den Befehl stat unterstützt, können Sie die Ausführung vereinfachenln -s /usr/bin/busybox /usr/bin/stat
.ls -Fal
ls -Fal /media
Dies ist wahrscheinlich eine Art Automount-Punkt.
grep media /etc/auto*
könnte einen Treffer produzieren.quelle
/media
ist der Standard-Mountpoint für PnP-Geräte.