Untuk otomatis menentukan di mana direktori data Anda pergi dan jika Anda menggunakan Bash, lakukan ini: a=( /var/www/vhosts/website/httpdocs/magento/* ); echo "${a[${#a[@]}-1]}". Jika tidak di Bash, ini harus bekerja: printf '%s\n' /var/www/vhosts/website/httpdocs/magento/* | tail -1. Kalau tidak, itu sangat mungkin di direktori terakhir, secara alfanumerik. Selesai
gniourf_gniourf
Jawaban:
20
Jika entri terakhir menurut abjad dalam direktori ini adalah direktori itu sendiri, mereka ada di sana.
Misalkan Anda memiliki file a, bdan cdirektori d. Pada kasus ini,
+1: lihat di bawah subdirs di direktori / var / www / vhosts / website / httpdocs / magento / *. Petunjuk: subdir masih berada di dalam direktori magento, jadi itu seharusnya mudah karena hampir semua yang lain sekarang berada di bawahnya, maka seharusnya hanya ada satu dir tersisa (tidak termasuk yang dimulai dengan '.'). Masukkan subdir itu, dan "mv * ..". Ini bisa memindahkan hal-hal yang sebelumnya tepat di bawah direktori itu, jadi Anda harus mengembalikannya. + file apa pun yang memiliki nama yang sama dengan file magento / * akan ditimpa (jika "mv" Anda tidak alias "mv -i")
Olivier Dulac
2
Trik rapi dengan mv *: mkdir zzz; mv *yang akan memindahkan semua isi direktori saat ini ke direktori zzz. Pastikan Anda tidak memiliki file yang mengurutkan secara leksagrafis setelah zzz.
2
Untuk memperpanjang balasan glglgl:
Ekspansi wildcard baris perintah di sistem operasi mirip Unix dilakukan oleh shell. Dalam kebanyakan kasus dengan Linux, itu akan menjadi bash. Halaman manualnya secara eksplisit menyatakan bahwa ekspansi wildcard akan diurutkan berdasarkan abjad. Hal yang sama harus berlaku untuk sebagian besar shell yang kompatibel dengan Bourne.
a=( /var/www/vhosts/website/httpdocs/magento/* ); echo "${a[${#a[@]}-1]}"
. Jika tidak di Bash, ini harus bekerja:printf '%s\n' /var/www/vhosts/website/httpdocs/magento/* | tail -1
. Kalau tidak, itu sangat mungkin di direktori terakhir, secara alfanumerik. SelesaiJawaban:
Jika entri terakhir menurut abjad dalam direktori ini adalah direktori itu sendiri, mereka ada di sana.
Misalkan Anda memiliki file
a
,b
danc
direktorid
. Pada kasus ini,meluas ke
yang merupakan perintah untuk memindahkan semuanya
d
. Lihat di sana jika ada sesuatu.Jika
d
bukan direktori,mv
seharusnya mengeluh tentang itu.sumber
mv *
:mkdir zzz; mv *
yang akan memindahkan semua isi direktori saat ini ke direktori zzz. Pastikan Anda tidak memiliki file yang mengurutkan secara leksagrafis setelah zzz.Untuk memperpanjang balasan glglgl:
Ekspansi wildcard baris perintah di sistem operasi mirip Unix dilakukan oleh shell. Dalam kebanyakan kasus dengan Linux, itu akan menjadi
bash
. Halaman manualnya secara eksplisit menyatakan bahwa ekspansi wildcard akan diurutkan berdasarkan abjad. Hal yang sama harus berlaku untuk sebagian besar shell yang kompatibel dengan Bourne.sumber