ฉันได้รับคำสั่งให้เรียกใช้สิ่งนี้:
./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. ./programsource ./programprogram
หากคุณสงสัยว่าทำไมคุณสามารถเรียกใช้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ในไดเรกทอรี;)