mv: tidak bisa stat dengan *

11

Saya sudah mencoba ini sebelumnya. Aku bersumpah aku bisa mengeluarkan perintah semacam ini sebelumnya:

mv /home/user/temp1/* /home/user/temp2

Pada dasarnya, saya mendapat perintah ini dari sini: /superuser/273254/move-files-and-folders-recursively-in-linux

Tahu mengapa itu memberitahu saya

mv: cannot stat `/home/user/temp1/*': No such file or directory
pengguna1012451
sumber

Jawaban:

7

Saya dapat memikirkan 2 kemungkinan alasan mengapa ini bisa terjadi:

  1. Direktori sumber mungkin tidak ada (OR)
  2. Direktori sumber mungkin kosong

Abaikan jika tidak ada!

l0n3sh4rk
sumber
5

Anda perlu menggunakan $USERuntuk pengguna untuk memperluas ke nama pengguna Anda. /home/userhanya valid jika Anda memiliki nama pengguna user. Ini akan berfungsi jika temp1dan temp2ada di direktori home Anda

mv /home/$USER/temp1/* /home/$USER/temp2
Rinzwind
sumber
3

Saya akan mencoba membantu dan menghilangkan sedikit kebingungan:

  • Jika Anda ingin memindahkan folder dan isinya ke folder lain, Anda memasukkan:

    mv ~/Scripts ~/Podcasts

  • Jika Anda ingin memindahkan isi folder tetapi bukan folder itu sendiri ke folder lain, Anda harus memasukkan, misalnya mv ~/Scripts/* ~/Podcasts,. Anda dapat masuk echo ~/Scripts/*untuk memeriksa konten folder

  • (Jika Anda juga perlu tahu tentang globstar, yang akan memungkinkan Anda untuk berulang melalui semua level direktori, lihat artikel ini dan ini . Ini dapat diaktifkan dengan shopt -s globstar, tetapi itu harus dimasukkan ke dalam .bashrc untuk bekerja secara permanen .)

( tildeScript ~ in ~ / diperluas ke /home/mike/atau nama pengguna Anda secara otomatis oleh shell)

Komunitas
sumber
0

Jika Anda menggunakan bash dan direktori sumber kosong, Anda dapat memodifikasi perilaku global glob shell dengan:

shopt -s nullglob

untuk mengaktifkan nullglob dan menyebabkan perintah yang berhasil suka mvberperilaku dengan benar ketika direktori sumber kosong. Hati-hati karena ini dapat menyebabkan perintah lain seperti lsberperilaku tidak terduga.

Anda dapat menonaktifkan nullglob lagi dengan:

shopt -u nullglob

Untuk informasi lebih lanjut, lihat di sini dan di sini .

Komunitas
sumber