Erstens kann ich den USB-Stick unter Linux über die Befehlszeile nicht erkennen. Ich überprüfe das Verzeichnis dev und kann den USB-Stick trotzdem nicht finden. Habe den Befehl df verwendet, um den USB-Stick zu überprüfen. Ich habe ihn eingesteckt und df eingegeben, dann wieder ausgesteckt und erneut df eingegeben und nichts hat sich geändert. Wir verwenden einen Server (Telnet), um die Befehlszeile von Linux auf einem Windows 7-Betriebssystem zu verwenden.
Das zweite Problem, das ich habe, ist, wie ich das Bash-Skript ausführen kann, das ich erstellt habe. Es scheint, dass ich meine .sh-Datei nicht in /usr/bin/ ablegen kann. Ich möchte meinen Befehl wie einen normalen Befehl in allen Verzeichnissen ausführbar machen. Tut mir leid, ich bin noch ein Neuling in diesen Dingen. Das passiert mir, wenn ich zu viel unter Windows bleibe.
Entschuldigen Sie mein Englisch. Vielen Dank im Voraus.
Antwort1
df zeigt Ihnen nur das gemountete Dateisystem. Die von Ihnen verwendete Linux-Distribution mountet USB-Laufwerke möglicherweise automatisch, möglicherweise aber auch nicht.
Die richtige Methode, um beim Einstecken und Entfernen von USB-Laufwerken etwas zu tun, ist die Verwendung von udev-Regeln. Siehehttp://reactivated.net/writing_udev_rules.html
Sie können auch den Befehl lsusb verwenden, um zu sehen, was derzeit auf dem USB-Bus vorhanden ist. Siehe:http://linuxcommand.org/man_pages/lsusb8.html
Welche davon für Ihren Fall die Richtige ist, hängt von Ihrem spezifischen Anwendungsfall ab.
Antwort2
Da Sie remote darauf zugreifen, wird es wahrscheinlich nicht automatisch gemountet, da der Desktop-Dateimanager in den meisten „Umgebungen“ diese Medien auf den meisten Systemen mountet. Das ist bedauerlich, aber so machen es die „benutzerfreundlichen“ Distributionen.
Zunächst können Sie herausfinden, ob USB überhaupt funktioniert, indem Sie Folgendes ausführen:
/sbin/udevadm monitor
Stecken Sie dann Ihre USB-Festplatte ein und aus. Sie sollten einige ausgedruckte Ereignisse sehen. Sehen Sie sich im System unter /dev/disk/by-id um und prüfen Sie, ob Sie den Geräteknoten (Symlink) sehen.
Wenn ja, können Sie es möglicherweise folgendermaßen mounten:
mkdir /mnt/media1
mount -t auto /dev/disk/(fullpathtodevice) /mnt/media1
Sie sollten es vor dem Entfernen aushängen.
Um diese Aktionen auszuführen, müssen Sie Superuser (Root) sein oder über die entsprechende Root-Berechtigung verfügen und zu den richtigen Gruppen gehören.
Zu Ihrer zweiten Frage: Der richtige Ort zum Ablegen benutzerdefinierter Skripte für die hostweite Verwendung ist /usr/local/bin
. Auch hier müssen Sie Root-Rechte haben, um dies zu tun.
Antwort3
Der richtige Ort zum Ablegen von Programmen, die nicht mit dem Betriebssystem bereitgestellt werden, ist /usr/local/bin. Das Verzeichnis /usr/local/bin ist bei den meisten Linux-Distributionen in der PATH-Variable enthalten.
Antwort4
gby hat recht – df erkennt nur gemountete Dateisysteme.
Ich schlage vor, eine einfache fstab
Regel zu verwenden, deren Erstellung ich in einer anderen Antwort detailliert beschreibe.Hier.
Natürlich erfordert dies, dass Sie tatsächlichmontierendas Dateisystem danach - Ihr Dateimanager (ich verwende pcmanfm - ich weiß, dass Thunar das auch macht) sollte diese Zeilen in Ihrer fstab erkennen und sie als mountbar auflisten. Wie Sie das Laufwerk mounten, hängt vom Dateimanager ab, erfordert aber normalerweise einen Rechtsklick auf das Symbol und das Drücken von Mount
. Dasselbe gilt für das Unmounten, wenn Sie mit dem Laufwerk fertig sind.
Sie können auch Folgendes tun mount /dev/insert-usb-device-here
: /umount /dev/insert-usb-device-here
Es versteht sich von selbst, dass Sie su
/ sudo
rooten müssen, bevor Sie diese Dinge tun.