ui
Anmeldungsdatum: 22. November 2008
Beiträge: 603
|
verschiebt leider nicht versteckten Dateien (z.B. .git) in den Zielordner b. Eine einfache Lösung wie das Setzen einer Option scheint es dafür nicht zu geben. Notfalls bastel ich mir einen regulären Ausdruck. Wenn Ihr eine einfachere Lösung kennt, bin ich ganz Ohr.
|
mhe
Anmeldungsdatum: 29. Dezember 2007
Beiträge: 210
|
Es ist das '*', das nur die Namen ohne vorangestellten Punkt selektiert, siehe Pattern Matching. Du kannst das auch mit dem echo erst mal testen .. so müsste es klappen:
|
Kellerkind_2009
Anmeldungsdatum: 26. November 2009
Beiträge: 19610
Wohnort: Schleswig-Holstein
|
Oder die Option -b mv -b ./* ../b siehe man mv
|
ui
(Themenstarter)
Anmeldungsdatum: 22. November 2008
Beiträge: 603
|
mhe schrieb: Es ist das '*', das nur die Namen ohne vorangestellten Punkt selektiert, siehe Pattern Matching. Du kannst das auch mit dem echo erst mal testen .. so müsste es klappen:
Das klappt schön. Aber bzgl. . und .. meckert er:
| mv: das Verschieben von '.' nach '../c/.' ist nicht möglich: Das Gerät oder die Ressource ist belegt
mv: '..' und '../c/..' sind die gleiche Datei
|
|
mhe
Anmeldungsdatum: 29. Dezember 2007
Beiträge: 210
|
ui schrieb: Das klappt schön. Aber bzgl. . und .. meckert er:
aargh, sorry, das hätte ich mal selber testen sollen 😮 .. dann nimm mal lieber den Vorschlag vom Kellerkind_2009
|
ui
(Themenstarter)
Anmeldungsdatum: 22. November 2008
Beiträge: 603
|
Kellerkind_2009 schrieb: Oder die Option -b mv -b ./* ../b siehe man mv
Versteckte Dateien werden dadurch leider nicht verschoben.
|
Kellerkind_2009
Anmeldungsdatum: 26. November 2009
Beiträge: 19610
Wohnort: Schleswig-Holstein
|
Es werden sogar Versteckte Ordner mit verschoben 😉 Zeige mal deinen vollständigen Befehl.
|
ui
(Themenstarter)
Anmeldungsdatum: 22. November 2008
Beiträge: 603
|
Hab Deinen Befehl 1:1 verwendet. Versteckte Ordner werden bei mir auch nicht dadurch verschoben.
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12832
|
Kellerkind_2009 schrieb: Oder die Option -b mv -b ./* ../b siehe man mv
"-b" ist die Backup-Option - die hat nix mit der Eingabe (also, welche Dateien betroffen sind) zu tun. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | $ mkdir a b
$ touch a/f a/.f
$ find
.
./a
./a/f
./a/.f
./b
$ mv -vb a/* b/
renamed 'a/f' -> 'b/f'
$ find
.
./a
./a/.f
./b
./b/f
|
Wenn wir jetzt künstlich eine Kollision erzeugen, dann sieht man den Effekt von "-b": 1
2
3
4
5
6
7
8
9
10
11
12 | $ mv -vb a/* b/
mv: cannot stat 'a/*': No such file or directory
$ touch a/f a/.f
$ mv -vb a/* b/
renamed 'a/f' -> 'b/f' (backup: 'b/f~')
$ find
.
./a
./a/.f
./b
./b/f~
./b/f
|
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12832
|
ui schrieb: mhe schrieb: Es ist das '*', das nur die Namen ohne vorangestellten Punkt selektiert, siehe Pattern Matching. Du kannst das auch mit dem echo erst mal testen .. so müsste es klappen:
Das klappt schön. Aber bzgl. . und .. meckert er:
| mv: das Verschieben von '.' nach '../c/.' ist nicht möglich: Das Gerät oder die Ressource ist belegt
mv: '..' und '../c/..' sind die gleiche Datei
|
Das ist aber das grundsätzliche Problem, dass Du mit ".*" auch "." und ".." erwischt und damit Selbstbezüglichkeit erzeugst. D.h., jetzt wird zu viel erwischt. Besser ist mhe schrieb:
aargh, sorry, das hätte ich mal selber testen sollen 😮 .. dann nimm mal lieber den Vorschlag vom Kellerkind_2009
Der hilft nicht (siehe mein anderes Posting). Ein ganz anderer Ansatz wäre, das aktuelle Verzeichnis zu verschieben und dann neu anzulegen: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 | $ find
.
./a
./a/b
./a/b/.xyz
./a/b/abc
./a/.foo
./a/bar
$ mv a c && mkdir a
$ find
.
./c
./c/b
./c/b/.xyz
./c/b/abc
./c/.foo
./c/bar
./a
|
Man muss allerdings sicher stellen, dass "c" noch nicht existiert - sonst landet "a" innerhalb von "c".
|
mhe
Anmeldungsdatum: 29. Dezember 2007
Beiträge: 210
|
rklm schrieb: mhe schrieb:
aargh, sorry, das hätte ich mal selber testen sollen 😮 .. dann nimm mal lieber den Vorschlag vom Kellerkind_2009
Der hilft nicht (siehe mein anderes Posting).
Danke für Deinen Hinweis .. ich muss zugeben, dass ich das Problem noch nie hatte, weil ich eigentlich immer ganze Ordner oder eben selektiv einzelne Objekte in dem Ordner mittels Patern Matching verschiebe, nicht aber alle Objekte eines Ordners in einen anderen Ordner.
|
Kellerkind_2009
Anmeldungsdatum: 26. November 2009
Beiträge: 19610
Wohnort: Schleswig-Holstein
|
@ rklm bitte um Aufklärung.Bei mir Funktioniert das ... stephan@stephan-Desktop:~$ ls -la ~/Testordner
insgesamt 1276
drwxrwxr-x 3 stephan stephan 4096 Okt 15 16:15 .
drwxr--rwx 52 stephan stephan 12288 Okt 15 16:13 ..
-rw-rw-rw- 1 stephan plugdev 632190 Sep 26 2017 .Acer-Rechner-_Windows10_Linux.pdf
drwxrwxr-x 2 stephan stephan 4096 Okt 15 16:15 .Geheiiim
-rw-rw-r-- 1 stephan stephan 172641 Mär 19 2019 'genesys 1.23-32-bit.zip'
-rw-r--r-- 1 stephan stephan 1014 Feb 10 2014 libsane-genesys.la
-rw-r--r-- 1 stephan stephan 466624 Feb 10 2014 libsane-genesys.so.1.0.23
-rw-rw-r-- 1 stephan stephan 466 Mär 18 2019 'Ungespeichertes Dokument 1'
stephan@stephan-Desktop:~$ mv -b ~/Testordner /media/Daten/
stephan@stephan-Desktop:~$ ls -la /media/Daten/Testordner
insgesamt 1268
drwxrwxr-x 3 stephan stephan 4096 Okt 15 16:15 .
drwxrwxrwx 12 stephan plugdev 4096 Okt 15 16:17 ..
-rw-rw-rw- 1 stephan plugdev 632190 Sep 26 2017 .Acer-Rechner-_Windows10_Linux.pdf
drwxrwxr-x 2 stephan stephan 4096 Okt 15 16:15 .Geheiiim
-rw-rw-r-- 1 stephan stephan 172641 Mär 19 2019 'genesys 1.23-32-bit.zip'
-rw-r--r-- 1 stephan stephan 1014 Feb 10 2014 libsane-genesys.la
-rw-r--r-- 1 stephan stephan 466624 Feb 10 2014 libsane-genesys.so.1.0.23
-rw-rw-r-- 1 stephan stephan 466 Mär 18 2019 'Ungespeichertes Dokument 1'
stephan@stephan-Desktop:~$
stephan@stephan-Desktop:~$ ls -la /media/Daten/Testordner/.Geheiiim
insgesamt 404
drwxrwxr-x 2 stephan stephan 4096 Okt 15 16:15 .
drwxrwxr-x 3 stephan stephan 4096 Okt 15 16:15 ..
-rw-rw-rw- 1 stephan plugdev 80833 Nov 15 2017 ALSA-Configuration.txt
-rw-rw-r-- 1 stephan stephan 321550 Dez 31 2018 alsa-hda-realtek-patched-dkms_1.1.tar.gz
stephan@stephan-Desktop:~$ Habe das mal mit einem "Testordner" gemacht. Oder habe ich den TS oder das Ziel nur falsch verstanden 😇
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
ui schrieb: mhe schrieb: Es ist das '*', das nur die Namen ohne vorangestellten Punkt selektiert, siehe Pattern Matching. Du kannst das auch mit dem echo erst mal testen .. so müsste es klappen:
Das klappt schön. Aber bzgl. . und .. meckert er:
| mv: das Verschieben von '.' nach '../c/.' ist nicht möglich: Das Gerät oder die Ressource ist belegt
mv: '..' und '../c/..' sind die gleiche Datei
|
Das Meckern schadet aber nicht und behindert nicht die Dateien, die verschoben werden können.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | $ mkdir a b
$ touch a/f a/.f
$ find
.
./a
./a/f
./a/.f
./b
$ mv -vb a/* b/
renamed 'a/f' -> 'b/f'
$ find
.
./a
./a/.f
./b
./b/f
|
Versteckte Dateien in Ordnern, die man verschiebt, werden mitverschoben, aber um versteckte Dateien/Ordner im Unterordner zu verschieben muss man beim Selektor eben a/.* statt a/* verwenden.
|
mhe
Anmeldungsdatum: 29. Dezember 2007
Beiträge: 210
|
user_unknown schrieb: Versteckte Dateien in Ordnern, die man verschiebt, werden mitverschoben, aber um versteckte Dateien/Ordner im Unterordner zu verschieben muss man beim Selektor eben a/.* statt a/* verwenden.
yup, das meinte ich, wobei ich von "Objekten" sprach, weil es sich ja nicht nur auf Ordner in einem Ordner bezieht, sondern auch auf Dateien die mit einen Punkt anfangen. Schon nett, wie viel man noch über ein Kommando austauschen kann, das man seit 30 Jahren benutzt ☺ Update: Ähäm .. ich merke grad', es sind schon bald 40 Jahre .. ups warum ist mein Schopf auf einmal so grau ☺
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12832
|
Kellerkind_2009 schrieb: @ rklm bitte um Aufklärung.Bei mir Funktioniert das ...
Oder habe ich den TS oder das Ziel nur falsch verstanden 😇
Ja, Du verschiebst einen Ordner, in dem sich versteckte Dateien befinden. Aber ui will ja direkt versteckte Dateien auswählen. Und die Option "-b" hat immer noch nix damit zu tun.
|