ฉันได้รับคำสั่งให้เรียกใช้สิ่งนี้:
./yiic message ./app/messages/config.php
แต่ฉันไม่เข้าใจ./
ความหมายทุกคนสามารถอธิบายได้โปรด
หมายเหตุ: เชื่อฉันเราไม่สามารถ google ว่า ฉันได้พยายาม:
./ ความหมาย. / Ubuntu
มันเหมือนไม่มีอะไรเลย :(
ฉันได้รับคำสั่งให้เรียกใช้สิ่งนี้:
./yiic message ./app/messages/config.php
แต่ฉันไม่เข้าใจ./
ความหมายทุกคนสามารถอธิบายได้โปรด
หมายเหตุ: เชื่อฉันเราไม่สามารถ google ว่า ฉันได้พยายาม:
./ ความหมาย. / Ubuntu
มันเหมือนไม่มีอะไรเลย :(
คำตอบ:
./
หรือเพียงแค่.
ชวเลข unix สำหรับไดเรกทอรีปัจจุบัน
คุณต้องระบุเมื่อไดเรกทอรีปัจจุบันไม่ได้อยู่ใน PATH ของคุณ PATH คือรายการโฟลเดอร์ที่ค้นหาเมื่อคุณเรียกใช้โปรแกรม (คุณสามารถกำหนดได้ด้วยการเขียนecho $PATH
) หากไฟล์ที่ปฏิบัติการไม่ได้อยู่ใน PATH ของคุณคุณจำเป็นต้องระบุโฟลเดอร์ในไฟล์คุณสามารถทำได้โดยกำหนดพา ธ เต็มไปยังไฟล์ แต่หากไฟล์นั้นอยู่ใน ไดเรกทอรีปัจจุบันคุณสามารถใช้./
เป็นชวเลข
ในทำนองเดียวกัน../
หรือเพียงแค่..
จดชวเลขสำหรับไดเรกทอรีด้านบนไดเรกทอรีปัจจุบัน
.
ไม่ได้มี เป็นเพราะการใช้ไดเรกทอรีปัจจุบันโดยอัตโนมัติคือช่องโหว่ความปลอดภัย ลองนึกภาพคนอื่นทำโปรแกรมตั้งชื่อls
และคุณcd
ลงในไดเรกทอรีของเขาแล้วพิมพ์ls
ไดเรกทอรีในบรรทัดคำสั่งทุกคนมีสองไดเรกทอรี "พิเศษ" ที่เรียกว่าและ.
..
สิ่งเหล่านี้เป็นการจดชวเลขสำหรับไดเรกทอรีปัจจุบันและไดเรกทอรีที่มีไดเรกทอรีปัจจุบันตามลำดับ
ตัวอย่างเช่นcd ./more/directory/names
หมายถึง "เริ่มต้นที่ไดเรกทอรีปัจจุบันและดำเนินการต่อในเส้นทาง" ในทำนองเดียวกันคำสั่งcd ..
หมายถึง "เปลี่ยนหนึ่งไดเรกทอรีขึ้น
หากคุณต้องการชื่อของไดเรกทอรีปัจจุบันของคุณคุณสามารถใช้pwd
คำสั่ง นอกจากนี้หากคุณใช้การ-a
ตั้งค่าสถานะสำหรับls
คุณสามารถดูสองไดเรกทอรีพิเศษเหล่านี้ นั่นคือls -a
ออกจะรายการที่เริ่มต้นด้วยและ.
..
คนอื่น ๆ ได้อธิบายสิ่งที่.
และ..
วิธีการ (ไดเรกทอรีปัจจุบันและไดเรกทอรีหลักตามลำดับ) สิ่งนี้ใช้กับชื่อพา ธ ทั้งหมด
เมื่อคุณเปิดเทอร์มินัลคุณมักจะเริ่มต้นในโฮมไดเร็กตอรี่ของคุณ: ~
(ซึ่งขยายออกไป/home/username
) พา ธ ด้านล่างนี้เทียบเท่ากันทั้งหมดให้ไดเรกทอรีทำงานปัจจุบันของคุณคือ/home/username
:
/home/username
.
../username
../../home/username
../../../home/username
(ไดเรกทอรีหลักของ/
ยังคงเป็น/
)./././././.
(ไดเรกทอรีปัจจุบันในไดเรกทอรีปัจจุบันใน ... )./
(เครื่องหมายสแลชต่อท้ายอนุญาตสำหรับไดเรกทอรี)/home////username///
(และมีหลายสแลช)อย่าได้สร้างความสับสนให้กับ./program
เรียกใช้ไฟล์ในไดเรกทอรีปัจจุบันด้วยชุดบิตดำเนินการ เป็นสิ่งที่ทุบตีและสามารถเขียนตามที่อ่านคำสั่งทุบตีจากไฟล์ในไดเรกทอรีปัจจุบันและดำเนินการพวกเขาในเปลือกปัจจุบัน. program
./program
. ./program
source ./program
program
หากคุณสงสัยว่าทำไมคุณสามารถเรียกใช้gedit
แทน/usr/bin/gedit
และไม่program
แทน./program
หรือ/home/username/program
ดูคำถามที่เกี่ยวข้อง:
current directory path
มันหมายถึงการเริ่มต้นจาก
สมมติว่าคุณมีสิ่งpath
นี้:
/usr/ /usr/bin/ /usr/local/bin
และภายในมีการปฏิบัติการที่เรียกว่า/usr/bin/
yiic
ถ้าคุณออกจะเริ่มหนึ่งในyiic
/usr/bin/
โดยการออก./yiic
คุณบอกให้ระบบดูในไดเรกทอรีปัจจุบันสำหรับปฏิบัติการนี้
/home/mysuser/
cd /home/myuser
เมื่ออยู่ข้างในฉันเชื่อว่าการทำ yiic มันควรจะทำงานได้เพราะฉันได้โทรไปหาไดเรกทอรีนั้น แต่เขาบอกว่าคำสั่งไม่ยื่น ถ้าฉันทำแบบเดียวกันและฉันใช้. / ก็จะทำงานได้อย่างถูกต้อง ... คุณช่วยอธิบายเพิ่มเติมอีกหน่อยได้ไหม?
.
เป็นแฟ้มพิเศษในโฟลเดอร์ที่คุณสามารถเห็นเมื่อทำls -la
ในไดเรกทอรี;)