Ich denke, es muss eine einfache Antwort darauf geben, aber ich kann nicht herausfinden, warum das nicht funktioniert!
Ich habe einen Ordner in meinem Home-Verzeichnis (ein paar Ebenen tiefer) namens installierte Plugins. Ich möchte den gesamten Inhalt dieses Ordners (ca. 15 JAR-Dateien) in einen anderen Ordner übertragen, der auch als installierte Plugins bezeichnet wird.
Das versuche ich:
$ sudo mv /home/jira-plugins/installed-plugins/* /var/atlassian/application-data/jira/plugins/installed-plugins/
mv: cannot stat `/home/jira-plugins/installed-plugins/*': No such file or directory
Was ist mein Fehler?
Der Ordner ist definitiv nicht leer. Hier ist die ls
Ausgabe:
$ sudo ls /home/jira-plugins/installed-plugins
analytics-client-3.15.jar plugin.2223138796603023855.jira-importers-plugin-6.0.30.jar
atlassian-chaperone-2.0.3.jar plugin.330169947367430109.jira-fisheye-plugin-6.2.8.jar
atlassian-client-resource-1.0.jar plugin.4363048306537053933.jeditor-2.1.7.2.jar
atlassian-pocketknife-api-commons-plugin-0.19.jar plugin.4438307615842123002.jira-ical-feed-1.0.4.jar
atlassian-pretty-urls-plugin-1.8.jar plugin.461510159947098121.jira-issue-collector-plugin-1.2.5.jar
base-hipchat-integration-plugin-7.8.24.jar plugin.5630909028354276764.atlassian-universal-plugin-manager-plugin-2.7.8.jar
base-hipchat-integration-plugin-api-7.8.24.jar plugin.6920509095052318016.atlassian-bonfire-plugin-2.9.13.jar
hipchat-core-plugin-0.8.3.jar plugin.6952408596192442765.atlassian-bonfire-plugin-2.8.2.jar
hipchat-for-jira-plugin-1.2.11.jar plugin.7079751365359230322.jira-importers-bitbucket-plugin-1.0.8.jar
jira-email-processor-plugin-1.0.29.jar plugin.7451827330686083284.atlassian-universal-plugin-manager-plugin-2.21.4.jar
jira-fisheye-plugin-7.1.1.jar plugin.7498175247667964103.jira-importers-redmine-plugin-2.0.7.jar
jira-ical-feed-1.1.jar plugin.7803627457720701011.jira-importers-plugin-3.5.3.jar
jira-issue-nav-components-6.2.23.jar plugin.7977988994984147602.jira-bamboo-plugin-5.1.6.jar
jira-servicedesk-2.3.6.jar plugin.8372419067824134899.jira-importers-plugin-5.0.2.jar
jira-workinghours-plugin-1.5.5.jar plugin.9081077311844509190.jira-fisheye-plugin-5.0.13.jar
plugin.1260160651631713368.stp-3.0.11.jar plugin.9128973321151732551.jira-fisheye-plugin-6.3.10.jar
plugin.2076016305412409108.jira-fisheye-plugin-3.4.10.jar plugin-license-storage-plugin-2.8.jar
plugin.218965759549051904.jira-importers-plugin-6.1.5.jar querydsl-4.0.7-provider-plugin-1.1.jar
plugin.2211202876682184330.jira-ical-feed-1.0.12.jar stp-3.5.10.jar
/home/
oder in :/home/USER/
?ls /home/jira-plugins/installed-plugins/
.Antworten:
Dies liegt mit ziemlicher Sicherheit daran, dass Ihr normales Benutzerkonto nicht auf das Verzeichnis zugreifen kann und die Shell daher nicht die Dateien auflisten kann, die mit dem Platzhalter übereinstimmen würden.
Mit einem solchen Befehl können Sie dies leicht genug bestätigen
Wenn Sie eine verweigerte Berechtigung erhalten, kann die Shell auf keinen Fall einen
*
Platzhalter in diesem Verzeichnis erweitern.Warum? Betrachten Sie Ihren Befehl
Die Reihenfolge der Verarbeitung ist (1) Erweitern der Platzhalter, (2) Ausführen des Befehls, in diesem Fall
sudo
mit einigen Argumenten, die zufällig einermv
Anweisung entsprechen.Sie können das Problem auf zwei Arten lösen
Werden Sie root und verschieben Sie die Dateien
Erweitern Sie den Platzhalter nach dem Ausführen
sudo
quelle
Beim Auflisten
sudo ls
des Ordners gehe ich davon aus, dass ein oder mehrere Verzeichnisse im Pfad für normale Benutzer nicht lesbar sind. Das würde das Verhalten erklären. Das Hauptmissverständnis hier ist, wenn die globale Erweiterung des abgeschlossen*
ist. Dies erfolgt durch die Shell, bevor ein Befehl aufgerufen wird. Wenn die Shell nicht über ausreichende Berechtigungen verfügt, kann sie nicht erweitert werden.Was in diesem Fall im Detail passiert, ist:
/home/jira-plugins/installed-plugins
als Sie selbst zu lesen , kann das Glob-Muster nicht erweitert werden/home/jira-plugins/installed-plugins/*
. Es wird es unverändert lassen. Nach dieser Phase*
ist nicht mehr speziell.sudo
mit den Argumentenmv
/home/jira-plugins/installed-plugins/*
und auf/var/atlassian/application-data/jira/plugins/installed-plugins/
sudo
ruftmv
mit den Argumenten auf/home/jira-plugins/installed-plugins/*
, und/var/atlassian/application-data/jira/plugins/installed-plugins/
mv
versucht eine tatsächlich benannte Datei zu verschieben/home/jira-plugins/installed-plugins/*
, existiert aber nicht und damit die Fehlermeldung.quelle