Saya telah diberitahu untuk menjalankan ini:
./yiic message ./app/messages/config.php
Tapi saya tidak mengerti ./
artinya, bisa ada yang menjelaskan.
Catatan: Percayalah, kami tidak dapat Google itu. Saya sudah mencoba:
./ artinya ./ ubuntu
Itu sama seperti tidak ada. :(
Jawaban:
./
atau hanya.
singkatan unix untuk direktori saat ini.Anda perlu menentukannya ketika direktori saat ini tidak ada di PATH Anda. PATH adalah daftar folder yang dicari saat Anda menjalankan program. (Anda dapat menentukannya dengan menulis
echo $PATH
.) Jika file yang dapat dieksekusi tidak ada dalam PATH Anda, untuk menjalankannya Anda harus menentukan folder tempat file tersebut berada. Anda dapat melakukan ini dengan memberikan path lengkap ke file tersebut, tetapi jika file tersebut ada dalam direktori saat ini, dapat Anda gunakan./
sebagai singkatan.Demikian pula,
../
atau hanya..
singkatan untuk direktori di atas yang sekarang.sumber
.
. Itu karena secara otomatis menggunakan direktori saat ini adalah lubang keamanan. Bayangkan ada orang lain yang membuat program, beri namals
dan Andacd
ke dalam direktori-nya, lalu ketikkanls
Setiap direktori di baris perintah memiliki dua "direktori khusus" yang dipanggil
.
dan..
. Ini adalah singkatan untuk, masing-masing, direktori saat ini dan direktori yang berisi direktori saat ini.Jadi misalnya,
cd ./more/directory/names
berarti, "mulai dari direktori saat ini dan lanjutkan di jalan." Demikian pula, perintah itucd ..
berarti, "ubah satu direktori.Jika Anda ingin nama direktori Anda saat ini, Anda dapat menggunakan
pwd
perintah. Juga, jika Anda menggunakan-a
flag untukls
, Anda dapat melihat dua direktori khusus ini. Artinya,ls -a
akan menampilkan daftar yang dimulai dengan.
dan..
.sumber
Yang lain sudah menjelaskan apa
.
dan..
artinya (direktori saat ini dan direktori induk masing-masing). Ini berlaku untuk semua nama jalur.Ketika Anda membuka terminal, Anda biasanya mulai di direktori home Anda:
~
(yang diperluas ke/home/username
). Path di bawah ini semuanya setara, menyediakan direktori kerja Anda saat ini adalah/home/username
:/home/username
.
../username
../../home/username
../../../home/username
(direktori induk/
masih/
)./././././.
(direktori saat ini di direktori saat ini di ...)./
(Trailing slash diperbolehkan untuk direktori)/home////username///
(dan begitu juga beberapa tebasan)Jangan tidak bingung
./program
dengan. program
../program
menjalankan file di direktori saat ini dengan set bit eksekusi.. ./program
adalah hal bash dan bisa juga ditulis sebagaisource ./program
yang membaca perintah bash dariprogram
file di direktori saat ini dan mengeksekusinya di shell saat ini.Jika Anda bertanya-tanya mengapa Anda bisa menjalankan
gedit
alih-alih/usr/bin/gedit
dan bukanprogram
bukannya./program
atau/home/username/program
, lihat pertanyaan terkait:sumber
Ini berarti memulai dari
current directory path
.Anggap Anda memiliki yang
path
seperti ini:dan di dalamnya
/usr/bin/
ada executable yang disebutyiic
.Jika Anda mengeluarkannya
yiic
akan memulai yang masuk/usr/bin/
.Dengan mengeluarkan
./yiic
Anda memberi tahu sistem untuk melihat ke dalam direktori saat ini untuk eksekusi ini.sumber
/home/mysuser/
dan saya menavigasi ke sana dengan menggunakancd /home/myuser
. Begitu masuk, saya percaya bahwa melakukan hanya yiic, itu harus bekerja karena saya sudah menelepon sementara di direktori itu. Namun dia mengatakan perintah bukan file. Jika saya melakukan hal yang sama, dan saya menggunakan ./ lalu, itu berjalan dengan benar ... Bisakah Anda menjelaskan sedikit lebih banyak?.
adalah file khusus di dalam folder yang dapat Anda lihat ketika melakukanls -la
di direktori;)