Ich versuche, den gesamten Inhalt von Ordner1 herauszunehmen und in den Ordner images_temp zu legen, in dem sich Ordner1 befindet:
[email protected] [~/images_temp]# sudo mv folder1/* .
mv: cannot stat `folder1/*': No such file or directory
Ich erhalte diesen Fehler oben, ich habe versucht, die Antwort hier nachzuschlagen, aber es gibt Antworten, von denen ich glaube, dass sie nicht auf meine Situation zutreffen. Bitte helfen Sie.
[email protected] [~]# pwd && ls -l
/home/jeatonhomes
total 108
drwx--x--x 18 jeatonhomes jeatonhomes 4096 Apr 3 13:25 ./
drwx--x--x 106 root root 4096 Mar 30 16:19 ../
lrwxrwxrwx 1 jeatonhomes jeatonhomes 37 Dec 18 2015 access-logs -> /usr/local/apache/domlogs/jeatonhomes/
-rw------- 1 jeatonhomes jeatonhomes 628 Apr 3 13:25 .bash_history
-rw-r--r-- 1 jeatonhomes jeatonhomes 18 Sep 22 2015 .bash_logout
-rw-r--r-- 1 jeatonhomes jeatonhomes 176 Sep 22 2015 .bash_profile
-rw-r--r-- 1 jeatonhomes jeatonhomes 124 Sep 22 2015 .bashrc
drwxr-xr-x 2 jeatonhomes jeatonhomes 4096 Aug 4 2016 cache/
-rw-r----- 1 jeatonhomes jeatonhomes 20 Jan 4 14:10 .contactemail
drwx------ 5 jeatonhomes jeatonhomes 4096 Mar 20 22:39 .cpanel/
drwx------ 4 jeatonhomes jeatonhomes 4096 Aug 4 2016 .cphorde/
-rw-rw-r-- 1 jeatonhomes jeatonhomes 15 Apr 3 13:26 .dns
drwxr-x--- 2 jeatonhomes mail 4096 Jul 22 2016 etc/
-rw------- 1 jeatonhomes jeatonhomes 17 Mar 8 22:39 .ftpquota
drwxr-x--- 2 jeatonhomes nobody 4096 Dec 18 2015 .htpasswds/
drwxr-xr-x 2 root root 4096 Apr 3 13:45 images_temp/
-rw------- 1 jeatonhomes jeatonhomes 211 Jan 4 14:09 .lastlogin
drwx------ 2 jeatonhomes jeatonhomes 4096 Apr 1 08:16 logs/
drwxr-x--x 8 jeatonhomes jeatonhomes 4096 Dec 18 2015 mail/
drwxrwxr-x 4 jeatonhomes jeatonhomes 4096 Jan 4 14:27 perl5/
drwxr-x--- 3 jeatonhomes jeatonhomes 4096 Dec 18 2015 public_ftp/
drwxr-x--- 7 jeatonhomes nobody 4096 Apr 3 06:06 public_html/
drwx------ 2 jeatonhomes jeatonhomes 4096 Jan 4 14:10 .ssh/
drwxr-xr-x 5 jeatonhomes jeatonhomes 4096 Feb 15 06:34 ssl/
drwx------ 2 jeatonhomes jeatonhomes 4096 Nov 3 22:55 .subaccounts/
drwxr-xr-x 7 jeatonhomes jeatonhomes 4096 Jul 6 2016 tmp/
drwx------ 2 jeatonhomes jeatonhomes 4096 Dec 18 2015 .trash/
lrwxrwxrwx 1 jeatonhomes jeatonhomes 11 Dec 18 2015 www -> public_html/
-rw-r--r-- 1 jeatonhomes jeatonhomes 658 Nov 10 2015 .zshrc
Außerdem habe ich diesen Fehler erhalten:
[email protected] [~/public_html]# wp media import
/home/jeatonhomes/images_temp/* --title="Images for East 46th West 59th and Sycamore Road" --alt="New Images for April"
Warning: copy(/home/jeatonhomes/images_temp/62262529_0.jpg): failed to open stream: Permission denied in phar:///usr/local/bin/wp/php/commands/media.php on line 292
Error: Could not create temporary file for /home/jeatonhomes/images_temp/62262529_0.jpg.
[email protected] [~/public_html]# sudo wp media import /home/jeatonhomes/images_temp/* --title="Images for East 46th West 59th and Sycamore Road" --alt="New Images for April"
[sudo] password for jeatonhomes:
sudo: wp: command not found
command-line
sudo
wildcards
Daniel
quelle
quelle
folder1
?pwd && ls -l
ls -l
zeigt an, dassfolder1
es nicht existiert. Das würde erklären, warum der Versuch, Dateien daraus zu kopieren, fehlschlägt.Antworten:
Im
Ihre Shell (die so läuft wie Sie , nicht
root
) erweitert diesenfolder1/*
Glob (und versucht, ihn zu erweitern) .Dies führt zu einer Reihe von Argumenten, an die weitergegeben werden muss
sudo mv
. Hier haben Sie jedoch (im Gegensatz zuroot
) keinen Lesezugriff auf dieses Verzeichnis, sodass der Glob keiner Datei entspricht. Ihre Shell ist eine dieser kaputten (IMO) Shells,bash
odersh
wenn ein Glob nicht übereinstimmt, wird er unverändert übergeben.Anstatt dass die Shell einen Fehler zurückgibt, der Ihnen mitteilt, dass sie keine Datei gefunden hat, die diesem Muster entspricht, hat sie die
folder1/*
Zeichenfolge buchstäblich als Argument an übergebensudo mv
. Undmv
beschwert sich, dass es keine aufgerufene Datei finden kannfolder1/*
(in diesem Fall zum Glück harmlos).Hier möchten Sie, dass dieser Glob um root erweitert wird. Sie müssen also eine Shell als root starten , um diesen Glob zu erweitern:
quelle
sh
und nicht in Bezug auf das Globbing "gebrochen" sindbash
.failglob
Option festlegen , um ein ähnliches Verhalten zu erhalten.