2009-12-27 17:25:21 +0000 2009-12-27 17:25:21 +0000
84
84
Advertisement

Linuxでファイルやディレクトリを親フォルダに移動するにはどうすればいいですか?

Advertisement

Linux(Ubuntu)では、すべてのファイルとディレクトリを親ディレクトリに移動する方法を教えてください。

Advertisement
Advertisement

回答 (12)

96
96
96
2013-01-26 20:20:56 +0000

私も初心者なのでここに来ました。なぜか上記の方法ではうまくいきませんでした。あるディレクトリから親ディレクトリにすべてのファイルを移動させるためにやったことは、次のようなものでした:

cd to/the/dir
mv * ../
72
72
72
2009-12-27 17:29:43 +0000
find . -maxdepth 1 -exec mv {} .. \;

これは隠しファイルも移動します。

mv: cannot move `.' to `../.': Device or resource busy

というメッセージが表示されます。. (カレントディレクトリ) を移動しようとすると、

0x1&

というメッセージが表示されますが、害はありません。

10
Advertisement
10
10
2009-12-27 17:27:56 +0000
Advertisement
mv *.* ..

これですべてのファイルが1つ上のレベルに移動します。

* はワイルドカードです。*.deb はすべての .deb ファイルを移動させ、Zeitgeist.* は Zeitgeist.avi と Zeitgeist.srt を 1 つ上のフォルダに移動させます。

フォルダなどを含むすべてのファイルを移動するには、.. の代わりに * を使用します。

6
6
6
2014-07-16 18:50:24 +0000
mv * ../

隠しファイルも移動させるため、これ以上単純にはできません。

mv /path/subfolder/{.,}* /path/

mv はファイルを移動するコマンドで、* はすべてのファイルとフォルダを意味し、../ は親ディレクトリへのパスです。

2
Advertisement
2
2
2011-01-25 21:33:46 +0000
Advertisement

bashでは* shopt -s dotglob**を使って、すべてのファイルにマッチするようにして、

shopt -s dotglob; mv * ..

で移動させることができます。

1
1
1
2012-07-25 20:15:46 +0000

エラーが発生せず、毎回動作するメソッド:

ls -1A . | while read -r file                                                    
do                                                                                  
    mv "./${file}" ..                                                            
done
``` 0x1&
1
Advertisement
1
1
2014-07-16 18:37:18 +0000
Advertisement
find . -maxdepth 2 -type f -exec mv {} .. \;

上記のバリエーションを使って、サブフォルダから親フォルダにすべてのファイルを移動させました。

年ごとにフォルダにデータを入れていましたが、メタデータを使用することで、すべてのファイルを同じフォルダに入れることができ、管理が楽になりました。

/data/2001/file_1
/data/2002/file_2
/data/2003/file_3
``` など。
0
0
0
2016-04-11 04:38:26 +0000

ディレクトリを変更する必要はありません。パスの最後に * を入れればいいだけです。

mv /my/folder/child/* /my/folder/

上記では、非隠しファイルのみを移動します。隠しファイルだけを移動させるには、.

mv /my/folder/child/.* /my/folder/

も参照して下さい。

0
Advertisement
0
0
2018-12-13 14:22:48 +0000
Advertisement
find -type f|while read line; do mv $line ${line##*/}; done
0
0
0
2009-12-27 17:48:32 +0000

隠しファイルがすべてドットで始まり、その後に文字や数字が続くと仮定すると(そうあるべきです)、

mv * .[A-Za-z0-9]* ..

を使用することができます。

0
0
0
2011-11-03 11:39:25 +0000

Linuxで全てのファイルやフォルダを親ディレクトリに移動させるのは簡単です。

そのフォルダに移動して、このコマンドを使います。

mv * /the full path

例えば、ファイルとフォルダが以下のようになっている場合。

/home/abcuser/test/1.txt 
                   2.txt
                   3.jpg
                   4.php
                   1folder
                   2folder

cd でそのフォルダに移動します。

cd /home/abcuser/test
mv * /home/abcuser

すべてのファイルとフォルダがabcuserフォルダ(親ディレクトリ)に移動します。

-1
-1
-1
2016-05-20 06:32:28 +0000

をサブディレクトリに切り替え、以下のコマンドを実行してファイルのコピーや移動を行います。

例: aが親ディレクトリ、bがサブディレクトリの場合、bからa(サブディレクトリから親ディレクトリへ)へ全てのファイルを移動・コピーしたい。

cd b
cp * ..
mv * ..
Advertisement

関連する質問

6
10
5
37
4
Advertisement