it-swarm-id.com

Pindahkan konten folder ke atas satu tingkat

Saya memiliki direktori yang dibongkar, tetapi ada di folder. Bagaimana saya bisa memindahkan konten ke atas satu tingkat? Saya mengakses CentOS melalui SSH.

143
whatshakin

Dengan folder bernama 'myfolder' dan naik satu tingkat dalam hirarki file (titik yang Anda inginkan) perintahnya adalah:

mv myfolder/* .

Jadi misalnya jika datanya ada di /home/myuser/myfolder lalu dari /home/myuser/ jalankan perintah.

212
Rudu

Hanya untuk membuatnya jelas, diambil dari jawaban Rudu di atas, dan komentar.

Jika Anda perlu memindahkan semua konten, TERMASUK file yang dimulai dengan a. (seperti .htaccess, .git, dll), Anda harus menyertakan * dan. * dalam perintah Anda. Seperti itu:

 mv subfolder/* subfolder/.* .

Itu akan memindahkan konten subfolder ke folder Anda saat ini. Perhatikan spasi sebelum "." Yang terakhir.

29
Richard

Ini dimungkinkan dengan metode berikut:

  • Menggunakan rsync:

    rsync -vua --delete-after foo/ .
    
  • Menggunakan cp dan rmdir:

    cp -vaR foo/. . && rmdir foo/
    
  • Menggunakan mv (dengan opsi dotglob diaktifkan):

    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.
    

    dimana foo/ adalah folder Anda yang isinya akan dipindahkan satu tingkat ke atas.

    Lihat: help shopt dan man bash.

  • Menggunakan mv (seperti yang disarankan di sini ):

    mv foo/* foo/.[^.]* . && rmdir foo/
    

    Catatan: Ini akan kehilangan file bernama foo/..bar...

    Catatan: Untuk kerang POSIX, Anda perlu [!.].

16
kenorb

cukup keluarkan perintah mv

mv (directory)/* .

jika Anda ingin menghapus direktori maka tambahkan

rm -rf (directory)

Diasumsikan bahwa Anda berada di direktori induk (direktori)

Jika Anda berada di dalam (direktori) itu

mv * ../
7
Ranjith Siji

saya punya satu perintah tangan pendek

cp */* .

ini akan menyalin semua konten subfolder pada level atas tentu saja Anda dapat menggunakan pindah

mv */* .

atau menetapkan distensi baru

cp */* /destination 
1
Mohammed Omer

bagi Anda di server bersama Anda harus menggunakan sesuatu seperti ini

Untuk memindahkan file

mv -v ~/public_html/public_html/* ~/public_html/

Untuk menyalin file

cp -a ~/public_html/public_html/* ~/public_html/

0
Ricardo Havoc