解凍されたディレクトリがありますが、フォルダー内にあります。コンテンツを1レベル上に移動するにはどうすればよいですか? SSH経由でCentOSにアクセスしています。
「myfolder」というフォルダーがあり、ファイル階層の1つ上のレベル(配置したいポイント)の場合、コマンドは次のようになります。
mv myfolder/* .
たとえば、データが/home/myuser/myfolder
次に/home/myuser/
コマンドを実行します。
上記のRuduの回答とコメントから、明確にするために。
すべてのコンテンツを移動する必要がある場合は、で始まるファイルを含めます。 (.htaccess、.gitなど)のように、コマンドに*と。*の両方を含める必要があります。そのようです:
mv subfolder/* subfolder/.* .
これにより、サブフォルダーの内容が現在のフォルダーに移動します。最後の「。」の前のスペースに注意してください。
これは、次の方法で可能です。
rsync
の使用:
rsync -vua --delete-after foo/ .
cp
およびrmdir
の使用:
cp -vaR foo/. . && rmdir foo/
mv
を使用する(dotglob
オプションを有効にして):
shopt -s dotglob # Includes filenames beginning with a dot.
mv -- foo/* . # Where foo/ is the folder consisting the files.
shopt -u dotglob # Disables previously enabled dotglob option.
ここで、foo/
は、コンテンツを1レベル上に移動するフォルダーです。
参照:help shopt
およびman bash
。
mv
の使用(推奨 ここ ):
mv foo/* foo/.[^.]* . && rmdir foo/
注:foo/..bar..
というファイルが欠落します。
注:POSIXシェルの場合、[!.]
が必要です。
mvコマンドを発行するだけ
mv (directory)/* .
ディレクトリを削除したい場合は追加します
rm -rf (directory)
(ディレクトリ)の親ディレクトリにいると仮定します
(ディレクトリ)内にいる場合
mv * ../
短いコマンドがあります
cp */* .
これにより、もちろんレベルアップですべてのサブフォルダーのコンテンツがコピーされます。移動を使用できます
mv */* .
または新しい距離を割り当てる
cp */* /destination
共有サーバーを使用している場合は、次のようなものを使用する必要があります
ファイルを移動するには
mv -v ~/public_html/public_html/* ~/public_html/
ファイルをコピーするには
cp -a ~/public_html/public_html/* ~/public_html/