GNU/Linux >> Belajar Linux >  >> Linux

Rsync menyalin direktori saat ini dengan nama

Saya suka skrip Anda, tetapi jika perlu, Anda dapat melakukannya dengan baris perintah langsung dari direktori saat ini:

rsync -a "$PWD" ~/backup/

atau dengan cara yang mirip dengan pendekatan skrip Anda dengan

rsync -a "$(pwd -P)" ~/backup/

Catatan:

  • Diperlukan untuk mengutip direktori saat ini jika ada di jalur, misalnya, satu atau lebih spasi.

  • Jika ada tautan simbolis di jalur, dimungkinkan untuk mendapatkan fisik path yang menghindari semua symlink menentukan opsi -P di pwd pemanggilan perintah ($(pwd -P) ), atau memanggil yang dapat dieksekusi dengan path lengkapnya ($(/bin/pwd) ).
    Memang ada bawaan pwd yang secara default menampilkan symlinked path, dan /bin/pwd yang dapat dieksekusi yang secara default menampilkan fisik jalur.

  • Kedua perintah mengacu pada variabel $PWD yang berisi direktori kerja saat ini ketika mereka ditanya tentang versi jalur dengan symlinks akhirnya :jadi jika Anda tidak benar-benar membutuhkan fisik path, Anda dapat menghindari untuk memanggil subkulit dan gunakan langsung variabel $PWD .

    rsync -a "$PWD" ~/backup/
    

Menemukan solusi:

Membuat skrip shell baru seperti ini:

current_dir=`pwd`
dir_name=`basename $current_dir`
rsync -a . ~/backup/$dir_name

dan ketika menjalankan ini akan membuat direktori baru di tujuan dan menyalin konten folder saat ini.


Linux
  1. File Cat Dengan Direktori?

  2. Menggabungkan Folder Dengan Mv?

  3. Menjalankan Jalur yang Dapat Dieksekusi Dengan Nama Yang Sama Dengan Fungsi yang Ada?

  1. Cd Ke Direktori Nama-Tidak Dikenal Di Jalur yang Diketahui?

  2. Rsync Apakah Mengubah Izin Direktori?

  3. Mendapatkan Nama Path Lengkap Dari Direktori yang Diberikan?

  1. Bagaimana Cara Menyalin Jalur Direktori Saat Ini Di Ubuntu 18.04?

  2. Daftar file secara rekursif di Linux CLI dengan jalur relatif ke direktori saat ini

  3. Membuat direktori baru di C