web-dev-qa-db-ja.com

Linuxでファイルとディレクトリを親フォルダに移動する方法

Linux(Ubuntu)では、どのようにしてすべてのファイルとディレクトリを親ディレクトリに移動しますか?

72
nekbaba
見つけます。 -maxdepth 1 -exec mv {} .. \;

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

メッセージが表示されます。

mv: `。 'を動かすことはできません../。へ:デバイスまたはリソースがビジーです

それが.(現在のディレクトリ)を移動しようとしたとき、それは害を及ぼしません。

61
John T

私はこの話題にも慣れていないので、ここに来ました。どういうわけか、上記は私にとってはうまくいきませんでした。すべてのファイルをディレクトリからその親ディレクトリに移動するために私がしたことは、次のとおりです。

cd to/the/dir
mv * ../
86
Ben Fransen

これをシェルに入力します。

mv *.* ..

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

文字*はワイルドカードです。 *.debはすべての.debファイルを移動し、Zeitgeist.*はZeitgeist.aviとZeitgeist.srtを1つ上のフォルダに移動します。もちろん、..は親ディレクトリを示します。

フォルダなどを含むすべてを移動するには、*の代わりに*.*を使用するだけです。

10
Gil

それ以上に単純なことはできません。

mv * ../

隠しファイルも移動するには

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

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

6
William Edwards

Bashでは、shopt -s dotglobを使用して*すべてのファイルに一致させ、単純に次のように移動することができます。

shopt -s dotglob; mv * ..

次のように設定を変更するまで、シェルにとって設定は永続的であるため、これは最善の解決策ではありません。

shopt -u dotglob

しかし、知っておくといいと思います。

2
maaartinus
find . -maxdepth 2 -type f -exec mv {} .. \;

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

私は年ごとにデータをフォルダーに入れていましたが、メタデータを使用してそれらをすべて同じフォルダーに入れることで管理が容易になりました。

例えば。

/data/2001/file_1
/data/2002/file_2
/data/2003/file_3
1
Bill Bixby

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

ls -1A . | while read -r file                                                    
do                                                                                  
    mv "./${file}" ..                                                            
done
1
djhaskin987
find -type f|while read line; do mv $line ${line##*/}; done
0
Adler

すべての隠しファイルがドットで始まり、その後に文字または数字が続いていると仮定すると、次のようになります。

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

.[A-Za-z0-9]*の部分は、...を一緒に移動しようとしないようにすることです。これは失敗する可能性があります。

0
ℝaphink

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

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

上記は隠されていないファイルのみを移動します。隠しファイルのみを移動するには、。*を使用します。

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

上記の2つを1つのコマンドにまとめることができます。

mv /my/folder/child/{.,}* /my/folder/

* で隠しファイルも含めてすべてのファイルを親ディレクトリに移動する方法

0
Shital Shah

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

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

0
Abhishek