Saya memiliki dua contoh penggunaannya dan saya bertanya-tanya apa yang dilakukan masing-masing:
service=~
mv ~/Desktop/Service$version.tgz $service
Apa yang dilakukan si kecil berlekuk ~
?
Lalu, setelah itu, apa yang akan cd $service
dilakukan?
Saya memiliki dua contoh penggunaannya dan saya bertanya-tanya apa yang dilakukan masing-masing:
service=~
mv ~/Desktop/Service$version.tgz $service
Apa yang dilakukan si kecil berlekuk ~
?
Lalu, setelah itu, apa yang akan cd $service
dilakukan?
Jawaban:
Yang berlekuk disebut "tilde".
Itu diperluas ke direktori home Anda.
Mencoba
echo ~
echo $HOME
Kedua pernyataan menempatkan direktori home Anda sendiri pada satu baris ..
Lihat bash Tilde Expansion untuk detailnya.
"Berlekuk" disebut tilde. Ini digunakan untuk merujuk ke direktori home Anda yang pada Linux, biasanya /home/username
. Itu juga disimpan dalam $HOME
variabel lingkungan. Memperluas ~
ke lokasi direktori home adalah tugas shell (seperti zsh atau bash) atau file manager (seperti Nautilus) dan bukan sistem file atau OS itu sendiri.
Anda juga dapat menggunakan ini untuk merujuk ke direktori home pengguna lain. Misalnya, jika nama pengguna pengguna lain adalah bob
, Anda dapat merujuk ke direktori home mereka ~bob
, yang akan diperluas ke /home/bob/
.
Contoh pertama yang Anda berikan set variabel service
untuk ~
, sehingga sesuai dengan direktori home Anda. Ini sama dengan service=/home/username
atau service=$HOME
.
Contoh kedua menyalin file ~/Desktop/Service$version.tgz
(atau /home/username/Desktop/Service$version.tgz
) ke /home/username
. Perintah ini setara dengan:
mv ~/Desktop/Service$version.tgz ~
atau
mv ~/Desktop/Service$version.tgz $HOME
atau
mv ~/Desktop/Service$version.tgz /home/username/
Yang ketiga akan mengubah direktori kerja saat ini ( $PWD
) menjadi /home/username/
. Ini setara dengan:
cd /home/username/
atau
cd $HOME
Di kedua # 1 & # 2: ~ adalah direktori home Anda, jadi jika Anda qwerty, itu kemungkinan adalah direktori / home / qwerty. Jadi cobalah ls ~
untuk melihatnya.
Untuk # 1: menurut saya layanan variabel sedang didefinisikan sebagai direktori home Anda.
Itu berarti setelah # 2 memindahkan file tgz dari subdirektori Desktop ke direktori home Anda, # 3 kemudian berubah ke direktori home.
Sepertinya perintah melakukan hal berikut.
Tetapkan layanan yang disebut variabel ke lokasi folder rumah Anda, misalnya:
/home/user
Ini memindahkan file dari desktop Anda ke tingkat atas direktori home Anda, misalnya:
/home/user/Desktop/Service$version.tgz $service
Script kemudian mengubah direktori ke tingkat atas direktori home.
Jadi, semua skrip lakukan hanya membersihkan desktop Anda dengan memindahkan file ke /home/user
folder Anda saja.